Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Opa galera, estou fazendo um projeto e logo mais posto ele aqui para vocês verem, mas eu ainda estou sem essa runa essencial que não consigo fazer '-'>


A runa é uma runa de attack que você de use with em um item e em uma parte do mapa como se fosse paralyze e hitasse o player se ele estiver no SQM, eu queria que alguem fizesse para min, é com o Effect de Distance 1, e Physical Damage, o dano pode por qualquer um, de preferencia se puder, poem 10, e o ID do item é 5805.


Abrçs galera, e espero que possam ajudar, não sei se consegui explicar direitinho, mas vamos ver '-'

Editado por raphaelpdc (veja o histórico de edições)
teste.gif
Link para o post
Compartilhar em outros sites
  • 7 months later...

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[/b]
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.

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)[/b]
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

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo