The first and most powerful coding language implement into FicsIt-Networks is Lua. The reasons for using Lua instead of f.e. Python is simple. Lua is made for it. The whole Lua architecture is made with use in other programs in mind, that’s like the whole purpose of Lua. So it is fast and easy to implement and also has a decent runtime speed. The simple syntax also makes it a great choice for beginners.

Visit the Lua Website to learn more.

Useful Notes

It may seem odd that things like the external libraries, the additional runtime functions and the APIs are not shown in the reflection viewer. The reflection viewer is intended to only show the contents of the reflection system and not as full documentation system. Later on we may implement more other ways to code, like visual scripting. These implementations will work different and can use Lua external libraries and do stuff like the APIs differently. Because of this, this information is only available right now in the online documentation and not in-game. But because of the nature of the reflection system, we are able to show all functions and properties of the system in the reflection viewer because these interactions will work in any implementation, that’s the main purpose of the reflection system.

External Libraries

The following list contains all available standard Lua libraries, non-standard libraries if they are reimplemented you can see the changes.

  • math

  • table

  • string

  • debug (parts of it for error handling)

Additional Runtime Functions (besides APIs)

The lua runtime additionally has a couple of functions allowing you to search for different things of the reflection system and the game itself.

Class findClass(string name)

Tries to find an object type with the given name, and returns the found type.

Class findStruct(string name)

Tries to find a structure type with the given name, and returns the found type.

ItemType findItem(string name)

Tries to find an item type with the given name, and returns the found item type.