实体
行人 CPed
血量、武器、状态与骨骼
CPed.h · 字段 / 方法以头文件为准
逻辑帧改状态;drawing 只读。
改血量与护甲
m_fHealth / m_fMaxHealth / m_fArmour
逻辑帧改。
float m_fHealth;
float m_fMaxHealth;
float m_fArmour;给武器与切换
GiveWeapon / SetCurrentWeapon / ClearWeapons
逻辑帧。
void GiveWeapon(eWeaponType weaponType, unsigned int ammo, bool likeUnused);
void SetCurrentWeapon(int slot);
void SetCurrentWeapon(eWeaponType weaponType);
void ClearWeapons();
void ClearWeapon(eWeaponType weaponType);
CWeapon* GetWeapon(); // 当前槽改弹药
GrantAmmo / SetAmmo / DoWeHaveWeaponAvailable
void GrantAmmo(eWeaponType weaponType, unsigned int ammo);
void SetAmmo(eWeaponType weaponType, unsigned int ammo);
bool DoWeHaveWeaponAvailable(eWeaponType weaponType);判断玩家与所在车
IsPlayer / IsAlive / m_pVehicle
bool IsPlayer();
bool IsAlive();
CVehicle* m_pVehicle;
// ped flags: bInVehicle查武器槽与熟练度
GetWeaponSlot / GetWeaponSkill / SetWeaponSkill
int GetWeaponSlot(eWeaponType weaponType);
char GetWeaponSkill(eWeaponType weaponType);
char GetWeaponSkill();
void SetWeaponSkill(eWeaponType weaponType, char skill);换 ped 模型
SetModelIndex
模型须已加载。
void SetModelIndex(unsigned int modelIndex);取坐标
GetPosition
改位置在逻辑帧,别在 drawing。
CVector GetPosition();取骨骼位置
GetBonePosition / GetTransformedBonePosition
渲染帧可用;注意 clump 有效。
void GetBonePosition(RwV3d& outPosition, unsigned int boneId, bool updateSkinBones);
void GetTransformedBonePosition(RwV3d& inOffsetOutPosn, unsigned int boneId, bool updateSkinBones);设置 ped 状态与移动
SetPedState / SetMoveState
谨慎改状态,易与任务系统打架。
void SetPedState(ePedState pedState);
void SetMoveState(eMoveState moveState);
ePedState m_ePedState;
// m_nMoveState, m_nPedType