Mod 管理函数

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 许可