diff -r 396f8204b9fb -r d18970cf6ca2 LuaUtil.wiki --- a/LuaUtil.wiki Wed Apr 17 16:12:45 2019 +0200 +++ b/LuaUtil.wiki Wed Apr 17 16:16:48 2019 +0200 @@ -56,6 +56,30 @@ DeclareAchievement("height reached", teamname, "ClimbHome", -score) Records a team's best height in !ClimbHome. +=== !ParseCommand(string) === +Makes the game client parse and execute the specified internal game engine command. + +The available commands depend on the current engine protocol version. The *engine protocol can (and will) change* between releases. + +*Important*: If you use `ParseCommand` to overcome a shortcoming in our Lua API (e.g. a missing function), please make sure to [https://issues.hedgewars.org/enter_bug.cgi report the issue]. + +With your report we can fix the shortcoming in future releases. We will try to remove the reliance on `ParseCommand` as good as possible. This will allow scripts to use the previously missing feature in a way that won’t break! + +There are many available commands, but actual use in scripting is rare, and even then it's discouraged for long-term use. As of 0.9.24, the only command used in official scripts is: + + * `"draw "`: Draws a hand-drawn map. `MapGen` must be `mgDrawn` for this to work. `` is a string which must follow the format specified in [DrawnMapFormat] + +Moreover, the control action names as listed in [ConfigurationFiles] (under “Binds”) can be used. Note we will eventually try to remove all `ParseCommand`s in the official scripts. + +=== !EndLuaTest(success) === +This function is used by the Hedgewars developers in testing scripts in order to test the game engine. The testing scripts can be found in the Hedgewars source code under `tests/lua`. This function is useless for anything else. + +Calling this function ends an engine test and reports a test result. + +`success` is either one of `TEST_SUCCESSFUL` to report a successful test or `TEST_FAILED` for a failed test. + +See [EngineTestCases] to learn more about testing the engine. + == Library functions == For more utility functions, you might want to check out the [LuaLibraries Lua libraries].