<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wolfire.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dindresto</id>
	<title>Wolfire Games Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wolfire.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dindresto"/>
	<link rel="alternate" type="text/html" href="https://wiki.wolfire.com/index.php?title=Special:Contributions/Dindresto"/>
	<updated>2026-05-04T22:03:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wiki.wolfire.com/index.php?title=Scripting&amp;diff=4067</id>
		<title>Scripting</title>
		<link rel="alternate" type="text/html" href="https://wiki.wolfire.com/index.php?title=Scripting&amp;diff=4067"/>
		<updated>2013-02-23T11:02:50Z</updated>

		<summary type="html">&lt;p&gt;Dindresto: Surrounded &amp;quot;path_to_script&amp;quot; with code tags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Overgrowth uses [http://www.angelcode.com/angelscript/ AngelScript] as its core &#039;&#039;&#039;scripting&#039;&#039;&#039; language.  The [http://www.angelcode.com/angelscript/sdk/docs/manual/index.html AngelScript Manual] is the best place to start learning. &lt;br /&gt;
&lt;br /&gt;
== Checking for User Input: ==&lt;br /&gt;
You can check for keypresses by using the &#039;&#039;&#039;boolean&#039;&#039;&#039; check function &#039;&#039;&#039;GetInputDown()&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Syntax examples:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|GetInputDown(&amp;quot;a&amp;quot;)&lt;br /&gt;
|returns true if the &#039;a&#039; key is being pressed, returns false if not&lt;br /&gt;
|-&lt;br /&gt;
|GetInputDown(&amp;quot;attack&amp;quot;)&lt;br /&gt;
|returns true if the left mouse button is being pressed, returns false if not&lt;br /&gt;
|-&lt;br /&gt;
|GetInputDown(&amp;quot;move_left&amp;quot;)&lt;br /&gt;
|returns true if the &amp;quot;left key&amp;quot; is being pressed, returns false if not (by default this key is defined in the config.txt to be the &#039;a&#039; key) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following controls are designed to be relative to the player&#039;s preferences and are given a binding in the [[config.txt|config.txt]] file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Config.txt Dependent References&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Predefined Term&lt;br /&gt;
!  Default binding in Config.txt&lt;br /&gt;
!  Scripting Reference Name&lt;br /&gt;
|-&lt;br /&gt;
|  Left Key&lt;br /&gt;
|  a&lt;br /&gt;
|  move_left&lt;br /&gt;
|-&lt;br /&gt;
|  Right Key&lt;br /&gt;
|  d&lt;br /&gt;
|  move_right&lt;br /&gt;
|-&lt;br /&gt;
|  Up Key&lt;br /&gt;
|  w&lt;br /&gt;
|  move_up&lt;br /&gt;
|-&lt;br /&gt;
|  Down Key&lt;br /&gt;
|  s&lt;br /&gt;
|  move_down&lt;br /&gt;
|-&lt;br /&gt;
|  Crouch Key&lt;br /&gt;
|  left shift&lt;br /&gt;
|  crouch&lt;br /&gt;
|-&lt;br /&gt;
|  Jump Key&lt;br /&gt;
|  space&lt;br /&gt;
|  jump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mouse Input&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Mouse Button&lt;br /&gt;
!  Scripting Reference Name&lt;br /&gt;
|-&lt;br /&gt;
|  Left Mouse Button&lt;br /&gt;
|  attack&lt;br /&gt;
|-&lt;br /&gt;
|  Right Mouse Button&lt;br /&gt;
|  grab&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Generic Key References&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is a complete list of scripting tags for key presses:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backspace&lt;br /&gt;
tab&lt;br /&gt;
clear&lt;br /&gt;
return&lt;br /&gt;
pause&lt;br /&gt;
esc&lt;br /&gt;
space&lt;br /&gt;
!&lt;br /&gt;
&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
$&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&#039;&lt;br /&gt;
(&lt;br /&gt;
)&lt;br /&gt;
*&lt;br /&gt;
+&lt;br /&gt;
,&lt;br /&gt;
-&lt;br /&gt;
.&lt;br /&gt;
/&lt;br /&gt;
0&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
:&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;&lt;br /&gt;
=&lt;br /&gt;
&amp;gt;&lt;br /&gt;
?&lt;br /&gt;
@&lt;br /&gt;
[&lt;br /&gt;
\&lt;br /&gt;
]&lt;br /&gt;
^&lt;br /&gt;
_&lt;br /&gt;
`&lt;br /&gt;
a&lt;br /&gt;
b&lt;br /&gt;
c&lt;br /&gt;
d&lt;br /&gt;
e&lt;br /&gt;
f&lt;br /&gt;
g&lt;br /&gt;
h&lt;br /&gt;
i&lt;br /&gt;
j&lt;br /&gt;
k&lt;br /&gt;
l&lt;br /&gt;
m&lt;br /&gt;
n&lt;br /&gt;
o&lt;br /&gt;
p&lt;br /&gt;
q&lt;br /&gt;
r&lt;br /&gt;
s&lt;br /&gt;
t&lt;br /&gt;
u&lt;br /&gt;
v&lt;br /&gt;
w&lt;br /&gt;
x&lt;br /&gt;
y&lt;br /&gt;
z&lt;br /&gt;
delete&lt;br /&gt;
keypad0&lt;br /&gt;
keypad1&lt;br /&gt;
keypad2&lt;br /&gt;
keypad3&lt;br /&gt;
keypad4&lt;br /&gt;
keypad5&lt;br /&gt;
keypad6&lt;br /&gt;
keypad7&lt;br /&gt;
keypad8&lt;br /&gt;
keypad9&lt;br /&gt;
keypad.&lt;br /&gt;
keypad/&lt;br /&gt;
keypad*&lt;br /&gt;
keypad-&lt;br /&gt;
keypad+&lt;br /&gt;
keypadenter&lt;br /&gt;
keypad=&lt;br /&gt;
up&lt;br /&gt;
down&lt;br /&gt;
right&lt;br /&gt;
left&lt;br /&gt;
insert&lt;br /&gt;
home&lt;br /&gt;
end&lt;br /&gt;
pageup&lt;br /&gt;
pagedown&lt;br /&gt;
f1&lt;br /&gt;
f2&lt;br /&gt;
f3&lt;br /&gt;
f4&lt;br /&gt;
f5&lt;br /&gt;
f6&lt;br /&gt;
f7&lt;br /&gt;
f8&lt;br /&gt;
f9&lt;br /&gt;
f10&lt;br /&gt;
f11&lt;br /&gt;
f12&lt;br /&gt;
f13&lt;br /&gt;
f14&lt;br /&gt;
f15&lt;br /&gt;
numlock&lt;br /&gt;
capslock&lt;br /&gt;
scrollock&lt;br /&gt;
rshift&lt;br /&gt;
lshift&lt;br /&gt;
rctrl&lt;br /&gt;
lctrl&lt;br /&gt;
ralt&lt;br /&gt;
lalt&lt;br /&gt;
rmeta&lt;br /&gt;
lmeta&lt;br /&gt;
lsuper&lt;br /&gt;
rsuper&lt;br /&gt;
mode&lt;br /&gt;
compose&lt;br /&gt;
help&lt;br /&gt;
print&lt;br /&gt;
sysreq&lt;br /&gt;
break&lt;br /&gt;
menu&lt;br /&gt;
power&lt;br /&gt;
euro&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Overgrowth]]&lt;br /&gt;
&lt;br /&gt;
== Writing classes and functions in your own script: ==&lt;br /&gt;
Scripts can be written outside of the game code, and interact with it using objects and function calls. These do not need to be written as classes and could be simple functions. A simple class might look like this: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Example {&lt;br /&gt;
    int example_variable; // Variables cannot be initialized here&lt;br /&gt;
&lt;br /&gt;
    Example() {&lt;br /&gt;
        example_variable = 1;&lt;br /&gt;
        print_var();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    void print_var() {&lt;br /&gt;
        Print(example_variable);&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Initialize a class that the game can use&lt;br /&gt;
Example ex1 = Example();&lt;br /&gt;
ex1.example_variable = 2;&lt;br /&gt;
ex1.print_var();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This script could be included in any of those in Data/Scripts, by writing &amp;lt;code&amp;gt;#include &amp;quot;path_to_script.as&amp;quot;&amp;lt;/code&amp;gt;, where &amp;lt;code&amp;gt;path_to_script&amp;lt;/code&amp;gt; would just be your script name if it were in the scripts folder.&lt;br /&gt;
&lt;br /&gt;
It can then be used to create new classes, or use ones defined in your script.&lt;br /&gt;
&lt;br /&gt;
Writing you scripts separate from the game files makes your code easier to develop and update!&lt;/div&gt;</summary>
		<author><name>Dindresto</name></author>
	</entry>
	<entry>
		<id>https://wiki.wolfire.com/index.php?title=Scripting&amp;diff=4066</id>
		<title>Scripting</title>
		<link rel="alternate" type="text/html" href="https://wiki.wolfire.com/index.php?title=Scripting&amp;diff=4066"/>
		<updated>2013-02-23T10:59:12Z</updated>

		<summary type="html">&lt;p&gt;Dindresto: Better code formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Overgrowth uses [http://www.angelcode.com/angelscript/ AngelScript] as its core &#039;&#039;&#039;scripting&#039;&#039;&#039; language.  The [http://www.angelcode.com/angelscript/sdk/docs/manual/index.html AngelScript Manual] is the best place to start learning. &lt;br /&gt;
&lt;br /&gt;
== Checking for User Input: ==&lt;br /&gt;
You can check for keypresses by using the &#039;&#039;&#039;boolean&#039;&#039;&#039; check function &#039;&#039;&#039;GetInputDown()&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Syntax examples:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|GetInputDown(&amp;quot;a&amp;quot;)&lt;br /&gt;
|returns true if the &#039;a&#039; key is being pressed, returns false if not&lt;br /&gt;
|-&lt;br /&gt;
|GetInputDown(&amp;quot;attack&amp;quot;)&lt;br /&gt;
|returns true if the left mouse button is being pressed, returns false if not&lt;br /&gt;
|-&lt;br /&gt;
|GetInputDown(&amp;quot;move_left&amp;quot;)&lt;br /&gt;
|returns true if the &amp;quot;left key&amp;quot; is being pressed, returns false if not (by default this key is defined in the config.txt to be the &#039;a&#039; key) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following controls are designed to be relative to the player&#039;s preferences and are given a binding in the [[config.txt|config.txt]] file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Config.txt Dependent References&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Predefined Term&lt;br /&gt;
!  Default binding in Config.txt&lt;br /&gt;
!  Scripting Reference Name&lt;br /&gt;
|-&lt;br /&gt;
|  Left Key&lt;br /&gt;
|  a&lt;br /&gt;
|  move_left&lt;br /&gt;
|-&lt;br /&gt;
|  Right Key&lt;br /&gt;
|  d&lt;br /&gt;
|  move_right&lt;br /&gt;
|-&lt;br /&gt;
|  Up Key&lt;br /&gt;
|  w&lt;br /&gt;
|  move_up&lt;br /&gt;
|-&lt;br /&gt;
|  Down Key&lt;br /&gt;
|  s&lt;br /&gt;
|  move_down&lt;br /&gt;
|-&lt;br /&gt;
|  Crouch Key&lt;br /&gt;
|  left shift&lt;br /&gt;
|  crouch&lt;br /&gt;
|-&lt;br /&gt;
|  Jump Key&lt;br /&gt;
|  space&lt;br /&gt;
|  jump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mouse Input&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Mouse Button&lt;br /&gt;
!  Scripting Reference Name&lt;br /&gt;
|-&lt;br /&gt;
|  Left Mouse Button&lt;br /&gt;
|  attack&lt;br /&gt;
|-&lt;br /&gt;
|  Right Mouse Button&lt;br /&gt;
|  grab&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Generic Key References&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is a complete list of scripting tags for key presses:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backspace&lt;br /&gt;
tab&lt;br /&gt;
clear&lt;br /&gt;
return&lt;br /&gt;
pause&lt;br /&gt;
esc&lt;br /&gt;
space&lt;br /&gt;
!&lt;br /&gt;
&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
$&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&#039;&lt;br /&gt;
(&lt;br /&gt;
)&lt;br /&gt;
*&lt;br /&gt;
+&lt;br /&gt;
,&lt;br /&gt;
-&lt;br /&gt;
.&lt;br /&gt;
/&lt;br /&gt;
0&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
:&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;&lt;br /&gt;
=&lt;br /&gt;
&amp;gt;&lt;br /&gt;
?&lt;br /&gt;
@&lt;br /&gt;
[&lt;br /&gt;
\&lt;br /&gt;
]&lt;br /&gt;
^&lt;br /&gt;
_&lt;br /&gt;
`&lt;br /&gt;
a&lt;br /&gt;
b&lt;br /&gt;
c&lt;br /&gt;
d&lt;br /&gt;
e&lt;br /&gt;
f&lt;br /&gt;
g&lt;br /&gt;
h&lt;br /&gt;
i&lt;br /&gt;
j&lt;br /&gt;
k&lt;br /&gt;
l&lt;br /&gt;
m&lt;br /&gt;
n&lt;br /&gt;
o&lt;br /&gt;
p&lt;br /&gt;
q&lt;br /&gt;
r&lt;br /&gt;
s&lt;br /&gt;
t&lt;br /&gt;
u&lt;br /&gt;
v&lt;br /&gt;
w&lt;br /&gt;
x&lt;br /&gt;
y&lt;br /&gt;
z&lt;br /&gt;
delete&lt;br /&gt;
keypad0&lt;br /&gt;
keypad1&lt;br /&gt;
keypad2&lt;br /&gt;
keypad3&lt;br /&gt;
keypad4&lt;br /&gt;
keypad5&lt;br /&gt;
keypad6&lt;br /&gt;
keypad7&lt;br /&gt;
keypad8&lt;br /&gt;
keypad9&lt;br /&gt;
keypad.&lt;br /&gt;
keypad/&lt;br /&gt;
keypad*&lt;br /&gt;
keypad-&lt;br /&gt;
keypad+&lt;br /&gt;
keypadenter&lt;br /&gt;
keypad=&lt;br /&gt;
up&lt;br /&gt;
down&lt;br /&gt;
right&lt;br /&gt;
left&lt;br /&gt;
insert&lt;br /&gt;
home&lt;br /&gt;
end&lt;br /&gt;
pageup&lt;br /&gt;
pagedown&lt;br /&gt;
f1&lt;br /&gt;
f2&lt;br /&gt;
f3&lt;br /&gt;
f4&lt;br /&gt;
f5&lt;br /&gt;
f6&lt;br /&gt;
f7&lt;br /&gt;
f8&lt;br /&gt;
f9&lt;br /&gt;
f10&lt;br /&gt;
f11&lt;br /&gt;
f12&lt;br /&gt;
f13&lt;br /&gt;
f14&lt;br /&gt;
f15&lt;br /&gt;
numlock&lt;br /&gt;
capslock&lt;br /&gt;
scrollock&lt;br /&gt;
rshift&lt;br /&gt;
lshift&lt;br /&gt;
rctrl&lt;br /&gt;
lctrl&lt;br /&gt;
ralt&lt;br /&gt;
lalt&lt;br /&gt;
rmeta&lt;br /&gt;
lmeta&lt;br /&gt;
lsuper&lt;br /&gt;
rsuper&lt;br /&gt;
mode&lt;br /&gt;
compose&lt;br /&gt;
help&lt;br /&gt;
print&lt;br /&gt;
sysreq&lt;br /&gt;
break&lt;br /&gt;
menu&lt;br /&gt;
power&lt;br /&gt;
euro&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Overgrowth]]&lt;br /&gt;
&lt;br /&gt;
== Writing classes and functions in your own script: ==&lt;br /&gt;
Scripts can be written outside of the game code, and interact with it using objects and function calls. These do not need to be written as classes and could be simple functions. A simple class might look like this: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Example {&lt;br /&gt;
    int example_variable; // Variables cannot be initialized here&lt;br /&gt;
&lt;br /&gt;
    Example() {&lt;br /&gt;
        example_variable = 1;&lt;br /&gt;
        print_var();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    void print_var() {&lt;br /&gt;
        Print(example_variable);&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Initialize a class that the game can use&lt;br /&gt;
Example ex1 = Example();&lt;br /&gt;
ex1.example_variable = 2;&lt;br /&gt;
ex1.print_var();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This script could be included in any of those in Data/Scripts, by writing &amp;lt;code&amp;gt;#include &amp;quot;path_to_script.as&amp;quot;&amp;lt;/code&amp;gt;, where path_to_script would just be your script name if it were in the scripts folder.&lt;br /&gt;
&lt;br /&gt;
It can then be used to create new classes, or use ones defined in your script.&lt;br /&gt;
&lt;br /&gt;
Writing you scripts separate from the game files makes your code easier to develop and update!&lt;/div&gt;</summary>
		<author><name>Dindresto</name></author>
	</entry>
	<entry>
		<id>https://wiki.wolfire.com/index.php?title=Scripting&amp;diff=4065</id>
		<title>Scripting</title>
		<link rel="alternate" type="text/html" href="https://wiki.wolfire.com/index.php?title=Scripting&amp;diff=4065"/>
		<updated>2013-02-23T10:51:34Z</updated>

		<summary type="html">&lt;p&gt;Dindresto: Replaced link to Wikipedia article of AngelScript with link to their homepage, since the Wikipedia article got removed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Overgrowth uses [http://www.angelcode.com/angelscript/ AngelScript] as its core &#039;&#039;&#039;scripting&#039;&#039;&#039; language.  The [http://www.angelcode.com/angelscript/sdk/docs/manual/index.html AngelScript Manual] is the best place to start learning. &lt;br /&gt;
&lt;br /&gt;
== Checking for User Input: ==&lt;br /&gt;
You can check for keypresses by using the &#039;&#039;&#039;boolean&#039;&#039;&#039; check function &#039;&#039;&#039;GetInputDown()&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Syntax examples:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|GetInputDown(&amp;quot;a&amp;quot;)&lt;br /&gt;
|returns true if the &#039;a&#039; key is being pressed, returns false if not&lt;br /&gt;
|-&lt;br /&gt;
|GetInputDown(&amp;quot;attack&amp;quot;)&lt;br /&gt;
|returns true if the left mouse button is being pressed, returns false if not&lt;br /&gt;
|-&lt;br /&gt;
|GetInputDown(&amp;quot;move_left&amp;quot;)&lt;br /&gt;
|returns true if the &amp;quot;left key&amp;quot; is being pressed, returns false if not (by default this key is defined in the config.txt to be the &#039;a&#039; key) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following controls are designed to be relative to the player&#039;s preferences and are given a binding in the [[config.txt|config.txt]] file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Config.txt Dependent References&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Predefined Term&lt;br /&gt;
!  Default binding in Config.txt&lt;br /&gt;
!  Scripting Reference Name&lt;br /&gt;
|-&lt;br /&gt;
|  Left Key&lt;br /&gt;
|  a&lt;br /&gt;
|  move_left&lt;br /&gt;
|-&lt;br /&gt;
|  Right Key&lt;br /&gt;
|  d&lt;br /&gt;
|  move_right&lt;br /&gt;
|-&lt;br /&gt;
|  Up Key&lt;br /&gt;
|  w&lt;br /&gt;
|  move_up&lt;br /&gt;
|-&lt;br /&gt;
|  Down Key&lt;br /&gt;
|  s&lt;br /&gt;
|  move_down&lt;br /&gt;
|-&lt;br /&gt;
|  Crouch Key&lt;br /&gt;
|  left shift&lt;br /&gt;
|  crouch&lt;br /&gt;
|-&lt;br /&gt;
|  Jump Key&lt;br /&gt;
|  space&lt;br /&gt;
|  jump&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mouse Input&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Mouse Button&lt;br /&gt;
!  Scripting Reference Name&lt;br /&gt;
|-&lt;br /&gt;
|  Left Mouse Button&lt;br /&gt;
|  attack&lt;br /&gt;
|-&lt;br /&gt;
|  Right Mouse Button&lt;br /&gt;
|  grab&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Generic Key References&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is a complete list of scripting tags for key presses:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backspace&lt;br /&gt;
tab&lt;br /&gt;
clear&lt;br /&gt;
return&lt;br /&gt;
pause&lt;br /&gt;
esc&lt;br /&gt;
space&lt;br /&gt;
!&lt;br /&gt;
&amp;quot;&lt;br /&gt;
#&lt;br /&gt;
$&lt;br /&gt;
&amp;amp;&lt;br /&gt;
&#039;&lt;br /&gt;
(&lt;br /&gt;
)&lt;br /&gt;
*&lt;br /&gt;
+&lt;br /&gt;
,&lt;br /&gt;
-&lt;br /&gt;
.&lt;br /&gt;
/&lt;br /&gt;
0&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
:&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;&lt;br /&gt;
=&lt;br /&gt;
&amp;gt;&lt;br /&gt;
?&lt;br /&gt;
@&lt;br /&gt;
[&lt;br /&gt;
\&lt;br /&gt;
]&lt;br /&gt;
^&lt;br /&gt;
_&lt;br /&gt;
`&lt;br /&gt;
a&lt;br /&gt;
b&lt;br /&gt;
c&lt;br /&gt;
d&lt;br /&gt;
e&lt;br /&gt;
f&lt;br /&gt;
g&lt;br /&gt;
h&lt;br /&gt;
i&lt;br /&gt;
j&lt;br /&gt;
k&lt;br /&gt;
l&lt;br /&gt;
m&lt;br /&gt;
n&lt;br /&gt;
o&lt;br /&gt;
p&lt;br /&gt;
q&lt;br /&gt;
r&lt;br /&gt;
s&lt;br /&gt;
t&lt;br /&gt;
u&lt;br /&gt;
v&lt;br /&gt;
w&lt;br /&gt;
x&lt;br /&gt;
y&lt;br /&gt;
z&lt;br /&gt;
delete&lt;br /&gt;
keypad0&lt;br /&gt;
keypad1&lt;br /&gt;
keypad2&lt;br /&gt;
keypad3&lt;br /&gt;
keypad4&lt;br /&gt;
keypad5&lt;br /&gt;
keypad6&lt;br /&gt;
keypad7&lt;br /&gt;
keypad8&lt;br /&gt;
keypad9&lt;br /&gt;
keypad.&lt;br /&gt;
keypad/&lt;br /&gt;
keypad*&lt;br /&gt;
keypad-&lt;br /&gt;
keypad+&lt;br /&gt;
keypadenter&lt;br /&gt;
keypad=&lt;br /&gt;
up&lt;br /&gt;
down&lt;br /&gt;
right&lt;br /&gt;
left&lt;br /&gt;
insert&lt;br /&gt;
home&lt;br /&gt;
end&lt;br /&gt;
pageup&lt;br /&gt;
pagedown&lt;br /&gt;
f1&lt;br /&gt;
f2&lt;br /&gt;
f3&lt;br /&gt;
f4&lt;br /&gt;
f5&lt;br /&gt;
f6&lt;br /&gt;
f7&lt;br /&gt;
f8&lt;br /&gt;
f9&lt;br /&gt;
f10&lt;br /&gt;
f11&lt;br /&gt;
f12&lt;br /&gt;
f13&lt;br /&gt;
f14&lt;br /&gt;
f15&lt;br /&gt;
numlock&lt;br /&gt;
capslock&lt;br /&gt;
scrollock&lt;br /&gt;
rshift&lt;br /&gt;
lshift&lt;br /&gt;
rctrl&lt;br /&gt;
lctrl&lt;br /&gt;
ralt&lt;br /&gt;
lalt&lt;br /&gt;
rmeta&lt;br /&gt;
lmeta&lt;br /&gt;
lsuper&lt;br /&gt;
rsuper&lt;br /&gt;
mode&lt;br /&gt;
compose&lt;br /&gt;
help&lt;br /&gt;
print&lt;br /&gt;
sysreq&lt;br /&gt;
break&lt;br /&gt;
menu&lt;br /&gt;
power&lt;br /&gt;
euro&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Overgrowth]]&lt;br /&gt;
&lt;br /&gt;
== Writing classes and functions in your own script: ==&lt;br /&gt;
Scripts can be written outside of the game code, and interact with it using objects and function calls. These do not need to be written as classes and could be simple functions. A simple class might look like this: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Example {&lt;br /&gt;
int example_variable; //variables cannot be initialized here&lt;br /&gt;
&lt;br /&gt;
Example() {&lt;br /&gt;
example_variable = 1;&lt;br /&gt;
print_var();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void print_var() {&lt;br /&gt;
Print(example_variable);&lt;br /&gt;
}&lt;br /&gt;
};&lt;br /&gt;
//Initialize a class that the game can use&lt;br /&gt;
Example ex1 = Example();&lt;br /&gt;
ex1.example_variable = 2;&lt;br /&gt;
ex1.print_var();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This script could be included in any of those in Data/Scripts, by writing&lt;br /&gt;
#include &amp;quot;path_to_script.as&amp;quot;, where path_to_script would just be your script name if it were in the scripts folder.&lt;br /&gt;
&lt;br /&gt;
It can then be used to create new classes, or use ones defined in your script.&lt;br /&gt;
&lt;br /&gt;
Writing you scripts separate from the game files makes your code easier to develop and update!&lt;/div&gt;</summary>
		<author><name>Dindresto</name></author>
	</entry>
</feed>