用ABLUA的FreeCharLogin检查玩家属性点

石器时代服务端里的ablua文件夹下freecharlogin.lua这个lua非常好用,是用于人物数据登陆检查用,这样可以写各种检查和判断,下面教写一下人物超过一定属性点还原成最大属性。

function FreeCharLogin( charindex )
	--人物最大属性点上限625点,*100下文会提到
	local maxpoint = 625*100
	--判断如果不是极品人的时候
    if char.getInt(charindex, "极品") == 0 then
		--获取人物的体力点数
		local vital = char.getInt(charindex, "体力")
		--获取人物的腕力点数
		local str = char.getInt(charindex, "腕力")
		--获取人物的耐力点数
		local tgh = char.getInt(charindex, "耐力")
		--获取人物的速度点数
		local dex = char.getInt(charindex, "速度")
		--获取人物未分配完的属性点
		local skillpoint = char.getInt(charindex, "技能点")
		--计算总点数,这里点数是需要*100才是1点,所以属性点需要*100
		local sum = vital + str + tgh + dex + skillpoint * 100
		--开始判断
		if sum > maxpoint then
			--分配给体力10点,这里注意一定要给四项属性分配最少1点即可10,这里给体力写10点
			char.setInt(charindex, "体力", 1000)
			char.setInt(charindex, "腕力", 0)
			char.setInt(charindex, "耐力", 0)
			char.setInt(charindex, "速度", 0)
			--扣除分配给体力的10点,剩余值就分配给技能点
			char.setInt(charindex, "技能点",(maxpoint-1000)/100)
		end
	end
end

这个LUA里默认是有这个上限属性点功能的,这里我拿出来做下解释,方便新手学习。

发表评论

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