Ir para conteúdo
  • 0

Script Para Abrir Portao


NewAge

Pergunta

Como faço pra usar esse script em 3 portões? Pq o script só abre 1 e tem 3, um do lado do outro

 

local gatepos = {x=1351, y=1666, z=5, stackpos=1} --posição do primeiro portão

local gatepos2 = {x=1352, y=1666, z=5, stackpos=1} -- posição do segundo portão,altere

local gatepos3 = {x=1353, y=1666, z=5, stackpos=1} -- posição do segundo portão

local g = 9485 --id do primeiro portão

local g2 = 9485 --id do segundo portão

local g3 = 9485 --id do terceiro portão

local doorOpen = "The door has been opened!"

local doorClose = "The door has been closed!"

local minAccess = 1

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

if getPlayerAccess(cid) >= minAccess then

local item = getTileItemById(gatepos, g)

if item.uid > 0 then

doRemoveItem(item.uid, 1)

doRemoveItem(getgate.uid, 1)

doRemoveItem(getgate2.uid, 1)

doPlayerSendTextMessage(cid, 22, doorOpen)

else

doCreateItem(g, 1, gatepos)

doCreateItem(g2, 1, gatepos2)

doCreateItem(g3, 1, gatepos3)

doPlayerSendTextMessage(cid, 22, doorClose)

end

end

return true

end

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

na pasta globalevents/script crie um script chamado portao.lua e coloque isso dentro...

 

 

function onThink(interval, lastExecution)

function OpenPorts()

local B = { -- id e pos dos portoes

{9486,{x=1000, y=1077, z=7, stackpos = 1}},

{9486,{x=999, y=1077, z=7, stackpos = 1}},

{9486,{x=998, y=1077, z=7, stackpos = 1}}

}

for i = 1, #B do

if getTileItemById(B[2], B[1]).uid == 0 then

doCreateItem(B[1], 1, B[2])

else

doRemoveItem(getThingfromPos(B[2]).uid,1)

end

end

end

function doBroadCastle(msgs, interval)

for i = 1, #msgs do

if i == 1 then

doBroadcastMessage(msgs[1])

else

addEvent(doBroadcastMessage, (i-1)*interval, msgs)

addEvent(OpenPorts, (i-1)*interval)

end

end

return true

end

doBroadCastle({"O portão será aberto em 2 minutos.", "O portão esta aberto, seus portões serão fechados em 2 minutos.", "O castle estar fechado, agora só irá abrir em 30 minutos."}, 120000)

return true

end

 

 

 

Usa esse script ai .. para alterá-ló é ali ...

 

 

 

{9486,{x=1000, y=1077, z=7, stackpos = 1}},

{9486,{x=999, y=1077, z=7, stackpos = 1}},

{9486,{x=998, y=1077, z=7, stackpos = 1}}

 

 

 

9486 é o id do portão stackpos não altere... altere só o id e a cordenda de onde fica

ai no caso são 3 portoes um em cada cordenada. só alterar o id do portão e a pos deles.

 

a tag do script em globalevents.xml é :

 

 

 

<globalevent name="Doors" interval="1800" event="script" value="portao.lua"/>

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Respondi nos dois fóruns, abçs

 

local positions = {
   {x = 1351, y = 1666, z = 5},
   {x = 1352, y = 1666, z = 5},
   {x = 1353, y = 1666, z = 5}
}

local gates = {
   [9485] = 9484,
   [9484] = 9485
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
   for _, position in ipairs(positions) do
       for fg, tg in pairs(gates) do
           local g = getTileItemById(position, fg)
           if g.uid > 0 then
               doTransformItem(g.uid, tg)
           end
       end
   end
   return true
end

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...