Blazingfire 13 Postado Julho 28, 2011 Share Postado Julho 28, 2011 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 More sharing options...
Posts Recomendados