Ir para conteúdo
  • Cadastre-se

(Resolvido)verificar tempo


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Boa noite, é um pedido simples, eu acho.. rsrs

Uma talkactions para saber quantos dias faltam para acabar um acesso a uma area exclusiva, por exemplo digitar !vip e aparecer quanto tempo falta para terminar.

Script:
 

Spoiler

-- Script Feito Por Leandro Machado
 
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local config={
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}
 
local days = 3 -- coloque quantos dias o player terá acesso a essa área
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 19234)
local timenow = os.time()
 
if getPlayerStorageValue(cid, 19234) - os.time() <= 0 then
time = timenow + daysvalue
else
time = storageplayer + daysvalue
end
 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ativou ".. days .." dias de vip!")
setPlayerStorageValue(cid, 19234, time)
local quantity = math.floor((getPlayerStorageValue(cid, 19234) - timenow)/(24 * 60 * 60))
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de vip!")
if (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
end
 
return TRUE
end

 

Editado por brendoonh (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Vê se isso funciona

 

data/talkactions/scripts/checkvip.lua

 

Spoiler

function onSay(cid, words, param)
    local viptime = getPlayerStorageValue(cid, 19234)

    if viptime > os.time() then
        local quantity = math.floor((viptime - os.time())/(24 * 60 * 60))
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de vip!")  
    else
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem nenhum dia de vip!")    
    end
    return false
end

 

 

data/talkactions/talkactions.xml

 

Spoiler

<talkaction words="!vip" script="checkvip.lua"/>

 

 

Editado por Leohige
Adicionado return false ao checkvip.lua (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
14 horas atrás, Leohige disse:

Vê se isso funciona

 

data/talkactions/scripts/checkvip.lua

 

  Mostrar conteúdo oculto


function onSay(cid, words, param)
    local viptime = getPlayerStorageValue(cid, 19234)

    if viptime > os.time() then
        local quantity = math.floor((viptime - os.time())/(24 * 60 * 60))
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de vip!")  
    else
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem nenhum dia de vip!")    
    end
end

 

 

data/talkactions/talkactions.xml

 

  Mostrar conteúdo oculto


<talkaction words="!vip" script="checkvip.lua"/>

 

 

funcionou, valeu!! 

Só uma coisinha, quando eu uso o comando ele sai no default, não queria assim... Como posso resolver isso?

14:56 Druid [8]: /vip
14:56 Você não possui nenhum dia de vip.

Se não for pedir demais, teria como colocar um script para adicionar manualmente os dias de vip? por exemplo:
/addvip Fulano,3 > dai seria adicionado 3 dias, se não tiver n tem problema ^^

Obrigado, rep+

Link para o post
Compartilhar em outros sites

Testa esse script para ver se vai funcionar, se acontecer algum erro copia e cole como resposta, pois estou sem um servidor da mesma versão para testar.

 

Agora para não sair o comando no default, copie o código novamente do meu post anterior e substitua pelo que está em seu servidor, dei uma editada lá.

 

data/talkactions/scripts/addvip.lua

 

Spoiler

function onSay(cid, words, param)
    if getPlayerAccess(cid) ~= 0 then
        local split = param:split(",")
        local playername = split[1]
        local daytime = tonumber(split[2])
        local sectime = daytime * 24 * 60 * 60
        local timenow = os.time()

        if getPlayerGUID(playername) then
            local playerviptime = getPlayerStorageValue(getPlayerGUID(playername), 19234)

            if playerviptime - timenow <= 0 then
                time = timenow + sectime
            else
                time = playerviptime + sectime
            end

            setPlayerStorageValue(getPlayerGUID(playername), 19234, time)
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, playername .. ' recebeu ' .. daytime .. 'dia(s) de vip!')
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, playername .. ' não foi encontrado.')
        end
    end
    
    return false
end

 

 

data/talkactions/talkactions.xml

 

Spoiler

<talkaction words="/addvip" separator=" " script="addvip.lua"/>

 

 

Editado por Leohige (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
22 minutos atrás, Leohige disse:

Testa esse script para ver se vai funcionar, se acontecer algum erro copia e cole como resposta, pois estou sem um servidor da mesma versão para testar.

 

Agora para não sair o comando no default, copie o código novamente do meu post anterior e substitua pelo que está em seu servidor, dei uma editada lá.

 

data/talkactions/scripts/addvip.lua

 

  Mostrar conteúdo oculto


function onSay(cid, words, param)
    if getPlayerAccess(cid) ~= 0 then
        local split = param:split(",")
        local playername = split[1]
        local daytime = tonumber(split[2])
        local sectime = daytime * 24 * 60 * 60
        local timenow = os.time()

        if getPlayerGUID(playername) then
            local playerviptime = getPlayerStorageValue(getPlayerGUID(playername), 19234)

            if playerviptime - timenow <= 0 then
                time = timenow + sectime
            else
                time = playerviptime + sectime
            end

            setPlayerStorageValue(getPlayerGUID(playername), 19234, time)
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, playername .. ' recebeu ' .. daytime .. 'dia(s) de vip!')
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, playername .. ' não foi encontrado.')
        end
    end
    
    return false
end

 

 

data/talkactions/talkactions.xml

 

  Mostrar conteúdo oculto


<talkaction words="/addvip" separator=" " script="addvip.lua"/>

 

 

 

deu errado o script la encima, continua da mesma forma, saindo o comando no default. uso tfs 0.4
 

Link para o post
Compartilhar em outros sites
  • Solução
function onSay(cid, words, param)
	local a = os.time()
	local b = math.floor((getPlayerStorageValue(cid, 19234) - a)/(24 * 60 * 60))
        return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (b < 0 and 0 or b) .." dias de VIP no character.")
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
1 hora atrás, Vodkart disse:

function onSay(cid, words, param)
	local a = os.time()
	local b = math.floor((getPlayerStorageValue(cid, 19234) - a)/(24 * 60 * 60))
        return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (b < 0 and 0 or b) .." dias de VIP no character.")
end

 

valeu, 100%

@Vodkart esses eventos que ta no seu coment ai, tá disponivel no forum?

Editado por brendoonh (veja o histórico de edições)
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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo