Ir para conteúdo

Fazendo Magias Com Varios Efeitos.


mrsliim

Posts Recomendados

Fiz no meu ot, uma magia com varios efeitos. resolvi postar e ensinar a fazer:

 

Script:

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 11)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.9, -68, -4.9, 109)

 

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, 17)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.9, -68, -4.9, 109)

 

local combat3 = createCombatObject()

setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat3, COMBAT_PARAM_EFFECT, 18)

setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -5.9, -68, -4.9, 109)

 

local combat4 = createCombatObject()

setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat4, COMBAT_PARAM_EFFECT, 34)

setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -5.9, -68, -4.9, 109)

 

local combat5 = createCombatObject()

setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat5, COMBAT_PARAM_EFFECT, 40)

setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -5.9, -68, -4.9, 109)

 

local combat6 = createCombatObject()

setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat6, COMBAT_PARAM_EFFECT, 44)

setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -5.9, -68, -4.9, 109)

 

local combat7 = createCombatObject()

setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat7, COMBAT_PARAM_EFFECT, 52)

setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -5.9, -68, -4.9, 109)

 

local combat8 = createCombatObject()

setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat8, COMBAT_PARAM_EFFECT, 46)

setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -5.9, -68, -4.9, 109)

 

local arr1 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

local arr2 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

local arr3 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

local arr4 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

local arr5 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

local arr6 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

local arr7 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

local arr8 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

 

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

local area3 = createCombatArea(arr3)

local area4 = createCombatArea(arr4)

local area5 = createCombatArea(arr5)

local area6 = createCombatArea(arr6)

local area7 = createCombatArea(arr7)

local area8 = createCombatArea(arr8)

 

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

setCombatArea(combat3, area3)

setCombatArea(combat4, area4)

setCombatArea(combat5, area5)

setCombatArea(combat6, area6)

setCombatArea(combat7, area7)

setCombatArea(combat8, area8)

 

local function onCastSpell1(parameters)

doCombat(parameters.cid, parameters.combat1, parameters.var)

end

 

local function onCastSpell2(parameters)

doCombat(parameters.cid, parameters.combat2, parameters.var)

end

 

local function onCastSpell3(parameters)

doCombat(parameters.cid, parameters.combat3, parameters.var)

end

 

local function onCastSpell4(parameters)

doCombat(parameters.cid, parameters.combat4, parameters.var)

end

 

local function onCastSpell5(parameters)

doCombat(parameters.cid, parameters.combat5, parameters.var)

end

 

local function onCastSpell6(parameters)

doCombat(parameters.cid, parameters.combat6, parameters.var)

end

 

local function onCastSpell7(parameters)

doCombat(parameters.cid, parameters.combat7, parameters.var)

end

 

local function onCastSpell8(parameters)

doCombat(parameters.cid, parameters.combat8, parameters.var)

end

 

function onCastSpell(cid, var)

local parameters = { cid = cid, var = var,combat1 = combat1,combat2 = combat2,combat3 = combat3,combat4 = combat4,combat5 = combat5,combat6 = combat6,combat7 = combat7,combat8 = combat8 }

addEvent(onCastSpell1, 100, parameters)

addEvent(onCastSpell2, 200, parameters)

addEvent(onCastSpell3, 300, parameters)

addEvent(onCastSpell4, 400, parameters)

addEvent(onCastSpell5, 500, parameters)

addEvent(onCastSpell6, 600, parameters)

addEvent(onCastSpell7, 700, parameters)

addEvent(onCastSpell8, 800, parameters)

end

Aqui esta uma Magia Pronta, agora vou ensinar voce a edita-la:

bom para quem tem uma "noçao" de como fazer spells isso aqui fica facil...

Edite as partes:

setCombatParam(combat5, COMBAT_PARAM_EFFECT, Nº efeito)

(Obs¹: Para ver o numero de cada efeito, entem em seu GM digite /z 0, /z 1,/z 2 ... Obs²: cuidado, pois apartir de um numero nao existe efeito e seu server ira cair!) agora é so pegar o numero do efeito que vc gostou e colocar na linha.

(fazer o mesmo em todos os outros efeitos)

Agora, fazendo a Area:

para editar a area da magia, ou de cada efeito, basta ver esses monte de "0" e "1" hehe:

 

local arr8 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

Cada "0" e cada "1" representa um quadrado, onde esta 0 nao ira aparecer "tal" efeito, e onde esta "1" ira aparecer, o numero "2" é onde o player que fez a magia estara. (coloque 1, para que efeito apareça no quadrado tal... e 0 para que nao apareça... agora faça o mesmo em todas as areas.

feito isso. adicione uma linha no seu spells.xml, com:

EXEMPLO:

<instant name="exevo effect" words="exevo effect" lvl="15" maglv="4" soul="0" mana="60" exhaustion="0" prem="1" enabled="1" script="exevo effect.lua"><vocation id="6"/><vocation id="7"/><vocation id="2"/><vocation id="2"/><vocation id="5"/><vocation id="4"/><vocation id="1"/><vocation id="8"/><vocation id="12"/></instant>

Salvar reiniciar seu ot e falar "exevo effect"!

Postem comentarios. espero ter ajudado alguem.

Sliim~

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

  • 1 month later...
Fiz no meu ot, uma magia com varios efeitos. resolvi postar e ensinar a fazer:

 

Script:

 

Aqui esta uma Magia Pronta, agora vou ensinar voce a edita-la:

bom para quem tem uma "noçao" de como fazer spells isso aqui fica facil...

Edite as partes:

 

(Obs¹: Para ver o numero de cada efeito, entem em seu GM digite /z 0, /z 1,/z 2 ... Obs²: cuidado, pois apartir de um numero nao existe efeito e seu server ira cair!) agora é so pegar o numero do efeito que vc gostou e colocar na linha.

(fazer o mesmo em todos os outros efeitos)

Agora, fazendo a Area:

para editar a area da magia, ou de cada efeito, basta ver esses monte de "0" e "1" hehe:

 

 

Cada "0" e cada "1" representa um quadrado, onde esta 0 nao ira aparecer "tal" efeito, e onde esta "1" ira aparecer, o numero "2" é onde o player que fez a magia estara. (coloque 1, para que efeito apareça no quadrado tal... e 0 para que nao apareça... agora faça o mesmo em todas as areas.

feito isso. adicione uma linha no seu spells.xml, com:

EXEMPLO:

 

Salvar reiniciar seu ot e falar "exevo effect"!

Postem comentarios. espero ter ajudado alguem.

Sliim~

 

vai ateh /z 54, no /z 55 (pelo menos no meu server) o tibia fexo

Link para o comentário
Compartilhar em outros sites

Só faltou um detalhesinho: 2 dois define o centro da area, e o 3 também. Porem com o 3, vai aparecer o efeito emcima do player, como o hell's core, e com o 2, nao aparece efeito em cima do player, como no berserk

 

Bloody kisses

Link para o comentário
Compartilhar em outros sites

Como edita o dano da magia?

 

No formula damage:

setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -5.9, -68, -4.9, 109)

o "-5.9" e o -"4.9" é o dano controlado pelo magiclvl e o lvl, nao sei qual é qual. O "-68" e o "109" é o dano, ele vai tirar entre 68 e pode encher até 109 de vida. Se tiver o sinal de - antes do numero, ele vai tirar vida, se nao tiver, ele enche.

 

 

Bloody kisses e espero te ajudado

Link para o comentário
Compartilhar em outros sites

  • 3 years later...
×
×
  • Criar Novo...