Script Programming Language/Definitions: Difference between revisions
No edit summary |
|||
| (5 intermediate revisions by the same user not shown) | |||
| Line 144: | Line 144: | ||
* [[:Category:SCI Documentation|SCI Documentation]] | * [[:Category:SCI Documentation|SCI Documentation]] | ||
* [[:Category:SCI | * [[:Category:SCI Scripting|SCI Scripting Articles]] | ||
* [[:Category:Definitions|Definitions Articles]] | |||
* [[:Category:Definitions | |||
* [[Script Resource (SCI)]] | * [[Script Resource (SCI)]] | ||
* [[SCI Specifications: Chapter 1 - Introduction#SCRIPT|SCRIPT in the SCI Specifications]] | * [[SCI Specifications: Chapter 1 - Introduction#SCRIPT|SCRIPT in the SCI Specifications]] | ||
| | ||
| Line 170: | Line 167: | ||
[[Category:Technical Info]] | [[Category:Technical Info]] | ||
[[Category:SCI Technical Info]] | [[Category:SCI Technical Info]] | ||
[[Category:Scripting | [[Category:Scripting]] | ||
[[Category:SCI Scripting | [[Category:SCI Scripting]] | ||
[[Category:SCI Definitions]] | [[Category:SCI Definitions]] | ||
[[Category:Script Resources]] | [[Category:Script Resources]] | ||
[[Category:SCI Script Resources]] | [[Category:SCI Script Resources]] | ||
Latest revision as of 19:09, 5 January 2026
Official SCI Documentation
Table of Contents
Definitions
define:
The define statement allows you to define a symbol which will stand for a string of text:
Code:(define symbol lots of text)
will replace symbol, wherever it is encountered as a token, with lots of text and then continue scanning at the beginning of the replacement text. Thus, if we write
Code:(define symbol some text) (define some even more)
then
Code:(symbol)
will become
Code:(some text)
which then becomes
Code:(even more text)
enum:
A construct for easing the definition of various states of a state-variable is enum. Say you want to walk an actor from the door of a room across the floor, up the stairs, and through another door. You have a state-variable called actor-pos which will take on a number of values, which could be defined with defines:
Code:(local actor-pos (define at-front-door 0) (define in-room 1) (define on-stairs 2) (define top-of-stairs 3) (define upper-door 4) )
or you could get the same result with enum:
Code:(local actor-pos (enum at-front-door in-room on-stairs top-of-stairs upper-door ) )
Enum defaults its first symbol to 0. If you want a different starting value, put it right after the word enum:
Code:(enum 7 at-front-door in-room on-stairs top-of-stairs upper-door )
sets at-front-door to 7, in-room to 8, etc.
synonyms:
The synonyms statement defines synonyms of words. All words must have been defined in the vocabulary file (see separate Vocabulary documentation). The statement
Code:(synonyms (main-word synonym1 synonym2 ...) ... )
defines the words synonym1, synonym2, etc. to be synonyms of main-word. In input being interpreted by the script in which the synonym statement is defined, user input of synonym1 will be interpreted as if the user had typed main-word.
References
Also See
- SCI Documentation
- SCI Scripting Articles
- Definitions Articles
- Script Resource (SCI)
- SCRIPT in the SCI Specifications