Postado Janeiro 27, 2018 7 anos Base: tfs 1.2 Preciso de um script que ao clicar na alavanca no tile x remova 6 itens do altar como fosse "sacrificio" e teleportasse para outro lugar e caso não tenha todos os itens informar que não tem todos os itens ou os itens estão em ordem errada, agradeço a ajuda desde já ! obrigado.
Postado Janeiro 28, 2018 7 anos Testa ai bro. Cria um arquivo com nome que desejar dentro da sua pasta data/actions/scripts/... exemplo.lua -- Made by egyptPOWER - www.tibiaking.com -- function onUse(cid, item, frompos, item2, topos) -- POSIÇÃO DOS ALTARES -- altar1 = {x = 111, y = 111, z = 1, stackpos = 1} -- ALTAR 1 -- getaltar1 = getThingfromPos(altar1) altar2 = {x = 222, y = 222, z = 2, stackpos = 1} -- ALTAR 2 -- getaltar2 = getThingfromPos(altar2) altar3 = {x = 333, y = 333, z = 3, stackpos = 1} -- ALTAR 3 -- getaltar3 = getThingfromPos(altar2) altar4 = {x = 444, y = 444, z = 4, stackpos = 1} -- ALTAR 4 -- getaltar4 = getThingfromPos(altar3) altar5 = {x = 555, y = 555, z = 5, stackpos = 1} -- ALTAR 5 -- getaltar5 = getThingfromPos(altar4) altar6 = {x = 666, y = 666, z = 6, stackpos = 1} -- ALTAR 6 -- getaltar6 = getThingfromPos(altar6) switchUID= 10102 -- UID da Alavanca switchID = 1945 -- ID da Alavanca switch2ID = 1946 -- ID da Alavanca após utilizada item1 = 1111 -- Item de sacrificio 1 item2 = 1111 -- Item de sacrificio 2 item3 = 1111 -- Item de sacrificio 3 item4 = 1111 -- Item de sacrificio 4 item5 = 1111 -- Item de sacrificio 5 item6 = 1111 -- Item de sacrificio 6 tpto = {x = 111, y = 111, z = 1, stackpos = 1} -- Aonde o player será teleportado -- if item.uid == switchUID and item.itemid == switchID and getaltar1.itemid == item1 and getaltar2.itemid == item2 and getaltar3.itemid == item3 and getaltar4.itemid == item4 and getaltar5.itemid == item5 and getaltar6.itemid == item6 then doSendMagicEffect(cid, 2) doTeleportThing(cid, tpto) doSendMagicEffect(tpto, 10) doRemoveItem(getaltar1.uid, 1) doRemoveItem(getaltar2.uid, 1) doRemoveItem(getaltar3.uid, 1) doRemoveItem(getaltar4.uid, 1) doRemoveItem(getaltar5.uid, 1) doRemoveItem(getaltar6.uid, 1) elseif item.uid == switchUID and item.itemid == switch2ID then doTransformItem(item.uid, item.itemid-1) else doPlayerSendCancel(cid, "Desculpe, você precisa colocar os items corretos nos altares.") end return false return true end Em actions XML você vai adicionar <action uniqueid="1111" script="exemplo.lua"/> Aonde é "1111" é o uniqueID da alavanca. Espero ter ajudado No signature.
Postado Janeiro 28, 2018 7 anos Autor 16 horas atrás, egyptPOWER disse: Testa ai bro. Cria um arquivo com nome que desejar dentro da sua pasta data/actions/scripts/... exemplo.lua -- Made by egyptPOWER - www.tibiaking.com -- function onUse(cid, item, frompos, item2, topos) -- POSIÇÃO DOS ALTARES -- altar1 = {x = 111, y = 111, z = 1, stackpos = 1} -- ALTAR 1 -- getaltar1 = getThingfromPos(altar1) altar2 = {x = 222, y = 222, z = 2, stackpos = 1} -- ALTAR 2 -- getaltar2 = getThingfromPos(altar2) altar3 = {x = 333, y = 333, z = 3, stackpos = 1} -- ALTAR 3 -- getaltar3 = getThingfromPos(altar2) altar4 = {x = 444, y = 444, z = 4, stackpos = 1} -- ALTAR 4 -- getaltar4 = getThingfromPos(altar3) altar5 = {x = 555, y = 555, z = 5, stackpos = 1} -- ALTAR 5 -- getaltar5 = getThingfromPos(altar4) altar6 = {x = 666, y = 666, z = 6, stackpos = 1} -- ALTAR 6 -- getaltar6 = getThingfromPos(altar6) switchUID= 10102 -- UID da Alavanca switchID = 1945 -- ID da Alavanca switch2ID = 1946 -- ID da Alavanca após utilizada item1 = 1111 -- Item de sacrificio 1 item2 = 1111 -- Item de sacrificio 2 item3 = 1111 -- Item de sacrificio 3 item4 = 1111 -- Item de sacrificio 4 item5 = 1111 -- Item de sacrificio 5 item6 = 1111 -- Item de sacrificio 6 tpto = {x = 111, y = 111, z = 1, stackpos = 1} -- Aonde o player será teleportado -- if item.uid == switchUID and item.itemid == switchID and getaltar1.itemid == item1 and getaltar2.itemid == item2 and getaltar3.itemid == item3 and getaltar4.itemid == item4 and getaltar5.itemid == item5 and getaltar6.itemid == item6 then doSendMagicEffect(cid, 2) doTeleportThing(cid, tpto) doSendMagicEffect(tpto, 10) doRemoveItem(getaltar1.uid, 1) doRemoveItem(getaltar2.uid, 1) doRemoveItem(getaltar3.uid, 1) doRemoveItem(getaltar4.uid, 1) doRemoveItem(getaltar5.uid, 1) doRemoveItem(getaltar6.uid, 1) elseif item.uid == switchUID and item.itemid == switch2ID then doTransformItem(item.uid, item.itemid-1) else doPlayerSendCancel(cid, "Desculpe, você precisa colocar os items corretos nos altares.") end return false return true end Em actions XML você vai adicionar <action uniqueid="1111" script="exemplo.lua"/> Aonde é "1111" é o uniqueID da alavanca. Espero ter ajudado Está dando um erro de função.
Postado Janeiro 28, 2018 7 anos Solução Opa, testa agora meu bom function onUse(cid, item, frompos, item2, topos) -- POSIÇÃO DOS ALTARES -- altar1 = {x = 111, y = 111, z = 1, stackpos = 1} -- ALTAR 1 -- getaltar1 = getThingfromPos(altar1) altar2 = {x = 222, y = 222, z = 2, stackpos = 1} -- ALTAR 2 -- getaltar2 = getThingfromPos(altar2) altar3 = {x = 333, y = 333, z = 3, stackpos = 1} -- ALTAR 3 -- getaltar3 = getThingfromPos(altar2) altar4 = {x = 444, y = 444, z = 4, stackpos = 1} -- ALTAR 4 -- getaltar4 = getThingfromPos(altar3) altar5 = {x = 555, y = 555, z = 5, stackpos = 1} -- ALTAR 5 -- getaltar5 = getThingfromPos(altar4) altar6 = {x = 666, y = 666, z = 6, stackpos = 1} -- ALTAR 6 -- getaltar6 = getThingfromPos(altar6) switchUID= 10102 -- UID da Alavanca switchID = 1945 -- ID da Alavanca switch2ID = 1946 -- ID da Alavanca após utilizada item1 = 1111 -- Item de sacrificio 1 item2 = 1111 -- Item de sacrificio 2 item3 = 1111 -- Item de sacrificio 3 item4 = 1111 -- Item de sacrificio 4 item5 = 1111 -- Item de sacrificio 5 item6 = 1111 -- Item de sacrificio 6 tpto = {x = 111, y = 111, z = 1, stackpos = 1} -- Aonde o player será teleportado -- if item.uid == switchUID and item.itemid == switchID and getaltar1.itemid == item1 and getaltar2.itemid == item2 and getaltar3.itemid == item3 and getaltar4.itemid == item4 and getaltar5.itemid == item5 and getaltar6.itemid == item6 then doSendMagicEffect(cid, 2) doTeleportThing(cid, tpto) doSendMagicEffect(tpto, 10) doRemoveItem(getaltar1.uid, 1) doRemoveItem(getaltar2.uid, 1) doRemoveItem(getaltar3.uid, 1) doRemoveItem(getaltar4.uid, 1) doRemoveItem(getaltar5.uid, 1) doRemoveItem(getaltar6.uid, 1) elseif item.uid == switchUID and item.itemid == switch2ID then doTransformItem(item.uid, item.itemid-1) else doPlayerSendCancel(cid, "Desculpe, você precisa colocar os items corretos nos altares.") end return true end ! No signature.
Postado Janeiro 29, 2018 7 anos Autor 17 horas atrás, egyptPOWER disse: Opa, testa agora meu bom function onUse(cid, item, frompos, item2, topos) -- POSIÇÃO DOS ALTARES -- altar1 = {x = 111, y = 111, z = 1, stackpos = 1} -- ALTAR 1 -- getaltar1 = getThingfromPos(altar1) altar2 = {x = 222, y = 222, z = 2, stackpos = 1} -- ALTAR 2 -- getaltar2 = getThingfromPos(altar2) altar3 = {x = 333, y = 333, z = 3, stackpos = 1} -- ALTAR 3 -- getaltar3 = getThingfromPos(altar2) altar4 = {x = 444, y = 444, z = 4, stackpos = 1} -- ALTAR 4 -- getaltar4 = getThingfromPos(altar3) altar5 = {x = 555, y = 555, z = 5, stackpos = 1} -- ALTAR 5 -- getaltar5 = getThingfromPos(altar4) altar6 = {x = 666, y = 666, z = 6, stackpos = 1} -- ALTAR 6 -- getaltar6 = getThingfromPos(altar6) switchUID= 10102 -- UID da Alavanca switchID = 1945 -- ID da Alavanca switch2ID = 1946 -- ID da Alavanca após utilizada item1 = 1111 -- Item de sacrificio 1 item2 = 1111 -- Item de sacrificio 2 item3 = 1111 -- Item de sacrificio 3 item4 = 1111 -- Item de sacrificio 4 item5 = 1111 -- Item de sacrificio 5 item6 = 1111 -- Item de sacrificio 6 tpto = {x = 111, y = 111, z = 1, stackpos = 1} -- Aonde o player será teleportado -- if item.uid == switchUID and item.itemid == switchID and getaltar1.itemid == item1 and getaltar2.itemid == item2 and getaltar3.itemid == item3 and getaltar4.itemid == item4 and getaltar5.itemid == item5 and getaltar6.itemid == item6 then doSendMagicEffect(cid, 2) doTeleportThing(cid, tpto) doSendMagicEffect(tpto, 10) doRemoveItem(getaltar1.uid, 1) doRemoveItem(getaltar2.uid, 1) doRemoveItem(getaltar3.uid, 1) doRemoveItem(getaltar4.uid, 1) doRemoveItem(getaltar5.uid, 1) doRemoveItem(getaltar6.uid, 1) elseif item.uid == switchUID and item.itemid == switch2ID then doTransformItem(item.uid, item.itemid-1) else doPlayerSendCancel(cid, "Desculpe, você precisa colocar os items corretos nos altares.") end return true end ! Obrigado brother 100% 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.