用ABLUA的NetLoopFunction写增加活力的系统
NetLoopFunction()这个函数默认是写在netloopfunction.lua里的,但这个函数并没有指定的lua文件里,也就是说可以写在任意lua文件下,只需要声明这个函数即可直接执行。
那么就可以写一个每分钟或每几分钟增加活力的LUA
function NetLoopFunction()
--定义最大玩家索引,减1是因为char.getPlayerMaxNum()是从1开始的,但索引是从0开始的
local maxplayer = char.getPlayerMaxNum() - 1
--摩尔求值looptimer整除10,等于0就相当于余数为0,这样的效果就是looptimer只要是每10分钟就会执行一次下面的语句
if math.mod(looptimer, 10) == 0 then
--从0到玩家最大索引开始循环
for i = 0, maxplayer do、
--检查索引是否存在,即玩家索引是否在游戏上
if char.check(i) == 1 then
--这里加个判断当玩家不是离线状态并且已经5转了
if char.getWorkInt(i, "离线") == 0 and char.getInt(i, "转数") == 5 then
--然后每次增加一点活力
char.setInt(i, "活力", char.getInt(i, "活力") + 1)
end
end
end
end
--全局变量累计数值,因为在NetLoopFunction函数里是每分钟执行一次这个函数,因此是每分钟加1
looptimer = looptimer + 1
end
function data()
--定义一个类似计时器的全局变量,并初始化为0
--写在data这函数里是方便当重读lua的时候,looptimer为0
--如果写在main函数里重读lua就不会清0
looptimer = 0
end
function main()
data()
end
根据我神奇牧羊人在代码里的注释和通俗易通的解释,相信应该很容易看得懂。
版权声明:若无特殊注明,本文皆为《sa60》原创,转载请保留文章出处。
本文链接:用ABLUA的NetLoopFunction写增加活力的系统 - http://sa60.com/post-226.html

