Mod 管理函数
这些函数允许 Lua Mod 通过代码重启或卸载自身或其他 Mod。
RestartCurrentMod
将当前运行的 Mod 加入重启队列,在下一个更新周期重启。
RegisterKeyBind(Key.F5, function()
print("Restarting mod...\n")
RestartCurrentMod()
end)
UninstallCurrentMod
将当前运行的 Mod 加入卸载队列,在下一个更新周期卸载。这会销毁 Lua 状态并移除全部钩子和按键绑定。
RegisterKeyBind(Key.F6, function()
print("Uninstalling mod...\n")
UninstallCurrentMod()
end)
RestartMod
根据名称重启另一个 Mod。
参数
| # | 类型 | 说明 |
|---|---|---|
| 1 | string | 要重启的 Mod 名称 |
示例
RegisterKeyBind(Key.F7, function()
print("Restarting MyOtherMod...\n")
RestartMod("MyOtherMod")
end)
UninstallMod
根据名称卸载另一个 Mod。
参数
| # | 类型 | 说明 |
|---|---|---|
| 1 | string | 要卸载的 Mod 名称 |
示例
RegisterKeyBind(Key.F8, function()
print("Uninstalling MyOtherMod...\n")
UninstallMod("MyOtherMod")
end)
高级示例
此示例创建一个 Mod,通过按键绑定重启其他多个 Mod:
local ModsToManage = {
{Key = Key.ONE, ModName = "ActorDumperMod"},
{Key = Key.TWO, ModName = "LineTraceMod"},
{Key = Key.THREE, ModName = "ConsoleCommandsMod"},
}
for _, entry in ipairs(ModsToManage) do
RegisterKeyBind(entry.Key, {ModifierKey.CONTROL, ModifierKey.SHIFT}, function()
print(string.format("Restarting %s...\n", entry.ModName))
RestartMod(entry.ModName)
end)
end
原文:docs/lua-api/global-functions/modmanagement.md · 固定提交 560411f18512 · 来源与 MIT 许可