金X简介
金庸群侠传X是由汉家松鼠工作室制作的一款半即时半回合制战棋单机游戏,于2013年发行。
游戏剧情由金庸笔下的十五部小说改编及创造,有0.1~0.7,1.0八个正式版本,并且有web版、安卓版、ios版、mod编辑器版。目前最新版本为金庸群侠传X1.1.0.6。
很遗憾的是,游戏因为设计侵权而终止了开发,永远的暂停在了1.1.0.6版本。
前言
本人一直很喜欢这款游戏,也做过一些开发工作。最近在Mod交流群里看到断点操作,说实话,本人不会,但是询问的时候却石沉大海。所以最终只能自己探索如何利用EmmyLua插件进行断点操作,经过了一下午的实验,终于成功了,但貌似和群里的实现方法不同? 我希望大家都能打破技术壁垒,互相交流。
当然,本人这么做的原因之一其实是不想承认自己比他们差,也算是攀比吧,但不得不承认,也许我的确愚笨了一些。但是我相信,勤能补拙,所以下面直接开始教程吧。
软件准备
-
Microsoft在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。
该编辑器支持多种语言和文件格式的编写,截止2019年9月,已经支持了如下37种语言或文件:F#、HandleBars、Markdown、Python、Java、PHP、Haxe、Ruby、Sass、Rust、PowerShell、Groovy、R、Makefile、HTML、JSON、TypeScript、Batch、Visual Basic、Swift、Less、SQL、XML、Lua、Go、C++、Ini、Razor、Clojure、C#、Objective-C、CSS、JavaScript、Perl、Coffee Script、Java、Dockerfile。 -
国人弄的基于IntelliJ IDE 弄得插件 EmmyLua,现在也已经支持VsCode了。本教程使用EmmyLua进行lua调试。
文件配置
关于如何安装VS Code此处不再赘述,EmmyLua插件请直接在VsCode的拓展管理里下载就可以了。
这边我们先启动我们的金X程序(当然原理是一样的,你调试其他程序也是一样的),先不要加载自己的Mod,停留在下面的界面就好了。
然后我们打开我们的Lua工作目录 (F:\游戏\【MOD编辑器】金X 1.1.0.6\gamedata\modcache\ 这里是你的Mod文件夹名字
\lua) 请注意,一定要打开lua这个文件夹,看到我箭头指的地方是LUA就行。这里我们就成功了一半了!!!
打开之后,我们先找到我们想打断点的文件,在对应行按F9
打上断点,这时候还不行,我们还需要一个调试机制,这时候直接按F5运行或者切换到生成运行设置文件的栏生成一个配置文件。这里我选择的是先生成配置文件然后再F5运行。
点击完成之后选EmmyLua Attach Debug
理论上直接默认配置就好了,这里把我默认生成的代码po出来。
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "emmylua_attach",
"request": "attach",
"name": "通过进程ID附加",
"pid": 0
}
]
}
然后我们找到我们需要打断点的文件打上断点,然后按F5
直接运行,会让你选择绑定的程序,我们选择刚刚我们打开的 【金X】 就可以执行断点操作了。
我的断点打在了人物开局属性选择那里,所以最后会在那里暂停,大家可以自己试验一下。