As Benditas Spells "mistas"

DeadKennedy
em Tutoriais de Scripting

DeadKennedy

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 03/06/07Posts: 150

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

4291226

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 17/08/07Posts: 519

Faltou falar do Effect Secundario :)

 

 

//Aprovado//

 

 

Lord Lolzao.

DeadKennedy

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 03/06/07Posts: 150

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

rookroxz

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/08/07Posts: 27Char no Tibia: Undead-Soul

essas magias apavoram...

 

Li o tutorial e consegui criar uma pro meu ot,muito show!

 

Parabens pelo Tutorial,me ajudou muito concerteza.

 

-Aprovado-

objetivos:

[x]servo
[x]campones
[x]caçador
[x]cavaleiro
[x]baronete
[ ]barão

itajai-team

Lordfire

TFS Maintainer
avatar
Lenda
Lenda

INFOS

Grupo: LendaRegistrado: 04/10/06Posts: 2605Gênero: MasculinoChar no Tibia: Knight Orion

@KingCPI

Não existe terciário

Primeiro é primário, segundo é secundário, terceiro é secundário, quarto também

 

Haha, gostei :~

SirAlquati

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 16/01/07Posts: 206Char no Tibia: Thiago Shinoda

Parabens

Otimo Tutorial

 

Abraços....


De volta ao Xtibia.

Ferrys

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 10/10/07Posts: 110Char no Tibia: Ferrys

muito bom king

 

aprovado

i love otserv (?)

Addict

Ex-Diretor de Equipe
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 12/10/05Posts: 568Gênero: MasculinoChar no Tibia: Homao Dapoha

Aprovado,

Movido para seção correta.

Cleytin

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/10/06Posts: 2

Valeu me ajudou muito...

 

Mas, tem como fazer isso pelo OTScript Live? Se tem, como faz?

 

Aguardo Resposta.

user posted image

MarcolinoGOD

Byte que eu gosto! (TI na veia)
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 19/06/07Posts: 267Gênero: MasculinoChar no Tibia: Rambocop Infernus

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:

--

DeadKennedy

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 03/06/07Posts: 150

Valew galera!

 

@Cleytin

Po, vc ateh podes tentar fazer 3 spells e ir mudando as referencias só...

masfica feio :S

É memhlro faze na mão mesmo :D

 

Ateh +

Aquac

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/12/07Posts: 10

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

lekmat

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/11/07Posts: 62Char no Tibia: Royal Tutti Frutti

Issu me ajudo mto konsiguimos o hit dual por kausa dissu xD

FLuzX

GuHH
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/06/07Posts: 56Char no Tibia: Knight'GuzinhO

Pelo Post Ajudo mtu GENTE! Principalmente "EU" xP

 

So Seria Melhor c Vc Tira-c Akele Amarelo! Veh nada xP!

 

:positive: Bom PosT! :positive:

...No Coments, Enjoy!