Ir para conteúdo

Quando Vip Acabar,ser Teleportado Para O Templo


Vodkart

Posts Recomendados

Versão testada: 8.54 ~ 8.60

 

Bem vi que algumas pessoas com problema neste tipo de script então resolvi postar.

oque o script faz?

O titulo do tópico já diz,ele teleporta os jogadores que não forem mais vips para o templo,para que eles não fiquem acessando area vip sem ter vip...

 

 

[ End Vip para o Perfect Vip System ] :

 

 

em Creaturescript/script Crie um arquivo.lua e renomeie para :

 

endvip.lua

--[[ by vodkart ]]--
function onLogin(cid)

if getPlayerStorageValue(cid, 13540) - os.time() > 0 then
setPlayerStorageValue(cid, 9898, 1)
elseif getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, 13540) - os.time() <= 0 then
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doPlayerPopupFYI(cid, "Sua vip Account acabou.")
setPlayerStorageValue(cid, 9898, -1)
end
return TRUE
end

 

em Creaturescript.xml adicione a tag:

<event type="login" name="checkvip" script="endvip.lua"/> 

 

 

 

 

 

[ End vip para o Vip System By MOCK] :

 

 

 

em Creaturescript/script Crie um arquivo.lua e renomeie para :

 

endvip.lua

--[[ by vodkart ]]--
function onLogin(cid)

if vip.hasVip(cid) == TRUE then
setPlayerStorageValue(cid, 9898, 1)
elseif getPlayerStorageValue(cid, 9898) == 1 and vip.hasVip(cid) == FALSE and vip.getVip(cid) == 0 then
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doPlayerPopupFYI(cid, "Sua vip Account acabou.")
setPlayerStorageValue(cid, 9898, -1)
end
return TRUE
end

 

 

em Creaturescript.xml adicione a tag:

<event type="login" name="checkvip" script="endvip.lua"/> 

 

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

Ola cara vc me ajudou mt com issu no meu servidor beta test mas eu nescessito da volta para o templo destinada uma coordenada para cada classe ou seja cada uma das 4 classes tem q ir pra um lugar diferente tem como vc me aranja esse script se s vlw se n obrigado por postar esse script aqui no xtibia

Link para o comentário
Compartilhar em outros sites

 

 

--[[ by vodkart ]]--
function onLogin(cid)

if getPlayerStorageValue(cid, 13540) - os.time() > 0 then
setPlayerStorageValue(cid, 9898, 1)
end

-- se quiser pode adicionar mais vocações

local pos = {
[1]= {x = 160, y= 54, z= 7}, -- sorcerer
[2]= {x = 162, y= 54, z= 7}, -- druid
[3]= {x = 164, y= 54, z= 7}, -- paladin
[4]= {x = 168, y= 54, z= 7} -- knight
}


if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, 13540) - os.time() < 1 or getPlayerStorageValue(cid, 13540) - os.time() == 0 then
doTeleportThing(cid ,pos[getPlayerVocation(cid)])
doPlayerPopupFYI(cid, "Sua vip Account acabou.")
setPlayerStorageValue(cid, 9898, -1)
end
return TRUE
end

 

 

Link para o comentário
Compartilhar em outros sites

ola cara sei q estou te enchendo o saco mas estou precissando de outro script relacionado a vip: gostaria de um comando q desce pra mim adicionar e retirar vip do players e n da conta

Exemplo de comando:

/addvip Nome de Player,dias a adicionar

/rmvvip Nome do Player,dias que irrei retirar

 

Uso: Perfect Vip System

 

Seria grato pela ajuda.

Editado por gabisaoo
Link para o comentário
Compartilhar em outros sites

não entendi?

 

o script Vip system já possui um comando que adiciona e retira dias de vip do jogador.

 

para adicionar é:

 

/addvip NOME,dias

 

para retirar é

 

/delvip NOME,dias

Link para o comentário
Compartilhar em outros sites

ai cara minha sinceras disculpas pois o servidor q eu baixei como base n tinham os comandos /addvip e /delvip dai eu supuis q ainda n existiam, uma outra pergunta as classes evoluem com as promotions dai o script q vc me passo apenas tem as classes basicas se eu deixase o script assim estaria serto?:

 

 

 

--[[ by vodkart ]]--
function onLogin(cid)

if getPlayerStorageValue(cid, 13540) - os.time() > 0 then
setPlayerStorageValue(cid, 9898, 1)
end

-- se quiser pode adicionar mais vocações

local pos = {
[1]= {x = 160, y= 54, z= 7}, -- sorcerer
[2]= {x = 162, y= 54, z= 7}, -- druid
[3]= {x = 164, y= 54, z= 7}, -- paladin
[4]= {x = 168, y= 54, z= 7}, -- knight
[5]= {x = 168, y= 54, z= 7}, -- master sorcerer
[6]= {x = 168, y= 54, z= 7}, -- elder druid
[7]= {x = 168, y= 54, z= 7}, -- royal paladin
[8]= {x = 168, y= 54, z= 7}, -- elite knight
[9]= {x = 168, y= 54, z= 7}, -- epic master sorcerer
[10]= {x = 168, y= 54, z= 7}, -- epic elder druid
[11]= {x = 168, y= 54, z= 7}, -- epic royal paladin
[12]= {x = 168, y= 54, z= 7} -- epic elite knight
}


if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, 13540) - os.time() < 1 or getPlayerStorageValue(cid, 13540) - os.time() == 0 then
doTeleportThing(cid ,pos[getPlayerVocation(cid)])
doPlayerPopupFYI(cid, "Sua vip Account acabou.")
setPlayerStorageValue(cid, 9898, -1)
end
return TRUE
end

 

 

 

 

[Edited]

 

 

VodKart da uma olhada nesce tópico ae pq to com problemas ve se vc achsa algo errado pq o perfect system vip ta dando bug: topico

Editado por gabisaoo
Link para o comentário
Compartilhar em outros sites

usa essa aqui então:

 

 

 

--[[ by vodkart ]]--
function onLogin(cid)

if getPlayerStorageValue(cid, 13540) - os.time() > 0 then
setPlayerStorageValue(cid, 9898, 1)
end


local config = {
mages = {x = 160, y= 54, z= 7}, -- voc 1,5 e 9
druids = {x = 162, y= 54, z= 7}, -- voc 2,6 e 10
paladinos = {x = 164, y= 54, z= 7}, -- voc 3,7 e 11
knights = {x = 168, y= 54, z= 7} -- voc 4,8 e 12
}


if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, 13540) - os.time() < 1 or getPlayerStorageValue(cid, 13540) - os.time() == 0 then
if(isInArray({1, 5, 9}, getPlayerVocation(cid))) then
doTeleportThing(cid ,config.mages)
end
if(isInArray({2, 6, 10}, getPlayerVocation(cid))) then
doTeleportThing(cid ,config.druids)
end
if(isInArray({3, 7, 11}, getPlayerVocation(cid))) then 
doTeleportThing(cid ,config.paladinos)
end
if(isInArray({4, 8, 12}, getPlayerVocation(cid))) then 
doTeleportThing(cid ,config.knights)
end
doPlayerPopupFYI(cid, "Sua vip Account acabou.")
setPlayerStorageValue(cid, 9898, -1)
end
return TRUE
end

 

 

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

Olá vodkart.

Bom é o seguinte eu tenhu um Script em meu server " real server 8.54 "

e meu server tem site tudoo certinhoo, e a vip é comprado por Um item que esta no site...

qual clika adiciona vip.

gostaria de saberr, como posso fazer o seguinte, o item da 30 dias de vip, gostaria de quando acabar a vip do player e ele tentar passa pelo Storage destidado a vip, se ele nao tem vip, é teleportado automaticamente para o templo e que mostrasse a tal Msg.

Sua Vip acabou Para retornar a cidade vip. acesse http://allianzot.servegame.com:8090.

Obrigado Desde Já...

 

Script Vip..

function onUse(cid, item, fromPosition, itemEx, toPosition)

local config={
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}

local days = 35 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 13500)
local timenow = os.time()

if getPlayerStorageValue(cid, 13500) - 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, 13500, time)
local quantity = math.floor((getPlayerStorageValue(cid, 13500) - timenow)/(24 * 60 * 60))
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
if (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
end

return TRUE
end

 

Meu Script é esse.

 

o Movements é esse.

<movevent type="StepIn" actionid="13500" event="script" value="viptile.lua"/>

 

Obrigado Espero sua Resposta, Qualquer coisa me daa msn.

Daaniel.lopes@hotmail.com

Obriogado

Link para o comentário
Compartilhar em outros sites

Olá

Vodkart.

eu adicionei como pidiuu..

mais nao mostraa nada de msgg.... que eu puiss..

eu criei outro char pra tentar entrar na vip sem vip.. e ele só tenta entraa sóo naoo volta para o templo..

ow seraa que só quando vira vip, ai depois que acaba o script funciona ?

é asssim??

e outra coisa cara.

e tipo se as vip dos player acabar e ele logarem dentro da cidade vip, treiner algo assim.. ele vai ser teleportado para o templo quando a vip deles acabar msm se eles estiver deslogado da area vip.. assim que ele deslogar ele vao ser automaticamente para o templo ??

Obrigado

Link para o comentário
Compartilhar em outros sites

1° - sobre o tile

 

Você tem que mudou a coordenada do script para seu templo?

 

pos_templo = {x=160, y=54, z=7} -- coordenadas do seu templo

 

eu testei aqui e funciono perfeitamente.

 

vipe.lua

-- Script Vip Sytem 1.0 -- 
function onStepIn(cid, item, position, fromPosition) 

local config = { 
msgDenied = "Sua Vip acabou Para retornar a cidade vip, acesse http://allianzot.servegame.com:8090 ", 
msgWelcome = "Seja Bem Vindo a Area vip.",
pos_templo = {x=160, y=54, z=7} -- coordenadas do seu templo 
} 

if getPlayerStorageValue(cid, 13500) - os.time() <= 0 then 
doTeleportThing(cid,config.pos_templo)  
doPlayerSendTextMessage(cid, 22, config.msgDenied) 
return TRUE 
end 
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome) 
return TRUE 
end

 

em movements.xml

 

<movevent type="StepIn" uniqueid="13700" event="script" value="vipe.lua"/>

 

Lembrando que vc tem ir no seu mapper editor e coloque UNIQUEID = 13700 no seu piso.

 

e tipo se as vip dos player acabar e ele logarem dentro da cidade vip, treiner algo assim.. ele vai ser teleportado para o templo quando a vip deles acabar msm se eles estiver deslogado da area vip.. assim que ele deslogar ele vao ser automaticamente para o templo ??

 

Sim.

Se a vip deles tiver acabado,eles ao logar novamente o script faz a checkagem,caso eles nao forem mais vips,são mandando para o templo.

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...