Postado Setembro 23, 2020 4 anos Fala pessoal. Eu quero fazer uma spell que faz uma wave, da dano, transforma quem atingir em um item, e deixe imóvel e mutado por 5 segundos. Por enquanto estou usando paralyze, mas acho muito ruim, pois pode ser curado ai fica o item andando. Segue o código que eu tenho: local combat, area = createCombatObject(), createCombatArea(AREA_BEAM6,AREADIAGONAL_BEAM6) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatArea(combat, area) local condition = createConditionObject(CONDITION_OUTFIT) setConditionParam(condition, CONDITION_PARAM_TICKS, 12000) for i = 5474, 5474 do addOutfitCondition(condition, {lookTypeEx = i}) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA) local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 12000) setConditionParam(condition, CONDITION_PARAM_SPEED, -700) setCombatCondition(combat, condition) 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) return doCombat(cid, combat, var) end
Postado Setembro 24, 2020 4 anos Cara, não entendo muito de script mas uso assim local target = getCreatureTarget(cid) doCreatureSetNoMove(target, true) addEvent(doCreatureSetNoMove, 3 * 1000, target, false) Editado Setembro 24, 2020 4 anos por diarmaint (veja o histórico de edições)
Postado Setembro 24, 2020 4 anos Autor 14 horas atrás, diarmaint disse: Cara, não entendo muito de script mas uso assim local target = getCreatureTarget(cid) doCreatureSetNoMove(target, true) addEvent(doCreatureSetNoMove, 3 * 1000, target, false) Não deu, mas é quase isso cara. Esse target eu acho que só funciona para spells tipo "exori flam" que precisam do target. Tem que fazer ele entender que o target é quem levou o hit pela wave. Acredito que seja um detalhezinho que falta. Para usar o seu por enquanto estou usando needtarget="1", mas isso fica meio estranho. EDIT: To testando ela aqui e tem um erro dando na distro quando o monstro morre. Tipo se tu mata com a spell assim como ta ele procura onde ta a criatura para tirar o NotMove mas não encontra. Tem como arrumar isso? [24/9/2020 13:3:49] In a timer event called from: [24/9/2020 13:3:49] data/spells/scripts/especial/teste.lua:onCastSpell [24/9/2020 13:3:49] Description: [24/9/2020 13:3:49] (luaDoCreatureSetNoMove) Creature not found Olha como ficou o script: local combat, area = createCombatObject(), createCombatArea(AREA_BEAM6,AREADIAGONAL_BEAM6) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatArea(combat, area) 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_EFFECT, CONST_ME_EXPLOSIONAREA) local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 6000) setConditionParam(condition, CONDITION_PARAM_SPEED, -700) setCombatCondition(combat, condition) 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) doCreatureSetNoMove(target, true) addEvent(doCreatureSetNoMove, 6 * 1000, target, false) return doCombat(cid, combat, var) end Editado Setembro 24, 2020 4 anos por Vorkhon (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.