Ir para conteúdo
  • 0

Spell de travar


Allangod

Pergunta

Gostaria de uma spell que ao usá-la sairia um ataque com area 5x5, e quem for atingido ficará com o efeito 51 em seu corpo durante 10 seg e durante esse tempo (10seg) ficasse impossibilitado de se mover. Essa spell teria um cooldown de 20segundos.

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Vou fazer, pera aí...


Fiz:

 

VQm5HQc.png

 

crie um arquivo.lua em (spells/scripts)

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_NONE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)


local area1 = {
	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
	{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
	{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
}

local area = createCombatArea(area1, AREADIAGONAL_SQUAREWAVE5)
setCombatArea(combat, area)

function onCastSpell(cid, var)

local time = 10
local ppos = getThingPos(cid)

for x = (ppos.x - 5), (ppos.x + 5) do
    for y = (ppos.y - 5), (ppos.y + 5) do 
        local pos = {x = x, y = y, z = ppos.z}
        if isPlayer(getTopCreature(pos).uid) and (getTopCreature(pos).uid ~= cid) and not getTileInfo(pos).protection then
            doCreatureSetNoMove(getTopCreature(pos).uid, true)
            doPlayerSendTextMessage(getTopCreature(pos).uid, MESSAGE_EVENT_ADVANCE, "Voce foi preso por uma magia, voce sera solto em " .. time .." segundos." )
            addEvent(doCreatureSetNoMove, 1000*time, getTopCreature(pos).uid, false)
            for t = 1, time do
                 addEvent(doSendMagicEffect,1000 * t,pos, 51)
            end
        end
    end
end
    return doCombat(cid, combat, var)        
end

 

 

Adicione essa tag em (spells.xml)

<instant name="travarr" words="trave" lvl="0" mana="0" prem="0" selftarget="1" exhaustion="20000" needlearn="0" script="arquivo.lua">
</instant>

Não se esqueça de alterar a tag, como você quiser, coloquei o tempo de exhaust de 20 segundos na tag.

 


Use com sabedoria.


AAAA, só adicionando, na minha sincera opinião, 5x5 é muito, uma magia potente dessa, deveria ser no máximo 2x2.

Editado por Caronte
Link para o comentário
Compartilhar em outros sites

  • 0

 

Qual é o seu executável?

testei aqui, e tá funcionando.

TFS 0.3.6

Que nem eu disse, ela funfa mas se o player estiver com follow attack, o follow não vai interromper (Ele não vai poder se mexer mas o follow attack não vai ser interrompido).

Link para o comentário
Compartilhar em outros sites

  • 0

Ué, mas isso não fazia parte da spell,

Quanto ao follow attack, ele não vai sair, a menos que crie uma função nas sources para tirar follow, pois só existe a de colocar follow.

Link para o comentário
Compartilhar em outros sites

  • 0

Então mano, se um knight tiver na minha cola no follow attack, a spell não vai servir de nada.

Pois ele continuará se "movimentando", legal seria se ele tivesse me batendo de perto e eu usa-se a spell pra fugir dele, entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

Então mano, se um knight tiver na minha cola no follow attack, a spell não vai servir de nada.

Pois ele continuará se "movimentando", legal seria se ele tivesse me batendo de perto e eu usa-se a spell pra fugir dele, entendeu?

 

 

ué, é só você andar para fora da tela, que ele não vai seguir mais...

Link para o comentário
Compartilhar em outros sites

  • 0

 

 

ué, é só você andar para fora da tela, que ele não vai seguir mais...

Você não entendeu, não tem como eu andar pra fora da tela, pois se ele tiver atrás de mim (com follow attack) e eu usar a spell, ele continuará atrás de mim (a spell só está travando quem não está com follow attack em alguém).

Exemplo: 1)Você está com follow attack em mim, daí quero usar a spell pra você ficar travado para que eu possa fugir. Ao usar a spell, ela não surgirá efeito em você pois está com follow attack em mim. 2) Agora se você NÃO estiver com follow attack em mim, e eu usar a spell, você não conseguirá usar o follow pois estará travado. Isso que estou querendo te explicar, eu gostaria de que arrumasse isso (o nº 1), gostaria de que ele ficasse paradinho (não precisa tirar o target, queria que simplesmente não conseguisse mais se mover) mas que ele não conseguisse mais ir atrás do player.

EDIT: Mas de qualquer forma, muito obrigado.

Editado por Allangod
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...