o Conteudo do post é otimo, na primeira magia que eu me lembre eu ajudei voce com ela...
na segunda spell modifique isso
function onCastSpell(cid, var) addEvent(doCombat, 2, cid, combat1, var) addEvent(doCombat, 2, cid, combat2, var) addEvent(doCombat, 2, cid, combat3, var) return true end
Para isso
function onCastSpell(cid, var) addEvent(doCombat, 1, cid, combat1, var) addEvent(doCombat, 2, cid, combat2, var) addEvent(doCombat, 3, cid, combat3, var) return true end








info
Grupo: Artesão
Registrado: 07/06/11
Posts: 122
Reputação: +6
Char no Tibia: shakerspere
Estava criando uns spells para meu otserver(atari server)
Então... resolvi postar alguns das magias que eu criei pra ele...
Exclusivo para o
TOTALMENTE NOVAS!!
magias de área e de 3 fases
LETS GO!!
- tira 112 de mana
- apartir do magic lvl: 11
- apartir do lvl: 70
-exaustion: 2000
-soul: 0
-damage: de 50-220
Sprite:
VAMOS AOS SCRIPTS!
1º- na sua pasta data/spells/script ... você cria um novo arquivo LUA e coloca isso lá dentro...
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, 1024)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 49)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 30)
setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 65, -50, 212, -210)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, 2)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 37)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 35)
setCombatFormula(combat2, COMBAT_FORMULA_SKILL, 65, -50, 212, -210)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, 512)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 40)
setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 40)
setCombatFormula(combat3, COMBAT_FORMULA_SKILL, 65, -50, 212, -210)
local area1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 3, 0, 1, 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, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 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 area2 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
local area3 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
setCombatArea(combat1, createCombatArea(area1))
setCombatArea(combat2, createCombatArea(area2))
setCombatArea(combat3, createCombatArea(area3))function onCastSpell(cid, var)
addEvent(doCombat, 1, cid, combat1, var)
addEvent(doCombat, 2, cid, combat2, var)
addEvent(doCombat, 3, cid, combat3, var)
return true
end
Depois... é só salvar...com o nome que você quiser...(eu salvei com atari mas vis)
2º- Vá em data/spells e abra o spells.xml ... e cole isso la dentro...
<instant name="Ultra Power" words="atari mas vis" lvl="70" mana="112" prem="0" range="3" casterTargetOrDirection="0" blockwalls="1" exhaustion="2000" groups="1" groupexhaustions="2000" icon="100" needlearn="0" event="script" value="atari mas vis.lua">
<vocation id="1"/>
<vocation id="5"/>
</instant>
AGORA VOU ENSINAR A EDITAR DO SEU JEITO...
<instant name="Ultra Power" words="atari mas vis" lvl="70" mana="112" prem="0" range="3" casterTargetOrDirection="0" blockwalls="1" exhaustion="2000" groups="1" groupexhaustions="2000" icon="100" needlearn="0" event="script" value="atari mas vis.lua">
<vocation id="1"/>
<vocation id="5"/>
</instant>
Vamos começar...
em azul: o nome da sua spell
em verde: as palavras que serão ditas
em vermelho: o nome do arquivo das spells(aquele que nós criamos nos script)
e em amarelo: são as características
-lvl
-mana
-exaustion(se mudar tem que mudar o "groupexaustion" também)
-casterTargetOrDirection: 0-não...1- sim
-icon: sempre bom colocar um que não tenha(ou seja evitemos os duplicados)
Agora vocês já sabem editar... então vamos a outra vocation...
- tira 112 de mana
- apartir do magic lvl: 11
- apartir do lvl: 70
-exaustion: 2000
-soul: 0
-damage: de 50-220
(obs: coloquei às mesmas pra não confundir)
Sprite:
1º- vá nos scripts e crie um arquivo lua... e coloque isso lá dentro...
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, 1024)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 39)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 1)
setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 65, -50, 212, -210)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, 512)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 42)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 28)
setCombatFormula(combat2, COMBAT_FORMULA_SKILL, 65, -50, 212, -210)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, 2)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 10)
setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 20)
setCombatFormula(combat3, COMBAT_FORMULA_SKILL, 65, -65, 212, -210)
local area1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 3, 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, 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}}
local area2 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 3, 0, 1, 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, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 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 area3 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
setCombatArea(combat1, createCombatArea(area1))
setCombatArea(combat2, createCombatArea(area2))
setCombatArea(combat3, createCombatArea(area3))
function onCastSpell(cid, var)
addEvent(doCombat, 1, cid, combat1, var)
addEvent(doCombat, 2, cid, combat2, var)
addEvent(doCombat, 3, cid, combat3, var)
return true
end
2º- salve... e vá em spells.xml e adicione a tag...
PRONTO!!! Agora é só testar...
vlw... aew pessoal... esse foi meu primeiro tutorial...
depois vou colocar mais spells... de knight e druid dessa vez...
SE ESSE CONTEÚDO AJUDOU VOCÊ DÁ UM REP+
... AEW
Criação das spells: eu
e ao @Beeki por ter resolvido o problema das exaustion...
TEH+ PESSOAL...
Editado Dezembro 7 por vitorvvm