Nova Magia Druid e Sorcerer

delalana
em Globalevents e Spells

delalana

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/09/12Posts: 14Char no Tibia: Santo Barbosa

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/

SkyDarkyes

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 28/01/13Posts: 1685Gênero: Masculino

Completamente desnecesario '-'

48EnrrM.png

 

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Umas screens seriam legais.


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

Skymagnum

Hamburguer
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 02/08/12Posts: 1025Char no Tibia: Maurolkit
if (math.random(0, 0) == 0) then

GENIUS

ANYWAY

Faltou umas ss's.

jeoz.png

delalana

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/09/12Posts: 14Char no Tibia: Santo Barbosa

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

RomarinhoO

Vaaaaaaaiiiiiiiii Curinthia
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/05/13Posts: 18

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.

NERTOM

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/12/09Posts: 12Char no Tibia: Nertom Kina (Honera)

(y) nice.