KA
dúvida

Somente Players Do Terreo Sao Teleportados Ao Acabar O Evento

Por Kamikashi, 01 de out. de 2012 em Scripts

script
7
868
KamikashiK
01 de outubro de 2012 às 17:21

Seguinte,arrumei o meu castle war,so que o meu castle tem 3 andares e no script que peguei ao acabar o evento,somente os players que estão no terreo são teleportados para o templo,ou seja,quem esta nos outros andares não..

 

alguem pode me dar uma luz?

 

ai o script,oque eu tenho que modificar para os players dos outros andares também serem teleportados para o templo??

 

 

 

local storage = 1755

local emGuerra = 1756

local firstpos = {x = 218,y = 923,z = 7}

local secondpos = {x = 254,y = 961,z = 7}

 

function onSay(cid, words, param)

if param == "open" then

setGlobalStorageValue(emGuerra,1)

doBroadcastMessage("A Guerra pelo castelo começou!",22)

return true

elseif param == "close" then

for _, pid in ipairs(getPlayersOnline()) do

if isInArea(getCreaturePosition(pid),firstpos,secondpos)then

if getGlobalStorageValue(storage) ~= getPlayerGuildId(pid) then

doTeleportThing(pid,getTownTemplePosition(getPlayerTown(pid)))

doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE,"Desculpe mas sua guild não venceu essa guerra!")

else

doPlayerSendTextMessage(pid,MESSAGE_STATUS_CONSOLE_BLUE,"Sua guild conseguio dominar o castelo. Parabens por ajuda-la!")

end

end

end

setGlobalStorageValue(emGuerra,0)

doBroadcastMessage("A Guerra pelo castelo terminou!",22)

else

return doPlayerSendCancel(cid,"Digite !war open[inicia a guerra] ou !war close[terminaa guerra]")

end

return true

end

 

no caso o fistpos e secondpos seria a area na qual ao termino do evento os players que estivessem nessa area iriam para o templo,mas como adicionar mais 3 areas para enviar os players para o templo?

Editado Outubro 1 por Kamikashi

15790911
01 de outubro de 2012 às 17:25

Tenta isso:

 

 

 

local storage = 1755

local emGuerra = 1756

local firstpos = {x = 218,y = 923,z = 1}

local secondpos = {x = 254,y = 961,z = 15}

 

function onSay(cid, words, param)

if param == "open" then

setGlobalStorageValue(emGuerra,1)

doBroadcastMessage("A Guerra pelo castelo começou!",22)

return true

elseif param == "close" then

for _, pid in ipairs(getPlayersOnline()) do

if isInArea(getCreaturePosition(pid),firstpos,secondpos)then

if getGlobalStorageValue(storage) ~= getPlayerGuildId(pid) then

doTeleportThing(pid,getTownTemplePosition(getPlayerTown(pid)))

doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE,"Desculpe mas sua guild não venceu essa guerra!")

else

doPlayerSendTextMessage(pid,MESSAGE_STATUS_CONSOLE_BLUE,"Sua guild conseguio dominar o castelo. Parabens por ajuda-la!")

end

end

end

setGlobalStorageValue(emGuerra,0)

doBroadcastMessage("A Guerra pelo castelo terminou!",22)

else

return doPlayerSendCancel(cid,"Digite !war open[inicia a guerra] ou !war close[terminaa guerra]")

end

return true

end

 

 

Editado Outubro 1 por GuizitoG

SlicerS
01 de outubro de 2012 às 18:35
local storage = 1755
local emGuerra = 1756
local firstFloor = {{x = 218,y = 923,z = 7}, {x = 254,y = 961,z = 7}}
local secondFloor = {{x = 218,y = 923,z = 6}, {x = 254,y = 961,z = 6}}
local thirdFloor = {{x = 218,y = 923,z = 5}, {x = 254,y = 961,z = 5}}

function onSay(cid, words, param)
if param == "open" then
setGlobalStorageValue(emGuerra,1)
doBroadcastMessage("A Guerra pelo castelo começou!",22)
return true
elseif param == "close" then
for _, pid in ipairs(getPlayersOnline()) do
if isInArea(getCreaturePosition(pid), firstFloor[1], firstFloor[2]) or isInArea(getCreaturePosition(pid), secondFloor[1], secondFloor[2]) or isInArea(getCreaturePosition(pid), thirdFloor[1], thirdFloor[2]) then
if getGlobalStorageValue(storage) ~= getPlayerGuildId(pid) then
doTeleportThing(pid,getTownTemplePosition(getPlayerTown(pid)))
doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE,"Desculpe mas sua guild não venceu essa guerra!")
else
doPlayerSendTextMessage(pid,MESSAGE_STATUS_CONSOLE_BLUE,"Sua guild conseguio dominar o castelo. Parabens por ajuda-la!")
end
end
end
setGlobalStorageValue(emGuerra,0)
doBroadcastMessage("A Guerra pelo castelo terminou!",22)
else
return doPlayerSendCancel(cid,"Digite !war open[inicia a guerra] ou !war close[terminaa guerra]")
end
return true
end

KamikashiK
01 de outubro de 2012 às 23:11

Agradecido,problema resolvido,obrigado de coração ^^

15790911
01 de outubro de 2012 às 23:44

Era o que? meu script ajudou? o do slicer ajudou?? especifica aí!

 

Dúvida sanada tópico reportado!

KamikashiK
01 de outubro de 2012 às 23:53

Graças ao seu consegui resolver no secondpos era só por a floor do terreo (no z=) e no firstpos era só por a floor do ultimo andar (no z=) :D,graças ao seu Guizito.

CriticalC
02 de outubro de 2012 às 10:32

Dúvida sanada, tópico movido.

 

Atenciosamente, Critical.