Ativa o menu
Alternar menu de preferências
Alternar menu pessoal
Não autenticado(a)
Your IP address will be publicly visible if you make any edits.
Revisão de 21h59min de 2 de fevereiro de 2026 por MegaManx3 (discussão | contribs) (Criou página com '{{Doomwiki}}'''ACS''' (Action Code Script) é a linguagem de script originalmente criada para Hexen pela Raven Software e que foi amplamente expandida pelo ZDoom. ==Introdução== O ACS permite que criadores de mapas programem eventos durante o jogo, tornando possível criar ambientes interativos mesmo no motor arcaico de Doom de forma muito mais flexível. Com comandos bastante simples, um autor pode modificar a estrutura de um mapa de várias maneiras, com...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
DoomWiki.org
For more information on this article, visit the ACS page on the Doom Wiki.

ACS (Action Code Script) é a linguagem de script originalmente criada para Hexen pela Raven Software e que foi amplamente expandida pelo ZDoom.

Introdução

O ACS permite que criadores de mapas programem eventos durante o jogo, tornando possível criar ambientes interativos mesmo no motor arcaico de Doom de forma muito mais flexível. Com comandos bastante simples, um autor pode modificar a estrutura de um mapa de várias maneiras, como subir e descer pisos separadamente ou simultaneamente, na mesma direção ou em direções opostas, e até qualquer altura ou profundidade desejada. Também é possível mover certas paredes, desde que atendam a critérios específicos (veja PolyObjects). Texturas exibidas em pisos e paredes podem ser alteradas. Monstros — e qualquer ator, na verdade — podem ser colocados, removidos, monitorados, ter várias de suas propriedades alteradas, receber objetivos, etc. O ACS é uma implementação de script que abre muitas possibilidades, especialmente se quem o utiliza for talentoso, paciente e criativo.

De forma um pouco mais técnica, um script é algo que uma pessoa escreve em algum editor de texto e que contém scripts individuais (semelhantes a sub-rotinas), comandos, declarações de variáveis e assim por diante. O ACS é uma linguagem de programação própria em miniatura, estruturada de forma muito semelhante ao C/C++. Os principais elementos a reconhecer são os scripts e seus tipos de script, que basicamente são os eventos que disparam a sequência de comandos contida em um determinado script. Um script é iniciado digitando algo como o exemplo a seguir:


Observe que executar um script em loop sem um atraso fará com que o ZDoom o encerre automaticamente, pois isso impediria que qualquer outra coisa no mapa fosse executada. Isso é determinado contando a quantidade de ações chamadas pelo script e encerrando-o caso esse número chegue a 2.000.000. Algumas funções, como distance, podem atingir esse limite quando chamadas dentro de um grande loop “for”. Quando isso acontece, você verá uma mensagem como a seguinte:


Variáveis são declaradas de forma semelhante à de muitas linguagens de programação. Se você quiser que uma variável esteja disponível para todos os scripts (escopo “global”), declare/defina-a fora de qualquer declaração de script (por tradição, acima delas). Arrays (variáveis que permitem armazenar e referenciar vários valores) são válidos no ZDoom. Elementos individuais de um array podem ser diferenciados atribuindo números de índice. Por exemplo, para atribuir o valor inteiro 9 ao array ICanMakeArrays no elemento 2 (que é o TERCEIRO elemento, já que arrays começam a contar do zero), você usaria a seguinte instrução: ICanMakeArrays[2] = 9;

Note que um script é definido de forma semelhante a uma função em C, inclusive no fato de que ele não precisa ser terminado com ponto e vírgula após a chave de fechamento, diferentemente das instruções dentro dos scripts. “OPEN”, como usado neste exemplo, é um tipo de script que informa ao ZDoom que o script deve ser executado ao iniciar o nível.

Observe também que o ACS suporta instruções condicionais (“if”) e, portanto, loops criados com essas instruções. Ele oferece suporte à maioria (se não a todas) as implementações de condicionais e loops do C/C++.

O ACS precisa ser compilado antes de poder ser usado em um mapa. A ferramenta de linha de comando ACC foi criada especificamente para esse propósito.

Subpáginas

Um guia rápido para iniciantes em ACS

Variáveis e tipos de dados

Definições

Ações especiais

Funções internas do ACS

Propriedades de atores no ACS

Laços FOR e WHILE

Configuração de ACS no Doom Builder

Bibliotecas

Outras funções úteis

Script types (OPEN, ENTER, etc)

Named scripts

Sobre multiplayer, scripts e TIDs

Tutorial de ACS

Noções básicas de ACS

Estrutura de um script

Escopo

Constantes

Operadores

Estruturas de controle

Scripts

Funções

Switch/Case

Trabalhando com ACS

Ações especiais

Funções internas do ACS

Laços

Bibliotecas

Usando ACS em mapas no formato Doom

Recursos

Algumas definições básicas

Guia de scripts de Rick Clark

Configuração de ACS no Doom Builder

Outras funções úteis

Tutoriais.