Ir para conteúdo
  • Cadastre-se

Transformar script em action


Posts Recomendados

  • Administrador
Em 17/11/2023 em 23: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
 


 


 

Link para o post
Compartilhar em outros sites
  • Respostas 17
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

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 jogador, mas você mencionou que getDamageMultiplier está retornando nil. Troque a sua função add bonus por essa e faça o teste.   local function addBonuses(pid) local bonus = getInfo(pid) if bonus and bonus.damage_percent then local currentMultiplier = getPlayerDamageMulti

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  

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

14 horas atrás, 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.

Link para o post
Compartilhar em outros sites
  • Administrador
Em 25/11/2023 em 10: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

 

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96844
    Tópicos
    519600
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo