MA
dúvida

Porta que somente VIP passam.

Por markim1986, 24 de dez. de 2012 em Scripts

otserv
tibia
script
26
3.8k
25 de dezembro de 2012 às 19:58

trocou os ids de porta aberta, pelo id da porta aberta. e porta fechada, pelo id da porta fechada?

markim1986M
26 de dezembro de 2012 às 20:21

trocou os ids de porta aberta, pelo id da porta aberta. e porta fechada, pelo id da porta fechada?

 

Sim, segue o script usado.

 

function onUse(cid, item, frompos, item2, topos)
local idPortaAberta = 5746
local idPortaFechada = 5745
if vip.hasVip(cid) == FALSE then
return doCreatureSay(cid, "Você não possui Vip Access.", TALKTYPE_ORANGE_1)
end
doTransformItem(item.uid, idPortaAberta)
local dir = getPlayerLookDir(cid)
doMoveCreature(cid, dir)
doMoveCreature(cid, dir)
doTransformItem(item.uid, idPortaFechada)
return TRUE
end

 

UP

26 de dezembro de 2012 às 21:17

tente criar a porta pelo /i .. ou tente substituir os ids pelos ids de outras portas ..

markim1986M
27 de dezembro de 2012 às 13:09

tente criar a porta pelo /i .. ou tente substituir os ids pelos ids de outras portas ..

 

Vou testar com outras, mas de fiz com outras, mas vou fazer dinovo!

 

tente criar a porta pelo /i .. ou tente substituir os ids pelos ids de outras portas ..

 

Cara testei tudo quanto é porta e da o mesmo erro!

 

[26/12/2012 21:52:21] [Error - Action Interface]
[26/12/2012 21:52:21] data/actions/scripts/vipdoorsystem.lua:onUse
[26/12/2012 21:52:21] Description:
[26/12/2012 21:52:21] (luaDoTransformItem) Item not found

MulizeuM
27 de dezembro de 2012 às 13:31

Tente assim!

 

function onUse(cid, item, frompos, item2, topos)
local idPortaAberta = 2222
local idPortaFechada = 3333
if vip.hasVip(cid) == FALSE then
return doCreatureSay(cid, "Você não possui Vip Access.", TALKTYPE_ORANGE_1)
end
doTransformItem(item.uid, idPortaAberta)
local dir = getDirectionTo(getPlayerPosition(cid), toPosition)
doMoveCreature(cid, dir)
doMoveCreature(cid, dir)
doTransformItem(item.uid, idPortaFechada)
return TRUE
end

markim1986M
27 de dezembro de 2012 às 22:49

Tente assim!

 

function onUse(cid, item, frompos, item2, topos)
local idPortaAberta = 2222
local idPortaFechada = 3333
if vip.hasVip(cid) == FALSE then
return doCreatureSay(cid, "Você não possui Vip Access.", TALKTYPE_ORANGE_1)
end
doTransformItem(item.uid, idPortaAberta)
local dir = getDirectionTo(getPlayerPosition(cid), toPosition)
doMoveCreature(cid, dir)
doMoveCreature(cid, dir)
doTransformItem(item.uid, idPortaFechada)
return TRUE
end

 

 

 

Testei com duas portas, ID 1213 fechada e 1214 aberta, ID fechada 5745 e 5746 aberta

Ambas com action ID 2075

 

Erro:

[27/12/2012 22:46:38] [Error - Action Interface]
[27/12/2012 22:46:38] data/actions/scripts/vipdoorsystem.lua:onUse
[27/12/2012 22:46:38] Description:
[27/12/2012 22:46:38] data/lib/032-position.lua:17: attempt to index local 'pos2' (a nil value)
[27/12/2012 22:46:38] stack traceback:
[27/12/2012 22:46:38]  data/lib/032-position.lua:17: in function 'getDirectionTo'
[27/12/2012 22:46:38]  data/actions/scripts/vipdoorsystem.lua:8: in function <data/actions/scripts/vipdoorsystem.lua:1>

 

As duas abrem, mas deixa a porta aberta se quiser.

Agradeço desde ja por esta ajudando.

Editado Dezembro 27 por markim1986

SlicerS
27 de dezembro de 2012 às 22:55

function onUse(cid, item, frompos, item2, topos)
local idPortaAberta = 2222
local idPortaFechada = 3333
if vip.hasVip(cid) == FALSE then
return doCreatureSay(cid, "Você não possui Vip Access.", TALKTYPE_ORANGE_1)
end
doTransformItem(item.uid, idPortaAberta)
local dir = getDirectionTo(getPlayerPosition(cid), toPosition)
doMoveCreature(cid, dir)
doMoveCreature(cid, dir)
doTransformItem(item.uid, idPortaFechada)
return TRUE
end

esse aki ta errado.. mudo a funçao principal.. certo seria..

function onUse(cid, item, frompos, item2, topos)
local idPortaAberta = 2222
local idPortaFechada = 3333
if vip.hasVip(cid) == FALSE then
return doCreatureSay(cid, "Você não possui Vip Access.", TALKTYPE_ORANGE_1)
end
doTransformItem(item.uid, idPortaAberta)
local dir = getDirectionTo(getPlayerPosition(cid), frompos)
doMoveCreature(cid, dir)
doMoveCreature(cid, dir)
doTransformItem(item.uid, idPortaFechada)
return TRUE
end

ms assim achu q provavelmente n vai funcionar.. ;/ tem algu bem errado com o teu serv, ou nos tamo fazendo alguma coisa muito idiota e n tamo percebendo kk

markim1986M
27 de dezembro de 2012 às 23:18

function onUse(cid, item, frompos, item2, topos)
local idPortaAberta = 2222
local idPortaFechada = 3333
if vip.hasVip(cid) == FALSE then
return doCreatureSay(cid, "Você não possui Vip Access.", TALKTYPE_ORANGE_1)
end
doTransformItem(item.uid, idPortaAberta)
local dir = getDirectionTo(getPlayerPosition(cid), toPosition)
doMoveCreature(cid, dir)
doMoveCreature(cid, dir)
doTransformItem(item.uid, idPortaFechada)
return TRUE
end

esse aki ta errado.. mudo a funçao principal.. certo seria..

function onUse(cid, item, frompos, item2, topos)
local idPortaAberta = 2222
local idPortaFechada = 3333
if vip.hasVip(cid) == FALSE then
return doCreatureSay(cid, "Você não possui Vip Access.", TALKTYPE_ORANGE_1)
end
doTransformItem(item.uid, idPortaAberta)
local dir = getDirectionTo(getPlayerPosition(cid), frompos)
doMoveCreature(cid, dir)
doMoveCreature(cid, dir)
doTransformItem(item.uid, idPortaFechada)
return TRUE
end

ms assim achu q provavelmente n vai funcionar.. ;/ tem algu bem errado com o teu serv, ou nos tamo fazendo alguma coisa muito idiota e n tamo percebendo kk

 

Olha agora abriu e fecho certinhu, os free nao passam, funcionooou, mas (tem sempre um mas neh ;))

ainda da erro!

 

[27/12/2012 23:14:38] [Error - Action Interface]
[27/12/2012 23:14:38] data/actions/scripts/vipdoorsystem.lua:onUse
[27/12/2012 23:14:38] Description:
[27/12/2012 23:14:38] (luaDoTransformItem) Item not found

SlicerS
27 de dezembro de 2012 às 23:22

kk ta foda.. tenta assim agora..

 

function onUse(cid, item, frompos, item2, topos)

local idPortaAberta = 2222

local idPortaFechada = 3333

if vip.hasVip(cid) == FALSE then

return doCreatureSay(cid, "Você não possui Vip Access.", TALKTYPE_ORANGE_1)

end

doTransformItem(item.uid, idPortaAberta)

local dir = getDirectionTo(getPlayerPosition(cid), frompos)

doMoveCreature(cid, dir)

doMoveCreature(cid, dir)

local porta = getTileItemById(frompos, idPortaAberta)

if porta.uid > 0 then

doTransformItem(porta.uid, idPortaFechada)

end

return TRUE

end

 

markim1986M
27 de dezembro de 2012 às 23:29

kk ta foda.. tenta assim agora..

 

function onUse(cid, item, frompos, item2, topos)

local idPortaAberta = 2222

local idPortaFechada = 3333

if vip.hasVip(cid) == FALSE then

return doCreatureSay(cid, "Você não possui Vip Access.", TALKTYPE_ORANGE_1)

end

doTransformItem(item.uid, idPortaAberta)

local dir = getDirectionTo(getPlayerPosition(cid), frompos)

doMoveCreature(cid, dir)

doMoveCreature(cid, dir)

local porta = getTileItemById(frompos, idPortaAberta)

if porta.uid > 0 then

doTransformItem(porta.uid, idPortaFechada)

end

return TRUE

end

 

 

aewwwwwwww, funcinou sem erro algum, muito obrigado meu amigo!!!! ;)

REP+

 

Podem mover o topic

SlicerS
27 de dezembro de 2012 às 23:33

kk ate q fim.. esse deu trabalho..

resolvido, movido!