2189
|
1 |
## Scripting Rules
|
|
2 |
|
|
3 |
For scripts, there are some basic but important development rules that all scripts need to follow to ensure the scripts are compatible across multiple systems.
|
|
4 |
|
|
5 |
For behavior in your script that affects actual gameplay, there are restrictions of what you can do with numbers. These are the rules:
|
|
6 |
|
|
7 |
* Only integer numbers are allowed; floating-point numbers are forbidden
|
|
8 |
* If you divide, divide by powers of 2 if you can
|
|
9 |
* If you want to divide by a different integer value, use the `div` function for integer division
|
|
10 |
* Keep your numbers within (+/-) 2<sup>53</sup>
|
|
11 |
* Avoid `math.floor` and `math.ceil`
|
|
12 |
|
|
13 |
These restrictions on numbers don't apply to numbers that you don't use for gameplay but for stuff like harmless eye candy.
|
|
14 |
|
|
15 |
Failing to follow these rules might lead your script to behave differently on different systems, leading to desynchronization bugs, which means they will not work online.
|