Postado Novembro 7, 2019 5 anos Ola,estou com um problema na script da spell Doton prision,onde o player usa a spell e aparece paredes em volta do alvo,as paredes aparecem normalmente mas elas nunca somem e ficão bugadas no mapa. Spoiler local remove_time = 5 -- tempo em segundos para remover as magic wall local item_id = 1357 -- id da magic wall function onCastSpell(cid, var) local waittime = 3 -- Tempo de exhaustion em segundos local storage = 10674 -- Storage de Spell, nunca usar a mesma em outra spell, a menos que não queira usar duas spell juntas! if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.") return false end local pos = getThingPosition(getCreatureTarget(cid)) posTile1 = {x=pos.x+1,y=pos.y+1,z=pos.z,stackpos=1} posTile2 = {x=pos.x+1,y=pos.y,z=pos.z,stackpos=1} posTile3 = {x=pos.x+1,y=pos.y-1,z=pos.z,stackpos=1} posTile4 = {x=pos.x,y=pos.y-1,z=pos.z,stackpos=1} posTile5 = {x=pos.x-1,y=pos.y-1,z=pos.z,stackpos=1} posTile6 = {x=pos.x-1,y=pos.y,z=pos.z,stackpos=1} posTile7 = {x=pos.x-1,y=pos.y+1,z=pos.z,stackpos=1} posTile8 = {x=pos.x,y=pos.y+1,z=pos.z,stackpos=1} posAll = {posTile1,posTile2,posTile3,posTile4,posTile5,posTile6,posTile7,posTile8} for i=1, #posAll do if isWalkable(posAll) then doCreateItem(item_id, 1, posAll) end end addEvent(removeItem, remove_time*1000, posAll) exhaustion.set(cid, storage, waittime) return true end function isWalkable(pos, creature, pz, proj) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function removeItem(posAll) for i=1, #posAll do for j=0, 255 do pos_stack = {x=posAll.x,y=posAll.y,z=posAll.z,stackpos=j} removeTile = getThingfromPos(pos_stack) if removeTile.itemid == item_id then doRemoveItem(removeTile.uid) end end end end Se alguem poder ajudar,agradeço desde ja! OBRIGADO A TODOS QUE CONTRIBUIR Editado Novembro 8, 2019 5 anos por REI DAVID Adicionei a scirpt (veja o histórico de edições)
Postado Novembro 7, 2019 5 anos @REI DAVID posta o script para poder ter o devido suporte 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
Postado Novembro 8, 2019 5 anos Autor 5 horas atrás, LeoTK disse: @REI DAVID posta o script para poder ter o devido suporte Pronto editei o post
Postado Novembro 19, 2019 5 anos Crie um arquivo.lua e cole o seguinte: function isWalkable(pos, creature, pz, proj) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onCastSpell(cid, var) if isPlayer(cid) and exhaustion.check(cid, 2728) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, 2728) .. " segundos para usar novamente.") return false end exhaustion.set(cid, 2728, 30) local posa = getThingPosition(getCreatureTarget(cid)) local pos = getThingPosition(getCreatureTarget(cid)) for x = -1,1 do for y = -1,1 do posicao = {x = pos.x + x, y = pos.y + y, z = pos.z} local creature = getTopCreature({x = posicao.x, y = posicao.y, z = posicao.z}) if isWalkable(posicao) and creature.uid == 0 then doCreateItem(1290,1,posicao) end end end addEvent(function() for x = -1,1 do for y = -1,1 do posicao = {x = pos.x + x, y = pos.y + y, z = pos.z} local item = getTileItemById(posicao, 1290).uid if item > 0 then doRemoveItem(item) end end end end,2*1000) return true end
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.