Ola pessoal do xtibia
Estou aqui hoje para lhes ensinar a fazer algumas spell, sendo elas por área sim ou não. Nesse tutorial vou esta ensinando a criar spells de heal e attack.
Sem mais delongas e vamos ao tutorial.
Spell de heal
Para criar uma spell de cura vá na pasta do seu ot data/spells/scripts/healing
Nessa pasta vão estar todas as magias de heal do seu ot. Para criar uma nova selecione qualquer uma ja existente, como por exemplo o ultimate healing, dê um ctrl+c e um ctrl+v. Abra o arquivo copiado, e procure por (combat, COMBAT_FORMULA_LEVELMAGIC, 6, 6, 10, 12) bem essa é a intensidade da spell, que deve ser medida com todo o cuidado pois caso nao haja um controle sobre a formula a spell pode ficar, muito fraca ou muito forte. Apos fazer as alterações feche e salve o documento, feito isso renomei o arquivo para um nome de preferência no meu caso eu dei o nome de heal necromancer.
Agora vá em data/spells/
Abra o arquivo spells.xml, e procure pelo nome ultimate heal
VOCE DEVE ACHAR ISSO:
</instant>
<instant name="Ultimate Healing" words="exura vita" lvl="20" mana="160" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/ultimate healing.lua">
<vocation id="1"/>
<vocation id="2"/>
<vocation id="3"/>
<vocation id="5"/>
<vocation id="6"/>
<vocation id="7"/>
Copie tudo acima e cole novamente ficando dessa forma:
</instant>
<instant name="Ultimate Healing" words="exura vita" lvl="20" mana="160" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/ultimate healing.lua">
<vocation id="1"/>
<vocation id="2"/>
<vocation id="3"/>
<vocation id="5"/>
<vocation id="6"/>
<vocation id="7"/> </instant>
<instant name="Ultimate Healing" words="exura vita" lvl="20" mana="160" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/ultimate healing.lua">
<vocation id="1"/>
<vocation id="2"/>
<vocation id="3"/>
<vocation id="5"/>
<vocation id="6"/>
<vocation id="7"/>
Explicando:
O que esta nesta cor: xxx = É o nome que você deu aquele documento no meu caso foi : heal necromancer.
O que esta nesta cor: xxx = É o nome que o player vai falar para conjurar a magia no meu caso vai ser: exura necromancer.
O que esta nesta cor: xxx = É o level que o player vai ter que ter pra poder usar a magia.
O que esta nesta cor: xxx = É o custo de mana que o player vai ter cada vez que usar a magia no meu caso vai ser 500.
O que esta nesta cor: xxx = É o exhaustion que o player vai ter ou seja é o tempo entre o uso da spell.
O que esta nesta cor: xxx = É o nome do aquivo em que a spell de encrontra no meu caso eu coloquei o nome de: heal necromancer.
O que esta nesta cor: xxx = São as vocation que podem estar usando a spell no meu caso a vocation é uma propria do meu server então ela vai ser :<vocation id="13"/> <vocation id="14"/>.
(LEMBRANDO QUE NOS OT SERVERS COMUNS EXISTEM 12 VOCATIONS) :
1=Sorcerer.
2=Druid.
3=Paladin.
4= Knight.
5=Master Sorcerer.
6=Elder Druid .
7=Royal Paladin.
8=Elite knight .
9=Epic Master Sorcerer.
10=Epic Elder Druid.
11=Epic Royal Paladin.
12=Epic Elite Knight.
Bem no final a minha ficou assim :
</instant>
<instant name="Ultimate Healing" words="exura vita" lvl="20" mana="160" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/ultimate healing.lua">
<vocation id="1"/>
<vocation id="2"/>
<vocation id="3"/>
<vocation id="5"/>
<vocation id="6"/>
<vocation id="7"/> </instant>
<instant name="Heal Necromancer" words="exura necromancer" lvl="500" mana="500" aggressive="0" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="healing/heal necromancer.lua">
<vocation id="13"/>
<vocation id="14"/>
Feche salve e teste.
Spell de attack
Pessoal para criar uma spell de attack vá em data/spells/scripts/attack
Copie e cole um arquivo lua como por exemplo rage of the skies. E ponha isso dentro:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 1, 1, 24, 30)
local area = createCombatArea(AREA_CROSS6X6)
setCombatArea(combat, area)
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
Explicando:
Oque esta nessa cor: xxx =Novamente peço que tome muita atenção com isto aqui pois é formula da spell, no meu caso eu coloquei para que ela hit algo acima de 1000.
Oque esta nessa cor: xxx =É a area da spell no caso eu colokei a area semelhante ao do exevo gran mas vis.
Oque esta nessa cor: xxx= É a forma na qual a magia vai aparecer no caso eu coloquei para que ela apareça na forma de holly mas existem vários tipo como por exemplo icedamage.
Oque esta nessa cor: xxx= É a cor do hit da spell no meu caso eu coloquei para que hit na forma de holly, mas existem vários tipos como por exemplo firedamage.
Apos configurar a magia feche-a e obviamente salve-a e renomeie-a mesma para um nome de sua preferencia no meu caso eu coloquei como Gran Solar.
Vá agora em data/spells
E abra o documento spells.xml
Procure por Rage of the skies e encontra o seguinte:
</instant>
<instant name="Rage of the Skies" words="exevo gran mas vis" lvl="55" mana="650" selftarget="1" prem="1" exhaustion="2000" needlearn="0" event="script" value="attack/rage of the skies.lua">
<vocation id="1"/>
Copie e cole ficando da seguinte forma:
</instant>
<instant name="Rage of the Skies" words="exevo gran mas vis" lvl="55" mana="650" selftarget="1" prem="1" exhaustion="2000" needlearn="0" event="script" value="attack/rage of the skies.lua">
<vocation id="1"/> </instant>
<instant name="Rage of the Skies" words="exevo gran mas vis" lvl="55" mana="650" selftarget="1" prem="1" exhaustion="2000" needlearn="0" event="script" value="attack/rage of the skies.lua">
<vocation id="1"/>
Aqui tudo é igual ao da magia de cura(heal), edite ao seu gosto. No meu eu editei da seguinte forma:
</instant>
<instant name="Rage of the Skies" words="exevo gran mas vis" lvl="55" mana="650" selftarget="1" prem="1" exhaustion="2000" needlearn="0" event="script" value="attack/rage of the skies.lua">
<vocation id="1"/> </instant>
<instant name="Gran Solar" words="exevo gran mas Solar" lvl="750" mana="750" selftarget="1" prem="1" exhaustion="2000" needlearn="0" event="script" value="attack/Gran Solar.lua">
<vocation id="1"/>
<vocation id="2"/>
<vocation id="3"/>
Feche salve e test
Espero ter ajudado, restando duvidas escreva abaixo que tentarei soluciona-las.