Perfect Vip System

noobinhu
em Actions e Talkactions

noobinhu

Ex Administrador
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 01/03/06Posts: 1022Gênero: Masculino

Já fiz este sistema faz bastante tempo, só que nunca postei.

 

Você adciona X dias de vip a um player, e este player só terá acesso à área VIP enquanto estes dias não acabarem.

 

 

Em talkactions/talkactions.xml adcione a seguinte linha:

 

<talkaction words="/addvip" script="addvip.lua"/>

 

Em data/talkactions faça um arquivo chamado addvip.lua contendo:

 

function onSay(cid, words, param)

 

-- configs

access = 1

days = 30

-- end configs

 

player = getPlayerByName(param)

daysvalue = days*3600*24

storageplayer = getPlayerStorageValue(player,29000)

timenow = os.time()

if storageplayer == -1 or storageplayer == 0 then

time = timenow+daysvalue

else

time = storageplayer+daysvalue

end

 

 

if param ~= "" then

if getPlayerGroupId(cid) >= access then

doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adcionados ".. days .." dias de VIP no seu character.")

setPlayerStorageValue(player,29000,time)

quantity = math.floor((getPlayerStorageValue(player,29000) - timenow)/(3600*24))

doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Somente jogadores com acesso maior que "..access.." podem adcionar vips.")

end

 

end

 

end

 

Edite o access para adcionar VIP e os dias que serão adcionados.

 

Em movements/movements.xml adcione a seguinte linha:

 

<movevent event="StepIn" actionid="29000" script="vipsystem.lua"/>

 

Em data/movements faça um arquivo chamado vipsystem.lua contendo:

 

function onStepIn(cid, item, position, fromPosition)

timenow = os.time()

quantity = math.floor((getPlayerStorageValue(cid,29000) - timenow)/(3600*24))

if isPlayer(cid) then

if quantity > 0 then

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você ainda tem ".. quantity .." dia(s) restante(s) de VIP.")

else

dir = getPlayerLookDir(cid)

pos = getCreaturePosition(cid)

 

 

if dir == 0 then

newpos = {x=pos.x, y=pos.y+1, z=pos.z}

elseif dir == 2 then

newpos = {x=pos.x, y=pos.y-1, z=pos.z}

elseif dir == 1 then

newpos = {x=pos.x-1, y=pos.y, z=pos.z}

elseif dir == 3 then

newpos = {x=pos.x+1, y=pos.y, z=pos.z}

end

 

doTeleportThing(cid, newpos, dir)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Somente jogadores VIPs podem entrar nesta área.")

end

end

end

 

Pronto, seu sistema de VIP está implantado.

 

Para adicionar VIP no player Yunie, por exemplo, é só dizer:

/addvip "Yunie

 

Nota-se que para quem adicionou não aparecerá nenhum aviso que foi adcionado, somente para o player.

 

E as áreas do mapa VIPs, faça uma entrada com actionid 29000, ao pisar na entrada, o sistema checará se o player é VIP e se consequentemente ele poderá passar adiante.

 

Para deixar mais perfeito o sistema, você mesmo pode criar um script onLogin para checar se ele está em uma área VIP com sua VIP esgotada e então teleportar ele para o templo.

 

Novo! Script onLogin (não testado), caso tenha bugs, reporte!

 

Em creaturescripts/scripts faça um arquivo chamado vip.lua contendo:

-- configs

templepos = {x=200,y=200,z=7}

cityid = 1

-- end configs

 

function onLogin(cid)

timenow = os.time()

viptime = getPlayerStorageValue(cid,29000)

quantity = math.floor((getPlayerStorageValue(cid,29000) - timenow)/(3600*24))

if quantity <= 0 and viptime > 0 then

setPlayerStorageValue(cid,29000,0)

doTeleportThing(cid,templepos)

-- setPlayerTown (estou sem minha listinha de functions para ver qual function que é para colocar townid), você pode colocar aqui se quiser

end

return TRUE

end

 

Em creaturescripts/creaturescripts.xml coloque:

<event type="login" name="VipLogin" script="vip.lua"/>

 

PS.: Estou sem minha listinha de function, e este script acima não mudará o templo do player, se alguém puder me dizer a function que faz isso. É setPlayerTown, algo assim.

 

Bom proveito,

 

Yunie.

Darth Sidious

Em chamas...
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 31/07/07Posts: 533Char no Tibia: Kninght'Danilo

Nossa vou testar depois, excelente cara.

 

Tava a procura de um sistema perfeito não aquele por casas ou pelo chão, são sistemas meio que ultrapassados.

 

Mais agora bastante gente vai poder usufruir deste sistema, muito obrigado ;)


Xtibia 2006 ~ 2009!
Eu não to mais aguentando e a vida tá passando...





Quots :
QUOTE
17:24 Ulryx Shadowseeker [13]: eu acessava site pedofilo ~ Leo94
17:26 Next Shadowseeker [7]: SELL THAIS SWORD ~ Christian
'      Léo 1OO     diz:
ngm come minha xaninha
'      Léo 1OO     diz:
se nao tive
'      Léo 1OO     diz:
eu do meu cu

amour

kaana de rezends
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 14/04/08Posts: 139Char no Tibia: Kanaszika

oloco vlw, vo testa ake, mais deve ta perfeito ;~

tava procurando o/

Atenciosamente,

amour :)

 

WWW.OPENPVP.COM

BillyBola

Ex-Imprensa XTibia
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 08/06/08Posts: 676Char no Tibia: Kimera De Pegasus

Perfeito,Puts deve tar perfeito mesmo nunca tinha visto esse sistema muito bom.

DaNDaNrOxX

oi mosso
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 18/01/08Posts: 1455Char no Tibia: Saint Claire

@Billy

A maioria dos sistemas que o Anderson postou aqui no forum desde quando ele começou em scripts nunca foram feitos, como soul pet, mineração e outros, ele fez o primeiro e depois outros foram copiando.

@Topic

Excelente, mais um ótimo trabalho :)

Já uso o seu antigo sistema vip e ainda está muito bom... Pelos comandos usados deve funcionar em The Forgotten Server :D

Obrigado por trazer mais este sistema ao forum, e tomara que você volte com scripts (coisa que acho meio dificil)...

Abraço !

 

 

Entrada na equipe: 23/10/2008 Cargo: Estagiário

Promoção: 25/11/2008 Cargo: Moderador

Promoção: 21/10/2009 Cargo: Coordenador

Remoção: 09/05/2010 Motivo: Estudos

Retorno: 15/11/2010 Cargo: Moderador

Remoção: 20/12/2012.

 

 

coutoo

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 11/09/08Posts: 46

Bem, parece ser realmente muito bom o.O

 

Muita gente tava procurando isso.

 

Quando testar vou postar aqui. :D

Atenciosamente,
Coutoo



__




noobinhu

Ex Administrador
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 01/03/06Posts: 1022Gênero: Masculino

Obrigado pelos comentários, estou meio sem criatividade, mas estou tentando voltar no mundo de OTServer sim. :)

amour

kaana de rezends
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 14/04/08Posts: 139Char no Tibia: Kanaszika

poutz veio, eu o uso o tsf v4 e funcionou tudo certinho, unica coisa que n deu certo, foi que no tile que eu ponho pra vip passar, ele funfa quase certo, soh que tipo se a pessoa nao eh vip ele fala que soh vips podem passar mais deves de ele voltar pro tile de tras ele empurra para o da frente :S

me ajuda ae ;x

Atenciosamente,

amour :)

 

WWW.OPENPVP.COM

noobinhu

Ex Administrador
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 01/03/06Posts: 1022Gênero: Masculino

Vou dar uma olhada, para todo caso, enquanto não arrumo, faça a porta para cima /\ assim:

 

area vip

sqm vazio

entrada

player

sqm vazio

area free

amour

kaana de rezends
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 14/04/08Posts: 139Char no Tibia: Kanaszika

eu nem manjo vei

tenta arruma pra min ae :S

add msn se puder junior_kana@hotmail.com

Atenciosamente,

amour :)

 

WWW.OPENPVP.COM

noobinhu

Ex Administrador
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 01/03/06Posts: 1022Gênero: Masculino

Pronto, arrumei, apaga o antigo script vipsystem.lua da pasta movements/scripts e cola o novo que eu postei, troquei uma parte, tinha errado nos teleports :)

amour

kaana de rezends
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 14/04/08Posts: 139Char no Tibia: Kanaszika

Vlw manow, agora ta perfeito :*

Atenciosamente,

amour :)

 

WWW.OPENPVP.COM

Movack

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/11/08Posts: 25Char no Tibia: Druid Loose

Aqui não funcionou.

Aparece: attempt to index a number value.

Se poder me ajudar, agradeço. :smile_positivo:

ZerOOo~

Sou fan de:




~ xP/


Outifit:

noobinhu

Ex Administrador
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 01/03/06Posts: 1022Gênero: Masculino

Só lembrando que este script só funciona em TFS, foi testado em TFS 8.22...

 

Especifique melhor o erro.

Andiko

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/11/08Posts: 3

mais deve ta perfeito