Ir para conteúdo

Nova Magia Druid e Sorcerer


delalana

Posts Recomendados

Duas Novas Spells Para seu OtServ.

 

- Exori Mas Frigo: Vá na pasta meuot/data/spells/scripts/attack

 

- Copie qualquer arquivo e renomeie para Gelo do ceu e cole isso:

 

 

local water = {490, 491, 492, 493}

 

local combat = createCombatObject()

 

local meteor = createCombatObject()

setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(meteor, COMBAT_PARAM_EFFECT, 43)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -9.0, -30, -10.0, 4)

 

local stun = createConditionObject(CONDITION_PARALYZE)

setConditionParam(stun, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(stun, -0.8, 0, -0.9, 0)

setCombatCondition(meteor, stun)

 

 

local meteor_water = createCombatObject()

setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -9.0, -30, -10.0, 4)

 

combat_arr = {

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

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

{0, 0, 0, 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, 1, 3, 1, 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}

}

 

local combat_area = createCombatArea(combat_arr)

setCombatArea(combat, combat_area)

 

local function meteorCast(p)

doCombat(p.cid, p.combat, positionToVariant(p.pos))

end

 

local function stunEffect(cid)

doSendMagicEffect(getThingPos(cid), CONST_ME_STUN)

end

 

function onTargetTile(cid, pos)

if (math.random(0, 0) == 0) then

local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0})

if (isInArray(water, ground.itemid) == TRUE) then

local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}

doSendDistanceShoot(newpos, pos, CONST_ANI_ICE)

addEvent(meteorCast, 200, {cid = cid, pos = pos, combat = meteor_water})

else

local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}

doSendDistanceShoot(newpos, pos, CONST_ANI_ICE)

addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor})

end

end

end

 

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

 

- Depois vá em data/spells/spells.xml e adicione esta linha na parte de Attacks:

 

 

<instant name="exori mas frigo" words="exori mas frigo" lvl="150" mana="1200" prem="1" range="7" needtarget="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="customspells/Gelo do ceu.lua">

<vocation name="2"/>

<vocation name="6"/>

</instant>

 

- Exori Mas Flam: Vá na pasta meuot/data/spells/scripts/attack

 

- Copie qualquer arquivo e renomeie para Fogo do ceu e cole isso:

 

 

local water = {490, 491, 492, 493}

 

local combat = createCombatObject()

 

local meteor = createCombatObject()

setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(meteor, COMBAT_PARAM_EFFECT, 36)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -9.0, -30, -10.0, 4)

 

local stun = createConditionObject(CONDITION_PARALYZE)

setConditionParam(stun, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(stun, -0.8, 0, -0.9, 0)

setCombatCondition(meteor, stun)

 

 

local meteor_water = createCombatObject()

setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -9.0, -30, -10.0, 4)

 

combat_arr = {

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

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

{0, 0, 0, 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, 1, 3, 1, 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}

}

 

local combat_area = createCombatArea(combat_arr)

setCombatArea(combat, combat_area)

 

local function meteorCast(p)

doCombat(p.cid, p.combat, positionToVariant(p.pos))

end

 

local function stunEffect(cid)

doSendMagicEffect(getThingPos(cid), CONST_ME_STUN)

end

 

function onTargetTile(cid, pos)

if (math.random(0, 0) == 0) then

local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0})

if (isInArray(water, ground.itemid) == TRUE) then

local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}

doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE)

addEvent(meteorCast, 200, {cid = cid, pos = pos, combat = meteor_water})

else

local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}

doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE)

addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor})

end

end

end

 

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

- Depois vá em data/spells/spells.xml e adicione esta linha na parte de Attacks:

 

 

<instant name="exori mas flam" words="exori mas flam" lvl="150" mana="1300" prem="1" range="7" needtarget="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="customspells/Fogo do ceu.lua">

<vocation name="1"/>

<vocation name="5"/>

</instant>

 

** LVL = Level mínimo para usar a magia

** Mana = Mana Mínima necessária para usar a magia

** Vocation Name = Id's das Vocarions que vão usar (1 = Sorc, 2 = Druid, 3 = Pally, 4 = Kina)

** Exhaustion = Tempo para lançar a magia denovo.

 

 

PrintScreen:

http://imageshack.us...orimasflam.jpg/

http://imageshack.us...rimasflam2.jpg/

http://imageshack.us...rimasfrigo.jpg/

http://imageshack.us...imasfrigo2.jpg/

 

 

Então é só pessoal, se ajudei, me de REP+, pois não tenho nenhuma até agora =)

 

 

 

 

**** Lembrando que, este tutorial foi feito pelo NERTOM, e quando vi, achei meio desorganizado, então decidi melhora-lo, para ajudar os iniciantes que tenham dúvidas na hora de colocar spells em seu OT. Link do Tópico Original http://www.xtibia.co...s-86-com-video/

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

Acho que esta área está destinada a spells, portanto, na minha opinião qualquer Post que adicione novas magias ao seu Ot é válido, e tenho certeza que há pessoas que procuram novos skills. Mas como cada um tem sua opinião agradeço por comentar ! SkyDarkyes

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

  • 2 weeks later...

Duas Novas Spells Para seu OtServ.

 

- Exori Mas Frigo: Vá na pasta meuot/data/spells/scripts/attack

 

- Copie qualquer arquivo e renomeie para Gelo do ceu e cole isso:

 

 

local water = {490, 491, 492, 493}

 

local combat = createCombatObject()

 

local meteor = createCombatObject()

setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(meteor, COMBAT_PARAM_EFFECT, 43)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -9.0, -30, -10.0, 4)

 

local stun = createConditionObject(CONDITION_PARALYZE)

setConditionParam(stun, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(stun, -0.8, 0, -0.9, 0)

setCombatCondition(meteor, stun)

 

 

local meteor_water = createCombatObject()

setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -9.0, -30, -10.0, 4)

 

combat_arr = {

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

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

{0, 0, 0, 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, 1, 3, 1, 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}

}

 

local combat_area = createCombatArea(combat_arr)

setCombatArea(combat, combat_area)

 

local function meteorCast(p)

doCombat(p.cid, p.combat, positionToVariant(p.pos))

end

 

local function stunEffect(cid)

doSendMagicEffect(getThingPos(cid), CONST_ME_STUN)

end

 

function onTargetTile(cid, pos)

if (math.random(0, 0) == 0) then

local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0})

if (isInArray(water, ground.itemid) == TRUE) then

local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}

doSendDistanceShoot(newpos, pos, CONST_ANI_ICE)

addEvent(meteorCast, 200, {cid = cid, pos = pos, combat = meteor_water})

else

local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}

doSendDistanceShoot(newpos, pos, CONST_ANI_ICE)

addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor})

end

end

end

 

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

 

- Depois vá em data/spells/spells.xml e adicione esta linha na parte de Attacks:

 

 

<instant name="exori mas frigo" words="exori mas frigo" lvl="150" mana="1200" prem="1" range="7" needtarget="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="customspells/Gelo do ceu.lua">

<vocation name="2"/>

<vocation name="6"/>

</instant>

 

- Exori Mas Flam: Vá na pasta meuot/data/spells/scripts/attack

 

- Copie qualquer arquivo e renomeie para Fogo do ceu e cole isso:

 

 

local water = {490, 491, 492, 493}

 

local combat = createCombatObject()

 

local meteor = createCombatObject()

setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(meteor, COMBAT_PARAM_EFFECT, 36)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -9.0, -30, -10.0, 4)

 

local stun = createConditionObject(CONDITION_PARALYZE)

setConditionParam(stun, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(stun, -0.8, 0, -0.9, 0)

setCombatCondition(meteor, stun)

 

 

local meteor_water = createCombatObject()

setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -9.0, -30, -10.0, 4)

 

combat_arr = {

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

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

{0, 0, 0, 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, 1, 3, 1, 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}

}

 

local combat_area = createCombatArea(combat_arr)

setCombatArea(combat, combat_area)

 

local function meteorCast(p)

doCombat(p.cid, p.combat, positionToVariant(p.pos))

end

 

local function stunEffect(cid)

doSendMagicEffect(getThingPos(cid), CONST_ME_STUN)

end

 

function onTargetTile(cid, pos)

if (math.random(0, 0) == 0) then

local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0})

if (isInArray(water, ground.itemid) == TRUE) then

local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}

doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE)

addEvent(meteorCast, 200, {cid = cid, pos = pos, combat = meteor_water})

else

local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}

doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE)

addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor})

end

end

end

 

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

- Depois vá em data/spells/spells.xml e adicione esta linha na parte de Attacks:

 

 

<instant name="exori mas flam" words="exori mas flam" lvl="150" mana="1300" prem="1" range="7" needtarget="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="customspells/Fogo do ceu.lua">

<vocation name="1"/>

<vocation name="5"/>

</instant>

 

** LVL = Level mínimo para usar a magia

** Mana = Mana Mínima necessária para usar a magia

** Vocation Name = Id's das Vocarions que vão usar (1 = Sorc, 2 = Druid, 3 = Pally, 4 = Kina)

** Exhaustion = Tempo para lançar a magia denovo.

 

 

PrintScreen:

http://imageshack.us...orimasflam.jpg/

http://imageshack.us...rimasflam2.jpg/

http://imageshack.us...rimasfrigo.jpg/

http://imageshack.us...imasfrigo2.jpg/

 

 

Então é só pessoal, se ajudei, me de REP+, pois não tenho nenhuma até agora =)

 

 

 

 

**** Lembrando que, este tutorial foi feito pelo NERTOM, e quando vi, achei meio desorganizado, então decidi melhora-lo, para ajudar os iniciantes que tenham dúvidas na hora de colocar spells em seu OT. Link do Tópico Original http://www.xtibia.co...s-86-com-video/

 

Acho Que Colocar Quem Fez As Magias Seria Legal Neh :x.

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
×
×
  • Criar Novo...