A to Z Scripting: Basic maths: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 29: | Line 29: | ||
Strings can be cobbled together from strings, floats, vectors and entities with the + sign. This is quite useful for sending helpful messages to the console while testing the script: | Strings can be cobbled together from strings, floats, vectors and entities with the + sign. This is quite useful for sending helpful messages to the console while testing the script: | ||
sys.println(entity1 + " is at the location " + entity1.getOrigin()); | sys.println(entity1.getName() + " is at the location " + entity1.getOrigin()); //+ doesn't work with entities, so you need to use getName() to turn it into a string | ||
Revision as of 09:24, 23 December 2020
Basic maths symbols
You can use basic maths symbols, as well as brackets (parentheses):
symbol | effect | can be used with |
---|---|---|
+ | add/combine | floats, vectors, strings |
- | subtract | floats, vectors |
* | multiply | floats |
/ | divide | floats |
The = sign
An important difference is what the = sign does. In scripting, = means "set", while == means "equals".
teleport_destination = '20 20 20'; //set teleport_destination to '20 20 20' float1 = float2 + float3; //set float1 to the sum of float2 and float3 if ( float1 == float2 ) //check if float1 is equal to float2
== is used in conditionals to check whether a condition is true (i.e. 2 values are equal to each other) before carrying out an associated script. That's described in detail in a later article, A to Z Scripting: Conditionals.
Combining
You can freely combine script events, variables and absolute values in one line like this:
teleport_destination = $player1.getOrigin() + teleportation_offset + '0 0 16';
Strings can be cobbled together from strings, floats, vectors and entities with the + sign. This is quite useful for sending helpful messages to the console while testing the script:
sys.println(entity1.getName() + " is at the location " + entity1.getOrigin()); //+ doesn't work with entities, so you need to use getName() to turn it into a string
Increasing/decreasing
Increasing (incrementing) a variable's value by 1 would work like this:
counter = counter + 1; //set "counter" to: the current value of "counter" + 1
An alternative method to increase a variable by 1 is:
counter++; //increase "counter" by 1 counter--; //decrease "counter" by 1
Vectors
You can add or subtract vectors from each other. Things like multiplication or finding the magnitude require script events such as DotProduct(), CrossProduct() and vecLength().
You can access & change individual components of a vector variable by appending _x, _y or _z to the name, i.e. teleport_destination_z. These will be floats.
More detail on vector maths and what you can do with it in A to Z Scripting: Special methods.
Next / previous article
- Next article: A to Z Scripting: Setting up the .script files
- Previous article: A to Z Scripting: More scripting basics
- Table of contents: A to Z Scripting