@lucascat1 Você usa algum sistema de vip do fórum, ou o que já vem no servidor ?
- Fórum
- OTServ
- Pedidos
- Tópicos Sem Resposta
- CRIAR PISO VIP
info
Grupo: Visconde
Registrado: 07/01/12
Posts: 495
Reputação: +48
Gênero: Masculino
Char no Tibia: Nem Tenho

info
Grupo: Marquês
Registrado: 24/12/09
Posts: 1k
Reputação: +326
Gênero: Masculino
Char no Tibia: Necromanser

function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then if isPremium(cid) then doPlayerSendTextMessage(cid, 22, "Bem Vindo.") else doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendTextMessage(cid, 22, "Você não é VIP DONATE.") end endreturn trueend
se for por storage ..
function onStepIn(cid, item, position, fromPosition)local storage = XXX -- storage vip donate aki if isPlayer(cid) then if getPlayerStorageValue(cid, storage) >= 1 then doPlayerSendTextMessage(cid, 22, "Bem Vindo.") else doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendTextMessage(cid, 22, "Você não é VIP DONATE.") end endreturn trueend
Crie a seguinte TAG em movements.xml
<movevent type="StepIn" uniqueid="Unique Id" event="script" value="Nome do Arquivo.lua"/>
coloca a uniqueid desejada na tag , depois é só colocar no tile pelo RME .
Editado Junho 15 por Mudrock
13 horas atrás, Pokemonultimatetwo disse:@lucascat1 Você usa algum sistema de vip do fórum, ou o que já vem no servidor ?
já veio no servidor, tipo a questão é, pelo site eu consigo add o vip, mostra que sou vip nas info do char, mas ele n entra na area donate, acredito que seja por causa da storage que nãi é a mesma, ai quero descobrir a storage do systema vip que consigo comprar pelo site, consegue me ajudar?
esse é meu script de talkactions:
-- Script SYtem vip 1.0 --
function onSay(cid, words, param)
if(words == "!buyvip") then
local price = 3000000
if doPlayerRemoveMoney(cid, 3000000) == TRUE then
local days = 30
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, "Foram adicionados ".. days .." dias de VIP no seu character.")
setPlayerStorageValue(cid, 13540, time)
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar 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, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.")
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)
local pid = getPlayerByNameWildcard(param)
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 timenow = os.time()
local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60))
doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.")
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 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, 13540)
local timenow = os.time()
local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue)
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.")
setPlayerStorageValue(player, 13540, time)
local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24))
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..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.
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
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
info
Grupo: Marquês
Registrado: 24/12/09
Posts: 1k
Reputação: +326
Gênero: Masculino
Char no Tibia: Necromanser

local storageplayer = getPlayerStorageValue(cid, 13540)
a Storage é 13540, você tem que deixar igual a do Piso Donate para o player poder passar
Agora, Mudrock disse:local storageplayer = getPlayerStorageValue(cid, 13540)a Storage é 13540, você tem que deixar igual a do Piso Donate para o player poder passar
ai no caso coloco no action ou no uniqueid?
info
Grupo: Marquês
Registrado: 24/12/09
Posts: 1k
Reputação: +326
Gênero: Masculino
Char no Tibia: Necromanser

na verdade eu to bem confuso com seu sistema, ele nao é um tile donate ? mais esse seu System ai é para !buyvip, através de gold.
não entendi muito bem.
Agora, Mudrock disse:na verdade eu to bem confuso com seu sistema, ele nao é um tile donate ? mais esse seu System ai é para !buyvip, através de gold.
não entendi muito bem.
é através do site... meu servidor é mysql
info
Grupo: Marquês
Registrado: 24/12/09
Posts: 1k
Reputação: +326
Gênero: Masculino
Char no Tibia: Necromanser

esta usando um Sistema errado então
function onSay(cid, words, param)if(words == "!buyvip") thenlocal price = 3000000
Agora, Mudrock disse:na verdade eu to bem confuso com seu sistema, ele nao é um tile donate ? mais esse seu System ai é para !buyvip, através de gold.
não entendi muito bem.
tem skype? me passa ai, acho que vai ser melhor pra explicar
info
Grupo: Marquês
Registrado: 24/12/09
Posts: 1k
Reputação: +326
Gênero: Masculino
Char no Tibia: Necromanser

de uma olhada, talvez possa ajudar a esclarecer qual sistema usar
info
Grupo: Campones
Registrado: 19/11/16
Posts: 1
Reputação: 0
17 horas atrás, Mudrock disse:function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then if isPremium(cid) then doPlayerSendTextMessage(cid, 22, "Bem Vindo.") else doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendTextMessage(cid, 22, "Você não é VIP DONATE.") end endreturn trueendse for por storage ..
function onStepIn(cid, item, position, fromPosition)local storage = XXX -- storage vip donate aki if isPlayer(cid) then if getPlayerStorageValue(cid, storage) >= 1 then doPlayerSendTextMessage(cid, 22, "Bem Vindo.") else doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendTextMessage(cid, 22, "Você não é VIP DONATE.") end endreturn trueend
Crie a seguinte TAG em movements.xml
<movevent type="StepIn" uniqueid="Unique Id" event="script" value="Nome do Arquivo.lua"/>
coloca a uniqueid desejada na tag , depois é só colocar no tile pelo RME .



info
Grupo: Campones
Registrado: 07/06/17
Posts: 13
Reputação: 0
Fala galera, estou com uma dificuldade, será que alguém pode me ajudar? eu criei uma area donate e quero que o piso perto do TP pra levar a essa área, entre somente quem for donate no server. Agradeço desde já, REP++ pra quem ajudar