Arx scripting language: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 43: | Line 43: | ||
== Control flow == | == Control flow == | ||
{{Main|Script | {{Main|:Script control flow}} | ||
=== Labels === | |||
The two characters <code>>></code> 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 {{Command|goto}} or {{Command|gosub}} command. | |||
== Search script files == | == Search script files == |
Revision as of 00:26, 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: 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/