实体

火焰 CFireManager

点灭火与脚本火

CFireManager.h · 全局 gFireManager

逻辑帧点 / 灭火。最多 MAX_NUM_FIRES(60)。

全局管理器

gFireManager / m_aFires
extern CFireManager& gFireManager;
// CFire m_aFires[60];

坐标起火

StartFire(坐标)

time 持续时间相关;numGenerations 蔓延代数。

CFire* StartFire(CVector point, float size, unsigned char arg2, CEntity* creator,
    unsigned int time, signed char numGenerations, unsigned char arg6);

实体着火

StartFire(实体)

挂在 ped / 车 / 物体上。

CFire* StartFire(CEntity* target, CEntity* creator, float size, unsigned char arg3,
    unsigned int time, signed char numGenerations);

脚本火

StartScriptFire / RemoveScriptFire
int StartScriptFire(CVector const& point, CEntity* target, float arg2, unsigned char arg3,
    signed char numGenerations, int size);
void RemoveScriptFire(short fireIndex);
bool IsScriptFireExtinguished(short fireIndex);
void RemoveAllScriptFires();

区域灭火

ExtinguishPoint / ExtinguishPointWithWater
void ExtinguishPoint(CVector point, float range);
bool ExtinguishPointWithWater(CVector point, float range, float fireSizeMp);

查附近火

FindNearestFire / GetNumFiresInRange
CFire* FindNearestFire(CVector const& position, bool notBeingExtinguished, bool notScript);
unsigned int GetNumFiresInRange(CVector* point, float range);
unsigned int GetNumFiresInArea(float cornerA_x, float cornerA_y, float cornerA_z,
    float cornerB_x, float cornerB_y, float cornerB_z);

On this page