AVENGERS OF BALDURAN
  JOGOS NEVERWINTER NIGHTS TUTORIAIS APROFUNDAMENTOS #1

Aprofundamento em Aurora Toolset #1 - Itens de Poder Único
Escrito por Tripa.Seca.

 

Introdução
Olá, caro builder! Você já deve ter percebido que a tarefa de se criar um módulo no Aurora Toolset nem sempre é fácil, principalmente se você for muito exigente e cuidadoso. O intuito desta série de artigos é aprofundar seus conhecimentos no Toolset, principalmente na parte de scripts. Eu assumo que você já está bem familiarizado com as rotinas básicos do Aurora, por isso explicações básicas serão suprimidas. Espero que você faça bom proveito das dicas contidas aqui. Se tiver alguma dúvida ou uma sugestão para um próximo artigo, procure deixar uma mensagem em nosso fórum sobre o Nwverwinter Nights. Vamos botar a mão na massa agora!

 

Itens de Poder Único (Unique Power Itens)
Muitos builders não conhecem essa função do Aurora ou se a conhecessem não sabem utilizá-la corretamente. O fato é que esta é a função a qual permite ao builder construir itens das mais variadas utilidades, podendo abusar de sua criatividade e criar poderes diversos.

Como exemplo, vamos contruir um novo item intitulado Explosivo (Miscellaneous Medium). Agora vá em suas propriedades -> Guia Properties -> Cast Spell.

Procure na lista as magias Unique Power e Unique Power Self-Only. A diferença básica entre as duas é que a primeira permite que você escolha um alvo qualquer, já na segunda o usuário do item será sempre o alvo. No exemplo vamos escolher Unique Power, porque queremos escolher um alvo.

Agora é a hora de mecher nos scripts. Antes não esqueça de anotar a tag do item utilizado, como exemplo vamos assumir que a tag é "it_explosivo".

Saia das propriedades do item e vá até o menu do Aurora: Edit -> Module Properties -> Events. Agora crie um novo script no box OnActivateItem. O script basicamente conterá o código abaixo.

void main() {
object oItem=GetItemActivated();
object oPC=GetItemActivator();
location lArea = GetItemActivatedTargetLocation();
object oAlvo = GetItemActivatedTarget();
string sItemTag = GetTag(oItem);

ExecuteScript("s_"+sItemTag);
}

Bom, esse será o script base para o OnActivateItem. Note que não será mais necessário mecher neste script para incluir novos Unique Power Itens. Para isto basta você criar o script de funcionamento do item com o nome "s_" adicionando a tag do item. No caso do exemplo devemos criar um novo script chamado "s_it_explosivo". Segue abaixo um possível script para este item.

void main() {
object oItem=GetItemActivated();
object oPC=GetItemActivator();
location lArea = GetItemActivatedTargetLocation();
object oAlvo = GetItemActivatedTarget();
string sItemTag = GetTag(oItem);

effect eDano = EffectDamage(15, DAMAGE_TYPE_FIRE, DAMAGE_POWER_NORMAL);
effect eVisual = EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_FIRE);
effect eShake = EffectVisualEffect(VFX_FNF_SCREEN_SHAKE);
PlaySound("as_cv_boomdist2");
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVisual, lArea);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDano, oAlvo);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eShake, lArea);
}

Assim temos o nosso explosivo, que produz um efeito visual no local (VFX_FNF_GAS_EXPLOSION_FIRE), um efeito de tremer a tela (VFX_FNF_SCREEN_SHAKE) e aplica 15 pontos de dano por fogo à criatura alvo. Você pode mecher nos efeitos visuais a vontade, e se quiser aplicar um dano randômico, do tipo d6+1, basta alterar o número "15" para d6()+1.

Bom, ficamos por aqui agora. Até a próxima.

Seções
Publicidade