游戏中调用LUA脚本的开发及调试

来自部落与弯刀Wiki

安装LUA脚本开发IDE工具

开发者可以使用任何趁手的工具来编写LUA脚本。这里我们为了调试方便所以采用了VsCode + LuaPanda插件来编辑LUA脚本,并能实现断点调试、变量监控等功能

 Img 1.png
  • 由于xlua的lua文件格式是.lua.txt的,所以vscode默认情况下并不能将其识别为lua文件,需要我们通过settings来完成
 Imgpic 2.png  
  • 打开自定义设置的JSON文件,并添加如下内容:
 {
   "files.associations": {
       "*.lua.txt":"lua"
   },
   "luaide.apiType": "xlua",
 }

注意:在选择配置文件时一定要选择workspace settings而不是user settings,选择之后会在工程根目录下生成一个.vscode文件夹,里面有一个settings.json;如果.lua.txt文件中出现了lua的语法高亮,则为配置成功;

 Imgpic 3.png  
 Imgpic 4.png
  • 在调试选项中选择生成launch.json,然后选择LuaPanda;

注意:如果没有看到luapanda,需要重启一下VsCode,或者将其它调试器关掉后重启;

生成了如下三种配置,这里我们需要注意的设置就是luaFileExtension选项,我们需要配置成我们xlua的格式,也就是".lua.txt";

 Imgpic 5.png

如何在MOD中运行及调试脚本

游戏中的Lua脚本代码最终必须映射到资源目录“Asset\BuildSource\LuaScripts\”下来运行。运行时可以使用 RUN_SCRIPT 或者 RUN_SCRIPT_FUNC 来调用脚本或者脚本中的函数(具体见通用剧情事件指令说明)。

如: RUN_SCRIPT_FUNC*test_script#TestFunc1

编写脚本时,可以在脚本中加入下列代码来开启脚本调试功能,当调用该脚本后,就可以在VsCode中对该脚本中的任意代码位置打断点进行调试等操作了。

 require("LuaPanda").start("127.0.0.1",8818)

当调试结束后记得注释掉该行以提高游戏性能。