Difference between revisions of "AI"
(fixed stuff (AI-script to AI script, removed the "basically" and stuff like that)) |
Itsyaboikeef (talk | contribs) m (Added PerfectNavigation) |
||
Line 114: | Line 114: | ||
The various inputs to a function are called '''arguments'''. Each argument of a function has a specific datatype and accepts either a constant value or a function with a return value of the same type. | The various inputs to a function are called '''arguments'''. Each argument of a function has a specific datatype and accepts either a constant value or a function with a return value of the same type. | ||
+ | |||
+ | {{PerfectNavigation}} | ||
+ | |||
<br /> | <br /> |
Revision as of 05:21, 17 September 2020
The AI is a very powerful tool that can be used to automate nearly anything. To use the AI you have to create AI scripts in the headquarters.
AI scripts
An AI script contains three sections that control its behaviour:
- Impulses
- Conditions
- Actions
Impulse
An impulse or trigger is a certain event that activates an AI script. A script can contain zero, one or more impulses and will react to all of them equally. It is possible that a script can trigger multiple times before it has finished execution. In this case multiple instances of this script can run in parallel.
Condition
A condition is a requirement that has to be fulfilled in order for the script to start executing. If any of the specified conditions is not met then the whole script will not be executed once it is triggered by an impulse. During the execution the specified conditions have no effect.
Action
An action is something that the AI does when the script becomes active. The order of all actions is important where the action at the top is executed first and then all following actions are executed one by one. There is no way to execute multiple actions at the same time inside a single active script.
Datatypes
There are various types for data objects, placeholders or function arguments with each representing a different format of information.
Type | Human readable description | Example Values | Default Value | Notes |
---|---|---|---|---|
double | A number with decimal places. Can be positive or negative | 3.2, 0.29, -10.2, 7.9999993 | 0.0 | |
int | A number without decimal places. Can be positive or negative. | 20, 69, 420, -1029, 0 | 0 | |
string | A chain of characters, basically any form of text. | "meow", "hello", " ", "I am a text" | "" | The quotes in the examples are not included in the actual string value. |
bool | A binary value that can either be true or false. | true, false | false | |
Vector2 | A container type that contains two double values called x and y. | (-30.0, 0.0), (28.38, 13) | (0.0, 0.0) |
Some datetypes can be converted to others by using a function. Check the table below to see which datatypes are currently interchangeable.
Source / Target | double | int | string | bool | Vector2 |
---|---|---|---|---|---|
double | - | Yes | Yes | No | Partially |
int | Yes | - | Yes | No | No |
string | No | No | - | No | No |
bool | No | No | No | - | No |
Vector2 | Partially | No | No | No | - |
(The table will be updated as soon as more AI features are available.)
Functions
Any line in an AI script (apart from impulses) represents a function.
There are two major types of functions:
- Without a return value (= Actions)
- With a return value
Functions without a return value appear as actions in the sidebar of the AI-script editor. In general these functions do something specific but require some sort of input.
The various inputs to a function are called arguments. Each argument of a function has a specific datatype and accepts either a constant value or a function with a return value of the same type.