Ir para conteúdo

[Pedido] Vip System


matheusalvez

Posts Recomendados

é o seguinte eu preciso de 2 scripts : Um que assim que o player ganhar a vip ele ganhe promotion e quando a vip acabar a promotion sai e o segundo é que quando a vip acabar o plyaer va pro templo

 

PRIMERO SCRIPT:

Tipo do script:Funçoes do Vip System

Protocolo (versão do Tibia):8.60

Servidor utilizado:Baiak

Nível de experiência:Na minha Opiniao é medio

Adicionais/Informações:O Systema funciona assim é um item ae eu do use nele e ganho 30 dias de vip eu queria que envez de ganha so a vip eu ganhace a promotion tambem e que quando acabace a vip a promotion saia

 

SEGUNDO SCRIPT

Tipo do script:Funçoes do Vip System

Protocolo (versão do Tibia):8.60

Servidor utilizado:Baiak

Nível de experiência:Na minha Opiniao é medio

Adicionais/Informações:É o seguinte o system de vip ta programado para acabar mas quando acaba o player ainda fica na onde ele tava eu queria que ele fosse transportado para o templo... no meu caso a position do templo é x= 161 y= 54 z= 7 id do templo 1

 

 

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

 

local config={

removeOnUse = "yes" -- remover quando usar ("yes" or "no")

}

 

local days = 30 -- dias que serão adicionados

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

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

 

e em movements:

 

-- Script Vip Sytem 1.0 --

function onStepIn(cid, item, position, fromPosition)

 

local config = {

msgDenied = "Você não e vip, compre já em nosso site.",

msgWelcome = "Seja Bem Vindo a Area vip."

}

 

if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then

doTeleportThing(cid, fromPosition, true)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied)

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

return TRUE

end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome)

return TRUE

end

 

se voce souber faser os dois pedidos que eu pedi so que de outro script de vip eu ate aceito mas tem que se vip de da use em tal item

 

Desde ja agradeço...Valendo Rep+++

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

-- Atualizado --

Eai

no creaturescripts.xml coloque:

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

no creaturescripts/scripts crie um arquivo checkvip.lua e coloque dentro:

function onLogin(cid)
local config={
       storage = 13540,
       temple = {x=161, y=54, z=7}
}
-- Verifica se é Vip, se nao for da tp
if getPlayerStorageValue(cid, config.storage) < os.time() and getPlayerStorageValue(cid, config.storage) > 0 then
       setPlayerStorageValue(cid, config.storage, 0)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
       doSendMagicEffect(getPlayerPosition(cid), 10)
       doPlayerSendTextMessage(cid, 22, "Seu Vip Time acabou!")
end

--Verifica as vocations e muda
if(getPlayerStorageValue(cid, config.storage) > os.time() and isInArray({5, 6, 7, 8}, getPlayerVocation(cid))) then
   doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)
end
if(getPlayerStorageValue(cid, config.storage) < os.time() and isInArray({9, 10, 11, 12}, getPlayerVocation(cid))) then
   doPlayerSetVocation(cid, getPlayerVocation(cid) - 4)
end

return true
end

e no login.lua coloque:

registerCreatureEvent(cid, "checkvip")

 

:P: Acho que seria isso :D

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

Eai

1º Script:

Qual é os ids das vocations? ai eu edito e coloco :D

 

 

Brigadao cara pelo resto...

Vocations .

Sorcerer vai passa da vocation 5 e vai para a vocation 9

druid vai passa da vocation 6 e vai para a vocation 10

paladin vai passa da vocation 7 e vai pra 11

kinna vai da vocation 8 pra 12

Link para o comentário
Compartilhar em outros sites

ae cara eu tive que deixar assim o script pq do geito que se me mando deu um erro e nao tava logando ninquem

 

function onLogin(cid)
local config={
       storage = 13540,
       temple = {x=161, y=54, z=7}
}
-- Verifica se é Vip, se nao for da tp
if getPlayerStorageValue(cid, storage) < os.time() then
       doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
       doSendMagicEffect(getPlayerPosition(cid), 10)
       doPlayerSendTextMessage(cid, 22, "Seu Vip Time acabou!")
end

--Verifica as vocations e muda
if(getPlayerStorageValue(cid, storage) > os.time() and getPlayerVocation(cid) >= 5 and  getPlayerVocation(cid) <= 8) then
doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)
end
if(getPlayerStorageValue(cid, storage) < os.time() and getPlayerVocation(cid) >= 9 and  getPlayerVocation(cid) <= 12) then
doPlayerSetVocation(cid, getPlayerVocation(cid) - 4)
end
return true
end

 

so que ae tem outro porem sempre que um player msm nao sendo vip desloga e loga ele é transportado pro templo e fala que a vip dele acabou

o erro é esse:

[error - creaturescript interface]

data/creaturescripts/scripts/checkvip.lua:on login

description?

attempt to index a nil value

stack traceback:

[C]: in function 'doteleportthing'

data/creaturesccript/scripts/chechvip.lua:8: in function <data/creaturescripts/scripts/chechkvip.lua:1>

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

×
×
  • Criar Novo...