Jump to content

Recommended Posts

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.

 

image.thumb.png.20310b9502e2f5f78fc6ea4481f794ee.png
 

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 <3 

Edited by REI DAVID
Adicionei a scirpt (see edit history)
Link to post
Share on other sites

  • Moderator

@REI DAVID posta o script para poder ter o devido suporte

🛠️ Projeto NTO NS 🛠️

📝 Detalhes 📝

🗺️ Mapa próprio em produção 🗺️

🖱️ Versão: 8.60 🖱️

🔥 War System 🔥

⚔️ Jutsus Próprios baseado no anime ⚔️

🔰 Itens com as características e efeitos do anime 🔰

💻 Para mais detalhes acesse as redes sociais do servidor abaixo 💻

💡 Usando como referencias Anime/Jogos/Wallpapers etc... para trazer algo mais próximo possível do universo de Naruto 💡

 

💎 Redes Sociais 💎

🌀 Facebook 🌀

🎒 Youtube 🎒
🌌 Discord 🌌

 

📚 Tutoriais / Conteúdos 📥

♨️ Clique Aqui ♨️

Link to post
Share on other sites

  • 2 weeks later...

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Lethal M
      .Qual servidor ou website você utiliza como base? 
      TFS 1.3  TibiaGlobal 12.60
       
      Qual o motivo deste tópico? 
      Eu comecei a desenvolver um sistema de mudar de vocaçao mas nao tive muito sucesso, será que alguem pode me ajudar? (deve estar horrivel o script)
       
      Eu gostaria que o player digitasse !vocations e aparecesse em ModalWindow 2 opçoes pra ele escolher depenendo da voc que ele for
      EX:
      Sorc>Elementalista ou Necromancer
      Knight>Templar ou Berserker... etc




      talkactions
       
       
      creaturescripts

       
       
       
    • By daniel.braga989
      Olá, Bom Dia, Boa Tarde, Boa Noite, Como vcs estão ? espero que bem.

      Estou com probleminha chato aqui, se alguém poder ajudar, agradeço de coração.

      Seguinte, tenho um projeto OTX 8.60 e não estou conseguindo utilizar a MAGIC WALL no server, toda vez que tento utilizar  aparece uma mensagem de bloqueio dizendo ''' Você não pode utilizar JUTSU EM AREA enquanto estiver RED/BLACK skull''

      Obs: Todas as contas testada não estava pz,red ou black skull, ate no personagem GOOD não consigo utilizar a Magic Wall.

      Obs: Não sei se ajuda, mas Procurei na source e achei 3 arquivo com essa mensagem '''Você não pode usar jutsus de area enquanto estiver Red/Black Skull''

      Arquivos >> ''OTXtarget''   '''player.cpp''  e  ''''player.o''
       
    • By raphado
      .Qual servidor ou website você utiliza como base? Otserv Global 12.51
       
      Qual o motivo deste tópico? Gostaria de diminuir o tempo que o corpo morto do bicho fica no chão, apodrecendo ele mais rápido! Me indicaram o itens.xml acho, mas tem milhares!! Existe algum jeito mais fácil? Obrigado!!
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
         
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
    • By Felippe Reine014
      --- tfs 1.3--
      Pessoal alguém poderia me ajudar com um script de action 
      O script seria para dar atributo em um item exemplo vc usa uma pedra encantada em um item e o item ganha 10% de defesa contra fire por 20 horas e se der look no item aparece o atributo obrigado desde já pessoal.
       
      Você tem o código disponível? Se tiver publique-o aqui: 
         
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
    • By Heitorzera13
      Fala Galera Tranquilo?
      Todas as portas de ga of experience abrem , mas não fecha HELP , não sei por onde começar .. VLW

       
       
       
       
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo