LUA的FreeVsPlayer函数实现禁止PK

  在石器服务端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


发表评论

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