Ir para conteúdo

Featured Replies

Postado
  • Administrador
  Em 18/11/2023 em 02:17, deza disse:

Ola teria como alguem transformar esse script em script action (function onUse) porfavor ?
Tipo, tiraria esse negocio de reset, e botasse pra quando ele clicasse no item 8300 ele ganhasse o bonus (damage_percent)

TFS 0.4 [8.60]

 

 

Me desculpe não vi que o tópico era seu @Doidodepeda aconselho a criar outro topico ja que o seu problema é relacionado a lib, me marca e eu te ajudo la.

 

 

Exempo de uma action com o sistema de reset
 

-- ItemID para o item que aciona o sistema de resets
local resetItemID = 8300

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
    if item:getId() == resetItemID then
        local resetSystem = ResetSystem

        -- Obtém informações do jogador
        local pid = player:getId()
        local oldMaxHealth = player:getMaxHealth()
        local oldMaxMana = player:getMaxMana()
        local playerLevel = player:getLevel()

        -- Verifica se o jogador atende ao requisito de voltar ao nível base
        if playerLevel > resetSystem.back_to_level then
            player:addExperience(getExperienceForLevel(resetSystem.back_to_level) - player:getExperience())
            playerLevel = resetSystem.back_to_level
        end

        -- Remove os bônus existentes antes de aplicar novos
        resetSystem:removeBonuses(pid)

        -- Adiciona um reset ao contador do jogador
        resetSystem:addCount(pid)

        -- Adiciona os novos bônus
        resetSystem:addBonuses(pid)

        -- Restaura a saúde e mana do jogador
        player:setMaxHealth(oldMaxHealth)
        player:setMaxMana(oldMaxMana)
        player:addHealth(oldMaxHealth)
        player:addMana(oldMaxMana)

        -- Exibe uma mensagem informativa ao jogador
        local bonus = resetSystem:getInfo(pid)
        if bonus then
            local message = "[RESET-SYSTEM]\nVocê efetuou seu " .. resetSystem:getCount(pid) .. "° RESET."
            if bonus.damage_percent then
                message = message .. "\nAgora você tem +" .. bonus.damage_percent .. "% de dano."
            end
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, message)
            player:remove()
        end
    end
end

@deza
 


 


 

  • Respostas 17
  • Visualizações 302
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Parece que você está tentando aplicar um bônus multiplicador de dano com base no nível do jogador. Eu percebi que você está usando getPlayerDamageMultiplier(pid) para obter o multiplicador de dano do

  • Me desculpe não vi que o tópico era seu @Doidodepeda aconselho a criar outro topico ja que o seu problema é relacionado a lib, me marca e eu te ajudo la.     Exempo de uma action com o

  • Mateus Robeerto
    Mateus Robeerto

    Mano, você fez um script para TFS 1.X, mas o cara que pediu está utilizando o TFS 0.4... Só para te avisar mesmo, rs.

Posted Images

Postado
  Em 24/11/2023 em 23:12, Underewar disse:

Me desculpe não vi que o tópico era seu @Doidodepeda aconselho a criar outro topico ja que o seu problema é relacionado a lib, me marca e eu te ajudo la.

 

 

Exempo de uma action com o sistema de reset
 


-- ItemID para o item que aciona o sistema de resets
local resetItemID = 8300

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
    if item:getId() == resetItemID then
        local resetSystem = ResetSystem

        -- Obtém informações do jogador
        local pid = player:getId()
        local oldMaxHealth = player:getMaxHealth()
        local oldMaxMana = player:getMaxMana()
        local playerLevel = player:getLevel()

        -- Verifica se o jogador atende ao requisito de voltar ao nível base
        if playerLevel > resetSystem.back_to_level then
            player:addExperience(getExperienceForLevel(resetSystem.back_to_level) - player:getExperience())
            playerLevel = resetSystem.back_to_level
        end

        -- Remove os bônus existentes antes de aplicar novos
        resetSystem:removeBonuses(pid)

        -- Adiciona um reset ao contador do jogador
        resetSystem:addCount(pid)

        -- Adiciona os novos bônus
        resetSystem:addBonuses(pid)

        -- Restaura a saúde e mana do jogador
        player:setMaxHealth(oldMaxHealth)
        player:setMaxMana(oldMaxMana)
        player:addHealth(oldMaxHealth)
        player:addMana(oldMaxMana)

        -- Exibe uma mensagem informativa ao jogador
        local bonus = resetSystem:getInfo(pid)
        if bonus then
            local message = "[RESET-SYSTEM]\nVocê efetuou seu " .. resetSystem:getCount(pid) .. "° RESET."
            if bonus.damage_percent then
                message = message .. "\nAgora você tem +" .. bonus.damage_percent .. "% de dano."
            end
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, message)
            player:remove()
        end
    end
end

@deza
 


 


 

Mano, você fez um script para TFS 1.X, mas o cara que pediu está utilizando o TFS 0.4... Só para te avisar mesmo, rs.

Postado
  • Administrador
  Em 25/11/2023 em 13:36, GM Vortex disse:

Mano, você fez um script para TFS 1.X, mas o cara que pediu está utilizando o TFS 0.4... Só para te avisar mesmo, rs.

Verdade aqui esta
Tfs 0x

@deza

-- ItemID para o item que aciona o sistema de resets
local resetItemID = 8300

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if item.itemid == resetItemID then
        local resetSystem = ResetSystem

        -- Obtém informações do jogador
        local pid = cid
        local oldMaxHealth = getPlayerMaxHealth(cid)
        local oldMaxMana = getPlayerMaxMana(cid)
        local playerLevel = getPlayerLevel(cid)

        -- Verifica se o jogador atende ao requisito de voltar ao nível base
        if playerLevel > resetSystem.back_to_level then
            doPlayerAddExperience(cid, getExperienceForLevel(resetSystem.back_to_level) - getPlayerExperience(cid))
            playerLevel = resetSystem.back_to_level
        end

        -- Remove os bônus existentes antes de aplicar novos
        resetSystem:removeBonuses(pid)

        -- Adiciona um reset ao contador do jogador
        resetSystem:addCount(pid)

        -- Adiciona os novos bônus
        resetSystem:addBonuses(pid)

        -- Restaura a saúde e mana do jogador
        doPlayerSetMaxHealth(cid, oldMaxHealth)
        doPlayerSetMaxMana(cid, oldMaxMana)
        doPlayerAddHealth(cid, oldMaxHealth)
        doPlayerAddMana(cid, oldMaxMana)

        -- Exibe uma mensagem informativa ao jogador
        local bonus = resetSystem:getInfo(pid)
        if bonus then
            local message = "[RESET-SYSTEM]\nVocê efetuou seu " .. resetSystem:getCount(pid) .. "° RESET."
            if bonus.damage_percent then
                message = message .. "\nAgora você tem +" .. bonus.damage_percent .. "% de dano."
            end
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, message)

            -- Substitua doPlayerRemoveItem por doPlayerRemoveItem se desejar remover o item após o uso
            doPlayerRemoveItem(cid, resetItemID, 1)
        end
    end
end

 

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