Postado Março 15, 2023 2 anos Não testei tente local STORAGE_EXP_DIFF = 123456 -- substitua pelo valor da storage que você deseja verificar function calculateExp(player, oldLevel, newLevel) local levelDiff = newLevel - oldLevel local baseExp = 1000 -- substitua este valor pelo valor base de experiência que você deseja usar -- Calcula a experiência com base no nível atual do jogador e o nível que ele está avançando local expGain = math.floor(baseExp * (1 + (player:getLevel() / 100)) * levelDiff) return expGain end function onAdvance(player, skill, oldLevel, newLevel) local storageValue = player:getStorageValue(STORAGE_EXP_DIFF) if storageValue == 0 then -- Se o player não tiver a storage, use a exp definida por script local expGain = calculateExp(player, oldLevel, newLevel) player:addExperience(expGain) else -- Se o player tiver a storage, use a exp definida no STAGES.xml local expTable = getExperienceStage(newLevel) local expGain = expTable[skill] player:addExperience(expGain) end end Script versão otimizada abaixo local STORAGE_EXP_DIFF = 123456 -- substitua pelo valor da storage que você deseja verificar local function calculateExp(player, oldLevel, newLevel) local levelDiff = newLevel - oldLevel local baseExp = 1000 -- substitua este valor pelo valor base de experiência que você deseja usar -- Calcula a experiência com base no nível atual do jogador e o nível que ele está avançando return math.floor(baseExp * (1 + (player:getLevel() / 100)) * levelDiff) end function onAdvance(player, skill, oldLevel, newLevel) local expGain = 0 if player:getStorageValue(STORAGE_EXP_DIFF) == 0 then -- Se o player não tiver a storage, use a exp definida por script expGain = calculateExp(player, oldLevel, newLevel) else -- Se o player tiver a storage, use a exp definida no STAGES.xml local expTable = getExperienceStage(newLevel) expGain = expTable[skill] end player:addExperience(expGain) end Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
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.