在石器服务端ablua里的FreeVsPlayer函数,这个是玩家互相PK的函数,可实现指定地图禁止PK,指定人数才可以PK,这个函数默认是在freevsplayer.lua里的,但这个函数在源码里并没有指定文件名,所以这个函数允许在任何文件名的ablua下进行声明。
下面贴一段禁止指定地图PK,默认下这个lua下都有内容。我只是拿出来讲解。
--meindex指的是自己的索引,toindex指的是对方索引 function FreeVsPlayer( meindex, toindex ) --检索数组循环, --一直没有讲过table.getn函数的用法,这里提一下,table.getn内的函数必须是数组,获取数组的最大数,即假如数组里有5组数字或者5组字符串,则获取值为5 for i = 1, table.getn(nopkfloor) do --判断地图号,如果地图号是数组内的任何一个ID if char.getInt(meindex, "地图号") == nopkfloor[i] then --进行提示 char.TalkToCli(meindex, -1, "该地图禁止私下PK!", "黄色") --返回用1,如果通过则用0,根据代码来 return 1 end end return 0 end function main() --禁止PK的地图ID,以数组形式存在 nopkfloor = {12345, 140, 2000} end
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。