Ir para conteúdo

Criando Novas Runes


Posts Recomendados

Ae, nao sei se ja existe um tutorial de make runes mais o pouco que proucurei nao encontrei entao decidi postar um q eu fiz agora a pouco.

ele se baseia em 5 etapas e é bem simples.

antes umas dicas Basicas.

-LEMBRE-SE DE FAZER BOAS FORMULAS DE ATAQUE

-LEMBRE-SE SEMPRE DE EDITAR A COR DO DANO, O ATK DA RUNE (se é uma bolinha de sd, uma powerbolt, um fogo)

-LEMBRE-SE DE EDITAR A ANIMAÇÂO QUE APAREÇE QUANDO A RUNE ATINGE O ALVO

-AGORA Q VC VAI APRENDER A CRIAR RUNES CRIE RUNES EXCLUSIVAS PRA MONSTERS PARA DAR UNS ASPECTO MAIS REAL AO JOGO.

Para editar tudo isso, fique sempre com o arquivo spell.lua aberto. ele esta localizado em data/spells/lib.

Os ids de runes começam em 2260 (blank rune).. teste novos ids para criar suas runes exclusivas.

agora vamos ao que interessa.

nos exemplos abaixo serao usados o ID, CARGA, ML do FIREFIELD do meu server.

1- você tem que ir no spells.xml e criar a tag da rune.

<rune name="rune" id="2301" charges="9" maglv="1" mana="0" enabled="1"></rune>

2- ainda no spells.xml crie a tag pra fazer a rune.

<spell name="rune" words="palavra magica" maglv="3" mana="60" enabled="1">

<vocation id="1" /><vocation id="2" /></spell>

3- vai nos items.xml vc adiciona a tag do item id da rune.

<item id="2301" name="palavra magica" type="rune" maglevel="1" weight="0.1" />

4- vai na pasta INSTANT dentro de SPELLS e cria um arquivo chamado palavra magica.lua

em seguida escreve isso nele

attackType = ATTACK_NONE

animationEffect = NM_ANI_NONE

hitEffect = NM_ME_NONE

damageEffect = NM_ME_MAGIC_BLOOD

animationColor = BLUE

offensive = false

drawblood = false

function onCast(cid, creaturePos, level, maglv, var)

n = makeRune(cid,2301,9);

return n

end

5- vai na pasta RUNES dentro de SPELLS e cria um arquivo chamado rune.lua

agora se divide em duas partes. se for rune q nao precisa a mira acertar o alvo (tipo explosion) é um script se precisar (tipo sd) é outro.

5.1 Rune Sem Mira

area = {

{0, 1, 0},

{1, 1, 1}, // <-------- edite a area a seu gosto.

{0, 1, 0}

}

attackType = ATTACK_PHYSICAL // <- tipo do atk, se é energy, fire, poison, physical, burst etc.

needDirection = false // <----- "false" para sem mira(explo) e "true" para com mira (sd)

areaEffect = NM_ME_EXPLOSION_AREA // <----- animação q vai apareçer onde tem 1 no desenho da area

animationEffect = NM_ANI_FIRE // <--- animação do caminho do atk (bolinha preta da sd, fogo da explo, entre outros (veja o spell.lua na pasta data/spells/lib para mais detalhes)

hitEffect = NM_ME_EXPLOSION_DAMAGE // <-- animação quando a rune atinge o chao/alvo

damageEffect = NM_ME_DRAW_BLOOD // <-- animação quando causa dano no alvo (no caso sangue)

animationColor = RED // <-- Cor do dano

offensive = true

drawblood = true

ExplosionObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0)

function onCast(cid, creaturePos, level, maglv, var)

centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z}

ExplosionObject.minDmg = (level * 2 + maglv *3) * 0.6 - 50  // <-- formulas de atk

ExplosionObject.maxDmg = (level * 2 + maglv *3) * 0.9 + 25

return doAreaMagic(cid, centerpos, needDirection, areaEffect, area, ExplosionObject:ordered())

end

5.2 Runes Com Mira

-- doTargetMagic

-- attackType: tipo do ataque (energy, poison, fire)

-- cid: id do alvo

-- Targetpos: posição do alvo

-- animationEffect: animação do projetil (powerbolt, bolinha preta da sd, etc)

-- damageEffect: efeito mostrado quando rune causa dano ao player

-- animationColor: cor do dano

-- offensive: indica se a magia é de atk ou de cura

-- drawblood: determina se o ataque deixa poça de sangue.

-- minDmg: dano minimo

-- maxDmg: dano maximo

-- returns true if the spell was casted.

attackType = ATTACK_PHYSICAL

animationEffect = NM_ANI_SUDDENDEATH

hitEffect = NM_ME_MORT_AREA

damageEffect = NM_ME_DRAW_BLOOD

animationColor = GREY

offensive = true

drawblood = true

SuddenDeathObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0)

function onCast(cid, creaturePos, level, maglv, var)

centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z}

SuddenDeathObject.minDmg = (level * 2 + maglv *3) * 1.3 - 30 //<-- edita as formulas a seu gosto

SuddenDeathObject.maxDmg = (level * 2 + maglv *3) * 1.7

return doTargetMagic(cid, centerpos, SuddenDeathObject:ordered())

end

Aew galera

Rune Pronta :)

Se Estiver Com Duvida Poste Que De Noite Qdo Xegar Do Meu Trabalho Eu Entro No Forum e Vejo As Dúvida e Se Possivel Esclarecerei

Comente Do Que Axaram,Bom Ou Ruim Comenta..Isso Incentiva a Pessoa a Continuar Postando :)

~\Pedrow

Link para o comentário
Compartilhar em outros sites

  • 1 year later...
  • 1 year later...

Meu ot tem uma runa que enche 3k de mana , ja tentei mudar o numero de quanto ela enche mas a unica cisa q aparece é :

 

 

</item>

<item id="2267" article="a" name="spell rune">

<attribute key="weight" value="120"/>

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...