Ir para conteúdo

Crie Sua Proprias Runas


OrochimaruSama

Posts Recomendados

Vou falando que os créditos sao do xXx1,

Primeiramente aqui vão algumas dicas:

 

-Procure criar boas fórmulas de ataque

-SEMPRE edite a cor do ataque da runa (Se é uma explosão, um powerbolt, ataque físico,etc)

-Edite a animação de quando a runa acerta o alvo.

 

Bom, vamos começar a criar nossas runas

 

Para editar tudo isso, mantenha o arquivo spell.lua aberto. Ele esta localizado em data/spells/lib.

Os ids de runes começam em 2260 (blank rune). Teste os Ids desejados para a criação de runas exclusivas

 

 

1- Vá até o spells.xml e crie a TAG da runa

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

 

 

2- Ainda no spells.xml crie a TAG pra fazer a rune. No lugar de palavra magica voce coloca o que é necessario dizer para criar a runa

<spell name="runa" words="palavra magica" maglv="5" mana="200" enabled="1">

 

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

 

 

3- Vá para items.xml e adicione a tag do item id da runa

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

 

 

4- Na pasta INSTANT dentro de SPELLS e crie um arquivo chamado palavra magica.lua

E escreva isso:

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- Na pasta RUNES dentro de SPELLS e crie um arquivo chamado runa.lua (Escolha o nome da sua runa) agora divida em duas partes. Se for runa q nao precisa a mira acertar o alvo (Ex: explosion) é um script se precisar (Ex: SD) é outro.

[/code]

 

5.1 Runas Sem Mira

area = {

 

{0, 1, 0},

 

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***{1, 1, 1}, ***// <-------- edite a area a seu gosto. Onde tem 1 havera ataque

 

{0, 1, 0}

 

}

 

 

 

attackType = ATTACK_PHYSICAL *** ***// <- Tipo de ataque: energy, fire, poison, physical, burst etc.

 

needDirection = false // <----- "false" para sem mira(explosion) 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 ataque (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 (Neste 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 ataque (/ Dano minimo .... / Dano maximo)

 

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

 

 

 

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

 

end

 

 

5.2 Runas Com Mira

n 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 //<-- edite as formulas como quiser

 

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

 

 

 

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

 

end

 

Bom outro ataque de ThECraZyPiPo acabou!!

 

By xXx1 e OrochimaruSama

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

  • 3 weeks later...
×
×
  • Criar Novo...