NA
pedido

Spell teleport

Por narutomaniacos, 19 de ago. de 2015 em Scripts

21
5.7k
Animal PakA
20 de agosto de 2015 às 21:39

Zipter só pra avisar se o monstro ou jogador estiver do lado de uma parede o personagem que usou a spell fica bugado no lugar..

zipter98Z
20 de agosto de 2015 às 22:15

@narutomaniacos

O efeito de risco não é algo proposital do código. Muito provavelmente é algum problema do seu servidor. Se preferir, pode deixar sem efeito configurado para que os riscos simulem um vulto do jogador.

@Animal Pak

Se a próxima posição de teleporte do jogador não for andável, o código vai rodar toda a tabela a procura de uma posição viável. Se não encontrá-la (o que significa que esta seria a 4ª posição - logo, a última), o efeito da spell acaba.

Testei a magia algumas vezes e, em todas, ela funcionou perfeitamente.

Editado Agosto 20 por zipter98

narutomaniacosN
20 de agosto de 2015 às 22:49

esse dos riscos era exatamente a que eu queria talvez esteja configurado para ser a outfit "invisible", bom caso não dê pra ir para nenhuma diagonal do alvo ele ira bugar(travar com outfit do efeito e não vai poder andar)

Resolvi o problema adicionando todos os sqm ao redor do player

local posis = {
        {x = pos.x + 1, y = pos.y + 1, z = pos.z},
        {x = pos.x + 1, y = pos.y - 1, z = pos.z},
        {x = pos.x - 1, y = pos.y + 1, z = pos.z},
        {x = pos.x - 1, y = pos.y - 1, z = pos.z},
        {x = pos.x, y = pos.y - 1, z = pos.z},
        {x = pos.x, y = pos.y + 1, z = pos.z},
        {x = pos.x + 1, y = pos.y, z = pos.z},
        {x = pos.x - 1, y = pos.y, z = pos.z}
    }

Antes de fechar o tópico há alguma maneira de deixar o player em exausted por 5 segundos depois de usar essa spell,tipo ele não vai poder usar nenhuma spell por 5 segundos?

Editado Agosto 20 por narutomaniacos

zipter98Z
21 de agosto de 2015 às 15:20

Este erro que você citou não aconteceu comigo, mas w/e.

E sim. Basta colocar isso:

setPlayerStorageValue(cid, 9181, os.time() + 5)

Acima de:

doAddCondition(cid, invisibility)

E para bloquear o uso de spells, você tem duas opções: fazê-lo diretamente nas sources ou em Lua mesmo, adicionando a seguinte condição abaixo do callback onCastSpell de outras magias:

if getPlayerStorageValue(cid, 9181) > os.time() then
    return doPlayerSendCancel(cid, "Wait "..getPlayerStorageValue(cid, 9181) - os.time().." second(s) to use this spell again.")
end

Editado Agosto 21 por zipter98

narutomaniacosN
22 de agosto de 2015 às 14:49

Não consegui por o storage mas o tópico foi resolvido,muito obrigado.

LumusL
22 de agosto de 2015 às 15:17

Dúvida sanada.

 

Tópico movido.