讲解下JZLUA最常见出错的问题
在石器时代里写LUA,本人几乎不再使用JZLUA了,写LUA都习惯了ABLUA,所以对JZLUA的讲解甚少,今天突然想到一个新手经常在网络上下载的JZLUA脚本的时候报错的问题。
function Test_Init( _MeIndex ) Char.SetData(_MeIndex, %对像_形象%, 100700); Char.SetData(_MeIndex, %对像_原形%, 100700); Char.SetData(_MeIndex, %对像_地图%, 8892); Char.SetData(_MeIndex, %对像_X%, 5); Char.SetData(_MeIndex, %对像_Y%, 3); Char.SetData(_MeIndex, %对像_方向%, %右下%); Char.SetData(_MeIndex, %对像_原名%, "测试NPC"); if (Char.SetTalkedEvent(nil, "Test_Talked", _MeIndex) < 0) then print("AllRunGuessing_Talked 注册事件失败。"); return false; end if (Char.SetWindowTalkedEvent(nil, "Test_WindowTalked", _MeIndex) < 0) then print("Test_WindowTalked 注册事件失败。"); return false; end return true; end从上面的代码里,往往在gmsv读取到第二行的时候就会报错,这是因为gmsv并不支持%对像,而支持的是%对象,因为只需要把全部的对像改成对象即可。有些服务端这两个都进行了兼容,因为可直接无视。
另外提到一点当gmsv同时兼容ABLUA和JZLUA的时候,在脚本里是无法使用%进行运算的,只能采用math.mod来代替%来运算。因为在JZLUA里已经把%符号作为常量来使用了。