Arx scripting language: Difference between revisions
Jump to navigation
Jump to search
m (→Variables) |
|||
Line 26: | Line 26: | ||
| <code>$</code> || <code>0x24</code> || global || {{text}} | | <code>$</code> || <code>0x24</code> || global || {{text}} | ||
|- | |- | ||
| <code>§</code> || <code>0xA7</code> || entity || {{int}} | | <code>§</code> || <code>0xA7</code> || [[entity]] || {{int}} | ||
|- | |- | ||
| <code>@</code> || <code>0x40</code> || entity || {{real}} | | <code>@</code> || <code>0x40</code> || [[entity]] || {{real}} | ||
|- | |- | ||
| <code>£</code> || <code>0xA3</code> || entity || {{text}} | | <code>£</code> || <code>0xA3</code> || [[entity]] || {{text}} | ||
|- | |- | ||
| <code>^</code> || <code>0x5E</code> || system || (mixed) | | <code>^</code> || <code>0x5E</code> || [[Script:Variables#System variables|system]] || (mixed) | ||
|} | |} | ||
Revision as of 00:32, 16 April 2020
This article describes the scripting language used in Arx Fatalis and Arx Libertatis.
Entities
- Main article: Entity.
Classes
Events
- Main article: Script:Events.
Variables
- Main article: Script:Variables.
Arx scripts know three basic data types: int
, Template:Real and Template:Text. Variables can be either global (shared between all entities) or entity-specific. There are also special system variables than can only be read. The variable type is defined by the first character of the variable name.
Char | Byte | Scope | Type |
---|---|---|---|
# |
0x23 |
global | int
|
& |
0x26 |
global | Template:Real |
$ |
0x24 |
global | Template:Text |
§ |
0xA7 |
entity | int
|
@ |
0x40 |
entity | Template:Real |
£ |
0xA3 |
entity | Template:Text |
^ |
0x5E |
system | (mixed) |
While variables in Arx scripts are typed, there are no type restrictions for where variables are used: the types are converted automatically.
Commands
- Main article: Script:Commands.
Control flow
- Main article: Category:Script control flow.
Labels
The two characters >>
followed directly by a name defines a label. These are skipped when encountered during normal execution but can serve as the target to jump to for a goto
or gosub
command.
Search script files
mkdir assets cd assets arxunpak ~/.local/share/arx/{data,loc,data2,sfx,speech}.pak grep -rP -ia 's_*p_*e_*c_*i_*a_*l_*f_*x' graph/obj3d/interactive/