Ir para conteúdo
Propaganda

Posts Recomendados

Gostaria de saber como faço pra fazer um script em tfs 0.3.6 em actions que ao usar um item a chance de captura e dobra por uma hora.

Editado por seilaeusou
falta de informações
Link para o comentário
https://tibiadevs.com/forums/topic/779-item-que-dobra-a-chance-de-captura/
Compartilhar em outros sites

Crie uma storage para o bônus de captura

A storage será usada para controlar o tempo de recarga e aplicar o efeito. Escolha um número único para a storage, por exemplo: 264559.


2. Crie um script para o item que atribui o bônus

Adicione um novo arquivo na pasta de actions (ex: bonus_captura.lua) com o seguinte código:

 
lua
 
local storageBonus = 264559 -- Storage para o bônus local tempoRecarga = 43200 -- Tempo de recarga em segundos (12 horas) function onUse(cid, item, frompos, item2, topos) -- Verifica se o bônus já está ativo if getPlayerStorageValue(cid, storageBonus) > os.time() then local tempoRestante = getPlayerStorageValue(cid, storageBonus) - os.time() doPlayerSendTextMessage(cid, 27, "Você ainda precisa esperar " .. convertTime(tempoRestante) .. " para usar novamente!") return true end -- Aplica o bônus e configura o tempo de recarga setPlayerStorageValue(cid, storageBonus, os.time() + tempoRecarga) doSendMagicEffect(getThingPosWithDebug(cid), 22) doPlayerSendTextMessage(cid, 27, "Você ativou o bônus de captura! Boa sorte!") return true end

3. Ajuste o script de captura (catch.lua)

No script de captura, adicione a verificação da storage e aplique o bônus:

 
lua
 
if getPlayerStorageValue(cid, 264559) and getPlayerStorageValue(cid, 264559) > os.time() then catchinfo.rate = catchinfo.rate * 1.20 -- Aumenta a chance de captura em 20% doSendAnimatedText(getThingPosWithDebug(cid), "Catch da Brisa", 215) end

4. Configure no actions.xml

Vincule o script do item ao seu actions.xml para que ele funcione no jogo. Exemplo:

 
xml
 
<action actionid="XXXX" script="bonus_captura.lua" />

Substitua XXXX pelo ID do item que será usado para ativar o bônus.


5. Testar no jogo

  • Adicione o item no inventário do jogador.
  • Use o item e verifique se o bônus de captura é ativado corretamente.
  • Teste o sistema de captura para confirmar o aumento na chance.
Link para o comentário
https://tibiadevs.com/forums/topic/779-item-que-dobra-a-chance-de-captura/#findComment-4044
Compartilhar em outros sites

  • 1 mês depois...

Mandei isso pra uma porta, ela conseguiu replicar no servidor dela
Ela usou o cérebro de madeira dela pra colocar prints na script e verificar aonde estava passando ou não

Eu te passei um direcionamento, cabe a você adaptar.

Como o JAUM falou ali em cima " usa o chat gpt pra fazer pra você "
Dificilmente alguém vai vir te arranjar o que você precisa " em uma script prontinho 

Link para o comentário
https://tibiadevs.com/forums/topic/779-item-que-dobra-a-chance-de-captura/#findComment-4463
Compartilhar em outros sites

  • 1 mês depois...

Olá boa noite, segue o  que pediu:

Crie uma actions nova e coloque isso dentro

local BOOST_ITEM_ID = 12231 -- ID do item de booster
local BOOST_STORAGE = 912361 -- Storage do tempo do boost
local BOOST_DURATION = 1800 -- Tempo de duração do boost (em segundos)
local BONUS_PERCENT = 10 -- Porcentagem de aumento na captura

function onUse(cid, item, frompos, itemEx, topos)
    local currentTime = os.time()
    local boostEnd = getPlayerStorageValue(cid, BOOST_STORAGE)

    -- Se o bônus estiver ativo, avisa o jogador
    if boostEnd > currentTime then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você já tem um bônus ativo!")
        return true
    end

    -- Ativa o bônus e define a expiração do bônus
    setPlayerStorageValue(cid, BOOST_STORAGE, currentTime + BOOST_DURATION)
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você ativou um bônus de captura por 30 minutos!")
    doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
    doRemoveItem(item.uid, 1) -- Remove o item após uso

    -- Define um evento para remover o bônus após 5 segundos
    addEvent(function()
        local currentTime = os.time()
        local boostEnd = getPlayerStorageValue(cid, BOOST_STORAGE)
        
        -- Verifica se o bônus expirou
        if boostEnd > 0 and boostEnd <= currentTime then
            setPlayerStorageValue(cid, BOOST_STORAGE, -1) -- Limpa o storage (sem bônus)
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Seu bônus de captura expirou.")
        end
    end, BOOST_DURATION * 1000) -- O evento será executado após o tempo de BOOST_DURATION (5 segundos)

    return true
end

No seu catch.lua coloque isso
 

local boostStorage = 912361
local bonusPercent = 10

 

Link para o comentário
https://tibiadevs.com/forums/topic/779-item-que-dobra-a-chance-de-captura/#findComment-4895
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
  • Criar Novo...