示例#1
0
        private void SaveCharacter()
        {
            if (!this.isPlaying)
            {
                return;
            }

            var player = Game.PlayerPed;

            this.activeCharacter.Position = player.Position.ToVector3().ToPosition();
            this.activeCharacter.Model    = ((uint)player.Model.Hash).ToString();

            this.Rpc.Event(CharacterEvents.SaveCharacter).Trigger(this.activeCharacter);

            this.Rpc.Event(CharacterEvents.SaveStyle).Trigger(this.activeCharacter.Id, CharacterStyle.ConvertStyle(player.Style, this.activeCharacter.Id));

            // FreeMode Models only
            if (!(this.activeCharacter.ModelHash == PedHash.FreemodeMale01 ||
                  this.activeCharacter.ModelHash == PedHash.FreemodeFemale01))
            {
                return;
            }

            this.Rpc.Event(CharacterEvents.SaveFacialTrait).Trigger(this.activeCharacter.Id, CharacterFacialTrait.ConvertFacialTrait(player.Handle));
            this.Rpc.Event(CharacterEvents.SaveHeritage).Trigger(this.activeCharacter.Id, CharacterHeritage.ConvertHeritage(player.GetHeadBlendData(), this.activeCharacter.Created));
            this.Rpc.Event(CharacterEvents.SaveTrait).Trigger(this.activeCharacter.Id, CharacterTrait.ConvertTrait(player));
        }