Ir para conteúdo

Areas de Spells


Caronte

Posts Recomendados

Bom , este tutorial é facil e simples , Como criar areas para magias .

 

Primeiro abra a pasta de seu OTserver vá em spells e abra a pasta lib lá você irá observar o arquivo spell.lua abra-o . os waves estaram assim :

 

 

--Waves

AREA_WAVE4 = {

{1, 1, 1, 1, 1},

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

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

{0, 0, 3, 0, 0}

}

 

AREA_SQUAREWAVE5 = {

{1, 1, 1},

{1, 1, 1},

{1, 1, 1},

{0, 1, 0},

{0, 3, 0}

}

AREA_WAVE5 = {

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

{1, 1, 1, 1, 1},

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

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

{0, 0, 3, 0, 0}

}

 

é Importante que fique assim seu Spells.lua depois da edição:

--Waves

 

AREA_WAVE4 = {

{1, 1, 1, 1, 1},

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

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

{0, 0, 3, 0, 0}

}

 

AREA_SQUAREWAVE5 = {

{1, 1, 1},

{1, 1, 1},

{1, 1, 1},

{0, 1, 0},

{0, 3, 0}

}

 

AREA_WAVE5 = {

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

{1, 1, 1, 1, 1},

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

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

{0, 0, 3, 0, 0}

}

 

TUTORIAL_WAVE = {

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

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

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

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

{0, 0, 2, 0, 0}

}

 

--Diagonal waves

 

 

Legenda :

0 = Onde a magia não irá alcançar

1 = Onde a magia irá alcançar

2 = O player

3 = O Player e a magia

 

OBS: Só pode ter um 2 ou um 3 em sua area , e o nome area pode ser escolhido a gosto

 

Bom , Vamos editar a area :

 

TUTORIAL_WAVE = {

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

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

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

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

{0, 0, 2, 0, 0}

 

}

 

Vou Insirir o TUTORIAL_WAVE Dentro do beserk (Exori) que sua area é :

AREA_CROSS1X1

Vou trocar por

TUTORIAL_WAVE

 

Ficará assim a magia :

exoritutorial.png

 

A Spell do Beserk Ficará assim :

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT,31)

setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)

local area = createCombatArea(TUTORIAL_WAVE)

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

 

 

 

 

Pronto , Se seu otserver está ligado basta salvar o beserk.lua e dizer /reload spell , e testar seu novo beserk.

OBS : Meu beserk está com o Const_Me Alterado.

Espero que tenham gostado comentem e +REP é Bem-vindo.

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

Para efeito de aprendizado, até que o tutorial está muito interessante. Mas vale lembrar que qualquer tutorial completo que ensine a programar uma magia, ensinará também como funciona o sistema de áreas delas. Ou seja, seu tutorial acaba perdendo pontos por estar muito limitado a um sub-tema de um tema que podia ser melhor trabalhado.

 

Abraços.

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

×
×
  • Criar Novo...