LuaWML
Contents
The [lua] tag
This tag is a subtag of the [event]. It makes it possible to write actions with the Lua 5.1 language.
The tag supports only the code key, which is a string containing the Lua scripts. Since Lua makes usage of the quotes and the { and } symbols, it is certainly wise to enclose the script between stronger quotes, as they prevent the preprocessor from performing macro expansion and tokenization.
[lua] code = << wesnoth.message "Hello World!" >> [/lua]
Examples
Environment
All the Lua scripts of a scenario shares the same global environment (aka Lua state). This environment is not preserved over save/load cycles. Therefore, storing values in the global environment is a generally a bad idea (unless it has been redirected to WML variables, see set_wml_meta_var). The only time it makes sense to assign global variables is during a preload event, as this event is always run. Therefore, helper functions defined at that time will be available to all the later scripts.
The global environment is preloaded with the following modules: basic (no name), string, table, and math. A wesnoth module is also available, see below.