MMizael 0 #1 Posted August 18, 2011 (edited) Gente, mais de um ano inativo aqui no otserv brasil, hoje resolvi postar um mini tutorial para criar magias com mais de uma ação, sei que muita gente gosta daquelas magias que soltam varias coisas e com varios efeitos, tem muitos tópicos por ai que já apresenta a magia pronta e o camarada não tem ideia como faz esse tipo de coisa, então vou explicar neste tópico. Primeiramente vá na pasta spells do seu otserv, em seguida abra script e copie qualquer magia que tenha lá dentro, renomeie para o que você quiser, neste caso usarei como exemplo terremoto.lua Abra o bloco de notas e começe com isso: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, [color=red]COMBAT_PHYSICALDAMAGE[/color]) setCombatParam(combat1, COMBAT_PARAM_EFFECT, [color=blue]CONST_ME_BLOCKHIT[/color]) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, [color=lime]-5.0, -37, -7.0, 0[/color]) Em vermelho é o tipo de dano que a magia causará, neste caso, ela atacará fisico, no final do tópico eu colocarei a lista de danos. Em azul é o efeito que a magia causará, neste caso o efeito é o do Exori comum, mas você pode mudar a gosto, no final do tópico eu colocarei a lista de efeitos. Em verde é a formula que a magia usará para hitar. As formulas são as seguintes COMBAT_FORMULA_UNDEFINED = 0 COMBAT_FORMULA_LEVELMAGIC = 1 COMBAT_FORMULA_SKILL = 2 COMBAT_FORMULA_DAMAGE = 3 Nessa nessa parte é a hora que você decide quantas vezes a magia vai se repetir, como exemplo eu colocarei a magia para repetir 3 vezes, então seria desta forma. [b][color=red]local combat1[/color][/b] = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) Eu destaquei local combat1 por que é ai que você tem que cofigurar para repetir, já que são tres vezes, você tem que colocar local combat1, local combat2, local combat3 se quiser que repita mais vezes é so colocar local combat4/5/6 e assim por diante. Agora é a hora de você definir a area que a magia tomará, aqui vai um exemplo: 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, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 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}, } Os 0's é o campo maximo que a magia usará, você pode aumenta-lo até um certo ponto. Os 1's é onde a magia aparecerá, consequentemente onde ela hitará. E o 3 é o centro, que no caso é o player. Já que estamos falando de spell que usa mais de 1 ação colocarei está campo para repetir 3 vezes. No caso ficaria assim: [color=red][b]arr1[/b][/color] = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 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, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 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}, } 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, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 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}, } 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, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 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}, } Eu destaquei o arr1 porque é ali que você deve configurar para o campo repetir a quantidade de vezes que você quer, já que aqui estamos fazendo uma spell com 3 ações então repete arr1, arr2, arr3. Se você quiser mais de 3 vezes é so você adicionar arr4/5/6 e assim sucessivamente. Lembrando que o arr1 tem que ser no mesmo numero de vezes que o local combat repete, se não causará um bug. Agora é a hora que você colocará a magia para hitar naqueles campos que você criou. local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) Em local area1 = createCombatArea(arr1) é onde justamente você vai colocar a magia para executar o campo que você configurou. Note que a tradução de createCombatArea é Criar área de combate. Então? É justamente ali que você vai colocar para sua area funcionar. Você pode ver que lá também está o arr1/2/3, como é uma magia que vai executar 3 ações também tem que criar 3 áreas de combate usando o campo que você configurou mais acima. Se quiser mais de 3 ações já sabe, so colocar local area2 = createCombatArea(arr1)/2/3 e assim sucessivamente. Agora é a hora que você vai colocar a magia para executar, veja: 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 Em local function onCastSpell1 é onde você vai configurar para a magia ser lançada, já que a tradução de Cast é Lançar então é aqui que você tem que configurar para a magia executar corretamente. Já que estamos usando uma spell com 3 ações, então repete 3 vezes, como já dito acima, se quiser mais ações é só adicionar local function onCastSpell2/3/4/5 e assim sucessivamente. Isso também vale para parameters.combat1. Bem, aqui é o final do script, para o script encerrar com sucesso você deve acrescentar isto: 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 Em local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3 } é onde você deve colocar quantos "combates" a magia tem, claro que nesse tutorial estamos usando uma com 3 ações, então repete o numero de ações 2 vezes, assim: combat1 = combat1, combat2 = combat2, combat3 = combat3. se for uma spell com mais de 3 ações você tem que colocar combat1 = combat 1, (2/3/4/5) e assim sucessivamente. Lembrando que tem que repetir duas vezes o código. E depois você configura o tempo que as magias irão ser conjuradas ou (lançadas) addEvent(onCastSpell1, 100, parameters) onde tem onCastSpell1 onde você vai colocar o numero de ações, no nosso caso são três então são onCastSpell1, onCastSpell2, onCastSpell3. se quiser mais de 3 já sabe que é so colocar onCastSpell4/5/6 e assim sucessivamente. Onde tem o 100, 200, 300 é onde você configura o tempo que as magias executarão, 100 significa que é 1 milesimo, então a spell será conjurada em 3 milesimos, você pode configurar o tempo que quiser, lembrando que 1000 é 1 segundo. E por fim você acresenta end para o script encerrar. Tendo feito isto tudo, a spell completa ficaria desta maneira. local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_STUN) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_STUN) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) 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, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 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}, } 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, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 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}, } 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, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 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}, } 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 E depois disto tudo você vai colocar no Spells.xml a linha da sua spell. [font=verdana]<instant name="Earth Quake" words="earthquake" lvl="100" mana="400" prem="1" needweapon="1" exhaustion="200" needlearn="0" needtarget="0" script="terremoto.lua"> <vocation name="Knight"/> <vocation name="Elite Knight"/> [/font] Você pode configurar da sua maneira. Aqui vai a lista de tipos de danos que eu prometi no inicio do tópico. COMBAT_PHYSICALDAMAGE = 1 COMBAT_ENERGYDAMAGE = 2 COMBAT_EARTHDAMAGE = 4 COMBAT_POISONDAMAGE = 4 COMBAT_FIREDAMAGE = 8 COMBAT_UNDEFINEDDAMAGE = 16 COMBAT_LIFEDRAIN = 32 COMBAT_MANADRAIN = 64 COMBAT_HEALING = 128 COMBAT_DROWNDAMAGE = 256 COMBAT_ICEDAMAGE = 512 COMBAT_HOLYDAMAGE = 1024 COMBAT_DEATHDAMAGE = 2048 E também aqui vai a lista de efeitos que eu prometi no inicio do tópico. CONST_ME_ENERGYHIT = 11 CONST_ME_MAGIC_BLUE = 12 CONST_ME_MAGIC_RED = 13 CONST_ME_MAGIC_GREEN = 14 CONST_ME_HITBYFIRE = 15 CONST_ME_HITBYPOISON = 16 CONST_ME_MORTAREA = 17 CONST_ME_SOUND_GREEN = 18 CONST_ME_SOUND_RED = 19 CONST_ME_POISONAREA = 20 CONST_ME_SOUND_YELLOW = 21 CONST_ME_SOUND_PURPLE = 22 CONST_ME_SOUND_BLUE = 23 CONST_ME_SOUND_WHITE = 24 CONST_ME_BUBBLES = 25 CONST_ME_CRAPS = 26 CONST_ME_GIFT_WRAPS = 27 CONST_ME_FIREWORK_YELLOW = 28 CONST_ME_FIREWORK_RED = 29 CONST_ME_FIREWORK_BLUE = 30 CONST_ME_STUN = 31 CONST_ME_SLEEP = 32 CONST_ME_WATERCREATURE = 33 CONST_ME_GROUNDSHAKER = 34 CONST_ME_HEARTS = 35 CONST_ME_FIREATTACK = 36 CONST_ME_ENERGYAREA = 37 CONST_ME_SMALLCLOUDS = 38 CONST_ME_HOLYDAMAGE = 39 CONST_ME_BIGCLOUDS = 40 CONST_ME_ICEAREA = 41 CONST_ME_ICETORNADO = 42 CONST_ME_ICEATTACK = 43 CONST_ME_STONES = 44 CONST_ME_SMALLPLANTS = 45 CONST_ME_CARNIPHILA = 46 CONST_ME_PURPLEENERGY = 47 CONST_ME_YELLOWENERGY = 48 CONST_ME_HOLYAREA = 49 CONST_ME_BIGPLANTS = 50 CONST_ME_CAKE = 51 CONST_ME_GIANTICE = 52 CONST_ME_WATERSPLASH = 53 CONST_ME_PLANTATTACK = 54 CONST_ME_TUTORIALARROW = 55 CONST_ME_TUTORIALSQUARE = 56 CONST_ME_MIRRORHORIZONTAL = 57 CONST_ME_MIRRORVERTICAL = 58 CONST_ME_SKULLHORIZONTAL = 59 CONST_ME_SKULLVERTICAL = 60 CONST_ME_ASSASSIN = 61 CONST_ME_STEPSHORIZONTAL = 62 CONST_ME_BLOODYSTEPS = 63 CONST_ME_STEPSVERTICAL = 64 CONST_ME_YALAHARIGHOST = 65 CONST_ME_BATS = 66 CONST_ME_SMOKE = 67 CONST_ME_INSECTS = 68 CONST_ME_NONE = 255 CONST_ME_LAST = CONST_ME_INSECTS Eu criei este tutorial com base no tutorial do amigo Black Ice que pode ser encontrado clicando aqui, então está ai os devidos créditos. Espero que eu tenha sido util para aqueles que ainda não sabiam disto, é facil? É sim! Mas vai ajudar a quem ainda não sabe. Ate mais Edited August 30, 2011 by MMizael Erro no script e formatar melhor o tópico. Share this post Link to post
Majesty 1,761 #2 Posted August 18, 2011 O seu tutorial está complementando o tutorial que o Black Ice fez então eu agradeço a sua contribuição, Aprovado. Remuneração: Tutorial sobre scripting iniciante - 25 V$ / 2 = 12.5 V$. Por não ser próprio e que complementou um tutorial já existente. Share this post Link to post
Startix 9 #3 Posted August 24, 2011 Gostei do tópico por causa da lista de efeitos, poderia ter formatado melhor mas me ajudou ;D Share this post Link to post
dalvorsn 46 #5 Posted August 24, 2011 [b][color=red]local combat1[/color][/b] = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) local combat2 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) local combat3 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) Ta errado essa parte, você teria que colocar o novo combat para setar o parametro, e o que você fez acima foi setar tudo no combat1, o certo seria assim: local [b][color=blue]combat1[/color][/b] = createCombatObject() setCombatParam([b][color=blue]combat1[/color][/b], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam([b][color=blue]combat1[/color][/b], COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula([b][color=blue]combat1[/color][/b], COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) local [b][color=blue]combat2[/color][/b] = createCombatObject() setCombatParam([b][color=blue]combat2[/color][/b], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam([b][color=blue]combat2[/color][/b], COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula([color=blue][b]combat2[/b][/color], COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) local [b][color=blue]combat3[/color][/b] = createCombatObject() setCombatParam([b][color=blue]combat3[/color][/b], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam([b][color=blue]combat3[/color][/b], COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula([b][color=blue]combat3[/color][/b], COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) É um tutorial bem básico, mas pode ajudar alguém, bom trabalho! Share this post Link to post
MMizael 0 #6 Posted August 25, 2011 Ta errado essa parte, você teria que colocar o novo combat para setar o parametro, e o que você fez acima foi setar tudo no combat1, o certo seria assim: local [b][color=blue]combat1[/color][/b] = createCombatObject() setCombatParam([b][color=blue]combat1[/color][/b], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam([b][color=blue]combat1[/color][/b], COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula([b][color=blue]combat1[/color][/b], COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) local [b][color=blue]combat2[/color][/b] = createCombatObject() setCombatParam([b][color=blue]combat2[/color][/b], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam([b][color=blue]combat2[/color][/b], COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula([color=blue][b]combat2[/b][/color], COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) local [b][color=blue]combat3[/color][/b] = createCombatObject() setCombatParam([b][color=blue]combat3[/color][/b], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam([b][color=blue]combat3[/color][/b], COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula([b][color=blue]combat3[/color][/b], COMBAT_FORMULA_LEVELMAGIC, -5.0, -37, -7.0, 0) É um tutorial bem básico, mas pode ajudar alguém, bom trabalho! Sim, eu esqueci de ajeitar tudo, porque tinha copiado o combat1 e colado abaixo, pra facilitar sabe? Eauhehuaeua, ajeitarei agora mesmo. Vlws Share this post Link to post
Rafael2013 0 #7 Posted December 19, 2013 Cara eu Preciso de uma Spell Sem Coodown "Especial" Quero Uma Magia Para Mage Combar Com UE! jah fiz a magia toda so nao sei aonde altero esse sistema de afetar as coodown das magias... att Mec Share this post Link to post