Files
MagicSetEditor2/doc/script/index.txt
T
twanvl fe2e3fb9c8 Be more strict about type conversion:
* numbers are no longer auto converted to booleans, use to_boolean or != 0
  * booleans are no longer auto converted to numbers, use to_int
  * strings will soon no longer be auto converted to numbers, use to_int

Added version information ("since 0.3.7") to documentation

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1006 0fc631ac-6414-0410-93d0-97cfa31319b6
2008-06-28 13:34:57 +00:00

56 lines
2.5 KiB
Plaintext

Scripting language
MSE uses a custom scripting language to add complicated behaviour to [[type:field]]s and [[type:style]]s.
--Topics--
* [[script:introduction|Introduction to scripting]]
* [[script:Operators]]
* [[script:Variables]]
* [[script:Functions]]
* [[script:Default arguments]]
* [[script:Control structures]]
* [[script:Predefined variables]]
* [[script:Best practices]]
See also:
* [[type:index|Data types used]]
* [[fun:index|Built in functions]]
--Syntax index--
| @#comment@ Comments ignored by the parser
| @123@ [[type:int|A literal number]]
| @"stuff"@ [[type:string|A literal string]]
| @[a,b,c]@ [[type:list|A literal list]]
| @[a:b, c:d]@ [[type:map|A literal map]]
| @{ expr }@ [[script:functions|Function definition]]
| @fun(a:b, c:d)@ [[script:functions|Function call]]
| @fun(value)@ [[script:functions|Function call with '@input@' argument]]
| @fun@@(a:b)@ [[script:default_arguments|Default arguments]]
| @a.b@ [[script:operators|Property 'b' of 'a']]
| @a[b]@ [[script:operators|Property 'value of b' of 'a']]
| @-a@ [[script:operators|Negation]]
| @a + b@ [[script:operators|Addition / concatenation]]
| @a - b@ [[script:operators|Subtraction]]
| @a * b@ [[script:operators|Multiplication]]
| @a / b@ [[script:operators|Floating point division]]
| @a div b@ [[script:operators|Integer division]]
| @a mod b@ [[script:operators|Remainder]]
| @not a@ [[type:boolean|Boolean not]]
| @a and b@ [[type:boolean|Boolean conjunction]]
| @a or b@ [[type:boolean|Boolean disjunction]]
| @a xor b@ [[type:boolean|Boolean xor]]
| @a == b@ [[script:operators|Comparison for equality]]
| @a != b@ [[script:operators|Comparison for inequality]]
| @a < b@ [[script:operators|Comparison]]
| @a > b@ [[script:operators|Comparison]]
| @a <= b@ [[script:operators|Comparison]]
| @a >= b@ [[script:operators|Comparison]]
| @a or else b@ Use @a@ unless it is an error, then use @b@ instead.
| @min(a,b,c,...)@ [[script:operators|Smallest of the values]]
| @max(a,b,c,...)@ [[script:operators|Largest of the values]]
| @rgb(r,g,b)@ [[type:color|A color value]]
| @rgba(r,g,b)@ [[type:color|A color value with transparency]]
| @if x then y@ [[script:control structures|Conditional expresion]]
| @if x then y else z@ [[script:control structures|Conditional expresion]]
| @for x in list do y@ [[script:control structures|Loop over elements in a list]]
| @for x from a to b do y@ [[script:control structures|Loop over numbers from a to b]]