Ir para conteúdo

As Benditas Spells "mistas"


DeadKennedy

Posts Recomendados

INTRODUÇÃO:

Vi que muitas pessoas adoram quelas spells que tem um milhão de efeitos,

ou quem sabe, um só efeito em diversas "camadas".

Vou logo avisando, eu não sou profissional, mas me esforço bastante.

 

O TUTORIAL:

Este tutorial não será um passo a passo, e sim uma "aulinha".

 

Aqui está o script que eu vou esplicando aos poucos:

 

Entendao uma coisa: é a mesma coisa que juntar 3 spells numa só!

 

-- Exori gran bem loko By KingCPI

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)

setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 0, 0, 1.7, 0)

 

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)

setCombatFormula(combat2, COMBAT_FORMULA_SKILL, 0, 0, 1.7, 0)

 

local combat3 = createCombatObject()

setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)

setCombatFormula(combat3, COMBAT_FORMULA_SKILL, 0, 0, 1.7, 0)

 

local arr1 = {

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

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

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

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

}

local arr2 = {

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

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

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

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

}

local arr3 = {

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

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

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

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

}

 

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

local area3 = createCombatArea(arr3)

 

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

setCombatArea(combat3, area3)

 

local function onCastSpell1(parameters)

doCombat(parameters.cid, parameters.combat1, parameters.var)

end

 

local function onCastSpell2(parameters)

doCombat(parameters.cid, parameters.combat2, parameters.var)

end

 

local function onCastSpell3(parameters)

doCombat(parameters.cid, parameters.combat3, parameters.var)

end

 

function onCastSpell(cid, var)

local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2,combat3 = combat3 }

addEvent(onCastSpell1, 100, parameters)

addEvent(onCastSpell2, 200, parameters)

addEvent(onCastSpell3, 300, parameters)

end

 

ESPLICANDO:

 

------------------------------------------------------------------------------

MARRON

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)

setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 0, 0, 1.7, 0)

 

Nesta parte é muito parecida com uma spell normal, você escolhe o tipo de ataque, a formua, o efeito e etc.

Se quiser usar mais de um efeito, sinta-se avontade ;)

 

O que muda é que ela se repete de acordo com a quantidade de efeitos que a spell terá, mesmo se for o mesmo efeito eu

aconselho a repetir isso.

Exemplo: uma spell tem 3 efeitos(como a do exemplo), essa parte se repete as 3 veses.

 

ATENÇÃO: Caso tenha mais de um lembre-se de mudar "combat1" para "combat2", e assim por diante, em cada cópia dessa tabela, igual o script de exemplo.

------------------------------------------------------------------------------

 

------------------------------------------------------------------------------

LARANJADO

local arr1 = {

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

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

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

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

}

 

Esta parte diz a area que será atingida pelo efeito nº 1("combat1").

Faça quantas areas precisar, de acordo com o nº de efeitos, no caso aqui 3.

Assim como na parte MARRON, mude "arr1"

para "arr2", e assim por diante.

------------------------------------------------------------------------------

 

------------------------------------------------------------------------------

VERDE

local area1 = createCombatArea(arr1)

 

Serei sincero, não sei pra que isso serve :withstupidsmiley:

Sei de uma coisa: você deve repetir isso de acordo com a quantidade de efeitos...

mudando como sempre o nº 1, exemplo:

"area1" troca por "area2"

e

(arr1) troca por (arr2)

e assim por diante...

------------------------------------------------------------------------------

 

------------------------------------------------------------------------------

VERMELHO

setCombatArea(combat1, area1)

Mais uma vez eu não o que isso faz, porém eu imagino que é o que junta a area de ataque, e o efeito.

Sabe como é né??? Repete isso, mudando os nºs. Agora vou dar um exemplo mais detalhado:

Se o script tiver 5 efeitos

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

setCombatArea(combat3, area3)

setCombatArea(combat4, area4)

setCombatArea(combat5, area5)

Isso vale pras "cores" acima.

------------------------------------------------------------------------------

 

------------------------------------------------------------------------------

ROSA

local function onCastSpell1(parameters)

doCombat(parameters.cid, parameters.combat1, parameters.var)

end

 

Não sei o que faz também, sei que sem isso a spell não funciona né...

Faça como nas "cores" anteriores... Copie a quantidade de veses equivalente a quantidade de efeitos,

substituindo os deguintes valores:

onCastSpell1

e

parameters.combat1

------------------------------------------------------------------------------

 

------------------------------------------------------------------------------

AMARELO

combat1 = combat1

Isso eu não sei também pra que serve, penso que é pros combats não perderem valor, nos efeitos seguintes.

Como sempre, copie isso, substituindo os nºs como feito no script, porém nessa cópia tem uma diferença:

Cole tudo antes de }

Exemplo de script com 5 efeitos:

{ cid = cid, var = var,combat1 = combat1, combat2 = combat2,combat3 = combat3 ,combat4 = combat4,combat5 = combat5 }

 

ANTENÇÃO: lembre-se de deixar um espaço entre o ultimo caractere e "}".

------------------------------------------------------------------------------

 

------------------------------------------------------------------------------

addEvent(onCastSpell1, 100, parameters)

 

Essa parte é divertida de editar e testar... ela faz o tempo de um efeito:

Quando você fala a magia, acontece várias coisas em tempos diferentes, é isso que determina o tempo.

 

O nº 100, é o tempo entre um efeito e otro.

 

Faça tudo igual aos outras cores: Copie, e substitua os nºs.

Exemplo de script com 5 efeitos

addEvent(onCastSpell1, 100, parameters)

addEvent(onCastSpell2, 200, parameters)

addEvent(onCastSpell3, 300, parameters)

addEvent(onCastSpell4, 400, parameters)

addEvent(onCastSpell5, 500, parameters)

 

Espero que gostem e aproveitem!

 

Bye

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

Querido Lord lolzao:

 

Quando você postou, eu não tinha terminado o tutorial, mas mesmo assim já tinha:

Se quiser usar mais de um efeito, sinta-se avontade ;)

 

Mais de um efeito segnifica não só "effect secundário", mas "terceário" e etc...

 

Grato pelo pelomentária ;)

 

Bye

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 3 weeks later...

Muito Legal essas magias... :bigsmile:

Porem eu não gosto muito dela

por causarem lag e um exemplo um cara vem e solta

uma magia mista com intevalos de tempo e o cara que ta tomando hit

resolve andar envolta de quem esta atacando; :rolleyes:

e o pobre coitado faz ser totalmente espancado por

uma unica magia randomica! :nuts:

 

Até mais... :hi:

Link para o comentário
Compartilhar em outros sites

eu fiz essa magia no meu ot....mais fiz usando 5 areas e segui essas exemplos mais nao funciono....axo q tou errando em alguma parte pode me ajuda?

 

me add no msn:

tatianny_f_18@hotmail.com

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
  • 5 months later...
×
×
  • Criar Novo...