SACLEO+

脚本 Script

脚本变量、自定义脚本与生命周期事件

sa · 扩展 CLEO+ · 需 CLEO + CLEO+

SET_SCRIPT_EVENT_*add=true 注册、false 注销;label 为回调入口。事件里用 RETURN_SCRIPT_EVENT 返回。写法见 Lua / Redux

脚本变量

SET_SCRIPT_VAR · 0D2E

写指定脚本结构体内变量下标。

0D2E SET_SCRIPT_VAR
in: scriptPointer, varIndex, value
GET_SCRIPT_VAR · 0D2F

读脚本结构体内变量。

0D2F GET_SCRIPT_VAR
in: scriptPointer, varIndex
out: result

自定义脚本 / 返回

STREAM_CUSTOM_SCRIPT_FROM_LABEL · 0E6F

从 label 启动自定义脚本,可带参数。

0E6F STREAM_CUSTOM_SCRIPT_FROM_LABEL
in: label, params
RETURN_SCRIPT_EVENT · 0ED0

从脚本事件回调返回。

0ED0 RETURN_SCRIPT_EVENT
RETURN_TIMES · 0F0A

连续 return 多层 gosub(层数 numReturns)。

0F0A RETURN_TIMES
in: numReturns

存档 / 菜单

SET_SCRIPT_EVENT_SAVE_CONFIRMATION · 0ED1

存档确认前触发;可取 saveSlot

0ED1 SET_SCRIPT_EVENT_SAVE_CONFIRMATION
in: add, label, saveSlot
SET_SCRIPT_EVENT_ON_MENU · 0ED8

暂停菜单期间或刚暂停时;justPaused 输出是否刚暂停。

0ED8 SET_SCRIPT_EVENT_ON_MENU
in: add, label, justPaused

实体创建 / 删除

SET_SCRIPT_EVENT_CHAR_DELETE · 0ED2

角色删除后触发。

0ED2 SET_SCRIPT_EVENT_CHAR_DELETE
in: add, label, char
SET_SCRIPT_EVENT_CHAR_CREATE · 0ED3

角色创建后触发。

0ED3 SET_SCRIPT_EVENT_CHAR_CREATE
in: add, label, char
SET_SCRIPT_EVENT_CAR_DELETE · 0ED4

载具删除前触发。

0ED4 SET_SCRIPT_EVENT_CAR_DELETE
in: add, label, car
SET_SCRIPT_EVENT_CAR_CREATE · 0ED5

载具创建后触发。

0ED5 SET_SCRIPT_EVENT_CAR_CREATE
in: add, label, car
SET_SCRIPT_EVENT_OBJECT_DELETE · 0ED6

物体删除前触发。

0ED6 SET_SCRIPT_EVENT_OBJECT_DELETE
in: add, label, object
SET_SCRIPT_EVENT_OBJECT_CREATE · 0ED7

物体创建后触发。

0ED7 SET_SCRIPT_EVENT_OBJECT_CREATE
in: add, label, object

每帧 process

SET_SCRIPT_EVENT_CHAR_PROCESS · 0EDA

每个角色每帧一次。

0EDA SET_SCRIPT_EVENT_CHAR_PROCESS
in: add, label, char
SET_SCRIPT_EVENT_CAR_PROCESS · 0EDB

每个载具每帧一次。

0EDB SET_SCRIPT_EVENT_CAR_PROCESS
in: add, label, car
SET_SCRIPT_EVENT_OBJECT_PROCESS · 0EDC

每个物体每帧一次(可能慢)。

0EDC SET_SCRIPT_EVENT_OBJECT_PROCESS
in: add, label, object
SET_SCRIPT_EVENT_BUILDING_PROCESS · 0EDD

每个 Building/Entity 每帧一次。极慢,慎用。

0EDD SET_SCRIPT_EVENT_BUILDING_PROCESS
in: add, label, entityPtr

伤害 / 子弹

SET_SCRIPT_EVENT_CHAR_DAMAGE · 0EDE

角色受伤时;伤害细节用 0EB5

0EDE SET_SCRIPT_EVENT_CHAR_DAMAGE
in: add, label, char
SET_SCRIPT_EVENT_CAR_WEAPON_DAMAGE · 0EDF

载具被武器打伤;细节用 0EB6

0EDF SET_SCRIPT_EVENT_CAR_WEAPON_DAMAGE
in: add, label, car
SET_SCRIPT_EVENT_BULLET_IMPACT · 0EE0

子弹命中;owner/victim 可能无效。

0EE0 SET_SCRIPT_EVENT_BULLET_IMPACT
in: add, label, ownerPtr, victimPtr, weaponType, colPoint

主循环

SET_SCRIPT_EVENT_BEFORE_GAME_PROCESS · 0F0B

游戏主循环 process 前触发。add 注册/注销。

0F0B SET_SCRIPT_EVENT_BEFORE_GAME_PROCESS
in: add, label
SET_SCRIPT_EVENT_AFTER_GAME_PROCESS · 0F0C

游戏主循环 process 后触发。

0F0C SET_SCRIPT_EVENT_AFTER_GAME_PROCESS
in: add, label

On this page