LE

Onde Coloco Esse Script?

By Leoxtibia, 04 de abr. de 2012 in Archived

otserv
tibia
script
5
681
LeoxtibiaL
04 de abril de 2012 às 19:19

Estava vendo um tópico aqui do xtibia e o cara que mandou o script fala isso:

 

Para finalizar como não fiz por storage, você deve utilizar esse codigo para verificar se player pode passar:

 

if (db.getResult("SELECT * FROM `guilds` WHERE `id` = " .. getPlayerGuildId(cid) .. " AND `acesso` > " .. os.time() .. ";"):getID() ~= -1) then
--acesso liberado--
end

 

Aí, um cara que teve a mesma dúvida que a minha, pergunta: Onde coloco isso? ; O cara que mandou o script responde:

 

e quanto a isso:

if (db.getResult("SELECT * FROM `guilds` WHERE `id` = " .. getPlayerGuildId(cid) .. " AND `acesso` > " .. os.time() .. ";"):getID() == 0) then
--acesso liberado--
end

[i]Bom, na porta, tile, tp ... se fosse por storage você faria um comando assim:[/i]
if getPlayerStorageValue(cid, 123456) == 1 then
--acesso liberado--
end

[i]Como nao utilizei storage mandei a rotina que voce deve utilizar[/i]

 

Mesmo assim não entendi, é action?movements? Onde coloco? Se alguém puder ajudar, explicando melhor, agradeço e Rep +

Edited Abril 5 by Leoxtibia

jhon992J
05 de abril de 2012 às 18:43

oque esse script deve fazer? explica melhor para min poder ajudar.

LeoxtibiaL
06 de abril de 2012 às 09:00

Aí vai o tópico para você dar uma olhada: http://www.xtibia.com/forum/topic/169187-rank-de-kills-para-guild/page__p__1115961__hl__+top%20+frags__fromsearch__1#entry1115961

Basicamente é verificar se um player tem acesso a um local ou não, e parece que deve ser usado como action na porta, por exemplo. Mas não sei como fazer isso.

jhon992J
06 de abril de 2012 às 09:28

Acho que assim vai funcionar:

 

Vai em data/actions/actions.xml e poem a tag:

<action actionid="2015" event="script" value="doorguild.lua"/>

 

Agora em data/actions/scripts, duplica um arquivo e nomeia pra "doorguild" sem as aspas e cole:

function onUse(cid, item, fromPosition, itemEx, toPosition)
   if (db.getResult("SELECT * FROM `guilds` WHERE `id` = " .. getPlayerGuildId(cid) .. " AND `acesso` > " .. os.time() .. ";"):getID() ~= -1) then
    doTeleportThing(cid, toPosition)
   else
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não pode entrar nessa porta.")
   end
   return true
end

 

Por último poem o actionid na porta do seu ot pelo mapa editor!

LeoxtibiaL
06 de abril de 2012 às 14:16

O script não deu erro nenhum no distro, vlw aí! Rep + pela ajuda no outro lá tbm ^^