㈠ 如何调试lua脚本
调试lua现有的几种方案:
1)luaedit : 编辑断点和断点命中查看那些都让习惯用vs的人感到亲切,但是它只是在纯lua环境下的编辑器,也就是说和期望程序运行中能借用它来调试脚本可能性不大(至少我没有试验出来),能用上的需要给lua脚本做个main脚本函数,并提供一系列伪的c api(由lua实现的函数,只提供制定值的返回)。由luaedit启动脚本main函数进行调试
2)利用 lua debug 库中的 hook ,然后记录一张断点位置表,设置行模式的 hook ,每次进入 hook 都检查是否是断点处,若是就停下来等待交互调试。这个方法有效,但是很消耗 cpu 。因为每进入一个新的代码行,都需要回调一个函数。当这个函数本身又是用 lua 写的时候,效率更低。
3)利用lua脚本函数实现,在lua脚本中封装一个断点函数,这种方式结合debug库实现断点和栈信息,然后利用lua环境下的表对函数调用信息进行记录和打印,需要脚本使用者显式提供断点函数的调用。这个办法的优点自己可以组合出适合自己项目的断点调试方案。但缺点是相对繁琐,而且断点命中以后难以和现有方式融合
㈡ 菜鸟脚本编辑器怎么使用
这个软件我没有听说过,不过,你可以用DBC打开怪物数据库,在最下面的地方加一个你想要设置的怪物.然后在mirserver\mir200
\e....\item\里面加一个文本文件,文件名与你在怪物数据库里加的怪物名字一样,如你加了一个名叫"死神"的怪物,那么文件名就是"死
神.txt"然后在这个文件里写入你要它暴的东西,如:1/1 金条
1/1 金砖
注意,一行只可以写一个."1/1"表示杀一个就暴."1/2"表示杀二个暴,当然了,也不是绝对的杀二个就暴,它是有一定几率的.
㈢ 怎么使用lua脚本
LUA脚本语言基本使用方法是本文要将介绍的内容,主要是来学习Lua脚本语言的使用方法,具体内容来看本文详解。
先要把下边这些语句加入到VC中的头文件,一般是加到StdAfx.h中
extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" #pragma comment(lib, "lualib.lib") #pragma comment(lib, "lua.lib") }
然后一般来说都使用一个全局的LUA库定义的这个东西
lua_State* g_Lua;
并且在工程处初始化时也给LUA初始化
g_Lua = lua_open(); **加这句 /* load Lua base libraries */ 网上一些教材中这么写的 lua_baselibopen(g_Lua); 不过我这简单的例子中不用到这些也行 lua_tablibopen(g_Lua); lua_iolibopen(g_Lua); lua_strlibopen(g_Lua); lua_mathlibopen(g_Lua);
紧接着声明接口函数,注册上函数
lua_register(g_Lua, "Message", myMessage);
好,初始化部分完了,看看接口函数的写法。
函数必须这样的格式来写
static int Func(lua_State *L) { 静态型函数,而且必须带参数为lua_State结构指针 返回的值是代表返回的数据个数,比如return 2;就可以代表 返回两个整数啊,浮点数什么的,象LUA的脚本编写就可以这样 i, j = Func() , 这样就表示可以从Func接口函数中得到两个返回值了 return 0; }
执行脚本语句可以读文件,也可以直接读函数名
注册了
lua_register(g_Lua, "Message", myMessage); static int myMessage(lua_State *L) { OutputDebugString("OK"); return 0; } lua_dofile(g_Lua, strCurPath); //读文件,必须给出完整的文件路径名称 lua_dostring(g_Lua, "Message()"); //直接读函数
文件中只要写上
Message()
就可以了。
㈣ LUA文件是什么LUA文件如何打开LUA文件怎么编辑
lua文件是编写lua脚本语言的文件,打开用ultraEdit,或者VS,还有别的一些IDE,在上面就能编辑
㈤ luac脚本怎么编辑打开制作
在cmd中执行就可以了。
假设luadec放在c:\lua下,想要看到c:\test\test.lua文件的源码,那么可以使用如下操作
1.打开CMD 命令行窗口。
2.在窗口中输入如下命令:
c:\lua\luadec.exe -d c:\test\test.lua >c:\test\test_bak.lu。
3.使用lua编辑器,打开c:\test\test_bak.lua 就已经看到源码了。
㈥ 请问自己的软件如何运行Lua脚本
programming in lua 有相关的例子,一般脚本语言和c/c++之类的互相调用分两类,一类是扩展,就是将c/c++模块封装起来给脚本语言用,用swig做封装很方便的,一类是嵌入,就是在c/c++等应用中嵌入lua引擎,一般是用来分离经常变化的逻辑部分,比如WOW就是用lua语言作为扩展,用户可以编写lua脚本来完成一些特定功能的机器人。你要做的就是使用lua c api来在你的程序中执行lua。类似这种:
int iErr = 0;
lua_State *lua = lua_open (); // Open Lua
luaopen_io (lua); // Load io library
if ((iErr = luaL_loadfile (lua, "test.lua")) == 0)
{
// Call main...
if ((iErr = lua_pcall (lua, 0, LUA_MULTRET, 0)) == 0)
{
// Push the function name onto the stack
lua_pushstring (lua, "helloWorld");
// Function is located in the Global Table
lua_gettable (lua, LUA_GLOBALSINDEX);
lua_pcall (lua, 0, 0, 0);
}
}
lua_close (lua);
㈦ 对于*.lua文件,需要用什么软件程序打开
*.lua文件可以用记事本程序打开,具体打开步骤如下:
1、文件格式后缀名以*.lua格式存在。
㈧ lua脚本加密软件有什么怎么用
摘要 Lua脚本加密工具绿色版是一款专业实用的触动脚本图形化加密软件,TS Lua脚本加密工具绿色版功能强劲,支持触动精灵lua脚本的加密,支持多设备通用加密和单设备绑定加密,相当的实用。 使用方法 首先,这是我们下载之后得到的压缩包,用 WinRAR 等解压缩软件解压TS Lua脚本加密工具绿色版得到工具本身,因为加密工具不支持中文和带空格的路径,所以我们必须建立并解压一个全英文的路径(如 E:Crypt)。 双击 TSLuaCrypto.exe,现在我们开始加密脚本。 选择Lua 脚本文件,打开未加密的 Lua 脚本,脚本名也必须是英文、数字、下划线和不带空格的。 打开脚本,我们先制作一个最常见的,公开发布和具有时间限制的加密脚本,首先取消勾选,然后设置一个时间,选择“多设备通用加密脚本”,然后点击加密。 加密完成,我们可以看到目录中多出来这两个文件。 蓝色箭头标注的是临时文件,可以删掉,红色箭头标注的是加密后的脚本,接下来我们试试设备绑定脚本,也就是说加密出的脚本只能在指定设备上运行,不能在其它地方运行。设备号列表既可以手动编写,也可以由设备号收集工具生成,这里我们用一个已经生成好的设备号列表演示。 同理,你可以加密一个可供 5 台、20 台甚至 100 台已知设备号机器的脚本,以达到测试和限制分发的效果。
㈨ 怎么用cheat engine里的lua脚本制作游戏修改器
对于固定内存地址的游戏,可以使用Cheat Engine软件来制作修改器。这个过程很简单,就是步骤有些多。
以修改雷电2为例,说明如何用ce制作修改器。也可以用其它修改内存地址的软件来查找游戏的内存地址,然后添加到ce中。这样可以简化制作过程。
工具/原料
Cheat Engine 5.61
金山游侠5
fpe2001
修改并添加地址
1运行游戏。切换窗口,打开ce。
点左上角的逗选择进程地,在逗进程列表地中选择游戏的名字,点逗打开地。
建议制作修改器用5.61版本的ce,这个版本的高级选项中有创建修改器的选项。
2选中逗hex地前面的选项,检测输入的值是十六进制的。对一些数值,需要选中它,才能搜索到。
在逗值地的输入框中输入3,点逗首次扫描地。
3切换到游戏,将生命数改变。
只有地址变化了,才能搜索具体的数值。游戏中的数值大部分都可以用具体的数值来搜索。
4切换到ce,在逗值地的输入框中输入改变后的数值,点逗再次扫描地。
通常搜索两次就可以找到唯一的地址。如果还有许多地址,回到游戏让数值再改变一次,再回到ce中进行再次扫描。所有的游戏修改器都是这样进行搜索。
5双击搜索到的地址,地址被放入锁定窗口中,选中逗锁定地,这个地址在游戏中就始终是这个数值。
在锁定地址上按鼠标右键,选择逗更改记录地→逗描述地,或是在地址的逗描述地位置双击左键。输入这个地址的说明。
6在地址上按右键,选择逗浏览相关内存区域地。打开逗内存浏览器地,在窗口下方就是该地址所在的内存数值,其它的内存数值也在这里。双击就可以编辑。可是修改后没有提示,不利于查看。
7对内存地址进行编辑,需要用到金山游侠和fpe2001。
这两个修改器,在对内存进行编辑后,对编辑过的地址用彩色标记。在进行内存对比时,很方便。这里就不介绍了,这两个软件使用方法比ce简单多了。有些游戏是需要使用不同修改器,才能搜索到地址。
8双击金山游侠中锁定地址中的逗自动锁定地,打开逗添加修改地窗口,将地址进行复制。
9回到ce。点逗手动添加地址地,在逗添加地址地窗口中的地址框中粘贴刚才复制的地址,输入描述说明,确定。
10在地址上按鼠标右键,在弹出的菜单中选择逗更改记录地→逗值地,输入数字,确定。这个地址的数值就改变了。
11选择逗更改记录地→逗类型地,选择新类型后确定,就更改了这个地址的长度。
如果需要更改的数值会很大,就要更改类型。2个字节代表00,4个字节代表0000。
12其它的地址也这样添加到ce中。
这样就避免了使用ce进行搜索的过程。只要是固定的内存地址,都可以通用。
需要的地址全部添加后,就可以制作修改器了。
13在制作之前,选择左上角的逗保存地图标,选择路径,点逗保存地。游戏的内存地址就被保存成文件了。
下次运行游戏就可以直接打开保存的地址,不需要再搜索地址。修改器制作出错后,也可以打开保存的地址,重新进行制作。
END
制作修改器
点左下角的逗高级选项地,打开逗高级选项地窗口。
制作修改器需要使用这里的功能。有些版本的ce中没有这个功能。
点击逗创建单独使用的修改器地图标,在弹出的窗口中选中逗创建新的修改器地和逗游戏/程序运行时,修改数据地,确定。
在逗修改器制作地窗口中,执行的结果会在预览窗口中显示。
选择逗更改图像地,选择一个图片,可以让逗预览地窗口中逗启动地下面显示图像。
选择逗更改图标地,选择一个图标文件,制作的修改器会显示这个图标。
输入标题,在修改器窗口标题栏上就会显示内容。
选择逗进程地,找到运行的游戏文件名,左键点击就选择了。不选择,修改器就不会知道要修改什么游戏。
点击下面的逗加入项目地,在逗修改器制作:添加记录地窗口中选择逗添加地。
在逗修改器制作:添加地址地窗口中选择逗设定数值并锁定/解锁地址地,输入数值。选中逗允许用户更改这个数值地,在修改器中就可以更改。
选中逗常规锁定地,在下面的窗口中选择一个地址,选择逗添加地。选择不正确时会有提示。
在弹出的逗修改器制作:添加记录地窗口中,在逗作用地输入框中输入说明,在逗热键地输入框中按一下设定的按键,不满意设置的热键点逗清除地,选择确定。
在右面的逗预览地窗口中就会出现添加的效果。
6其它的地址也是这样添加。全部添加后,选中逗防止修改地,制作的修改器就不允许用ce打开。
最后点击逗生成修改器地,选择路径,起一个名称,点逗保存地。会提示修改器已生成。
至此修改器制作完成。使用效果见简介图片。
选择左面窗口中已添加的地址,选择逗删除项目地可以去掉选中的地址。
㈩ 求一个Lua编辑器(WOW lua),跟使用方法。
lua没有什么固定的编译器
可以使用记事本编译
不过我推荐使用2种
1种是NotePad++这只是个编写工具,没办法直接运行(准确的说
其实也不是没办法运行,要配置一系列参数后也是可以运行的,但是容易出错,并且出错后要关闭程序重新打开才会恢复)
另一种是官方的编译器sciTE
可以到lua的官方网站www.lua.org下载
程序名为luaforwindows
里面还有很详细的新手教程和example
如果是要在游戏里编写lua的那个wowlua的话留个邮箱
我有个zV_WowLua-v40000-1.0.0.zip