Postado Abril 28, 2016 9 anos Eae pessoal, alguém sabe como faz ou tem esse script pra me passa? ele é bem simples, ao usar X item o player vai pro templo, mas com uma condição, se o player estiver em zona protegida(PZ). Rep+
Postado Abril 28, 2016 9 anos data/actions nome_do_arquivo.lua Spoiler function onUse(cid, item, frompos, item2, topos) local config = { item = xx, -- ID do item. qnt = xx, -- quantidade que será removida. pos = {x = 1047, y = 1051, z = 7}, } if getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendCancel(cid, 'You may not teleport during or immediately after a fight!') return false end if item.itemid == config.item then doTeleportThing(cid, config.pos) doPlayerRemoveItem(cid, config.item, config.qnt) end return true end XML: Spoiler <action itemid="id_do_item" event="script" value="nome_do_arquivo.lua"/> Editado Abril 28, 2016 9 anos por Talesigorvr (veja o histórico de edições) Não dou suporte via PM, crie um tópico caso tenha dúvidas. Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.
Postado Abril 28, 2016 9 anos Autor 12 minutos atrás, Talesigorvr disse: data/actions nome_do_arquivo.lua Ocultar conteúdo function onUse(cid, item, frompos, item2, topos) local config = { item = xx, -- ID do item. qnt = xx, -- quantidade que será removida. pos = {x = 1047, y = 1051, z = 7}, } if getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendCancel(cid, 'You may not teleport during or immediately after a fight!') return false end if item.itemid == config.item then doTeleportThing(cid, config.pos) doPlayerRemoveItem(cid, config.item, config.qnt) end return true end XML: Ocultar conteúdo <action itemid="id_do_item" event="script" value="nome_do_arquivo.lua"/> Então cara, seu script ta cumprindo oq foi pedido, dando tp pro templo se não estiver com battle. Mas tinha alguns erros, ai dei uma arrumada, acrescentei algumas coisas e fico assim: function onUse(cid, item, frompos, item2, topos) local config = { item = 8977, -- ID do item. pos = {x = 160, y = 51, z = 7}, } if getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid, 22, 'Voce so pode se teletransportar se estiver sem battle.') return false end if item.itemid == config.item then doTeleportThing(cid, config.pos) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_BIGCLOUDS) end return true end Só que eu queria pedir mais uma coisa, adicionar exaust nele, se puder, colocar um exaust de 30 segundos. Desde ja agradeço.
Postado Abril 28, 2016 9 anos Lol, isso não é erro, tu não especificou no tópico, fiz como eu achei que deveria ser. exhaust: function onUse(cid, item, frompos, item2, topos) local config = { item = 8977, -- ID do item. pos = {x = 160, y = 51, z = 7}, exaust = 48088, --storage do exhaust. tempo = 30, -- tempo de exhaust. } if getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid, 22, 'Voce so pode se teletransportar se estiver sem battle.') return false end if getPlayerStorageValue(cid, config.exaust) < os.time() then if item.itemid == config.item then doTeleportThing(cid, config.pos) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_BIGCLOUDS) setPlayerStorageValue(cid, config.exaust, config.tempo + os.time()) end else doPlayerSendTextMessage(cid, 22, 'Espere 30 segundos para usar o item novamente.') end return true end Não dou suporte via PM, crie um tópico caso tenha dúvidas. Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.
Postado Abril 28, 2016 9 anos Autor 26 minutos atrás, Talesigorvr disse: Lol, isso não é erro, tu não especificou no tópico, fiz como eu achei que deveria ser. exhaust: function onUse(cid, item, frompos, item2, topos) local config = { item = 8977, -- ID do item. pos = {x = 160, y = 51, z = 7}, exaust = 48088, --storage do exhaust. tempo = 30, -- tempo de exhaust. } if getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid, 22, 'Voce so pode se teletransportar se estiver sem battle.') return false end if getPlayerStorageValue(cid, config.exaust) < os.time() then if item.itemid == config.item then doTeleportThing(cid, config.pos) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_BIGCLOUDS) setPlayerStorageValue(cid, config.exaust, config.tempo + os.time()) end else doPlayerSendTextMessage(cid, 22, 'Espere 30 segundos para usar o item novamente.') end return true end Não é isso, é que tava falando o "22" depois do cid no seu primeiro script, mas ai deixei arrumado ali. O item ta funcionando corretamente, vlw por ter me ajudado Rep+
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.