虽然V社有给出Lua的Debug工具,但是有些问题,例如无法定位文件, 而且还要开另外一个编辑工具,官方提供的是基于Eclipse的Debug工具, 我实在不想再开另外一个软件了,索性就搞一个支持VSCode的Debug工具。
当前版本:0.3
度盘
链接:https://pan.baidu.com/s/1dFtAbxJMVKvMwfM7TEa3ew
提取码:vrhe
注意:使用本工具优先使用小号,实现的原理就是利用注入机制修改DOTA2内部的Lua, 这种情况也就导致有被封号的危险。
命令行工作目录cd
到该工具目录
然后输入
./StartDota2.exe dota2.exe路径 项目名
例如
./StartDota2.exe "F:\SteamLib\steamapps\common\dota 2 beta\game\bin\win64\dota2.exe" test
正常情况下可以顺利启动编辑器,如果出现运行库问题,尝试安装 https://aka.ms/vs/16/release/VC_redist.x64.exe
LuaPanda
并安装LuaPanda.lua
并放到到vscripts
文件夹下-- 需要改一下代码,打开 LuaPanda.lua 就可以看到 customGetSocketInstance
-- 改成下面这样
local customGetSocketInstance = function() return luasocket.tcp() end;
.vscode
目录下创建launch.json
,基本可以不用改动,然后按F5应该就可以启动Debug等待响应。{
"version": "0.2.0",
"configurations": [
{
"type": "lua",
"request": "launch",
"name": "LuaPanda",
"program": "",
"cwd": "${workspaceFolder}",
"luaFileExtension": "lua",
"connectionPort": 8818,
"pathCaseSensitivity": true,
"stopOnEntry": true,
"useCHook": true,
"autoPathMode": true,
"logLevel": 1
},
]
}
addon_game_mode.lua
中加入代码,并运行游戏function CAddonTemplateGameMode:InitGameMode()
require("LuaPanda").start("127.0.0.1",8818)
end
由于LuaPanda
并没有完整支持luajit,所以Debug的时候可能会出现直接跳出的情况,
此外对多目录结构支持得不是很好,所以会出现无法识别game/core/scripts
和game/dota/scripts
底下lua文件的情况,
最近看GitHub上的issue已经说在做多目录结构的支持
📅 创建于2020-10-10