Postado Janeiro 8 Jan 8 Galera, estou tentando alterar o recebimento de xp (n curto via stages)Fiz isso da pasta lib, porem xp está vindo ridicula, Behemoth dando 1kk de xp... xp do server é 40Me ajuda a corrigir -- Função para calcular a experiência ajustada com redução progressiva local function getAdjustedExperience(cid, baseExp) local level = getPlayerLevel(cid) local maxLevel = 699 local minReductionFactor = 0.1 -- 10% XP mínima if level < 1 then level = 1 elseif level > maxLevel then level = maxLevel end local reductionFactor = 1 - ((level - 1) / (maxLevel - 1)) * (1 - minReductionFactor) local adjustedExp = math.floor(baseExp * reductionFactor) return adjustedExp end -- Função para adicionar níveis ao jogador, ajustando a experiência com redução progressiva function doPlayerAddLevel(cid, amount, round) local experience, level = 0, getPlayerLevel(cid) amount = amount or 1 if amount > 0 then experience = getExperienceForLevel(level + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(level)) else experience = -((round and getPlayerExperience(cid) or getExperienceForLevel(level)) - getExperienceForLevel(level + amount)) end -- Ajusta a experiência com a redução progressiva local adjustedExp = getAdjustedExperience(cid, experience) -- Exibe mensagem no console com o valor de experiência recebido print(string.format("Player %d received %d experience points (adjusted).", cid, adjustedExp)) return doPlayerAddExperience(cid, adjustedExp) end Editado Janeiro 8 Jan 8 por Norih (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.