我们一般在修改石器LUA脚本的时候,一般就是修改后覆盖原来的文件再用GM命令重读脚本,这里着重点讲的是ABLUA中在ablua文件夹下的全部lua脚本,切勿写错语句或写不存在的函数或接口,因错误会导致gmsv直接蹦端,在更新ablua文件夹下的lua脚本,请检查好并测试好再覆盖原来的文件进行读取。
在chartalkfunction.lua中,我们看如下代码:
function CharTalkFunction( charaindex, message, color) field = other.getString(message, " ", 1) if field == "/test" then parameter1 = other.atoi(other.getString(message, " ", 2)) parameter2 = other.atoi(other.getString(message, " ", 3)) if parameter1 > 1 then char.setInt(charaindex, "计时器", os.time() + parameter2) end return 1 end return 0end
当我们输入指令 /test 后,按照代码上应该跟着parameter1和parameter2两个参数,但当我们输入/test 1后,没有输入parameter2这个参数,则会出现蹦端的情况,因为这里我们并没有对parameter1和parameter2做任何判断,因为当出现空值后则会出现gmsv端开。
因为我们则需要加入:
if parameter1 < 0 or parameter2 < 0 then returnend