Ir para conteúdo

Featured Replies

Postado

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
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

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

 

  • Respostas 5
  • Visualizações 903
  • Created
  • Última resposta

Top Posters In This Topic

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo