<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://wiki.brdoom.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ravick007</id>
	<title>Brdoom wiki - Contribuições do usuário [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.brdoom.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ravick007"/>
	<link rel="alternate" type="text/html" href="https://wiki.brdoom.org/index.php/Especial:Contribui%C3%A7%C3%B5es/Ravick007"/>
	<updated>2026-04-15T02:15:38Z</updated>
	<subtitle>Contribuições do usuário</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.brdoom.org/index.php?title=ACS&amp;diff=172</id>
		<title>ACS</title>
		<link rel="alternate" type="text/html" href="https://wiki.brdoom.org/index.php?title=ACS&amp;diff=172"/>
		<updated>2026-03-03T01:50:00Z</updated>

		<summary type="html">&lt;p&gt;Ravick007: Nome do vetor: DaPraFazerVertores.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Doomwiki}}&#039;&#039;&#039;ACS&#039;&#039;&#039; (Action Code Script) é a linguagem de script que foi criada originalmente para [[Hexen]] pela Raven Software e foi bastante expandida pelo [[ZDoom]].&lt;br /&gt;
&lt;br /&gt;
==Introdução==&lt;br /&gt;
ACS permite que criadores de mapas programem eventos durante o jogo, tornando a criação de ambientes interativos — mesmo no motor arcaico de [[Doom]] — infinitamente mais flexível. Com comandos bem básicos, o autor pode modificar a estrutura de um mapa de várias formas, como levantar e baixar pisos separadamente ou ao mesmo tempo, na mesma direção ou em direções opostas, e para qualquer altura ou profundidade. É possível até 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 — podem ser colocados, removidos, monitorados, ter várias propriedades modificadas, receber objetivos etc. O ACS abre muitas possibilidades, especialmente se quem o usa for talentoso, paciente e criativo.&lt;br /&gt;
&lt;br /&gt;
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 (como sub-rotinas), comandos, declarações de variáveis e assim por diante. ACS é uma linguagem de programação própria em miniatura, estruturada de forma parecida com C/C++. Os itens principais a reconhecer são os scripts e seus [[script types|tipos de script]], que basicamente são os eventos que disparam a sequência de comandos contida em um script. Um script pode ser iniciado escrevendo algo como o exemplo abaixo:&lt;br /&gt;
&lt;br /&gt;
 // Assim se faz um comentário.&lt;br /&gt;
 /* Assim também! */&lt;br /&gt;
 int VariavelDisponivelParaTodosOsScripts = 101;&lt;br /&gt;
 int DaPraFazerVertores[3] = {3,6,9};&lt;br /&gt;
 &lt;br /&gt;
 Script 1 {{SType|Open}} &lt;br /&gt;
 {&lt;br /&gt;
     int VariavelSoParaEsseScript = 0;&lt;br /&gt;
     while(VariavelDisponivelParaTodosOsScripts == 101)&lt;br /&gt;
     {&lt;br /&gt;
         ScriptVariable++;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Observe que entrar em loop em um script sem um delay fará com que o ZDoom finalize o script automaticamente, porque ele não daria chance para mais nada no mapa rodar. Isso é determinado contando quantas ações foram chamadas pelo script e encerrando-o quando esse total chega a 2.000.000. Algumas funções, como [[distance]], podem atingir esse limite quando chamadas em um grande loop &amp;quot;for&amp;quot;. Quando isso acontecer, você verá uma mensagem como:&lt;br /&gt;
&lt;br /&gt;
 Runaway script 1 terminated&lt;br /&gt;
&lt;br /&gt;
Variáveis são dimensionadas como em 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]] (ou &amp;quot;vetores&amp;quot;, são variáveis que permitem armazenar e referenciar vários valores) são válidos no [[ZDoom]]. Elementos individuais do array são diferenciados por índices. Por exemplo, para atribuir o valor inteiro 9 ao array DaPraFazerVertores, no elemento 2 (que é o TERCEIRO elemento, já que arrays começam em 0), você usaria: DaPraFazerVertores[2] = 9;&lt;br /&gt;
&lt;br /&gt;
Note que um script é definido de forma parecida com uma função em C, incluindo o fato de que ele não precisa ser terminado com ponto-e-vírgula após a chave de fechamento, como acontece com instruções dentro de scripts. &amp;quot;OPEN&amp;quot;, como usado neste exemplo, é um tipo de script que diz ao [[ZDoom]] que o script deve ser executado ao iniciar o nível.&lt;br /&gt;
&lt;br /&gt;
Note também que ACS suporta condicionais (&amp;quot;if&amp;quot;) e, portanto, loops feitos com condicionais. Ele suporta a maioria (se não todas) as implementações de condicionais e loops de C/C++.&lt;br /&gt;
&lt;br /&gt;
ACS precisa ser compilado antes de poder ser usado em um mapa. A ferramenta de linha de comando [[ACC]] foi feita para esse propósito.&lt;br /&gt;
&lt;br /&gt;
==Subpáginas==&lt;br /&gt;
&lt;br /&gt;
* [[A quick beginner&#039;s guide to ACS| Um Guia de ACS para iniciantes ]]&lt;br /&gt;
* [[Data types|Variables and data types]]&lt;br /&gt;
* [[Definitions|Unit definitions]]&lt;br /&gt;
* [[Action specials|Action Specials]]&lt;br /&gt;
* [[Built-in ACS functions]]&lt;br /&gt;
* [[ACS actor properties]]&lt;br /&gt;
* [[FOR and WHILE loops]]&lt;br /&gt;
* [[Doom Builder ACS Configuration]]&lt;br /&gt;
* [[Libraries]]&lt;br /&gt;
* [[Other useful functions]]&lt;br /&gt;
* [[Script types]] (OPEN, ENTER, etc)&lt;br /&gt;
* [[Named script]]s&lt;br /&gt;
* [[About Multiplayer, Scripts, and TIDs]]&lt;br /&gt;
&lt;br /&gt;
==Tutorial de ACS==&lt;br /&gt;
&lt;br /&gt;
===Básico de ACS===&lt;br /&gt;
* [[Structure of a script]]&lt;br /&gt;
* [[Scope]]&lt;br /&gt;
* [[Constants]]&lt;br /&gt;
* [[Operators]]&lt;br /&gt;
&lt;br /&gt;
===Estruturas de controle===&lt;br /&gt;
* [[Script types|Scripts]]&lt;br /&gt;
* [[Functions]]&lt;br /&gt;
* [[Switch/Case]]&lt;br /&gt;
&lt;br /&gt;
===Trabalhando com ACS===&lt;br /&gt;
* [[Action specials|Action Specials]]&lt;br /&gt;
* [[Built-in ACS functions]]&lt;br /&gt;
* [[Loops]]&lt;br /&gt;
* [[Libraries]]&lt;br /&gt;
* [[Using ACS in Doom-format maps]]&lt;br /&gt;
&lt;br /&gt;
===Recursos===&lt;br /&gt;
* [[Definitions|Some Basic Definitions]]&lt;br /&gt;
* [[Richard Clark&#039;s tutorials#Script Library|Rick Clark&#039;s Scripting Primer]]&lt;br /&gt;
* [[Doom Builder ACS configuration]]&lt;br /&gt;
* [[Other useful functions]]&lt;br /&gt;
* [[Tutorials#ACS_Related|Tutorials]].&lt;br /&gt;
&lt;br /&gt;
[[Category:ACS| ]]&lt;br /&gt;
[[Category:Editing concepts]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Ravick007</name></author>
	</entry>
	<entry>
		<id>https://wiki.brdoom.org/index.php?title=ACS&amp;diff=171</id>
		<title>ACS</title>
		<link rel="alternate" type="text/html" href="https://wiki.brdoom.org/index.php?title=ACS&amp;diff=171"/>
		<updated>2026-03-03T01:45:03Z</updated>

		<summary type="html">&lt;p&gt;Ravick007: Traduzi os nomes das variáveis no exemplo de script.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Doomwiki}}&#039;&#039;&#039;ACS&#039;&#039;&#039; (Action Code Script) é a linguagem de script que foi criada originalmente para [[Hexen]] pela Raven Software e foi bastante expandida pelo [[ZDoom]].&lt;br /&gt;
&lt;br /&gt;
==Introdução==&lt;br /&gt;
ACS permite que criadores de mapas programem eventos durante o jogo, tornando a criação de ambientes interativos — mesmo no motor arcaico de [[Doom]] — infinitamente mais flexível. Com comandos bem básicos, o autor pode modificar a estrutura de um mapa de várias formas, como levantar e baixar pisos separadamente ou ao mesmo tempo, na mesma direção ou em direções opostas, e para qualquer altura ou profundidade. É possível até 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 — podem ser colocados, removidos, monitorados, ter várias propriedades modificadas, receber objetivos etc. O ACS abre muitas possibilidades, especialmente se quem o usa for talentoso, paciente e criativo.&lt;br /&gt;
&lt;br /&gt;
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 (como sub-rotinas), comandos, declarações de variáveis e assim por diante. ACS é uma linguagem de programação própria em miniatura, estruturada de forma parecida com C/C++. Os itens principais a reconhecer são os scripts e seus [[script types|tipos de script]], que basicamente são os eventos que disparam a sequência de comandos contida em um script. Um script pode ser iniciado escrevendo algo como o exemplo abaixo:&lt;br /&gt;
&lt;br /&gt;
 // Assim se faz um comentário.&lt;br /&gt;
 /* Assim também! */&lt;br /&gt;
 int VariavelDisponivelParaTodosOsScripts = 101;&lt;br /&gt;
 int DaPraFazerVertores[3] = {3,6,9};&lt;br /&gt;
 &lt;br /&gt;
 Script 1 {{SType|Open}} &lt;br /&gt;
 {&lt;br /&gt;
     int VariavelSoParaEsseScript = 0;&lt;br /&gt;
     while(VariavelDisponivelParaTodosOsScripts == 101)&lt;br /&gt;
     {&lt;br /&gt;
         ScriptVariable++;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Observe que entrar em loop em um script sem um delay fará com que o ZDoom finalize o script automaticamente, porque ele não daria chance para mais nada no mapa rodar. Isso é determinado contando quantas ações foram chamadas pelo script e encerrando-o quando esse total chega a 2.000.000. Algumas funções, como [[distance]], podem atingir esse limite quando chamadas em um grande loop &amp;quot;for&amp;quot;. Quando isso acontecer, você verá uma mensagem como:&lt;br /&gt;
&lt;br /&gt;
 Runaway script 1 terminated&lt;br /&gt;
&lt;br /&gt;
Variáveis são dimensionadas como em 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 do array são diferenciados por índices. Por exemplo, para atribuir o valor inteiro 9 ao array ICanMakeArrays, no elemento 2 (que é o TERCEIRO elemento, já que arrays começam em 0), você usaria: ICanMakeArrays[2] = 9;&lt;br /&gt;
&lt;br /&gt;
Note que um script é definido de forma parecida com uma função em C, incluindo o fato de que ele não precisa ser terminado com ponto-e-vírgula após a chave de fechamento, como acontece com instruções dentro de scripts. &amp;quot;OPEN&amp;quot;, como usado neste exemplo, é um tipo de script que diz ao [[ZDoom]] que o script deve ser executado ao iniciar o nível.&lt;br /&gt;
&lt;br /&gt;
Note também que ACS suporta condicionais (&amp;quot;if&amp;quot;) e, portanto, loops feitos com condicionais. Ele suporta a maioria (se não todas) as implementações de condicionais e loops de C/C++.&lt;br /&gt;
&lt;br /&gt;
ACS precisa ser compilado antes de poder ser usado em um mapa. A ferramenta de linha de comando [[ACC]] foi feita para esse propósito.&lt;br /&gt;
&lt;br /&gt;
==Subpáginas==&lt;br /&gt;
&lt;br /&gt;
* [[A quick beginner&#039;s guide to ACS| Um Guia de ACS para iniciantes ]]&lt;br /&gt;
* [[Data types|Variables and data types]]&lt;br /&gt;
* [[Definitions|Unit definitions]]&lt;br /&gt;
* [[Action specials|Action Specials]]&lt;br /&gt;
* [[Built-in ACS functions]]&lt;br /&gt;
* [[ACS actor properties]]&lt;br /&gt;
* [[FOR and WHILE loops]]&lt;br /&gt;
* [[Doom Builder ACS Configuration]]&lt;br /&gt;
* [[Libraries]]&lt;br /&gt;
* [[Other useful functions]]&lt;br /&gt;
* [[Script types]] (OPEN, ENTER, etc)&lt;br /&gt;
* [[Named script]]s&lt;br /&gt;
* [[About Multiplayer, Scripts, and TIDs]]&lt;br /&gt;
&lt;br /&gt;
==Tutorial de ACS==&lt;br /&gt;
&lt;br /&gt;
===Básico de ACS===&lt;br /&gt;
* [[Structure of a script]]&lt;br /&gt;
* [[Scope]]&lt;br /&gt;
* [[Constants]]&lt;br /&gt;
* [[Operators]]&lt;br /&gt;
&lt;br /&gt;
===Estruturas de controle===&lt;br /&gt;
* [[Script types|Scripts]]&lt;br /&gt;
* [[Functions]]&lt;br /&gt;
* [[Switch/Case]]&lt;br /&gt;
&lt;br /&gt;
===Trabalhando com ACS===&lt;br /&gt;
* [[Action specials|Action Specials]]&lt;br /&gt;
* [[Built-in ACS functions]]&lt;br /&gt;
* [[Loops]]&lt;br /&gt;
* [[Libraries]]&lt;br /&gt;
* [[Using ACS in Doom-format maps]]&lt;br /&gt;
&lt;br /&gt;
===Recursos===&lt;br /&gt;
* [[Definitions|Some Basic Definitions]]&lt;br /&gt;
* [[Richard Clark&#039;s tutorials#Script Library|Rick Clark&#039;s Scripting Primer]]&lt;br /&gt;
* [[Doom Builder ACS configuration]]&lt;br /&gt;
* [[Other useful functions]]&lt;br /&gt;
* [[Tutorials#ACS_Related|Tutorials]].&lt;br /&gt;
&lt;br /&gt;
[[Category:ACS| ]]&lt;br /&gt;
[[Category:Editing concepts]]&lt;br /&gt;
[[Category:Features]]&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Ravick007</name></author>
	</entry>
</feed>