|
|
发表于 2023-8-28 22:47:55
|
显示全部楼层
有好几个版本,那个item的应该是VIP的,只在我服务器用,被你降低了,你应该在全体地方调整,参考我更复杂的模式选择
--一命组队和同IP不加击杀经验
local function OnAddXP(event, player, amount, victim, source)
local guid = player:GetGUIDLow()
if oneLifePlayers[guid] then
if oneLifePlayers[guid] == 3 then --乌龟模式只处理经验,不做其他限定
if source == 0 then
--player:SendBroadcastMessage("经验来源类型:"..source..",实际经验为:"..amount/10)
return amount/10 --根据服务器经验设定倍率,在这里恢复默认
else
--player:SendBroadcastMessage("经验来源类型:"..source..",实际经验为:"..amount/35)
return amount/35 --根据服务器经验设定倍率,在这里恢复默认
end
end
if player:GetGroup() then --先处理组队情况下经验减益
for k, menber in pairs(player:GetGroup():GetMembers()) do
if player == menber then
--队员就是自己,啥也不干
elseif menber:GetLevel() > (player:GetLevel() + 5) or menber:GetLevel() == 70 then
player:SendBroadcastMessage("队伍存在超过五级或满级的队员,已自动退组并损失本次经验")
player:RemoveFromGroup()
return 0
elseif player:GetPlayerIP() == menber:GetPlayerIP() then
player:SendBroadcastMessage("队伍存在同IP的多个角色,获取的经验大幅度降低!")
return amount/70
end
end
end
if oneLifePlayers[guid] == 0 then
if source == 0 then
--player:SendBroadcastMessage("经验来源类型:"..source..",实际经验为:"..amount/10)
return amount/5 --根据服务器经验设定倍率,在这里恢复默认
else
--player:SendBroadcastMessage("经验来源类型:"..source..",实际经验为:"..amount/35)
return amount/17.5 --根据服务器经验设定倍率,在这里恢复默认
end
elseif oneLifePlayers[guid] == 1 then
if source == 0 then
--player:SendBroadcastMessage("经验来源类型:"..source..",实际经验为:"..amount/10)
return amount/10 --根据服务器经验设定倍率,在这里恢复默认
else
--player:SendBroadcastMessage("经验来源类型:"..source..",实际经验为:"..amount/35)
return amount/35 --根据服务器经验设定倍率,在这里恢复默认
end
end
else
if player:GetItemByEntry(DoubleRequire) and player:GetItemByEntry(DoubleRequire):IsEquipped() and player:GetLevel() < 70 then
return amount * 5 --变身法袍5倍经验
end
end
end
|
|