在登陆时用FreeCharLogin函数修补7格宠技

  首先由来给大家介绍一下FreeCharLogin函数,源码里FreeCharLogin是被强制定义freecharlogin.lua里,不可修改LUA的文件名。这个函数的作用是人物登陆到游戏后的各种操作,这样我们可以实现很多禁止登出的功能。今天教大家写一下把宠物技能格修补成最大7格。

  应该都知道每种宠物的技能格是不一样的,由enemybase1.txt来设定的。原本技能格显示会跟随设定好的来显示,只有转过的宠物才是7格技能,早期服务端没有做判断所以只要客户端修改下或者使用外挂就能显示7格技能并都能使用,但高版本后服务端做了限制,即使外挂开启了7格技能在没转的时候也会按照enemybase1.txt来设定。

现在开石器时代SF为了方便GM通常会修改enemybase1.txt来实现满技能格,但这样太麻烦了,因为我们可以利用FreeCharLogin函数来实现重登下宠物技能格为7格,代码如下:

function FreeCharLogin( charindex )

    --循环5次变量从0~4表示身上的5只宠物位置
	for i =0, 4 do
		--定义petindex为获取身上宠物的索引,变量为i,因为上面循环了5次,则获取身上全部的宠物索引
		if petindex == char.getCharPet(charindex, i) then
			--检查宠物格是否存在宠物(等于1为存在)
			if char.check(petindex) == 1 then
				--判断当宠物技能格不等于7
				if char.getInt(petindex, "宠技位") ~= 7 then
					--设定成宠物技能格为7
					char.setInt(petindex, "宠技位", 7)
					--更新下宠物数据显示
					char.sendStatusString(charindex, "K" .. i)
				end
			end
		end
	end

end


作者:神奇的牧羊人

发表评论

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