Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Eu utilizo o TFS 1.4.2 

 

Criei esse topico pq estou tentando fazer um comando ou npc que consiga trocar a vocação do player para uma vocação nova que criei, mas queria resetar, vida, mana, ml, skills e o storage 378378 (resets), mas ele cobra o dinheiro, troca a classe mas não remove os skills e ml =/
Meu servidor é 1.4.2 TFS 10.98

 

Citar

function onSay(cid, words, param, channel)
    local player = Player(cid)
    local cost = 10000 -- o custo em gold coins do serviço
    local resetsNeeded = 10 -- o número de resets necessários para a troca de vocação
    local newVocationId = 9 -- o ID da nova vocação que você criou
    
    if not player then
        return false
    end
    
    -- Verifique se o jogador tem o número necessário de resets
    if player:getStorageValue(378378) < resetsNeeded then
        player:sendCancelMessage("Você precisa de " .. resetsNeeded .. " resets para realizar esta troca de vocação.")
        return false
    end
    
    -- Verifique se o jogador tem gold coins suficientes para pagar pelo serviço
    if player:getMoney() < cost then
        player:sendCancelMessage("Você precisa de " .. cost .. " gold coins para realizar esta troca de vocação.")
        return false
    end
    
    -- Remova os gold coins e resets do jogador
    player:removeMoney(cost)
    player:setStorageValue(378378, player:getStorageValue(378378) - resetsNeeded)
    
    -- Altere a vocação do jogador para a nova vocação
    player:setVocation(Vocation(newVocationId))
    
    -- Configure as estatísticas do jogador
    player:setStorageValue(PlayerStorageKeys.promotion, 0)
    player:setMagicLevel(0)
    player:setSkill(SKILL_FIST, 10)
    player:setSkill(SKILL_CLUB, 10)
    player:setSkill(SKILL_SWORD, 10)
    player:setSkill(SKILL_AXE, 10)
    player:setSkill(SKILL_DISTANCE, 10)
    player:setMaxHealth(180)
    player:setMaxMana(80)
    player:setMaxCapacity(1000)
    
    -- Envie uma mensagem ao jogador confirmando a troca de vocação
    player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Você trocou de vocação com sucesso!")
    return true
end

 

 

 

 

Editado por Gabriel485 (veja o histórico de edições)

Postado
  • Diretor

Não testei mais deve te ajudar em algo só configurar a vocação.

 

function onSay(player, words, param)
    local playerVocation = player:getVocation()
    local newVocation = VocationType[13] -- 13 é o ID da nova vocação criada
    
    if player:getLevel() < 8 then
        player:sendCancelMessage("You need to be at least level 8 to change vocations.")
        return false
    end
    
    if playerVocation == newVocation then
        player:sendCancelMessage("You are already in this vocation.")
        return false
    end
    
    local cost = 10000 -- o custo para mudar de vocação
    
    if not player:removeMoney(cost) then
        player:sendCancelMessage("You need " .. cost .. " gold coins to change vocations.")
        return false
    end
    
    player:setVocation(newVocation)
    player:addHealth(player:getMaxHealth())
    player:addMana(player:getMaxMana())
    player:setMaxStorage(378378, 0)
    
    -- Define todos os skills para o valor inicial da nova vocação
    for skill = SKILL_FIST, SKILL_FISHING do
        player:setSkillLevel(skill, newVocation:getSkillBaseLevel(skill))
    end
    
    -- Define o magic level para o valor inicial da nova vocação
    player:setMagicLevel(newVocation:getMagicLevel())
    
    player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
    player:sendTextMessage(MESSAGE_INFO_DESCR, "You are now a " .. newVocation:getName() .. ".")
    return false
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

 

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo