(→Notes on the Lua implementation) |
|||
Line 4: | Line 4: | ||
==Notes on the Lua implementation== | ==Notes on the Lua implementation== | ||
− | * We do not place many limits on scripts, however scripts must return execution context every 5000 (configurable) instruction cycles (scripts are run in a deterministic single-threaded manner for compatibility with HTML5/WebGL where threading does not yet exist) | + | * We do not place many limits on scripts, however scripts must return execution context every 5000 (configurable) instruction cycles (scripts are run in a deterministic single-threaded manner for compatibility with HTML5/WebGL where threading does not yet exist). Exceeding this will have your script forcibly interrupted. |
* Using coroutines or binding to a regularly firing event (e.g. OnUpdate()) is a way of continuing a long running script. | * Using coroutines or binding to a regularly firing event (e.g. OnUpdate()) is a way of continuing a long running script. | ||
* Scripts run in the client (for server scripts see [[Scripting/Server Scripts]]) | * Scripts run in the client (for server scripts see [[Scripting/Server Scripts]]) | ||
{{Scripting Navbox}} | {{Scripting Navbox}} |
Space supports two separate scripting runtimes - Lua and C#; for most uses, we strongly recommending using the Lua variant, as it is cross-platform compatible. (C#/.NET only work for Standalone clients). Our Lua runtime runs optimally in all platforms including WebGL; and utilises the same API as the C# variant.
Note: We had originally announced JavaScript as our cross-platform runtime, however after implementation we've found our Lua runtime performs considerably better and with greater stability.
|