Ir para conteúdo

Featured Replies

Postado

Claro aqui passo a passo.

 

Definir Variáveis: 
Comece definindo as variáveis necessárias. Você precisará de uma variável para representar a duração do cooldown (em segundos) e outra variável para armazenar a última vez que a ação foi realizada para cada jogador.

 

local cooldown = 10 
local lastActionTime = {} 

Verificar Tempo de Recarga:

Antes de permitir que a ação seja executada, verifique se passou tempo suficiente desde a última vez que a ação foi executada. Se a diferença de tempo for menor que a duração do resfriamento, você impedirá a ação.

local currentTime = os.time()
local lastTime = lastActionTime[cid] or 0 

if currentTime - lastTime < cooldown then
    doCreatureSay(cid, "COLOQUE AQUI MSG QUE VC QUISER.", TALKTYPE_ORANGE_1)
    return true
end

Atualizar tempo de espera:

se a ação for permitida, atualize o horário da última ação para o horário atual.

lastActionTime[cid] = currentTime

Executar ação: 
agora você pode prosseguir para executar a ação pretendida. Por exemplo, deduzir dinheiro, conceder um item, enviar uma mensagem, etc.

local cost = 20 

if doPlayerRemoveMoney(cid, cost) == TRUE then
    
else
    doCreatureSay(cid, "voce nao tem dinheiro.", TALKTYPE_ORANGE_1)
end

Return true: 
Por fim, certifique-se de retornar true no final da função para indicar que a ação foi tratada.

return true

fim só isso

 

 

O sistema mencionado por King Laker também funciona.

 

function onSay(cid, words, param)
    local exhaust = 5
    local storage = 5839

    if exhaustion.check(cid, storage) then
        exhaustion.set(cid, storage, exhaust)

        if doPlayerRemoveMoney(cid, 20) == TRUE then
            local bp = doPlayerAddItem(cid, 1988, 1)
            doSendMagicEffect(getCreaturePosition(cid), 13)
            doCreatureSay(cid, "Voce comprou uma backpack.", TALKTYPE_ORANGE_1)
        else
            doCreatureSay(cid, "Voce nao tem dinheiro.", TALKTYPE_ORANGE_1)
            doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
        end
    end
end

 

 

Obs: Depende dos scripts, pode ser mais fácil ou difícil fazer alterações, mas você consegue adaptar tanto o cooldown quanto o exhaustion em qualquer script. BOA SORTE! 😉

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

  • Respostas 6
  • Visualizações 457
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Mateus Robeerto
    Mateus Robeerto

    Claro aqui passo a passo.   Definir Variáveis:  Comece definindo as variáveis necessárias. Você precisará de uma variável para representar a duração do cooldown (em segundos) e outra variá

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.7k

Informação Importante

Confirmação de Termo