IG

[RESOLVIDO] [Talkaction] que abre e fexa a parede do evento {SIMPLES} {REP+}

Por igorsilveeira, 07 de ago. de 2013 em Scripts

resolvido
7
671
07 de agosto de 2013 às 21:23

Quero uma talkaction assim:

 

/evento on -- Deleta 2 paredes, e envia broadcast -- Evento Aberto --

/evento off - Cria 2 paredes no mesmo lugar, e envia broadcast -- Evento Fexado --

 

 

Bem simples

Aguardo

REP+

RoksasR
07 de agosto de 2013 às 21:32

Quais são as coordenadas da parede?

07 de agosto de 2013 às 21:44

São 2 paredes.

 

541 521 6

541 520 6

 

Obrigado.

RoksasR
07 de agosto de 2013 às 21:52

Vá em data/talkactions/scripts crie um arquivo chamado eventoCh.lua e adicione dentro:

 

 

function onSay(cid, words, param)

if not param or param == "" then
doPlayerSendTextMessage(cid, 20, "Use como parâmetro, {on} ou {off}!")
return true
end

if param == "on" then

if getGlobalStorageValue(21479) >= 1 then
doPlayerSendTextMessage(cid, 20, "O evento já está aberto, tente novamente ou mais tarde.")
return true
end

setGlobalStorageValue(21479, 1)
doBroadcastMessage("Evento ABERTO!", 21)
doRemoveItem(getThingFromPos({x = 541, y = 521, z = 6, stackpos = 1}).uid, 1)
doRemoveItem(getThingFromPos({x = 541, y = 520, z = 6, stackpos = 1}).uid, 1)
return true
end

if param == "off" then

if getGlobalStorageValue(21479) < 1 then
doPlayerSendTextMessage(cid, 20, "O evento já está fechado, tente novamente ou mais tarde.")
return true
end

setGlobalStorageValue(21479, -1)
doBroadcastMessage("Evento FECHADO!", 21)
doCreateItem(5316, 1, {x = 541, y = 521, z = 6})
doCreateItem(5316, 1, {x = 541, y = 520, z = 6})
return true
end

return true
end

 

Em talkactions.xml adicione a tag:

 

 

<talkaction words="!evento;/evento" event="script" value="eventoCh.lua"/>

 

Boa sorte

07 de agosto de 2013 às 22:05

Parabéns cara, script perfeito, sem erro algum e muito bem feito!

 

REP+

 

Muito obrigado, continue assim :D

RoksasR
07 de agosto de 2013 às 22:11

Não há de quê, boa sorte ae com o servidor :)

 

Sanado e movido.


Tópico movido para a seção de dúvidas e pedidos resolvidos.
07 de agosto de 2013 às 23:25

Quero que quando digitar o comando "/evento on", deletar todos os itens com o id 5316 da coordenada.

 

Por que?

 

Pq por exemplo, eu coloco "/evento on", e o servidor reinicia, ai terei que colocar "/evento off", e com isso ira adicionar novamente a parede, tendo 2x paredes, e se eu digitar o "/evento on" removerá só 1 parede, quero que remova todas que encontrar na posição, há alguma maneira??

 

No aguardo

REP+

 

 

@Edit

 

Aee, não precisa mais, oq eu fiz foi adicionar uma linha de cada dessa parte, que agora mesmo se bugar criando 2x paredes, ele remove ;D

doRemoveItem(getThingFromPos({x = 541, y = 521, z = 6, stackpos = 1}).uid, 1)
doRemoveItem(getThingFromPos({x = 541, y = 520, z = 6, stackpos = 1}).uid, 1)

 

Editado Agosto 8 por IgorSilveira