XiRush Lua API 文档 v1.0
完整的 Lua 脚本 API 参考。脚本文件放置于 Lua/ 目录,框架自动加载。
生命周期钩子
在脚本中定义以下全局函数,框架会在对应时机自动调用:
on_load()
脚本加载后调用一次,用于初始化。
on_unload()
脚本卸载前调用,用于清理资源。
on_tick()
每帧调用(脚本线程),可安全调用 native。
on_present()
渲染帧回调(渲染线程)。
on_key(key, is_up)
按键事件。key 为虚拟键码,is_up 表示抬起。
gui_tick()
UI 渲染回调,在此使用 ui 表绘制 ImGui 界面。
-- 加载配置(文件不存在时用默认值)
local cfg = json.load("config.json") or { god_mode = false, speed = 1.0 }
function on_load()
notify.info("脚本已加载,数据目录: " .. fs.dir())
end
function on_unload()
-- 卸载时自动保存配置
json.save("config.json", cfg)
end
function on_tick()
if cfg.god_mode then
ENTITY.SET_ENTITY_INVINCIBLE(PLAYER.PLAYER_PED_ID(), true)
end
end
function gui_tick()
if ui.begin("我的窗口") then
local changed, val = ui.checkbox("无敌模式", cfg.god_mode)
if changed then cfg.god_mode = val end
local sc, sv = ui.sliderFloat("速度倍率", cfg.speed, 0.1, 5.0)
if sc then cfg.speed = sv end
if ui.button("保存配置") then
json.save("config.json", cfg)
notify.info("配置已保存")
end
end
ui["end"]()
end