XM
pedido

Ai Como Crio Esse Spell

Por xmaster0, 10 de jul. de 2012 em Scripts

5
843
xmaster0X
10 de julho de 2012 às 09:37

 

 

vinny160600V
10 de julho de 2012 às 10:39

Isso é tibia?

xmaster0X
10 de julho de 2012 às 12:29

Isso é tibia?

 

Poketibia

neroxpN
12 de julho de 2012 às 14:50

usa o spellmaker :X

landugasparL
12 de julho de 2012 às 14:58

Seguinte

abra spells.xml e copie uma magia que você quer vou usar o exemplo de uma exori


<instant name="Berserk" words="exori" lvl="50" mana="115" prem="0" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="attack/berserk.lua">
<vocation id="4"/>
<vocation id="8"/>
</instant>



 

Esplicação:

name="Berserk" = nome da magia

words="exori" = comando que o jogador vai usar no jogo

lvl="50" = level que pode usar a magia

mana="115" = mana que gasta para usar a magia

prem="0" = 0 free / 1 premmy

value="attack/berserk.lua" = local onde o script vai ficar

 

A magia que vamos criar se chama "teste" e todas as vocações vão poder usar.

 

<instant name="teste" words="teste" lvl="99" mana="10" prem="1" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="teste.lua">
<vocation id="1"/>
<vocation id="2"/>
<vocation id="3"/>
<vocation id="4"/>
<vocation id="5"/>
<vocation id="6"/>
<vocation id="7"/>
<vocation id="8"/>
</instant>[/left]

 

na pasta scripts crie um arquivo com o nome "teste.lua" e coloque o script da magia que você esta criando dentro ex:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.5 + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

 

Qual quer dúvida posta ai vou tentar te ajudar!

Editado Julho 12 por LanDuGaspar