BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

[Ayuda] vip tile con !buyvip

[Ayuda] vip tile con !buyvip

#1 [Ayuda] vip tile con !buyvip el Jue Ene 29, 2015 5:29 pm

Aezkiller


Nuevo
bueno yo uso este sistema de !buyvip pero nose como hacer para que solamente los players que compraron la vip con ese comando
puedan entrar a determinada zona.

y por favor que sea vip tile no vip door ;D

Spoiler:
function onSay(cid, words, param)
if(words == "!buyvip") then
local price = 1000000
if doPlayerRemoveMoney(cid, 1000000) == TRUE then
local days = 15
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 13540)
local timenow = os.time()

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

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Fueron Añadidos ".. days .." Dias de VIP a tu personaje .")
setPlayerStorageValue(cid, 13540, time)

local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Tienes ".. quantity .." dias de VIP restantes.")
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "necesitas "..price.." gp's para comprar vip.")
end

elseif(words == "!vipdays") then
local timenow = os.time()
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Tienes ".. (quantity < 0 and 0 or quantity) .." dias de VIP en tu personaje.")

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 days = t[2]
if not isPlayer(player) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." no encontrado.")
end

local daysvalue = days*3600*24
local storageplayer = getPlayerStorageValue(player, 13540)
local timenow = os.time()

local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue)

doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Fueron añadidos "..days.." dias de VIP a tu personaje.")
setPlayerStorageValue(player, 13540, time)
local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24))
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Tienes "..quantity.." dias de VIP restantes.")
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 --Tempo da vip por dia.
C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip.

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

eso seria todo gracias por su ayuda ;D

#2 Re: [Ayuda] vip tile con !buyvip el Jue Ene 29, 2015 6:35 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo]

Te guías por la explicación que puso Remady cambiando eso de azul por 13540



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#3 Re: [Ayuda] vip tile con !buyvip el Jue Ene 29, 2015 6:59 pm

Aezkiller


Nuevo
[Tienes que estar registrado y conectado para ver este vínculo] escribió:[Tienes que estar registrado y conectado para ver este vínculo]

Te guías por la explicación que puso Remady cambiando eso de azul por 13540


muchas gracias pero una consulta (13540) si cambio este numero por el que yo quiera en los 2 archivos no afecta en nada?

#4 Re: [Ayuda] vip tile con !buyvip el Jue Ene 29, 2015 7:58 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:muchas gracias pero una consulta (13540) si cambio este numero por el que yo quiera en los 2 archivos no afecta en nada?
No, no. Al revés. Tienes que poner 13540 en el lugar donde está 11551.
Precisamente por eso, porque ya la tendrás registrada en los demás archivos como en ese talkactions.

Es decir, que quede así:
Código:
if getPlayerStorageValue(cid, 13540) < 1 then

Yo te dije que pusieras ése (13540) porque es el que aparece en el talkactions que pusiste.

Si por cualquier razón querrías poner cualquier otro número, pues efectivamente tendrías que cambiarlo también en absolutamente todos los archivos que tengas donde se mencionen el storage del vip.



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .