cara pra fazer esse sistema se você usa site,você poim o comando /addvip 30,Technomancer por exemplo:
a confirmação que o cara pago irá até seu email caso use o Gesior Acc Maker,se não usa procure na seção de downloads do Xtibia que você acha
para adicionar esse comando faça o seguinte vá para data/talkactions/scripts e crie um arquivo.lua chamado addvip ponha isso dentro:
-- Criado por : Technomancer! --
function onSay(cid, words, param)
if(words == "!vipdays") then
local timenow = os.time()
local quantity = math.floor((getPlayerStorageValue(cid, 13500) - 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 == "/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 getPlayerAccess(pid) > getPlayerAccess(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, 13500)
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, 13500, time)
local quantity = math.floor((getPlayerStorageValue(player,13500) - timenow)/(3600*24))
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.")
end
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 getPlayerAccess(pid) > getPlayerAccess(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 == "/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 getPlayerAccess(pid) > getPlayerAccess(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,13500) < 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,13500,getPlayerStorageValue(C.uid,13500)-C.time)
end
doSendMagicEffect(C.pos, math.random(28,30))
end
end
return TRUE
end
agora vá para data/talkaction.xml e abra com o bloco de notas na fala dos gods adicione:
<talkaction log="yes" words="/delvip" access="5" script="addvip.lua"/><talkaction log="yes" words="/addvip" access="5" script="addvip.lua"/>
e na dos player adicione:
<talkaction log="yes" words="/checkvip" access="5" script="addvip.lua"/>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~""~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
funciona assim:
o god fala /addvip 30,Technomancer
o god fala /delvip 30,Technomancer
o player para ver sua vip diz /checkvip
se ajudei REP+
não custa nada
=]
ou se for pela vocação que agora entendi :S faça assim vá até data/actions/scripts copie um arquivo lua renomeie para vocdoor e adicione isso:
---VocDoor-by Technomancer---function onUse(cid, item, frompos, item2, topos)
PlayerVoc = getPlayerVocation(cid)
if PlayerVoc == 5 then
doTeleportThing(cid,{x=319, y=31, z=7})
else
doPlayerSendCancel(cid,"Apenas Master Sorcerers Podem Passar Aqui.")
return 1
end
end
agora abra o actions.xml e adicione essa tag:
<action uniqueid="9191" script="vocdoor.lua" />
Vermelho id da vocação ponha a do epic aquela no caso é de master sorcerer
Azul lugar que teleportara o player vip ao entrar na porta é melhor por o id da frente da porta para ficar mais legal
Verde msg que aparece se o player não for no seu caso Epic
espero ter ajudado
se ajudei REP+
custa nada
=]






info
Grupo: Campones
Registrado: 04/01/09
Posts: 0
Reputação: 0
entaao to começando agora,e to fazendo um ot global !
e quero fazer uma area vip,mais como faço pra so as pessoas da vocaçao epic que seerao pagos na rl passarem naqela porta?
to com essa duvida aqe nao consigo resolver =/
me ajudem por favor !