Ir para conteúdo

Posts Recomendados

Alguém poderia me ajudar? Eu queria saber como faço para, quando o jogador dizer !viptime, o sistema mostrar ao jogador a quanto tempo em segundos, o jogador é vip.

 

Storage usada: 13540

 

Talkaction do sistema vip:

 

-- Vip System 2.0 --  

function onSay(cid, words, param)  
if(words == "!buyvip") then  
local price = 10000000  
local priceinkk = "10kk"
local vipstorage = 13540
if doPlayerRemoveMoney(cid, price) == TRUE then  
local days = 14
local daysvalue = days * 24 * 60 * 60  
local storageplayer = getPlayerStorageValue(cid, vipstorage)  
local timenow = os.time()  

if getPlayerStorageValue(cid, vipstorage) - os.time() <= 0 then  
time = timenow + daysvalue  
else  
time = storageplayer + daysvalue  
end  

if string.find(tostring(getCreatureName(cid)),"[[VIP]]") then  
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu personagem atual.")  
setPlayerStorageValue(cid, vipstorage, time)  
local quantity = math.floor((getPlayerStorageValue(cid, vipstorage) - timenow)/(24 * 60 * 60))  
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")  
else  
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu personagem atual.")  
setPlayerStorageValue(cid, vipstorage, time)  
local name = getCreatureName(cid)  
db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")  
doRemoveCreature(cid)  
end  
else  
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..priceinkk.." para colocar vip.")  
end  

elseif(words == "!viptime") then  
local timenow = os.time()  
local quantity = math.floor((getPlayerStorageValue(cid, vipstorage) - timenow)/(24 * 60 * 60))  
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu personagem atual.")  

elseif(words == "/checkvip") then  
if getPlayerAccess(cid) == 5 then  
if not param then  
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")  
end  

local player = getPlayerByName(param)  
if not isPlayer(player) then  
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.")  
end  

local timenow = os.time()  

local quantity = math.floor((getPlayerStorageValue(player, vipstorage) - timenow)/(24 * 60 * 60))  
doPlayerPopupFYI(cid, "O personagem "..player.." tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP.")  
return TRUE  
end  

elseif(words == "/addvip") then  
if getPlayerAccess(cid) == 5 then  
local t = string.explode(param, ",")  
if not t[2] then  
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")  
end  

local player = getPlayerByName(t[1])  
local name = getCreatureName(player)  
local days = t[2]  
local pid = getPlayerByNameWildcard(t[1])  
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then  
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")  
return TRUE  
end  

local daysvalue = days*3600*24  
local storageplayer = getPlayerStorageValue(player, vipstorage)  
local timenow = os.time()  
local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue)  

if string.find(tostring(getCreatureName(pid)),"[[VIP]]") then  
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.")  
setPlayerStorageValue(player, vipstorage, time)  
local quantity = math.floor((getPlayerStorageValue(player,vipstorage) - timenow)/(3600*24))  
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.")  
else  
setPlayerStorageValue(player, vipstorage, time)  
db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..name.."' WHERE `id` = "..getPlayerGUID(player)..";")  
doRemoveCreature(player)  
end  
end  

elseif(words == "/delvip") then  
if getPlayerAccess(cid) == 5 then  
local dec = MESSAGE_INFO_DESCR  
if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end  
local C,t = {},string.explode(param, ",")  
C.pos = getPlayerPosition(cid)  
C.uid = getCreatureByName(t[1])  
C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24
C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2])

if(getPlayerStorageValue(C.uid,vipstorage) < C.time)then  
doPlayerSendTextMessage(cid,dec,'O personagem '..t[1]..' não possui '..C.days..' dias de vip.')  
else  
doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do personagem '..t[1]..'.')  
setPlayerStorageValue(C.uid,vipstorage,getPlayerStorageValue(C.uid,vipstorage)-C.time)
end  
doSendMagicEffect(C.pos, math.random(28,30))  
end  
end  

return TRUE  
end

Link para o comentário
https://xtibia.com/forum/topic/163264-d%C3%BAvida-sistema-vip/
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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