NWScript
NWScript é uma linguagem de scripting desenvolvida pela BioWare para o jogo Neverwinter Nights, baseando-se no C e C++. Devido à incompatibilidade do Aurora Toolset com o Mac OS X e Linux foi criado por terceiros o Neverscript, implementação do NWScript para estas plataformas, em open source.
NWScript | |
---|---|
Surgido em | 2002 |
Criado por | Equipa da BioWare para o NWN |
Estilo de tipagem | tipagem estática e forte |
Principais implementações | Aurora Toolset |
Influenciada por | C, C++. |
Influenciou | NWScript do NWN2 |
Licença | BioWare EULA |
O NWScript é também usado nos jogos de video The Witcher, Star Wars: Knights of the Old Republic, Star Wars: Knights of the Old Republic II: The Sith Lords e Jade Empire. Neverwinter Nights 2, usa uma versão modificada desta linguagem, com suporte à passagem de parâmetros aos scripts e a adição de funções.
Sintaxe
editarApesar de baseado em C, o NWScript não possui algumas das funções mais poderosas desta linguagem, como operações binárias e algumas funções matemáticas. O código fonte das funções não é acessível por parte do utilizador. Estas funções são listadas num ficheiro script especial e não compilável, a partir de onde se faz o mapeamento das mesmas no Aurora Engine. Os usuários podem definir as suas próprias funções e incluir as mesmas através da directiva #include.[1]
Olá, mundo
editarNão existe, no NWScript, modo de escrever directamente para o ecrã. Em vez disso, as personagens podem ser controladas de forma a falarem linhas de texto.
void main()
{
SendMessageToPC(GetEnteringObject(), "Olá, mundo");
}
Este script regista a mensagem Olá, mundo no registo de mensagens do jogador. O NWScript é orientado a eventos, pelo que este script só será accionado se colocado no evento OnClientEnter, no Aurora Toolset. Como em C++, main() é a função de entrada do script, ou seja, a primeira a ser executada.[2]
Todas as linhas precedidas de // são ignoradas pelo compilador, podendo ser usadas para documentar o código. À semelhança do C, também podem ser usados */ e /* para comentários em bloco.[3]
Formato do ficheiro
editarQuando o Aurora Toolset grava um script, ele armazena o código base num ficheiro de texto com a terminação .nss. Aquando da compilação, um ficheiro .ncs e .ndb são criados. O primeiro é o ficheiro executado pelo Aurora Engine, e o segundo um ficheiro especial para efeitos de debugging. Apenas o primeiro é usado, salvo se o .ndb for chamado explicitamente.
Aquando da gravação do módulo, os ficheiros são compactados em um único ficheiro, com a extensão .mod.
Referências
- ↑ «Lista de Diretivas para NWScript». Consultado em 20 de setembro de 2009. Arquivado do original em 26 de abril de 2009
- ↑ «Celowin's NWScript Lesson 1». Consultado em 19 de setembro de 2009. Arquivado do original em 3 de junho de 2009
- ↑ Comments Explanation[ligação inativa]