XS
pedido

Talkaction Temporária

Por xSkyFrostx, 06 de abr. de 2013 em Scripts

resolvido
script
8
944
xSkyFrostxX
06 de abril de 2013 às 17:45

Pessoal to fazendo uma script aki e é o seguinte o player vai usar um item ai eu queria que fosse liberado uma talkaction do tipo /arenadoschefes e que o server inteiro podesse usar e fosse teleportado pra tais cordenadas mais que esse comando seje bloqueado depois de 5 minutos e que só fosse liberado quando usarem o item mesmo tendo esta duração de 5 minutos

 

existe um script assim? tem como alguem fazer pra mim? vlws

RoksasR
06 de abril de 2013 às 18:04

Tenta assim, em data/talkactions/scripts, crie um arquivo chamado arenachefes.lua e adicione dentro:

 

 

 

local arenabosses = {x = 500, y = 400, z = 7} -- Bosses Arena Coordenates!

 

function onSay(cid, words, param)

 

if getGlobalStorageValue(17569) - os.time() > 0 then

return doPlayerSendTextMessage(cid, 27, "Bosses Arena not actived!")

end

 

doSendMagicEffect(getPlayerPosition(cid),53)

doPlayerSendTextMessage(cid,27,"Teleported to Bosses Arena!")

doTeleportThing(cid, arenabosses)

return true

end

 

 

Aonde ta em vermelho, você muda pras coordendas da arena!

Em talkactions.xml adicione essa tag:

 

<talkaction words="/arenadoschefes" hide="yes" event="script" value="arenachefes.lua"/>

 

~~

 

Muito bem, agora em data/actions/scripts, crie um arquivo chamado chefes.lua e adicione dentro:

 

 

 

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

setGlobalStorageValue(17569, os.time()+300)

doBroadcastMessage("Bosses Arena opened!",MESSAGE_EVENT_ADVANCE)

return true

end

 

 

Em actions.xml adicione essa tag:

 

<action itemid="ITEMID" event="script" value="chefes.lua"/>

 

Prontinho, reinicie o server :)

Editado Abril 6 por Roksas

xSkyFrostxX
06 de abril de 2013 às 19:41

vixi toda hora que o char da o comando ele teleporta pra lá mesmo sem ninguem te usado o item, eu até criei otro char e mudei o storage value pra vários outros diferentes mais continua assim '-'

RoksasR
06 de abril de 2013 às 19:44

Troca o primeiro código por esse:

 

 

local arenabosses = {x = 500, y = 400, z = 7} -- Bosses Arena Coordenates!

 

function onSay(cid, words, param)

 

if getGlobalStorageValue(17569) - os.time() < 0 then

return doPlayerSendTextMessage(cid, 27, "Bosses Arena not actived!")

end

 

doSendMagicEffect(getPlayerPosition(cid),53)

doPlayerSendTextMessage(cid,27,"Teleported to Bosses Arena!")

doTeleportThing(cid, arenabosses)

return true

end

 

xSkyFrostxX
06 de abril de 2013 às 20:33

nossa cara vlw msm a unica coisa que falta agora é pro player não poder usar este comando se estiver com battle, eu tentei de algumas formas mais eu não sei mecher muito bem ainda em .lua, tem como se por isso na script?

RoksasR
06 de abril de 2013 às 20:36

 

local arenabosses = {x = 500, y = 400, z = 7} -- Bosses Arena Coordenates!

 

function onSay(cid, words, param)

 

if getGlobalStorageValue(17569) - os.time() < 0 then

return doPlayerSendTextMessage(cid, 27, "Bosses Arena not actived!")

end

 

if getCreatureCondition(cid, CONDITION_INFIGHT) == true then

return doPlayerSendTextMessage(cid, 27, "Wait your PZ/BATTLE to use this!")

end

 

doSendMagicEffect(getPlayerPosition(cid),53)

doPlayerSendTextMessage(cid,27,"Teleported to Bosses Arena!")

doTeleportThing(cid, arenabosses)

return true

end

 

xSkyFrostxX
06 de abril de 2013 às 20:42

certinho cara funfando 100%, vlw mesmo

RoksasR
06 de abril de 2013 às 20:44

Tópico movido para a seção de dúvidas e pedidos resolvidos.