使用自定义 Lua 绑定
为方便开发 Lua Mod,我们加入了从游戏中转储自定义 Lua 绑定的功能。此外,还提供一个共享类型文件,包含默认 UE 类型,以及可用的 API 函数、类和对象。
转储自定义 Lua 绑定
打开 GUI 控制台窗口中的 Dumpers 页签,点击 Dump Lua Bindings。
生成器会把文件放入 Mods/shared/types 文件夹。
警告:不要在 Lua 脚本中加载任何生成的文件。如果加载它们,就会覆盖 UE4SS 设置的全局变量,导致功能出错。
使用绑定
建议使用 Visual Studio Code 开发 Lua。可以安装 sumneko 发布、名称为 Lua 的扩展。
将 Mods 文件夹作为工作区打开。也可以保存该工作区,避免每次打开 VS Code 都重新操作。
开发 Lua Mod 时,语言服务器应该会自动解析所有类型文件并提供智能提示。
警告:许多游戏的类型数量非常大,语言服务器无法全部解析。遇到这种情况,可以在工作区根目录添加名为
.luarc.json的文件,并写入以下内容:
{
"$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json",
"workspace.maxPreload": 50000,
"workspace.preloadFileSize": 5000
}
将 Mod 目录用作工作区
也可以只将 Mod 根目录作为工作区打开。此时需要添加 .luarc.json,在 "workspace.library" 中写入 shared 文件夹和 Mod 的 Scripts 目录路径。两个路径都可以使用相对路径。
.luarc.json 示例:
{
"$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json",
"workspace.maxPreload": 50000,
"workspace.preloadFileSize": 5000,
"workspace.library": ["../shared", "Scripts"]
}
添加类型注解
要获取自定义游戏类型的上下文信息,需要为代码添加注解(另一份文档)。方法是在需要注解的函数/类/对象上方添加注释。
示例
---@class ITM_MisSel_Biome_C
local biome = FindFirstOf("ITM_MisSel_Biome_C")
---@type int
local numMissions = biome.NumMissions
---@type FVector
local soundCoords = { 420.5, 69.0, 3.1 }
biome:SetSoundCoordinate(soundCoords)
原文:docs/guides/using-custom-lua-bindings.md · 固定提交 560411f18512 · 来源与 MIT 许可