ABLUA一个千万要注意的事项

我们一般在修改石器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 0
end


当我们输入指令 /test 后,按照代码上应该跟着parameter1parameter2两个参数,但当我们输入/test 1后,没有输入parameter2这个参数,则会出现蹦端的情况,因为这里我们并没有对parameter1parameter2做任何判断,因为当出现空值后则会出现gmsv端开。

因为我们则需要加入:

if parameter1 < 0 or parameter2 < 0 then
    return
end


发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。