[Resolvido] Spell que Imobilzia

Vorkhon
em Resolvidos

Vorkhon

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/08/20Posts: 52

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:

 

 

koete

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 06/02/13Posts: 132Char no Tibia: Koete

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. 

Vorkhon

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/08/20Posts: 52
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?

koete

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 06/02/13Posts: 132Char no Tibia: Koete

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

 

Vorkhon

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/08/20Posts: 52
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

 

koete

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 06/02/13Posts: 132Char no Tibia: Koete
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.

Vorkhon

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/08/20Posts: 52
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!

Deadpool

!!!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/10/11Posts: 2175Gênero: MasculinoChar no Tibia: Sociopata
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

 

 

 

 

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

Deadpool

!!!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/10/11Posts: 2175Gênero: MasculinoChar no Tibia: Sociopata

Tópico movido de Suporte > OTServ > Scripts para Suporte > OTServ > Resolvidos.

Fique atento às regras do fórum. 

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

 

 

 

 

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.