英雄无敌5,自定义脚本无法使用,报错Attempt to index a number
lua吧
全部回复
仅看楼主
level 1
1991kls 楼主
function rem(y)
if a == 1 then
ChangeHeroStat(GetCurrentPlayer()[y], 7, 3000);
sleep(7);
rem(y);
end;
end
function stop()
a = 2;
end
function move(y)
a = 1;
rem(y);
end
a = 1;
用的是上述脚本,保存为move.lua,放在data文件夹下,从英雄世界里找的http://www.heroworld.net/h5/158.html
不过每次输入@move(0) 都会得到以下错误。
(Script)Error:Attempt to index a number value
------------------------------------------------------------------------------------------------
这是为啥啊,求大神指导。
2014年02月17日 12点02分 1
level 13
别的不知道,GetCurrentPlayer()[y]这个写法感觉很有问题。即使 GetCurrentPlayer() 返回的是数组,lua的数组下标默认从1开始,你move(0)就要出错。
2014年02月17日 16点02分 2
level 13
凭感觉, GetCurrentPlayer()返回的是玩家的当前坐标,那么它应该是类似{x=100,y=120}这样的表。如果你是想取其中的y坐标,应该写成: GetCurrentPlayer()[“y”]
注意要有双引号。
2014年02月17日 16点02分 3
level 13
由于不知道 GetCurrentPlayer()的返回值具体是什么,以上两种情况均有可能,你自己判断是哪种情况。
2014年02月17日 16点02分 4
level 1
1991kls 楼主
GetCurrentPlayer()[y]变成GetPlayerHeroes(GetCurrentPlayer())[y]就好用了,谢谢啦。GetCurrentPlayer()本身返回的是一个数字,即当前玩家编号。
2014年02月18日 12点02分 5
level 1
doFile了没有?
2020年09月08日 04点09分 6
1