Ir para conteúdo

Featured Replies

Postado

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)

Resolvido por Vodkart

Ir para solução
  • Respostas 7
  • Visualizações 856
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Vê se isso funciona   data/talkactions/scripts/checkvip.lua     data/talkactions/talkactions.xml    

  • 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 de

  • 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, "Vo

Postado

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)

Postado
  • Autor
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+

Postado

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)

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