实体
脚本 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。本页管全局态与线程。