Lua: Difference between revisions

From SigMod
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 16: Line 16:


==== [https://github.com/rafradek/sigsegv-mvm/blob/master/src/lua/library.lua library.lua] ====
==== [https://github.com/rafradek/sigsegv-mvm/blob/master/src/lua/library.lua library.lua] ====
== Setting up in VS Code ==
Install Lua extension in marketplace. Place [https://github.com/rafradek/sigsegv-mvm/blob/master/src/lua/globals.lua globals.lua] and [https://github.com/rafradek/sigsegv-mvm/blob/master/src/lua/library.lua library.lua] in the directory where you want to create lua scripts, and load them in VS Code. This will enable autocompletion for your lua scripts


== Profiling ==
== Profiling ==
It is possible to measure script performance with sig_lua_prof_start and sig_lua_prof_end client commands
It is possible to measure script performance with sig_lua_prof_start and sig_lua_prof_end client commands

Revision as of 18:23, 17 August 2022

It is possible to embed Lua scripts into missions with LuaScript / LuaScriptFile keys.

The scripts are parsed once when the game switches a mission, or when the map reset vote is called

Lua programming guide is available at https://www.lua.org/pil/1.html and a quick reference at https://www.lua.org/manual/5.4/

Mission lua scripts are managed by $script_manager entity called popscript

scripts/globals.lua is always parsed before mission scripts

scripts/library.lua contains function definitons provided by the game library

Example popfile

globals.lua

library.lua

Setting up in VS Code

Install Lua extension in marketplace. Place globals.lua and library.lua in the directory where you want to create lua scripts, and load them in VS Code. This will enable autocompletion for your lua scripts

Profiling

It is possible to measure script performance with sig_lua_prof_start and sig_lua_prof_end client commands