Postado Agosto 8, 2014 10 anos Tenta aí, fiz de cabeça, porque estou no trabalho. local combat = {} local area = { [1] = { {3}, }, [2] = { {1, 1, 1}, {0, 2, 0}, }, [3] = { {1, 1, 1, 1, 1}, {0, 0, 0, 0, 0}, {0, 0, 2, 0, 0}, }, [4] = { {1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 2, 0, 0, 0}, }, } area[5] = area[3] area[6] = area[2] area[7] = area[1] for i = 1, 7 do combat[i] = createCombatObject() setCombatParam(combat[i], COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat[i], COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) if i == 1 then setCombatParam(combat[i], COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) end setCombatFormula(combat[i], COMBAT_FORMULA_LEVELMAGIC, -2, -5, -2, -5) setCombatArea(combat[i], createCombatArea(area[i])) end function callback_spell(cid, var) for i = 1, 7 do local delay = (i * 100) - 100 addEvent(function() doCombat(cid, combat[i], var) end, delay) end end function onCastSpell(cid, var) callback_spell(cid, var) return true end Editado Agosto 8, 2014 10 anos por Garou (veja o histórico de edições)
Postado Agosto 8, 2014 10 anos Autor Continua mudando direção após andar depois que solta a spell. Ex: Solto pra cima, ando pra ca >, ela vira o resto da spell pra la <. Por isso fiz o pedido do nomove.
Postado Agosto 8, 2014 10 anos Vê aí se isso abaixo resolve Se não, só quando eu chegar em casa P.S: Particularmente prefiro resolver sem apelar para doCreatureSetNoMove local combat = {} local area = { [1] = { {3}, }, [2] = { {1, 1, 1}, {0, 2, 0}, }, [3] = { {1, 1, 1, 1, 1}, {0, 0, 0, 0, 0}, {0, 0, 2, 0, 0}, }, [4] = { {1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 2, 0, 0, 0}, }, } area[5] = area[3] area[6] = area[2] area[7] = area[1] for i = 1, 7 do combat[i] = createCombatObject() setCombatParam(combat[i], COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat[i], COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) if i == 1 then setCombatParam(combat[i], COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) end setCombatFormula(combat[i], COMBAT_FORMULA_LEVELMAGIC, -2, -5, -2, -5) setCombatArea(combat[i], createCombatArea(area[i])) end function callback_spell(cid, var) for i = 1, 7 do local delay = (i * 100) - 100 addEvent(function() doCombat(cid, combat[i], var) end, delay) end end function onCastSpell(cid, var) local position = getCreatureLookPosition(cid) callback_spell(cid, positionToVariant(position)) return true end Editado Agosto 8, 2014 10 anos por Garou (veja o histórico de edições)
Postado Agosto 8, 2014 10 anos Autor Mesmo bug. Um fato interessante: Quando solto pra lá >, se eu dou mais um passo pra la > ele desce \/, e se eu dou outro passo ele muda pra la <
Postado Agosto 8, 2014 10 anos É meio chato isso mesmo, eu lembro que eu consegui arrumar isso fazendo um sistema de magias com doAreaCombatHealth, sem usar createCombatObject e setCombatArea. Vou deixar a treta para programadores mais experientes. Abraços. Editado Agosto 8, 2014 10 anos por Garou (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.