LuaUtil.wiki
changeset 1805 d18970cf6ca2
parent 1801 efa4f04f15eb
child 1811 9e4f2d65879e
--- 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 @@
 <code language="lua">DeclareAchievement("height reached", teamname, "ClimbHome", -score)</code>
 Records a team's best height in !ClimbHome.
 
+=== <tt>!ParseCommand(string)</tt> ===
+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 <map>"`: Draws a hand-drawn map. `MapGen` must be `mgDrawn` for this to work. `<map>` 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.
+
+=== <tt>!EndLuaTest(success)</tt> ===
+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].