Tutorial 9: Scripts Objetivo - Anexar um script personalizado ao evento do módulo OnAcquireItem, que atualizará o jornal quando o jogador pegar o Anel de Jacen.
Tutorial - Script OnAcquireItem 2. Selecione "Module Properties" do menu "Edit" para abrir a janela de Propriedades do Módulo. 3. Pressione "Edit" no evento OnAcquireItem na aba "Events" e abra o Editor de Scripts com um novo script. 4. Digite o seguinte texto para o script, substituindo todo o conteúdo que virá originalmente. void main() 5. Salve o script como "me_acquireitem" e feche o Editor de Script. Nota: Um aviso aparecerá, dizendo que o script deve ser compilado antes de utilizado no jogo. A menos que esta opção esteja desativada (não é recomendado), o Editor de Script compilará automaticamente cada script modificado. 6. Pressione "OK" para fechar a janela de Propriedades do Módulo.
Uma Ação "Action Taken" Personalizada 2. Selecione o Nodo 3 ("Obrigado por você..."). Mude para a aba "Action Taken" e pressione o botão Script Wizard (Assistente de Script). 3. Verifique a opção "Give rewards" e pressione "Next". 4. Digite 2000 (baseado no valor que foi definido no Editor de Jornal nesta esta missão) no campo "Give XP", marque a opção "Give to Party" também e pressione "Next". 5. Dê o nome para o script de "at_falstadd03", marque a opção "Start the Script Editor" e pressione "Finish". 6. Assim que o Editor de Script estiver aberto, o script deverá parecer como este: void main() 7. O único problema com isso, é que a recompensa especificada no jornal para esta missão muda, por isso este script deve ser modificado e recompilado também. A melhor maneira de fazer issoé determinar a quantidade que foi atribuída na categoria do jornal. Isto requer que o script seja modificado, ficando dessa forma
8. Uma vez que o script tenha sido modificado, salve-o e feche o Editor de Script. Salve também o arquivo de conversa e então feche o Editor de Conversação. Salve o módulo, feche o Toolset e tente executar o módulo deste o seu começo.
Extra Isso será possível criando três scripts, dois com o Assistente de Script (requer apenas modificações bobas) e um script customizado. Primeiro crie a conversação. Ela será similar a de Falstadd's e na primeira vez que o PJ conversar com mineiro, ele dirá uma coisa primeiramente e para as próximas vezes, uma outra coisa diferente que será repetida seguidamente. Os dois scripts que controlam aquilo que o mineiro dirá, deverão ser modificados e verificar uma variável local no próprio mineiro. Estes scripts deverão ser criados utilizando o Assistente de Script, como no Tutorial 6 e que modifique para utilizar a funcão GetPCSpeaker(), no qual utilize a constante OBJECT_SELF. A constante OBJECT_SELF indica qual o objeto que está utilizando o script, que neste caso é o mineiro. Isto permitirá ao PJ, salvar vários mineiros e receber uma recompensa para cada um deles. Se a variável estiver no PJ, apenas um único mineiro poderá ser salvo e ganhar apenas uma recompensa, pois seria verificado que você já teria falado com os outros mineiros, e por isso não ganharia mais nada. O terceiro script deveria rodar no evento "Action Taken" de uma conversa, que estaria acessível num primeiro momento, quando o PJ conversa com o mineiro. Este script dará uma recompensa para o PJ de 50XP e fará o mineiro se mover para a saída em direção a cidade. A maneira mais fácil de mover a criatura é direcioná-la para uma outra localização ou objeto. Agora, utilize as funções GetObjectByTag, AssignCommand e ActionMoveToObject para fazer os mineiros correrem para Falstadd. Não esqueça de utilizar OBJECT_SELF e de atribuir as conversas para os modelos dos mineiros! |