Postado Abril 9, 2020 5 anos Olá a todos, primeiramente quem puder me ajudar eu agradeço de mais. Eu tenho essa spell (Shunshin Teleport) que funciona assim: Um player usa e é marcada a Kunai no chão que, apos de 10 segundos se usar novamente o Jutsu ela volta pro lugar onde ele usou. ( super funcional ), porem descobri um 2 bug's. 1º Que consiste em se um player usar dentro de uma porta e voltar pra onde usou a porta/items/paredes que estiver de baixo somem. 2º Quando outra pessoa da mesma vocação usa o Jutsu, a segunda pessoa pode voltar na kunai que foi criada por essa primeira pessoa. Se puderem me ajudar +REP.. OBS: Estou procurando Scripts Profissionais para fazer algumas coisas pra mim* Jutsu: local slots = { slot_01 = {}, } local block = { -- Areas bloquadas [1] = {{x = 978, y = 910, z = 7}, {x = 995, y = 919, z = 7}}, [2] = {{x = 978, y = 900, z = 7}, {x = 992, y = 906, z = 7}}, [3] = {{x = 961, y = 884, z = 7}, {x = 974, y = 893, z = 7}}, [4] = {{x = 1081, y = 918, z = 7}, {x = 1094, y = 923, z = 7}}, [5] = {{x = 2199, y = 1617, z = 7}, {x = 2207, y = 1626, z = 7}}, [6] = {{x = 1057, y = 750, z = 7}, {x = 1082, y = 768, z = 7}}, [7] = {{x = 1152, y = 731, z = 7}, {x = 1168, y = 740, z = 7}}, } local time = 10 local itemid = 11615 -- ID da Kunai, lembrando que o item não poderá ser movido. local storage = 23432 local waittime = 30 -- Exhaust, in seconds. function onCastSpell(cid, var) local pos = {x = getCreaturePosition(cid).x, y = getCreaturePosition(cid).y, z = getCreaturePosition(cid).z, stackpos = getCreaturePosition(cid).stackpos} -- Não mecha aqui, nem para configurar as posições do effect. if getTileInfo(getThingPos(cid)).protection then doPlayerSendCancel(cid, "You can't cast in ProtectionZone.") return false end if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Exhaustion, espere 30 segundos para usar novamente ...") return false end for a, b in pairs(block) do if isInArea(pos, b[1], b[2]) then doPlayerSendTextMessage(cid, 20, "Voce nao pode usar nesse area.") return false end end if var.string == "1" then if table.getn(slots.slot_01) == 0 then table.insert(slots.slot_01, pos) doPlayerSendTextMessage(cid, 25, "Voce Marcou o Selo da kunai - 10 Segundos Para Desaparecer !!") doCreateItem(itemid, pos) addEvent(function() if isCreature(cid) then doPlayerSendTextMessage(cid, 25, "O Selo da Kunai Se Foi.") end end, time * 1000) addEvent(function() doCleanTile(pos) end, time * 1000) addEvent(doSendMagicEffect, time * 1000, pos, 2) addEvent(table.remove, time * 1000, slots.slot_01) else doTeleportThing(cid, slots.slot_01[1]) doPlayerSendTextMessage(cid, 27, "Shunshin Teleport!") doSendMagicEffect(getCreaturePosition(cid), 269) exhaustion.set(cid, storage, waittime) end else doPlayerSendTextMessage(cid, 27, "Utilize: Hiraishin Kunai No Jutsu-Numero do Selo. - EX Hiraishin Kunai No Jutsu 1") end end Editado Abril 9, 2020 5 anos por leozincorsair esqueci de linkar (veja o histórico de edições)
Postado Abril 25, 2020 5 anos Solução @leozincorsair Spoiler local slots = {} slots.slots_01 = {} local block = { -- Areas bloquadas [1] = {{x = 978, y = 910, z = 7}, {x = 995, y = 919, z = 7}}, [2] = {{x = 978, y = 900, z = 7}, {x = 992, y = 906, z = 7}}, [3] = {{x = 961, y = 884, z = 7}, {x = 974, y = 893, z = 7}}, [4] = {{x = 1081, y = 918, z = 7}, {x = 1094, y = 923, z = 7}}, [5] = {{x = 2199, y = 1617, z = 7}, {x = 2207, y = 1626, z = 7}}, [6] = {{x = 1057, y = 750, z = 7}, {x = 1082, y = 768, z = 7}}, [7] = {{x = 1152, y = 731, z = 7}, {x = 1168, y = 740, z = 7}}, } local time = 10 local itemid = 11615 -- ID da Kunai, lembrando que o item não poderá ser movido. local storage = 23432 local waittime = 30 -- Exhaust, in seconds. local function removeItemByPos(position, id) -- Função pra remover somente a kunai no sqm if getTileItemById(position, id).itemid == 0 then return nil end for i = 0, 255 do local pos = getThingFromPos({x=position.x, y=position.y, z=position.z, stackpos=i}) if pos.itemid == id then return(doRemoveItem(pos.uid, 1)) end end end function onCastSpell(cid, var) local pos = {x = getCreaturePosition(cid).x, y = getCreaturePosition(cid).y, z = getCreaturePosition(cid).z, stackpos = getCreaturePosition(cid).stackpos} -- Não mecha aqui, nem para configurar as posições do effect. if getTileInfo(getThingPos(cid)).protection then doPlayerSendCancel(cid, "You can't cast in ProtectionZone.") return false end if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Exhaustion, espere 30 segundos para usar novamente ...") return false end for a, b in pairs(block) do if isInArea(pos, b[1], b[2]) then doPlayerSendTextMessage(cid, 20, "Voce nao pode usar nesse area.") return false end end if var.string == "1" then if slots.slots_01[cid] == nil then slots.slots_01[cid] = pos doPlayerSendTextMessage(cid, 25, "Voce Marcou o Selo da kunai - 10 Segundos Para Desaparecer !!") doCreateItem(itemid, pos) addEvent(function() if isCreature(cid) then doPlayerSendTextMessage(cid, 25, "O Selo da Kunai Se Foi.") end end, time * 1000) addEvent(function() removeItemByPos(pos, itemid) end, time * 1000) addEvent(doSendMagicEffect, time * 1000, pos, 2) addEvent(function() slots.slots_01[cid] = nil end, time * 1000) else doTeleportThing(cid, slots.slots_01[cid]) doPlayerSendTextMessage(cid, 27, "Shunshin Teleport!") doSendMagicEffect(getCreaturePosition(cid), 269) exhaustion.set(cid, storage, waittime) end else doPlayerSendTextMessage(cid, 27, "Utilize: Hiraishin Kunai No Jutsu-Numero do Selo. - EX Hiraishin Kunai No Jutsu 1") end end
Postado Abril 25, 2020 5 anos Autor 8 horas atrás, 139 disse: @leozincorsair Mostrar conteúdo oculto local slots = {} slots.slots_01 = {} local block = { -- Areas bloquadas [1] = {{x = 978, y = 910, z = 7}, {x = 995, y = 919, z = 7}}, [2] = {{x = 978, y = 900, z = 7}, {x = 992, y = 906, z = 7}}, [3] = {{x = 961, y = 884, z = 7}, {x = 974, y = 893, z = 7}}, [4] = {{x = 1081, y = 918, z = 7}, {x = 1094, y = 923, z = 7}}, [5] = {{x = 2199, y = 1617, z = 7}, {x = 2207, y = 1626, z = 7}}, [6] = {{x = 1057, y = 750, z = 7}, {x = 1082, y = 768, z = 7}}, [7] = {{x = 1152, y = 731, z = 7}, {x = 1168, y = 740, z = 7}}, } local time = 10 local itemid = 11615 -- ID da Kunai, lembrando que o item não poderá ser movido. local storage = 23432 local waittime = 30 -- Exhaust, in seconds. local function removeItemByPos(position, id) -- Função pra remover somente a kunai no sqm if getTileItemById(position, id).itemid == 0 then return nil end for i = 0, 255 do local pos = getThingFromPos({x=position.x, y=position.y, z=position.z, stackpos=i}) if pos.itemid == id then return(doRemoveItem(pos.uid, 1)) end end end function onCastSpell(cid, var) local pos = {x = getCreaturePosition(cid).x, y = getCreaturePosition(cid).y, z = getCreaturePosition(cid).z, stackpos = getCreaturePosition(cid).stackpos} -- Não mecha aqui, nem para configurar as posições do effect. if getTileInfo(getThingPos(cid)).protection then doPlayerSendCancel(cid, "You can't cast in ProtectionZone.") return false end if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Exhaustion, espere 30 segundos para usar novamente ...") return false end for a, b in pairs(block) do if isInArea(pos, b[1], b[2]) then doPlayerSendTextMessage(cid, 20, "Voce nao pode usar nesse area.") return false end end if var.string == "1" then if slots.slots_01[cid] == nil then slots.slots_01[cid] = pos doPlayerSendTextMessage(cid, 25, "Voce Marcou o Selo da kunai - 10 Segundos Para Desaparecer !!") doCreateItem(itemid, pos) addEvent(function() if isCreature(cid) then doPlayerSendTextMessage(cid, 25, "O Selo da Kunai Se Foi.") end end, time * 1000) addEvent(function() removeItemByPos(pos, itemid) end, time * 1000) addEvent(doSendMagicEffect, time * 1000, pos, 2) addEvent(function() slots.slots_01[cid] = nil end, time * 1000) else doTeleportThing(cid, slots.slots_01[cid]) doPlayerSendTextMessage(cid, 27, "Shunshin Teleport!") doSendMagicEffect(getCreaturePosition(cid), 269) exhaustion.set(cid, storage, waittime) end else doPlayerSendTextMessage(cid, 27, "Utilize: Hiraishin Kunai No Jutsu-Numero do Selo. - EX Hiraishin Kunai No Jutsu 1") end end Obrigado mano, me ajudou muito, Perfeito !!
Postado Abril 28, 2020 5 anos Eu peguei o script criei uma .lua chamado (Shunshin Teleport.lua) coloquei em data/spells/script/minato. Coloquei dentro da pasta do minato e fui em Spells.xml fui lá na aba dos atks do minato e coloquei assim: <instant name="Hiraishin Kunai No Jutsu" words="Hiraishin Kunai No Jutsu" aggressive="0" selftarget="1" lvl="700" mana="1000" exhaustion="1500" event="script" value="Minato/Shunshin Teleport.lua"> <vocation id="154"/> <vocation id="155"/> <vocation id="156"/> <vocation id="157"/> <vocation id="158"/> <vocation id="159"/> <vocation id="160"/> <vocation id="161"/> <vocation id="162"/> <vocation id="163"/> </instant> salvei tudo e liguei meu nto quando eu entro lá e vejo, BANG realmente a magia está lá mas quando eu uso ela aparece a seguinte mensagem ( 13:28 Utilize: Hiraishin Kunai No Jutsu-Numero do Selo. - EX Hiraishin Kunai No Jutsu 1 ) Então eu falei o que a mensagem me dizia falei " Hiraishin Kunai No Jutsu 1 " e nada aconteceu, simplesmente o char falou a magia como se fossem palavras normais de uma conversa ingame, queria pedir ajuda a alguem mais experiente que possa me ajudar nisso, eu não sei de muita coisa de nto. minha versão é 8.54 dou +REP se alguem conseguir me ajudar.
Postado Abril 28, 2020 5 anos @Renan Gerson tente usar o xml assim esta assim no meu e funciona <instant name="Hiraishin no Jutsu Seal" words="hiraishin no jutsu seal" lvl="18" mana="1" prem="1" aggressive="0" params="1" exhaustion="500" needlearn="0" event="script" value="minatons/seal1.lua"> <vocation id="0"/> </instant> Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas. discord.gg/phJZeHa2k4 Projeto ATS (Naruto) Informações Abaixo Facebook Youtube Discord Tutoriais / Conteúdos Clique Aqui
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.