Ir para conteúdo
  • 0

função contagem de tempo


brendoonh

Pergunta

Boa noite! 

Uso um sistema que a cada 1h online recebe 1 ponto, eu gostaria de adicionar na talkactions uma função que faz a contagem de tempo para recebe o proximo points. 

Se alguem puder ajudar, obrigado!
8.60 / 0.4

points/talkactions

 

function onSay(cid, words, param, channel)
local getP = getPoints(cid)

doPlayerPopupFYI(cid, "Voce possui ".. getP .." p-points!")

return true

end


points/globalevents

--[[
P Points System by LsM.

###### © 2011

Version : v1.0

]]--

 

local config = {

p_time = 3600, -- Tempo em segundos para receber os pontos( 3600 = 1hora )

p_points = 1 -- Quantidade de pontos recebida a cada "p_time"

}

 

local function givePoints(cid, quant)

if os.time() - getCreatureStorage(cid, 1219) >= config.p_time then

doPlayerSendTextMessage(cid, 19, "Parabéns, você recebeu ".. config.p_points .." p-point. Agora você tem ".. config.p_points + getPoints(cid) .." p-points na sua conta. Seu tempo foi zerado, proximo p-points daqui 2 horas.")

doPlayerAddPoints(cid, quant)

doCreatureSetStorage(cid, 1219, 0)

doCreatureSetStorage(cid, 1219, os.time())

end

return true

end

 

function onThink(interval)

for i, v in pairs(getPlayersOnline()) do

givePoints(v, config.p_points)

end

return true

end


 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

tankactions:
 

function onSay(cid, words, param, channel)
    local getP = getPoints(cid)
    local lastTime = getCreatureStorage(cid, 1219)
    local currentTime = os.time()
    local timeElapsed = currentTime - lastTime
    local timeRemaining = config.p_time - timeElapsed

    if timeRemaining < 0 then
        timeRemaining = 0
    end

    local hours = math.floor(timeRemaining / 3600)
    local minutes = math.floor((timeRemaining % 3600) / 60)
    local seconds = timeRemaining % 60

    doPlayerPopupFYI(cid, string.format("Você possui %d p-points!\nPróximo ponto em: %02d:%02d:%02d", getP, hours, minutes, seconds))

    return true
end


globalevent:
 

--[[
P Points System by LsM.

###### © 2011

Version : v1.0
]]--

local config = {
    p_time = 3600, -- Tempo em segundos para receber os pontos( 3600 = 1hora )
    p_points = 1 -- Quantidade de pontos recebida a cada "p_time"
}

local function givePoints(cid, quant)
    if os.time() - getCreatureStorage(cid, 1219) >= config.p_time then
        doPlayerSendTextMessage(cid, 19, "Parabéns, você recebeu ".. config.p_points .." p-point. Agora você tem ".. config.p_points + getPoints(cid) .." p-points na sua conta. Seu tempo foi zerado, próximo p-points daqui 1 hora.")
        doPlayerAddPoints(cid, quant)
        doCreatureSetStorage(cid, 1219, os.time())
    end
    return true
end

function onThink(interval)
    for i, v in pairs(getPlayersOnline()) do
        givePoints(v, config.p_points)
    end
    return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 0
5 horas atrás, El Rusher disse:

tankactions:
 

function onSay(cid, words, param, channel)
    local getP = getPoints(cid)
    local lastTime = getCreatureStorage(cid, 1219)
    local currentTime = os.time()
    local timeElapsed = currentTime - lastTime
    local timeRemaining = config.p_time - timeElapsed

    if timeRemaining < 0 then
        timeRemaining = 0
    end

    local hours = math.floor(timeRemaining / 3600)
    local minutes = math.floor((timeRemaining % 3600) / 60)
    local seconds = timeRemaining % 60

    doPlayerPopupFYI(cid, string.format("Você possui %d p-points!\nPróximo ponto em: %02d:%02d:%02d", getP, hours, minutes, seconds))

    return true
end


globalevent:
 

--[[
P Points System by LsM.

###### © 2011

Version : v1.0
]]--

local config = {
    p_time = 3600, -- Tempo em segundos para receber os pontos( 3600 = 1hora )
    p_points = 1 -- Quantidade de pontos recebida a cada "p_time"
}

local function givePoints(cid, quant)
    if os.time() - getCreatureStorage(cid, 1219) >= config.p_time then
        doPlayerSendTextMessage(cid, 19, "Parabéns, você recebeu ".. config.p_points .." p-point. Agora você tem ".. config.p_points + getPoints(cid) .." p-points na sua conta. Seu tempo foi zerado, próximo p-points daqui 1 hora.")
        doPlayerAddPoints(cid, quant)
        doCreatureSetStorage(cid, 1219, os.time())
    end
    return true
end

function onThink(interval)
    for i, v in pairs(getPlayersOnline()) do
        givePoints(v, config.p_points)
    end
    return true
end

 

Obrigado pela ajuda!!


Testei aqui, n deu nenhum erro ao iniciar o servidor, porem, qnd uso o comando !ppoint não funciona e gera este erro que vou deixar a baixo..

[0:36:26.181] [Error - TalkAction Interface]
[0:36:26.184] data/talkactions/scripts/points.lua:onSay
[0:36:26.186] Description:
[0:36:26.188] data/talkactions/scripts/points.lua:6: attempt to index global 'config' (a nil value)
[0:36:26.193] stack traceback:
[0:36:26.194]   data/talkactions/scripts/points.lua:6: in function <data/talkactions/scripts/points.lua:1>

 

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...