Ir para conteúdo

[Tutorial] Spells


Deadlock

Posts Recomendados

Bom. muitos tem duvidas no fato de como almentar o dano mudar os efeitos a area e tudo mais sobre as magias entao vou explica-las.



 

Crie Um Bloco de Notas Com O Nome DE "exemplo" Sem Aspas

Nesse Tutorial Usaremos o Seguinte Script, sendo uma magia de ataque em area que podera sempre ser usada como base.

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE,COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT,CONST_ME_FIREAREA)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, 0, -1.0, 0)

 

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

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

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

}

local area = createCombatArea(arr)

setCombatArea(combat, area)

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

 

-Damage Type-

 

Nesse Script temos como Damage o formato COMBAT_PHYSICALDAMAGE que pode ser trocado por qualquer um desses:

 

COMBAT_PHYSICALDAMAGE

COMBAT_ENERGYDAMAGE

COMBAT_EARTHDAMAGE

COMBAT_POISONDAMAGE

COMBAT_FIREDAMAGE

COMBAT_UNDEFINEDDAMAGE

COMBAT_LIFEDRAIN

COMBAT_MANADRAIN

COMBAT_HEALING

COMBAT_DROWNDAMAGE

COMBAT_ICEDAMAGE

COMBAT_HOLYDAMAGE

COMBAT_DEATHDAMAGE

 

-Efeito-

 

Temos como efeito CONST_ME_FIREAREA que pode ser trocado por qualquer um desses:

CONST_ME_DRAWBLOOD

CONST_ME_LOSEENERGY

CONST_ME_POFF

CONST_ME_BLOCKHIT

CONST_ME_EXPLOSIONAREA

CONST_ME_EXPLOSIONHIT

CONST_ME_FIREAREA

CONST_ME_YELLOW_RINGS

CONST_ME_GREEN_RINGS

CONST_ME_HITAREA

CONST_ME_TELEPORT

CONST_ME_ENERGYHIT

CONST_ME_MAGIC_BLUE

CONST_ME_MAGIC_RED

CONST_ME_MAGIC_GREEN

CONST_ME_HITBYFIRE

CONST_ME_HITBYPOISON

CONST_ME_MORTAREA

CONST_ME_SOUND_GREEN

CONST_ME_SOUND_RED

CONST_ME_POISONAREA

CONST_ME_SOUND_YELLOW

CONST_ME_SOUND_PURPLE

CONST_ME_SOUND_BLUE

CONST_ME_SOUND_WHITE

CONST_ME_BUBBLES

CONST_ME_CRAPS

CONST_ME_GIFT_WRAPS

CONST_ME_FIREWORK_YELLOW

CONST_ME_FIREWORK_RED

CONST_ME_FIREWORK_BLUE

CONST_ME_STUN

CONST_ME_SLEEP

CONST_ME_WATERCREATURE

CONST_ME_GROUNDSHAKER

CONST_ME_HEARTS

CONST_ME_FIREATTACK

CONST_ME_ENERGYAREA

CONST_ME_SMALLCLOUDS

CONST_ME_HOLYDAMAGE

CONST_ME_BIGCLOUDS

CONST_ME_ICEAREA

CONST_ME_ICETORNADO

CONST_ME_ICEATTACK

CONST_ME_STONES

CONST_ME_SMALLPLANTS

CONST_ME_CARNIPHILA

CONST_ME_PURPLEENERGY

CONST_ME_YELLOWENERGY

CONST_ME_HOLYAREA

CONST_ME_BIGPLANTS

CONST_ME_CAKE

CONST_ME_GIANTICE

CONST_ME_WATERSPLASH

CONST_ME_PLANTATTACK

CONST_ME_TUTORIALARROW

CONST_ME_TUTORIALSQUARE

CONST_ME_MIRRORHORIZONTAL

CONST_ME_MIRRORVERTICAL

CONST_ME_SKULLHORIZONTAL

CONST_ME_SKULLVERTICAL

CONST_ME_ASSASSIN

CONST_ME_STEPSHORIZONTAL

CONST_ME_BLOODYSTEPS

CONST_ME_STEPSVERTICAL

CONST_ME_YALAHARIGHOST

CONST_ME_BATS

CONST_ME_SMOKE

CONST_ME_INSECTS

 

-Formula-

 

A Formula desta magia é COMBAT_FORMULA_LEVELMAGIC, -2.0, 0, -1.0, 0 Ou Seja o Dano Dela ira variar do seu Level e de Seu Magic Level.(Aconselho sempre Usar FORMULA_LEVELMAGIC. e Alterar Somente no 2.0 e no 1.0 nunca mudar os que estao somente 0)Vamos usar como exemplo que -2.0, seria o level e -1.0 o magic level ou seja a magia ira Hitar muito mais quando o player upar 1 Level do que quando upar 1 Magic Level,Porem se fosse mudado para -0.8 e 1.0 Se o Player Almentasse 1 magic level iria hitar mais do que se upasse 1 Level.

 

PS:É aconselhavel sempre que mexer na formula testar a magia para verificar o Damage.

 

-Area-

 

Neste Caso a Area Vai Ser 8 Quadrados exatos em volta do player.

o Numero 2 Representa a posição do Player.

O numero 1 Representara onde a magia ira acertar

O Numero 0 Será somente espaço onde você pode colocar o Numero 1

 

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

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

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

}

 

 

-Spells.xml-

 

<instant group="attack" spellid="137" name="NOME DA MAGIA" words="OQUE O PLAYER DIGITARA PARA MANDAR A MAGIA" lvl="30" mana="45" selftarget="1" prem="1" cooldown="4000" groupcooldown="2000" needlearn="0" script="attack/exemplo.lua">

<vocation name="Sorcerer"/>

<vocation name="Master Sorcerer"/>

</instant>

 

 

 

Grat'Z DeadLock

Link para o comentário
Compartilhar em outros sites

  • 3 months later...
×
×
  • Criar Novo...