Ir para conteúdo

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
https://xtibia.com/forum/topic/141380-quando-vip-acabarser-teleportado-para-o-templo/
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

 

 

--[[ 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

 

 

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

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

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

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

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

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

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
×
×
  • Criar Novo...