Ir para conteúdo
  • 0

[Resolvido] Spell que Imobilzia


Vorkhon

Pergunta

Fala pessoal! Eu to querendo uma spell que de dano em area, transforma em objeto e deixa imobilizado. Não quero usar o paralyze pq é muito ruim, quero 100% imovel por 5 segundos. Segue meu script que ta ruim em anexo:

 

 

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 1
Spoiler

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
local condition = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition, CONDITION_PARAM_TICKS, 6000)
for i = 5474, 5474 do
addOutfitCondition(condition, {lookTypeEx = i})
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -60, -1, -60, 5, 5, 4, 7)
end
setCombatCondition(combat, condition)


function VorkhonParar(cid)
if isCreature(cid) == false then
return false
end
doCreatureSetNoMove(cid, true)
end

function VorkhonMover(cid)
if isCreature(cid) == false then
return false
end
doCreatureSetNoMove(cid, false)
end





function onCastSpell(cid, var)
local target = getCreatureTarget(cid)
VorkhonParar(target)
addEvent(VorkhonMover, 6 * 1000, target)
return doCombat(cid, combat, var)
end

 

 

 

Testa dessa forma.

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

  • 0

para paralizar você pode usar a função.

doCreatureSetNoMove(cid, true)

True paraliza, false desparaliza.

você varia entre os alvos no Cid, cid vai apralizar vc usa um target como getCreatureTarget(cid) que ira paralizar seu target. 

No final faça um retorno pra poder desparalizar seu personagem depois de um tempo. 

Link para o comentário
Compartilhar em outros sites

  • 0
8 horas atrás, koete disse:

para paralizar você pode usar a função.


doCreatureSetNoMove(cid, true)

True paraliza, false desparaliza.

você varia entre os alvos no Cid, cid vai apralizar vc usa um target como getCreatureTarget(cid) que ira paralizar seu target. 

No final faça um retorno pra poder desparalizar seu personagem depois de um tempo. 

Funcionou amigo! Mas só uma coisa. Se o alvo morre, ele tenta "desparalizar" e acaba desparalizando o nada e da um errinho na distro, tem como fazer isso não acontecer?

Link para o comentário
Compartilhar em outros sites

  • 0

Usa isso em seu script, pra na hora que ele for retornar ele vai checar antes se ainda há a criatura se não houver então ele vai retornar false e não vai dar o erro.

if isCreature(cid) == false then
return false
end

 

Link para o comentário
Compartilhar em outros sites

  • 0
5 horas atrás, koete disse:

Usa isso em seu script, pra na hora que ele for retornar ele vai checar antes se ainda há a criatura se não houver então ele vai retornar false e não vai dar o erro.


if isCreature(cid) == false then
return false
end

 

Cara eu não manjo muito onde colocar direitinho. Mas botei em varios lugares e não ta dando certo. Eu entendi a logica do código, mas não ta dando. No creature cid não tem que especifica nada? Minha spell eu fiz de target ao inves de wave, nao sei se muda algo. Segue como eu fiz:
 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
local condition = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition, CONDITION_PARAM_TICKS, 6000)
for i = 5474, 5474 do
addOutfitCondition(condition, {lookTypeEx = i})
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -60, -1, -60, 5, 5, 4, 7)
end
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
local target = getCreatureTarget(cid)
if isCreature(cid) == false then
return false
end
doCreatureSetNoMove(target, true)
addEvent(doCreatureSetNoMove, 6 * 1000, target, false)
return doCombat(cid, combat, var)
end

 

Link para o comentário
Compartilhar em outros sites

  • 0
8 horas atrás, koete disse:
  Ocultar conteúdo


local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
local condition = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition, CONDITION_PARAM_TICKS, 6000)
for i = 5474, 5474 do
addOutfitCondition(condition, {lookTypeEx = i})
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -60, -1, -60, 5, 5, 4, 7)
end
setCombatCondition(combat, condition)


function VorkhonParar(cid)
if isCreature(cid) == false then
return false
end
doCreatureSetNoMove(cid, true)
end

function VorkhonMover(cid)
if isCreature(cid) == false then
return false
end
doCreatureSetNoMove(cid, false)
end





function onCastSpell(cid, var)
local target = getCreatureTarget(cid)
VorkhonParar(target)
addEvent(VorkhonMover, 6 * 1000, target)
return doCombat(cid, combat, var)
end

 

 

 

Testa dessa forma.

Maravilha! Funcionou amigo!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...