Ir para conteúdo

Posts Recomendados

Olá!

Eu, em razão à minha mais humilde (e pequena) possível sabedoria, decidi postar uma magia:

F-Star ART.

Ela funciona da seguinte maneira: ah, esquece, vocês verão ao final do Tópico :}

Pra começar, o ínicio básico de criação de spell:

 

 

1° PASSO: Vá na pasta do seu ot, em seguida em data/spells/scripts e crie* um arquivo (.lua) chamado fstar art.lua

Criado o arquivo, cole a seguinte fórmula dentro dele:

 

local water = {490, 491, 492, 493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616,

4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625}

 

local combat = createCombatObject()

local combat2 = createCombatObject()

 

local meteor = createCombatObject()

setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)

setCombatParam(meteor, COMBAT_PARAM_EFFECT, 6)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -90, -105, -110, -106)

 

local meteor2 = createCombatObject()

setCombatParam(meteor2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)

setCombatParam(meteor2, COMBAT_PARAM_EFFECT, 49)

setCombatFormula(meteor2, COMBAT_FORMULA_LEVELMAGIC, -90, -105, -110, -106)

 

local stun = createConditionObject(CONDITION_PARALYZE)

setConditionParam(stun, CONDITION_PARAM_TICKS, 1500)

setConditionFormula(stun, -1.8, 0, -1.9, 0)

setCombatCondition(meteor, stun)

 

local meteor_water = createCombatObject()

setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)

setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, 17)

setCombatFormula(meteor_water, COMBAT_FORMULA_LEVELMAGIC, -90, -105, -110, -106)

 

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, 1, 0, 0, 0, 0, 0},

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

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

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

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

{0, 0, 0, 1, 0, 1, 0, 1, 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},

}

 

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 = 1})

if (isInArray(water, ground.itemid) == TRUE) then

local newpos = {x = pos.x - 3, y = pos.y + 5, z = pos.z}

doSendDistanceShoot(newpos, pos, 31)

addEvent(meteorCast, 300, {cid = cid, pos = pos, combat = meteor_water})

else

local newpos2 = {x = pos.x - 9, y = pos.y - 0, z = pos.z}

doSendDistanceShoot(newpos2, pos, 4)

addEvent(meteorCast, 300, {cid = cid, pos = pos, combat = meteor})

local newpos3 = {x = pos.x + 9, y = pos.y + 0, z = pos.z}

doSendDistanceShoot(newpos3, pos, 37)

addEvent(meteorCast, 600, {cid = cid, pos = pos, combat = meteor2})

local newpos4 = {x = pos.x + 9, y = pos.y + 9, z = pos.z}

doSendDistanceShoot(newpos4, pos, 37)

addEvent(meteorCast, 700, {cid = cid, pos = pos, combat = meteor_water})

local newpos4 = {x = pos.x + 9, y = pos.y - 9, z = pos.z}

doSendDistanceShoot(newpos4, pos, 37)

addEvent(meteorCast, 500, {cid = cid, pos = pos, combat = meteor_water})

local newpos5 = {x = pos.x - 9, y = pos.y - 0, z = pos.z}

doSendDistanceShoot(newpos5, pos, 3)

addEvent(meteorCast, 400, {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

 

 

 

OBS ~ Caso queira modificar a spell:

Verde: Tipo de damage. (Death, holy, ice, energy, physical, fire, ou earth)

Vermelho: Magic effect. (para escolher, digite /z de 0 até 68)

Azul: Dano causado.

Roxo: Àrea onde irão ser alcançados os DistanceEffects e onde serão realizados os MagicEffects.

Laranja: Distance Effect (para escolher, digite /x de 0 à 41)

 

 

Salve, feche, e OK!

 

2° PASSO: Vá na pasta do seu OT, vá em data/spells.

Certamente, deverá ver o seguinte arquivo: spells.xml

Clique com o botão direito do mouse, em seguida na opção EDITAR.

O arquivo será aberto em modo de Bloco de notas.

Logo então, vá à parte -Attack Spells- ;

Depois cole isso:

 

<instant name="F-Star Art" words="Flamed Star Art" lvl="13000" mana="3000" prem="1" selftarget="1" exhaustion="2000" needlearn="0" script="attack/fstar art.lua">

<vocation name="Paladin" />

<vocation name="Royal Paladin" />

</instant>

 

 

OBS ~ Caso queira modificar algo:

Verde: Nome real da magia. (Exemplo: O nome real da spell Exori san é Divine missile.)

Vermelho: CastWord, mais conhecida como "nome para realizar a spell".

Azul:Level necessário para usar a magia..

Roxo: Mana necessária para usar a magia.

Amarelo: Exausthed da spell.

Laranja: Classes que irão utilizar a spell.

 

Feito tuuuuuuuuuuudo isso, sua spell está pronta para ser:

U-T-I-L-I-Z-A-D-A !

 

 

 

- Créditos -

Eu.

Eu denovo.

Eu mesmo.

Eu novamente.

 

 

Espero ter ajudado vocês à diferenciar cada vez mais seus OTServer's.

Se curtiu, REP+ no tiozão.

Se não curtiu, pode dar REP+ também.



Se curtiu ou não curtiu, mas não quer dar REP+...

...

Não dê REP+ '-'

 

 

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

×
×
  • Criar Novo...