实体

脚本 CTheScripts

脚本线程、全局开关与清理

CTheScripts.h

脚本线程、全局开关、任务清理。改全局标志要备份;别乱杀 pActiveScripts

脚本线程

pActiveScripts / pIdleScripts

活动链表头。

static CRunningScript*& pActiveScripts;
static CRunningScript*& pIdleScripts;
static CRunningScript* ScriptsArray; // [96]

脚本空间

ScriptSpace / MissionBlock / ScriptParams
static char* ScriptSpace;   // ~200000
static char* MissionBlock;  // ~69000
static tScriptParam* LocalVariablesForCurrentMission;
extern int (&ScriptParams)[32];

HUD / 雷达脚本开关

bDisplayHud / HideAllFrontEndMapBlips
static bool& bDisplayHud;
static bool& HideAllFrontEndMapBlips;
static bool& RadarShowBlipOnAllLevels;
static unsigned char& RadarZoomValue;
static bool& bPlayerIsOffTheMap;

任务状态

OnAMissionFlag / bAlreadyRunningAMissionScript
static int& OnAMissionFlag;
static bool& bAlreadyRunningAMissionScript;
static char& FailCurrentMission;
static unsigned int& LastMissionPassedTime;

清理

MissionCleanUp / CleanUpThisPed
static CMissionCleanup& MissionCleanUp;
static void CleanUpThisPed(CPed* ped);
static void CleanUpThisVehicle(CVehicle* pVehicle);
static void CleanUpThisObject(CObject* pObject);

建筑交换 / 隐身

BuildingSwapArray / InvisibilitySettingArray
static tBuildingSwap* BuildingSwapArray;
static void AddToBuildingSwapArray(CBuilding* a1, int newModelId, int oldModelId);
static CEntity** InvisibilitySettingArray;
static void AddToInvisibilitySwapArray(CEntity* a2, bool bVisible);

脚本绘制缓冲

IntroTextLines / ScriptSprites

帧内文本 / 矩形。

static tScriptText (&IntroTextLines)[96];
static tScriptRectangle (&IntroRectangles)[128];
static CSprite2d (&ScriptSprites)[128];
static eUseTextCommandState& UseTextCommands;

与 Command

日常刷车、任务逻辑优先 plugin::Command / commands。本页管全局态与线程

On this page