LuaAPI.wiki
author kyberneticist@gmail.com
Thu, 21 Nov 2013 19:10:37 +0000
changeset 346 5f322c85c0e0
parent 328 fdc71ac8db83
child 347 edc8d322d02d
permissions -rw-r--r--
toss in onGameTick20 - this page needs more updating tho
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
67
eecbb1c261bb Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 66
diff changeset
     1
#summary API for writing Lua scripts in Hedgewars.
284
365362b51148 This is cool stuff, let's put it on the project frontpage (adding "featured" tag)
sheepyluva@gmail.com
parents: 244
diff changeset
     2
#labels Featured
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
     3
<wiki:toc max_depth="3" />
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
     4
312
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
     5
== Introduction ==
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
     6
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
     7
Version 0.9.13 of Hedgewars introduced the ability to use Lua scripts to modify Hedgewars behaviour for different maps without having to recompile the whole game. The till then used triggers (only appeared in training maps) were removed.
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
     8
313
f7930ab43523 whoops. lost a link
sheepyluva@gmail.com
parents: 312
diff changeset
     9
Lua is an easy to learn scripting language that's implemented using open source libraries. If you'd like to learn more about Lua, have a look at [http://www.lua.org Lua's official homepage]. Even though its easy to learn syntax this wiki page won't explain all basics of using Lua, e.g. declaring variables or using control structures. There are tons of step-by-step tutorials and documentation available on the internet. Just throw "Lua" into your favourite search engine and give it a try.
312
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    10
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    11
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    12
How Hedgewars handles Lua scripts As of Version 0.9.13 Hedgewars supports Lua scripts for two similar tasks: Define tutorial missions or provide special map behaviour for precreated maps.
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    13
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    14
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    15
=== Tutorial missions ===
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    16
Tutorial missions are located within text files inside "share/hedgewars/Data/Missions/Training". The game will list all files with the lua extension inside this directory in the Training selection screen. You'll find some premade example scripts within this directory that contain several comments on the script lines and what they do.
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    17
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    18
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    19
=== Special maps ===
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    20
In addition to tutorial missions predrawn maps (maps not created using the random map creator) may contain a single lua script file named "map.lua". If it's there it will be used once the map is played. This way it's possible to play maps alone or over the internet using custom goals. Maps containing lua scripts will be listed with a "Mission:" prefix in map selection.
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    21
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    22
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    23
=== How Lua scripts are used ===
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    24
Several parts of script files are executed multiple times. In general, the whole script file is read while loading the map. Declarations as well as function calls outside functions are executed at once. Later on the game will call special predefined function names at special occassions such as the creation of new game objects (called gears).
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    25
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    26
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    27
=== Important things to know ===
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    28
It is possible to play missions in multiplayer. However this requires all participating players to have the exact same version of the map files, including the "map.lua" script file. If this isn't the case the game will probably desync and kick at least the one player using a different version of the map files. To avoid problems when running prepackaged maps, you should never modify any maps provided with the Hedgewars default package. Instead, create a copy of the existing map and modify this one. Feel free to share your work on the forums.
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    29
Another thing to note is the current status of our scripting implementation. Similar to the whole game, this is still work in progress and we can't guarantee that scripts working in this version will run in future revisions of the game as we might extend, change or rename parts of the scripting engine.
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    30
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    31
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    32
=== Global variables/constants ===
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    33
Global variables are used by the game to interact with the scripts by passing and retrieving their values. While some of the variables are never read by the engine some allow you to modify the engine's behaviour, e.g. the theme to be used for the current map.
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    34
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    35
  	  	 
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    36
=== Functions called by the game: Event Handlers ===
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    37
After successfully loading the Lua script the game will call the following functions on different occasions. To be used, they have to use the exact same name as defined below.
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    38
6c0397400a9b Add Smaxx' nice lua API introduction from the hedgewars.org wiki
sheepyluva@gmail.com
parents: 295
diff changeset
    39
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    40
== Global available Constants ==
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    41
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    42
<blockquote><tt>LAND_WIDTH</tt>, <tt>LAND_HEIGHT</tt>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    43
</blockquote>
142
4926fef16e6c Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 141
diff changeset
    44
<blockquote><tt>!ScreenWidth</tt>, <tt>!ScreenHeight</tt>, <tt>!WaterLine</tt></blockquote>
125
b0b7654c6de6 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 123
diff changeset
    45
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    46
Game flags:
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    47
157
90dd08518805 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 150
diff changeset
    48
<blockquote><tt>gfForts, gfMultiWeapon, gfBorder, gfSolidLand, gfDivideTeams, gfLowGravity, gfLaserSight, gfInvulnerable, gfMines, gfVampiric, gfKarma, gfArtillery, gfOneClanMode, gfRandomOrder, gfKing, gfPlaceHog, gfSharedAmmo, gfDisableGirders, gfExplosives, gfDisableLandObjects, gfAISurvival, gfInfAttack, gfResetWeps, gfResetHealth, gfPerHogAmmo, gfDisableWind, gfMoreWind, gfTagTeam</tt></blockquote>
102
86cf695636c6 Added gfResetHealth to Gameflags section along with a note.
RedGrinner@gmail.com
parents: 101
diff changeset
    49
86cf695636c6 Added gfResetHealth to Gameflags section along with a note.
RedGrinner@gmail.com
parents: 101
diff changeset
    50
*Note:* A few of these, e.g. gfResetHealth (and probably gfTagTeam) are not yet exposed to lua.
86cf695636c6 Added gfResetHealth to Gameflags section along with a note.
RedGrinner@gmail.com
parents: 101
diff changeset
    51
123
d6f33f6d142a Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 114
diff changeset
    52
More constants at [GearTypes Gear Types] , [AmmoTypes Ammo Types], [Sounds], [States], [Sprites], [VisualGearTypes Visual Gear Types]
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    53
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    54
Additional global changing variables accessible:
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    55
24
a34dc3c46a47 added some global variables
henrik.rostedt
parents: 23
diff changeset
    56
 * <tt>!ClansCount</tt> - number of clans in the game (teams with the same color belong to one clan)
a34dc3c46a47 added some global variables
henrik.rostedt
parents: 23
diff changeset
    57
 * <tt>!TeamsCount</tt> - number of teams in the game
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    58
 * <tt>!TurnTimeLeft</tt> - number of game ticks left until the current turn ends
24
a34dc3c46a47 added some global variables
henrik.rostedt
parents: 23
diff changeset
    59
 * <tt>!GameTime</tt> - number of total game ticks
a34dc3c46a47 added some global variables
henrik.rostedt
parents: 23
diff changeset
    60
 * <tt>!TotalRounds</tt> - number of round that has passed
47
adf440f87f1e Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 46
diff changeset
    61
 * <tt>!CurrentHedgehog</tt> - the hedgehog gear that is currently in play
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    62
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    63
== Event Handlers ==
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    64
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    65
=== <tt>onGameInit()</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    66
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    67
<blockquote>This function is called before the game loads its resources. One can modify various game variables here:
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    68
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    69
 * <tt>Seed = 0</tt> - sets the seed of the random number generator
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
    70
 * <tt>!GameFlags = gfSolidLand + gfArtillery + ...</tt> - sets the gameflags, see above for the available flags
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    71
 * <tt>!TurnTime = 60000</tt> - set the turntime in ms
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    72
 * <tt>!CaseFreq = 0</tt> - frequency of crate drops
22
af151755fd72 fix for auto-links
henrik.rostedt
parents: 21
diff changeset
    73
 * <tt>!HealthCaseProb = 35</tt> - chance of receiving a health crate
af151755fd72 fix for auto-links
henrik.rostedt
parents: 21
diff changeset
    74
 * <tt>!HealthCaseAmount = 25</tt> - amount of health in a health crate
21
e8bcd7c1ba3c updated with more options and flags
henrik.rostedt
parents: 17
diff changeset
    75
 * <tt>!DamagePercent = 100</tt> - percent of damage to inforce
23
5800c5aef9ca one more
henrik.rostedt
parents: 22
diff changeset
    76
 * <tt>!MinesNum = 0</tt> - number of mines being placed (before 0.9.14 !LandAdds)
21
e8bcd7c1ba3c updated with more options and flags
henrik.rostedt
parents: 17
diff changeset
    77
 * <tt>!MinesTime = 3</tt> - time for a mine to explode from activated, -1 for random
e8bcd7c1ba3c updated with more options and flags
henrik.rostedt
parents: 17
diff changeset
    78
 * <tt>!MineDudPercent = 0</tt> - chance of mine being a dud
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    79
 * <tt>Explosives = 0</tt> - number of explosives being placed
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    80
 * <tt>Delay = 0</tt> - delay between each round
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    81
 * <tt>!SuddenDeathTurns = 30</tt> - turns until sudden death begins
22
af151755fd72 fix for auto-links
henrik.rostedt
parents: 21
diff changeset
    82
 * <tt>!WaterRise = 47</tt> - height of water rise at sudden death in pixels
af151755fd72 fix for auto-links
henrik.rostedt
parents: 21
diff changeset
    83
 * <tt>!HealthDecrease = 5</tt> - amount of health decreased on sudden death
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    84
 * <tt>Map = "Bamboo"</tt> - the map being played
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    85
 * <tt>Theme = "Bamboo"</tt> - the theme to be used
147
379d7931ffc7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 146
diff changeset
    86
 * <tt>Ready = 5000</tt> - the ready timer at the start of the round
146
a644314c7703 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 145
diff changeset
    87
 * <tt>!MapGen</tt>
a644314c7703 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 145
diff changeset
    88
 * <tt>!TemplateFilter</tt>
87
315a93b441d4 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 82
diff changeset
    89
 * <tt>Goals = "Jumping is disabled"</tt> - if you want to add info to the game mode dialog, use "|" to separate lines
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    90
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    91
If you want to add teams or hogs manually you have to do it here.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    92
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    93
=== <tt>onGameStart()</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    94
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    95
<blockquote>This function is called when the first round starts.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    96
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    97
Can be used to show the mission and for more setup, for example initial target spawning.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
    98
64
a651a8ab85d5 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 63
diff changeset
    99
=== <tt>onGameTick()</tt> ===
a651a8ab85d5 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 63
diff changeset
   100
346
5f322c85c0e0 toss in onGameTick20 - this page needs more updating tho
kyberneticist@gmail.com
parents: 328
diff changeset
   101
<blockquote>This function is called on every game tick, i.e. 1000 times a second.  If you just need to check on something periodically, consider...
5f322c85c0e0 toss in onGameTick20 - this page needs more updating tho
kyberneticist@gmail.com
parents: 328
diff changeset
   102
</blockquote>
5f322c85c0e0 toss in onGameTick20 - this page needs more updating tho
kyberneticist@gmail.com
parents: 328
diff changeset
   103
5f322c85c0e0 toss in onGameTick20 - this page needs more updating tho
kyberneticist@gmail.com
parents: 328
diff changeset
   104
=== <tt>onGameTick20()</tt> ===
5f322c85c0e0 toss in onGameTick20 - this page needs more updating tho
kyberneticist@gmail.com
parents: 328
diff changeset
   105
5f322c85c0e0 toss in onGameTick20 - this page needs more updating tho
kyberneticist@gmail.com
parents: 328
diff changeset
   106
<blockquote>This function is called every 20 game ticks, i.e. 50 times a second.  It reduces lua overhead for simple monitoring that doesn't need to happen every single tick.
64
a651a8ab85d5 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 63
diff changeset
   107
</blockquote>
a651a8ab85d5 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 63
diff changeset
   108
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   109
=== <tt>onNewTurn()</tt> ===
63
24004a9003ec Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 62
diff changeset
   110
24004a9003ec Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 62
diff changeset
   111
<blockquote>This function calls at the start of every turn.
24004a9003ec Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 62
diff changeset
   112
</blockquote>
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   113
=== <tt>onGearAdd(gearUid)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   114
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   115
<blockquote>This function is called when a new gear is added. Useful in
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   116
combination with <tt>!GetGearType(gearUid)</tt>.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   117
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   118
=== <tt>onGearDelete(gearUid)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   119
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   120
<blockquote>This function is called when a new gear is deleted. Useful in
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   121
combination with <tt>!GetGearType(gearUid)</tt>.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   122
</blockquote>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   123
=== <tt>onGearDamage(gearUid, damage)</tt> ===
55
ef26ff619aea Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 54
diff changeset
   124
ef26ff619aea Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 54
diff changeset
   125
<blockquote>This function is called when a gear is damaged.
ef26ff619aea Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 54
diff changeset
   126
</blockquote>
ef26ff619aea Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 54
diff changeset
   127
ef26ff619aea Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 54
diff changeset
   128
Example:
ef26ff619aea Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 54
diff changeset
   129
66
7586adb1eace Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 65
diff changeset
   130
<code lang="lua">    function onGearDamage(gear, damage)
55
ef26ff619aea Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 54
diff changeset
   131
        if (!GetGearType(gear) == gtHedgehog) then
ef26ff619aea Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 54
diff changeset
   132
            -- adds a message saying, e.g. "Hoggy H took 25 points of damage"
ef26ff619aea Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 54
diff changeset
   133
            !AddCaption(!GetHogName(gear) .. ' took ' .. damage .. ' points of damage')
ef26ff619aea Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 54
diff changeset
   134
        end
ef26ff619aea Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 54
diff changeset
   135
    end</code>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   136
=== <tt>onGearResurrect(gearUid) </tt> ===
44
bf53e635a2ac Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 43
diff changeset
   137
46
6c818c9fc1d5 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 45
diff changeset
   138
<blockquote>This function is called when a gear is resurrected. CPU Hogs will resurrect if gfAISurvival is included in !GameFlags. Alternatively, specific gears can have heResurrectable set to true via !SetEffect.
44
bf53e635a2ac Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 43
diff changeset
   139
</blockquote>
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   140
=== <tt>onAmmoStoreInit()</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   141
13
2074f03075c6 LuaAPI: minor changes
tobias.neumann
parents: 12
diff changeset
   142
<blockquote>This function is called when the game is initialized to request the available ammo and ammo probabilities. Use !SetAmmo here.
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   143
</blockquote>
98
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   144
203
08cc35ba4d34 Edited wiki page LuaAPI through web user interface.
kyberneticist@gmail.com
parents: 202
diff changeset
   145
=== <tt>onNewAmmoStore(team/clan index, hog index)</tt> ===
202
47363108b6b6 Edited wiki page LuaAPI through web user interface.
kyberneticist@gmail.com
parents: 184
diff changeset
   146
47363108b6b6 Edited wiki page LuaAPI through web user interface.
kyberneticist@gmail.com
parents: 184
diff changeset
   147
<blockquote>This function is identical to onAmmoStoreInit in function, but is called once per ammo store.  This allows different ammo sets for each clan, team or hedgehog depending on the mode.</blockquote>
47363108b6b6 Edited wiki page LuaAPI through web user interface.
kyberneticist@gmail.com
parents: 184
diff changeset
   148
If gfSharedAmmo is set, the parameters passed are the clan index, and -1, and the function will be called once for each clan.
47363108b6b6 Edited wiki page LuaAPI through web user interface.
kyberneticist@gmail.com
parents: 184
diff changeset
   149
If gfPerHogAmmo is set, the parameters passed are the team index and the hog index in that team, and the function will be called once for each hedgehog.
47363108b6b6 Edited wiki page LuaAPI through web user interface.
kyberneticist@gmail.com
parents: 184
diff changeset
   150
If neither is set, the parameters passed are the team index and -1, and the function will be called once for each team.
47363108b6b6 Edited wiki page LuaAPI through web user interface.
kyberneticist@gmail.com
parents: 184
diff changeset
   151
47363108b6b6 Edited wiki page LuaAPI through web user interface.
kyberneticist@gmail.com
parents: 184
diff changeset
   152
These indexes can be used to look up details of the clan/team/hedgehog prior to gear creation.  Routines to do these lookups will be created as needed.
47363108b6b6 Edited wiki page LuaAPI through web user interface.
kyberneticist@gmail.com
parents: 184
diff changeset
   153
If you add this hook, the expectation is that you will call SetAmmo appropriately.  Any values from onAmmoStoreInit are ignored.
47363108b6b6 Edited wiki page LuaAPI through web user interface.
kyberneticist@gmail.com
parents: 184
diff changeset
   154
148
f343b50d5619 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 147
diff changeset
   155
=== <tt>onScreenResize() (0.9.16) </tt> ===
145
547ac6a1d14e Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 144
diff changeset
   156
547ac6a1d14e Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 144
diff changeset
   157
<blockquote>This function is called when you resize the screen. Useful place to put a redraw function for any vgtHealthTags you're using.
547ac6a1d14e Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 144
diff changeset
   158
</blockquote>
547ac6a1d14e Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 144
diff changeset
   159
98
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   160
=== <tt>onAttack()</tt> ===
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   161
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   162
<blockquote>This function is called when your Hedgehog attacks.
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   163
</blockquote>
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   164
107
kyberneticist
parents: 102
diff changeset
   165
=== <tt>onHJump()</tt> ===
98
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   166
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   167
<blockquote>This function is called when you press the high jump key.
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   168
</blockquote>
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   169
107
kyberneticist
parents: 102
diff changeset
   170
=== <tt>onLJump()</tt> ===
98
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   171
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   172
<blockquote>This function is called when you press the long jump key.
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   173
</blockquote>
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   174
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   175
=== <tt>onPrecise()</tt> ===
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   176
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   177
<blockquote>This function is called when you press the precise key.
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   178
</blockquote>
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   179
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   180
=== <tt>onLeft()</tt> ===
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   181
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   182
<blockquote>This function is called when you press the left key.
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   183
</blockquote>
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   184
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   185
=== <tt>onRight()</tt> ===
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   186
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   187
<blockquote>This function is called when you press the right key.
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   188
</blockquote>
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   189
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   190
=== <tt>onUp()</tt> ===
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   191
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   192
<blockquote>This function is called when you press the up key.
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   193
</blockquote>
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   194
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   195
=== <tt>onDown()</tt> ===
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   196
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   197
<blockquote>This function is called when you press the down key.
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   198
</blockquote>
54e178bb6986 Added basic (not entirely accurate) entries for the event handlers relating to actions taken by Hedgehogs / user input.
RedGrinner@gmail.com
parents: 95
diff changeset
   199
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   200
=== <tt>onAttackUp()</tt> ===
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   201
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   202
<blockquote>This function is called when you release the attack key.</blockquote>
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   203
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   204
=== <tt>onDownUp()</tt> ===
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   205
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   206
<blockquote>This function is called when you release the down key.</blockquote>
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   207
 
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   208
=== <tt>onHogAttack()</tt> ===
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   209
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   210
<blockquote>This function is called when you press the attack key.</blockquote>
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   211
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   212
=== <tt>onLeftUp()</tt> ===
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   213
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   214
<blockquote>This function is called when you release the left key.</blockquote>
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   215
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   216
=== <tt>onPreciseUp()</tt> ===
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   217
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   218
<blockquote>This function is called when you release the precise key.</blockquote>
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   219
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   220
=== <tt>onRightUp()</tt> ===
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   221
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   222
<blockquote>This function is called when you release the right key.</blockquote>
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   223
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   224
=== <tt>onSetWeapon()</tt> ===
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   225
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   226
<blockquote>It is get called when a weapon is selected or switched.</blockquote>
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   227
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   228
=== <tt>onSlot()</tt> ===
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   229
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   230
<blockquote>This function is called when a weapon slot (row in the weapon menu) is selected.</blockquote>
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   231
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   232
=== <tt>onSwitch()</tt> ===
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   233
176
c480b9c21241 fix typo
sheepyluva@gmail.com
parents: 175
diff changeset
   234
<blockquote>This function is called when a hog is switched to another.</blockquote>
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   235
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   236
=== <tt>onTaunt()</tt> ===
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   237
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   238
<blockquote>This function is called when the player uses an animated   emote for example "/wave, /juggle and etc.</blockquote>
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   239
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   240
=== <tt>onTimer()</tt> ===
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   241
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   242
<blockquote>This function is called when one of the timer keys is pressed.</blockquote>
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   243
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   244
=== <tt>onUpUp()</tt> ===
173
ef246592a16e Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 172
diff changeset
   245
178
dde460404412 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 177
diff changeset
   246
<blockquote>This function is called when you release the up 
dde460404412 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 177
diff changeset
   247
key.</blockquote>
dde460404412 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 177
diff changeset
   248
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   249
=== <tt>onHogHide()</tt> (0.9.16) ===
178
dde460404412 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 177
diff changeset
   250
179
156e5fba2e2c Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 178
diff changeset
   251
<blockquote>This function is called when a hedgehog is hidden(removed from the map).</blockquote>
156e5fba2e2c Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 178
diff changeset
   252
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   253
=== <tt>onHogRestore()</tt> (0.9.16) ===
179
156e5fba2e2c Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 178
diff changeset
   254
156e5fba2e2c Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 178
diff changeset
   255
<blockquote>This function is called when a hedgehog is restored (unhidden).<blockquote>
173
ef246592a16e Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 172
diff changeset
   256
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   257
== Functions for creating gears ==
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   258
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   259
=== <tt>!AddGear(x, y, gearType, state, dx, dy, timer)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   260
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   261
<blockquote>This creates a new gear at position x,y (measured from top left) of kind gearType (see [GearTypes Gear Types]). The initial velocities are dx and dy. All arguments are numbers. The function returns the uid of the gear created.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   262
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   263
Example:
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   264
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   265
<code lang="lua">    local gear = !AddGear(0, 0, gtTarget, 0, 0, 0, 0)
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   266
    !FindPlace(gear, true, 0, LAND_WIDTH)</code>
39
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   267
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   268
=== <tt>!AddVisualGear(x, y, viusalGearType, state, critical)</tt> ===
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   269
42
565e15a60043 Edited wiki page LuaAPI through web user interface.
kyberneticist
parents: 39
diff changeset
   270
<blockquote>This creates a new visual gear at position x,y (measured from top left) of kind visualGearType (see [VisualGearTypes Visual Gear Types]).  The function returns the uid of the visual gear created.  Set critical to true if the visual gear is crucial to game play.  False if it is just an effect, and can be skipped when in fastforward (such as when joining a room).  A critical visual gear will always be created, a non-critical one may fail.  Most visual gears delete themselves. 
39
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   271
</blockquote>
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   272
Example:
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   273
50
9033b970cbf7 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 49
diff changeset
   274
<code lang="lua">  -- adds an non-critical explosion at position 1000,1000. Returns 0 if it was not created.
9033b970cbf7 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 49
diff changeset
   275
    vgear = !AddVisualGear(1000, 1000, vgtExplosion, 0, false) 
39
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   276
</code>
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   277
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   278
=== <tt>!SpawnHealthCrate(x, y)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   279
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   280
<blockquote>Spawns a health crate at the specified position.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   281
</blockquote>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   282
=== <tt>!SpawnAmmoCrate(x, y, ammoType)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   283
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   284
<blockquote>Spawns an ammo crate at the specified position with content of ammoType (see [AmmoTypes Ammo Types]). Because by default settings the number of ammo in crates is zero it has to be increased to at least one with SetAmmo first, see the example:
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   285
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   286
Example:
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   287
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   288
<code lang="lua">    !SetAmmo(amGrenade, 0, 0, 0, 1) -- see below
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   289
    !SpawnAmmoCrate(0, 0, amGrenade) -- x=y=0 means random position on map</code>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   290
=== <tt>!SpawnUtilityCrate(x, y, ammoType)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   291
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   292
<blockquote>Spawns an utility crate at specified position with content of ammoType.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   293
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   294
Example:
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   295
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   296
<code lang="lua">    !SetAmmo(amLaserSight, 0, 0, 0, 1)
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   297
    !SpawnUtilityCrate(0, 0, amLaserSight)</code>
72
6bfadfa16443 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 71
diff changeset
   298
=== <tt>!AddTeam(teamname, color, grave, fort, voicepack, flag)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   299
72
6bfadfa16443 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 71
diff changeset
   300
<blockquote>Adds a new team. Note that this can only be done in onGameInit(), not at a later time. First argument is the team name followed by color, grave, fort, voicepack and flag settings.
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   301
</blockquote>
132
e41fcc3ff67a Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 126
diff changeset
   302
Notice: This works only for singleplayer's training missions for now and will desync multiplayer games. Flag setting is dev only.
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   303
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   304
Example:
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   305
72
6bfadfa16443 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 71
diff changeset
   306
<code lang="lua">    !AddTeam("team 1", 14483456, "Simple", "Island", "Default", "hedgewars")</code>
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   307
=== <tt>!AddHog(hogname, botlevel, health, hat)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   308
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   309
<blockquote>Adds a new hedgehog for current team (last created one), with botlevel and specified health also head.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   310
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   311
Notice: This works only for singleplayers training missions for now and will desync multiplayer games.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   312
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   313
Example:
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   314
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   315
<code lang="lua">    local player = !AddHog("HH 1", 0, 100, "!NoHat") -- botlevel 0 means human player
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   316
    !SetGearPosition(player, 1500, 1000)</code>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   317
== Functions to get gear properties ==
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   318
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   319
=== <tt>!GetGearType(gearUid)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   320
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   321
<blockquote>returns one of [GearTypes Gear Types] for the specified gear
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   322
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   323
=== <tt>!GetGearPosition(gearUid)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   324
148
f343b50d5619 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 147
diff changeset
   325
<blockquote>returns x,y coordinates for the specified gear
f343b50d5619 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 147
diff changeset
   326
</blockquote>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   327
=== <tt>!GetGearRadius(gearUid)</tt> ===
148
f343b50d5619 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 147
diff changeset
   328
f343b50d5619 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 147
diff changeset
   329
<blockquote>Returns radius for the specified gear
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   330
</blockquote>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   331
=== <tt>!GetGearVelocity(gearUid)</tt> ===
71
2dcbebb06088 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 70
diff changeset
   332
2dcbebb06088 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 70
diff changeset
   333
<blockquote>returns tuple of dx,dy values for the specified gear
2dcbebb06088 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 70
diff changeset
   334
</blockquote>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   335
=== <tt>!GetGearElasticity(gearUid) </tt> ===
74
6130cad02b02 Added GetGearElasticity
RedGrinner
parents: 73
diff changeset
   336
6130cad02b02 Added GetGearElasticity
RedGrinner
parents: 73
diff changeset
   337
<blockquote>Returns the elasticity of the specified gear. Useful for determining if a hog is on a rope or not. If a hog is attached to a rope, or is busy firing one, the elasticity of the rope will be non-zero.
6130cad02b02 Added GetGearElasticity
RedGrinner
parents: 73
diff changeset
   338
</blockquote>
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   339
=== <tt>!GetHogClan(gearUid)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   340
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   341
<blockquote>returns the clan id of the specified hedgehog gear
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   342
</blockquote>
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   343
=== <tt>!GetHogTeamName(gearUid)</tt> ===
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   344
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   345
<blockquote>returns the name of the specified hedgehog gear's team
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   346
</blockquote>
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   347
=== <tt>!GetHogName(gearUid)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   348
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   349
<blockquote>returns the name of the specified hedgehog gear
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   350
</blockquote>
140
04d82b673bc4 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 139
diff changeset
   351
=== <tt>!GetEffect(gearUid, effect)</tt> ===
04d82b673bc4 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 139
diff changeset
   352
04d82b673bc4 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 139
diff changeset
   353
<blockquote>Returns the state of given effect for the given hedgehog gear.  
04d82b673bc4 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 139
diff changeset
   354
</blockquote>
133
b737ccb5b49a Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 132
diff changeset
   355
=== <tt>!GetHogHat(gearUid)</tt> ===
b737ccb5b49a Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 132
diff changeset
   356
b737ccb5b49a Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 132
diff changeset
   357
<blockquote>Returns the hat of the specified hedgehog gear
b737ccb5b49a Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 132
diff changeset
   358
</blockquote>
141
b10bef9ac535 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 140
diff changeset
   359
=== <tt>!GetAmmoCount(gearUid, ammoType) (0.9.16)</tt> ===
133
b737ccb5b49a Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 132
diff changeset
   360
141
b10bef9ac535 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 140
diff changeset
   361
<blockquote>Returns the ammo count of the specified ammo type for the specified hedgehog gear.
b10bef9ac535 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 140
diff changeset
   362
</blockquote>
138
9ca80a93aae0 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 137
diff changeset
   363
=== <tt>!GetGearTarget(gearUid, x, y)  (0.9.16)</tt> ===
137
dd7605730ec5 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 136
diff changeset
   364
138
9ca80a93aae0 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 137
diff changeset
   365
<blockquote>Returns the x and y coordinate of target-based weapons/utilities. <b> Note: </b>: This can't be used in onGearAdd() but must be called after gear creation. 
137
dd7605730ec5 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 136
diff changeset
   366
</blockquote>
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   367
=== <tt>GetX(gearUid)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   368
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   369
<blockquote>returns x coordinate of the gear
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   370
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   371
=== <tt>GetY(gearUid)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   372
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   373
<blockquote>returns y coordinate of the gear
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   374
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   375
=== <tt>!GetState(gearUid)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   376
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   377
<blockquote>returns the state of the gear. This is one of [States]
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   378
</blockquote>
114
e311af715b57 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 107
diff changeset
   379
=== <tt>!GetGearMessage(gearUid)</tt> ===
e311af715b57 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 107
diff changeset
   380
e311af715b57 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 107
diff changeset
   381
<blockquote>returns the message of the gear.
e311af715b57 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 107
diff changeset
   382
</blockquote>
209
26805ae2a319 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 203
diff changeset
   383
=== <tt>!GetFollowGear()</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   384
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   385
<blockquote>Returns the uid of the gear that is currently being followed.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   386
</blockquote>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   387
=== <tt>!GetTimer(gearUid)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   388
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   389
<blockquote>returns the timer of the gear. This is for example the time it takes for watermelon, mine, etc. to explode. This is also the time used to specify the blowtorch or rcplane time.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   390
</blockquote>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   391
=== <tt>!GetHealth(gearUid)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   392
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   393
<blockquote>returns the health of the gear
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   394
</blockquote>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   395
=== <tt>!GetHogLevel(gearUid)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   396
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   397
<blockquote>returns the bot level from 0 to 5. 0 means human player.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   398
</blockquote>
39
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   399
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   400
=== <tt>!GetVisualGearValues(vgUid)</tt> ===
39
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   401
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   402
<blockquote>This returns the typically set visual gear values, useful if manipulating things like smoke or bubbles or circles.  It returns the following values:
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   403
X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint 
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   404
X, Y typically position, dX, dY typically speed, Angle is usually the rotation angle, Frame is typically the animation frame, FrameTicks is usually an animation counter.  State can have a variety of values, but is typically bit packed, Timer is usually the gear lifetime and Tint is the colour.
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   405
Most visual gears require little to no modification of parameters.
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   406
</blockquote>
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   407
Example:
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   408
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   409
<code lang="lua">    !GetVisualGearValues(vgUid) -- return visual gear values
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   410
</code>
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   411
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   412
== Functions to modify gears ==
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   413
243
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   414
=== <tt>!HideHog(gearUid)</tt> ===
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   415
244
74d74086e49b Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 243
diff changeset
   416
<blockquote>Removes a hedgehog from the map. The hidden hedgehog can be restored with !RestoreHog(gearUid). The current hedgehog cannot be hidden!</blockquote>
243
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   417
Example: 
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   418
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   419
<code lang="lua">    gear = !AddGear(...)
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   420
     !HideHog(gear) -- Hide the newly created gear.</code>
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   421
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   422
=== <tt>!RestoreHog(gearUid)</tt> ===
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   423
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   424
<blockquote>Restores a previously hidden hedgehog.</blockquote>
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   425
Example: 
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   426
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   427
<code lang="lua">    gear = !AddGear(...)
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   428
     !HideHog(gear) -- Hide the newly created gear.
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   429
     !RestoreHog(gear) -- Restore the newly hidden gear.</code>
ac34d3763a17 Edited wiki page LuaAPI through web user interface.
szabibibi@gmail.com
parents: 209
diff changeset
   430
39
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   431
=== <tt>!DeleteGear(gearUid)</tt> ===
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   432
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   433
<blockquote>Deletes a Gear</blockquote>
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   434
Example:
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   435
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   436
<code lang="lua">    gear = !AddGear(...)
39
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   437
    !DeleteGear(gear) -- Delete the newly created gear.</code>
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   438
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   439
=== <tt>!DeleteVisualGear(vgUid)</tt> ===
39
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   440
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   441
<blockquote>Deletes a Visual Gear.  Note, most visual gears delete themselves.</blockquote>
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   442
Example:
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   443
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   444
<code lang="lua">    vgear = !AddVisualGear(...)
39
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   445
    !DeleteVisualGear(vgear) -- Delete the newly created visual gear.</code>
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   446
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   447
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   448
=== <tt>!SetVisualGearValues(vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint)</tt> ===
39
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   449
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   450
<blockquote>This allows manipulation of many of the visual gear values.  Calling GetVisualGearValues first is recommended on most visual gears unless you are controlling all the key values.  In the case of vgtCircle, the visual gear values are mapped as follows.  X, Y: position.  State: radius. Timer: Thickness.  FrameTicks: pulsation speed (0 to disable).  dX, dY: min/max pulsation opacity (0-255). Tint: colour, RGBA.
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   451
Most visual gears require little to no modification of parameters.
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   452
</blockquote>
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   453
Example:
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   454
51
5ab1cf4c7194 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 50
diff changeset
   455
<code lang="lua">  -- set a circle to position 1000,1000 pulsing from opacity 20 to 200 (8%-78%), radius of 50, 3px thickness, bright red.
5ab1cf4c7194 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 50
diff changeset
   456
    !SetVisualGearValues(circleUid, 1000,1000, 20, 200, 0, 0, 100, 50, 3, 0xff0000ff)
39
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   457
</code>
45a576e56425 Updating with visual gear functions and delete gear
kyberneticist
parents: 38
diff changeset
   458
136
538adf2596b5 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 135
diff changeset
   459
=== <tt>!FindPlace(gearUid, fall, left, right, tryHarder) (0.9.16)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   460
136
538adf2596b5 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 135
diff changeset
   461
<blockquote>Finds a place for the specified gear between x=left and x=right and places it there. 0.9.16 adds an optional fifth parameter, tryHarder. Setting to true/false will determine whether the engine attempts to make additional passes, even attempting to place gears on top of each other.
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   462
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   463
Example:
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   464
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   465
<code lang="lua">    gear = !AddGear(...)
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   466
    !FindPlace(gear, true, 0, LAND_WIDTH) -- places the gear randomly between 0 and LAND_WIDTH</code>
59
233360620ae2 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 58
diff changeset
   467
=== <tt>!HogSay(gearUid, text, manner)</tt> ===
233360620ae2 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 58
diff changeset
   468
233360620ae2 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 58
diff changeset
   469
<blockquote>Makes the specified gear say, think, or shout some text in a bubble.
233360620ae2 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 58
diff changeset
   470
</blockquote>
233360620ae2 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 58
diff changeset
   471
Example:
233360620ae2 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 58
diff changeset
   472
60
e9375c8b25c7 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 59
diff changeset
   473
<code lang="lua">    !HogSay(!CurrentHedgehog, "I wonder what to do...", SAY_THINK) -- thought bubble with text
e9375c8b25c7 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 59
diff changeset
   474
    !HogSay(!CurrentHedgehog, "I'm hungry...", SAY_SAY) -- speech bubble with text
e9375c8b25c7 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 59
diff changeset
   475
    !HogSay(!CurrentHedgehog, "I smell CAKE!", SAY_SHOUT) -- exclamatory bubble with text
59
233360620ae2 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 58
diff changeset
   476
</code>
52
714b56de5ea1 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 51
diff changeset
   477
=== <tt>!HogTurnLeft(gearUid, boolean)</tt> ===
714b56de5ea1 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 51
diff changeset
   478
714b56de5ea1 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 51
diff changeset
   479
<blockquote>Faces the specified hog left or right.
714b56de5ea1 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 51
diff changeset
   480
</blockquote>
714b56de5ea1 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 51
diff changeset
   481
Example:
714b56de5ea1 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 51
diff changeset
   482
54
2017dc6bc149 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 53
diff changeset
   483
<code lang="lua">    !HogTurnLeft(!CurrentHedgehog, true) -- turns !CurrentHedgehog left 
2017dc6bc149 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 53
diff changeset
   484
    !HogTurnLeft(!CurrentHedgehog, false) -- turns !CurrentHedgehog right</code>
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   485
=== <tt>!SetGearPosition(gearUid, x, y)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   486
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   487
<blockquote>Places the specified gear exactly at the position (x,y).
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   488
</blockquote>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   489
=== <tt>!SetGearVelocity(gearUid, dx, dy)</tt> ===
71
2dcbebb06088 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 70
diff changeset
   490
2dcbebb06088 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 70
diff changeset
   491
<blockquote>Gives the specified gear the velocity of dx, dy.
2dcbebb06088 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 70
diff changeset
   492
</blockquote>
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   493
=== <tt>!SetAmmo(ammoType, count, probability, delay, numberInCrate)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   494
101
174650a7ce20 Added entry for AddAmmo()
RedGrinner@gmail.com
parents: 100
diff changeset
   495
<blockquote>This updates the settings for a specified [AmmoTypes Ammo Type] as of count available for players, spawn probability, availability delay in turns, and the number available in crates. This is supposed to be used in the onAmmoStoreInit() event handler.
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   496
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   497
Example:
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   498
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   499
<code lang="lua">    !SetAmmo(amShotgun, 9, 0, 0, 0) -- unlimited amount of shotgun ammo for players
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   500
    !SetAmmo(amGrenade, 0, 0, 0, 3) -- crates should contain always three grenade</code>
135
124b11219537 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 134
diff changeset
   501
=== <tt>!AddAmmo(gearUid, ammoType, ammoCount) (0.9.16) </tt> ===
101
174650a7ce20 Added entry for AddAmmo()
RedGrinner@gmail.com
parents: 100
diff changeset
   502
135
124b11219537 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 134
diff changeset
   503
<blockquote>Adds ammoType to the specified gear. The amount added is determined by the arguments passed via !SetAmmo() in the onAmmoStoreInit() event handler. In 0.9.16 ammo can be set directly via the optional third parameter, ammoCount. A value of 0 will remove the weapon, a value of 100 will give infinite ammo.
101
174650a7ce20 Added entry for AddAmmo()
RedGrinner@gmail.com
parents: 100
diff changeset
   504
174650a7ce20 Added entry for AddAmmo()
RedGrinner@gmail.com
parents: 100
diff changeset
   505
*Note:* The effectiveness of this function may be limited due to problems with gfPerHogAmmo in lua scripting.
174650a7ce20 Added entry for AddAmmo()
RedGrinner@gmail.com
parents: 100
diff changeset
   506
174650a7ce20 Added entry for AddAmmo()
RedGrinner@gmail.com
parents: 100
diff changeset
   507
</blockquote>
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   508
=== <tt>!SetHealth(gearUid, health)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   509
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   510
<blockquote>Sets the health of the specified gear.
99
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   511
This can be used for purposes other than killing hedgehogs.
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   512
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   513
For example:
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   514
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   515
  * Starting the RC Plane 10 shots
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   516
  * Starting Flying Saucer (gtJetpack) with only 50% fuel.
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   517
  * Setting all the mines to duds.
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   518
  * (And more!)
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   519
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   520
<code lang="lua">    function onGearAdd(gear)
175
2455fbbab5e8 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 174
diff changeset
   521
       if (!GetGearType(gear) == gtRCPlaane) then
99
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   522
            !SetHealth(gear, 10)
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   523
       end
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   524
       if (!GetGearType(gear) == gtJetpack) then
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   525
            !SetHealth(gear, 1000)
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   526
       end
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   527
       if (!GetGearType(gear) == gtMine) then
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   528
            !SetHealth(gear, 0)
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   529
       end
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   530
    end</code>
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   531
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   532
983ec9ac63c7 Added a non-exhaustive list of examples for further applications of SetHealth()
RedGrinner@gmail.com
parents: 98
diff changeset
   533
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   534
</blockquote>
132
e41fcc3ff67a Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 126
diff changeset
   535
=== <tt>!SetEffect(gearUid, effect, true/false)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   536
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   537
<blockquote>Enables (true) or disables (false) one of the effects <tt>heInvulnerable, heResurrectable, hePoisoned</tt> for the specified hedgehog gear.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   538
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   539
Example: (sets all bots poisoned)
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   540
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   541
<code lang="lua">    function onGearAdd(gear)
48
3c5d26c1562a Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 47
diff changeset
   542
        if (!GetGearType(gear) == gtHedgehog) and (!GetBotLevel(gear) > 0) then
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   543
            !SetEffect(gear, hePoisoned, true)
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   544
        end
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   545
    end</code>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   546
17
2893bd461cc7 LuaAPI: minor improvement
tobias.neumann
parents: 16
diff changeset
   547
=== <tt>CopyPV(gearUid, gearUid)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   548
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   549
<blockquote>This sets the position and velocity of the second gear to the first one.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   550
</blockquote>
71
2dcbebb06088 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 70
diff changeset
   551
=== <tt>CopyPV2(gearUid, gearUid)</tt> (deprecated) ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   552
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   553
<blockquote>This sets the position of the second gear to that of the first one, but makes its velocity twice the one of the first.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   554
</blockquote>
132
e41fcc3ff67a Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 126
diff changeset
   555
Notice: This function is no longer used, use GetGearVelocity and SetGearVelocity instead.
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   556
=== <tt>!FollowGear(gearUid)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   557
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   558
<blockquote>Makes the gameclient follow the specifiec gear.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   559
</blockquote>
139
6bf231a611a7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 138
diff changeset
   560
=== <tt>!SetHogName(gearUid, name)</tt> ===
6bf231a611a7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 138
diff changeset
   561
6bf231a611a7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 138
diff changeset
   562
<blockquote>Sets the name of the specified hedgehog gear
6bf231a611a7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 138
diff changeset
   563
</blockquote>
6bf231a611a7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 138
diff changeset
   564
=== <tt>!SetHogHat(gearUid, hat)</tt> ===
6bf231a611a7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 138
diff changeset
   565
6bf231a611a7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 138
diff changeset
   566
<blockquote>Sets the hat of the specified hedgehog gear
6bf231a611a7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 138
diff changeset
   567
</blockquote>
6bf231a611a7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 138
diff changeset
   568
=== <tt>!SetGearTarget(gearUid, x, y) (0.9.16)</tt> ===
6bf231a611a7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 138
diff changeset
   569
6bf231a611a7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 138
diff changeset
   570
<blockquote>Sets the x and y coordinate of target-based weapons/utilities. <b> Note: </b>: This can't be used in onGearAdd() but must be called after gear creation. 
6bf231a611a7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 138
diff changeset
   571
</blockquote>
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   572
=== <tt>!SetState(gearUid, state)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   573
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   574
<blockquote>Sets the state of the specified gear to one of [States].
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   575
</blockquote>
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   576
114
e311af715b57 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 107
diff changeset
   577
=== <tt>!SetGearMessage(gearUid, message)</tt> ===
e311af715b57 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 107
diff changeset
   578
e311af715b57 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 107
diff changeset
   579
<blockquote>Sets the message of the specified gear.
e311af715b57 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 107
diff changeset
   580
</blockquote>
e311af715b57 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 107
diff changeset
   581
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   582
=== <tt>!SetTag(gearUid, tag)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   583
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   584
<blockquote>Sets the tag of the specified gear, different for every gear.
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   585
</blockquote>
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   586
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   587
=== <tt>!SetTimer(gearUid, timer)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   588
13
2074f03075c6 LuaAPI: minor changes
tobias.neumann
parents: 12
diff changeset
   589
<blockquote>Sets the timer of the specified gear. Also see !GetTimer.
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   590
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   591
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   592
=== <tt>!SetHogLevel(gearUid)</tt> ===
69
48f6e6c0076d Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 68
diff changeset
   593
48f6e6c0076d Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 68
diff changeset
   594
<blockquote>Sets the bot level from 0 to 5. 0 means human player.
48f6e6c0076d Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 68
diff changeset
   595
</blockquote>
48f6e6c0076d Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 68
diff changeset
   596
183
72b2bac582e2 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 182
diff changeset
   597
=== <tt>!SetGearPos(gearUid,value) (0.9.18-dev)</tt> ===
72b2bac582e2 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 182
diff changeset
   598
72b2bac582e2 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 182
diff changeset
   599
<blockquote>Set pos of specified gear to specified value.</blockquote>
72b2bac582e2 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 182
diff changeset
   600
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   601
== Other Functions ==
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   602
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   603
=== <tt>!EndGame()</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   604
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   605
<blockquote>Makes the game end.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   606
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   607
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   608
=== <tt>!ParseCommand(string)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   609
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   610
<blockquote>Makes the gameclient parse the specified custom command.
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   611
</blockquote>
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   612
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   613
=== <tt>!ShowMission(caption, subcaption, text, icon, time)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   614
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   615
<blockquote>Use to tell the player what he is supposed to do.
79
64fc6cee4af7 Added a note on the new icons for ShowMission
RedGrinner
parents: 78
diff changeset
   616
64fc6cee4af7 Added a note on the new icons for ShowMission
RedGrinner
parents: 78
diff changeset
   617
As of (0.9.15), icon currently accepts:
81
a381e4547712 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 80
diff changeset
   618
 * -amBazooka, -amShotgun etc. (and other ammo types)
a381e4547712 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 80
diff changeset
   619
 * 0 (Gold Crown icon)
a381e4547712 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 80
diff changeset
   620
 * 1 (Target icon)
a381e4547712 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 80
diff changeset
   621
 * 2 (Exclamation mark)
a381e4547712 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 80
diff changeset
   622
 * 3 (Question mark)
a381e4547712 Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 80
diff changeset
   623
 * 4 (Gold star)
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   624
</blockquote>
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   625
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   626
=== <tt>!HideMission()</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   627
143
58019b91cd69 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 142
diff changeset
   628
<blockquote>Hides the mission. This function is currently bugged somehow and will completely ruin your life, and your script should you happen to use it.
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   629
</blockquote>
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   630
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   631
=== <tt>!AddCaption(text)</tt> ===
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   632
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   633
<blockquote>Display event text in the upper part of the screen.
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   634
</blockquote>
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   635
147
379d7931ffc7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 146
diff changeset
   636
=== <tt>!MapHasBorder()</tt> ===
379d7931ffc7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 146
diff changeset
   637
379d7931ffc7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 146
diff changeset
   638
<blockquote>Returns true/false if the map has a border or not.
379d7931ffc7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 146
diff changeset
   639
</blockquote>
379d7931ffc7 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 146
diff changeset
   640
150
7a8df9b04b66 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 149
diff changeset
   641
=== <tt>!TestRectForObstacle(x1, y1, x2, y2, bool) (0.9.16) </tt> ===
149
baceeb7b94f9 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 148
diff changeset
   642
baceeb7b94f9 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 148
diff changeset
   643
<blockquote>Checks the given rectangle for collisions.
baceeb7b94f9 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 148
diff changeset
   644
</blockquote>
baceeb7b94f9 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 148
diff changeset
   645
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   646
=== <tt>!PlaySound(soundId)</tt> ===
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   647
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   648
<blockquote>Plays the specified sound.
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   649
</blockquote>
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   650
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   651
=== <tt>!PlaySound(soundId, gearUid)</tt> ===
70
ff7d4c176303 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 69
diff changeset
   652
ff7d4c176303 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 69
diff changeset
   653
<blockquote>Plays the specified sound for the chosen hedgehog's team.
ff7d4c176303 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 69
diff changeset
   654
</blockquote>
ff7d4c176303 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 69
diff changeset
   655
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   656
=== <tt>!SetInputMask(mask)</tt> ===
77
588f5dc682e2 Added SetInputMask function
RedGrinner
parents: 76
diff changeset
   657
588f5dc682e2 Added SetInputMask function
RedGrinner
parents: 76
diff changeset
   658
<blockquote>Masks specified player input.
588f5dc682e2 Added SetInputMask function
RedGrinner
parents: 76
diff changeset
   659
</blockquote>
588f5dc682e2 Added SetInputMask function
RedGrinner
parents: 76
diff changeset
   660
Example: 
78
2edf207a905a Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 77
diff changeset
   661
<code lang="lua">    -- masks the long and high jump commands
2edf207a905a Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 77
diff changeset
   662
SetInputMask(band(0xFFFFFFFF, bnot(gmLJump + gmHJump))) 
2edf207a905a Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 77
diff changeset
   663
    -- clears input mask, allowing player to take actions
2edf207a905a Edited wiki page LuaAPI through web user interface.
RedGrinner
parents: 77
diff changeset
   664
    SetInputMask(0xFFFFFFFF) 
77
588f5dc682e2 Added SetInputMask function
RedGrinner
parents: 76
diff changeset
   665
		</code>
588f5dc682e2 Added SetInputMask function
RedGrinner
parents: 76
diff changeset
   666
Note: Using the input mask is an effective way to script uninterrupted cinematics, or create modes such as No Jumping. 
588f5dc682e2 Added SetInputMask function
RedGrinner
parents: 76
diff changeset
   667
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   668
=== <tt>!SetZoom(zoomLevel)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   669
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   670
<blockquote>Sets the zoom level. The value for maximum zoom is currently 1.0 and for minimum 3.0 The default zoom level is 2.0
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   671
</blockquote>
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   672
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   673
=== <tt>!GetZoom()</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   674
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   675
<blockquote>Returns the current zoom level
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   676
</blockquote>
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   677
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   678
=== <tt>!GetRandom(number)</tt> ===
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   679
43
c07e89eded71 Elaborate on GetRandom
kyberneticist
parents: 42
diff changeset
   680
<blockquote>Returns a randomly generated number in the range of 0 to number - 1.  This random number uses the game seed, so is synchronised, and thus safe for multiplayer and saved games.  Use GetRandom for anything that could impact the engine state.  For example, a visual gear can use the Lua random, but adding a regular gear should use GetRandom.
28
026591d95ac6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 24
diff changeset
   681
</blockquote>
38
123cc75cbe6a Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 28
diff changeset
   682
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   683
=== <tt>!SetWind(windSpeed)</tt> ===
38
123cc75cbe6a Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 28
diff changeset
   684
123cc75cbe6a Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 28
diff changeset
   685
<blockquote>Sets the current wind in the range of -100 to 100. Use together with gfDisableWind for full control.
123cc75cbe6a Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 28
diff changeset
   686
</blockquote>
123cc75cbe6a Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 28
diff changeset
   687
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   688
=== <tt>!GetDataPath()</tt> ===
68
fd230628d72c Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 67
diff changeset
   689
fd230628d72c Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 67
diff changeset
   690
<blockquote>Returns the path to the data directory, used when adding libraries.
fd230628d72c Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 67
diff changeset
   691
</blockquote>
fd230628d72c Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 67
diff changeset
   692
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   693
=== <tt>!GetUserDataPath()</tt> ===
180
96e6b405bcf6 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 179
diff changeset
   694
96e6b405bcf6 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 179
diff changeset
   695
<blockquote>Returns the path to the user data directory, used when adding libraries.
96e6b405bcf6 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 179
diff changeset
   696
</blockquote>
96e6b405bcf6 Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 179
diff changeset
   697
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   698
=== <tt>!GetClanColor(clan)</tt> ===
73
c6623486d077 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 72
diff changeset
   699
c6623486d077 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 72
diff changeset
   700
<blockquote>Returns the colour of the chosen clan by its number.
c6623486d077 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 72
diff changeset
   701
</blockquote>
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   702
=== <tt>!SetClanColor(clan, color)</tt> ===
144
c080c7eb9656 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 143
diff changeset
   703
c080c7eb9656 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 143
diff changeset
   704
<blockquote>Sets the colour of the chosen clan by its number.
c080c7eb9656 Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 143
diff changeset
   705
</blockquote>
73
c6623486d077 Edited wiki page LuaAPI through web user interface.
henrik.rostedt
parents: 72
diff changeset
   706
132
e41fcc3ff67a Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 126
diff changeset
   707
=== <tt>!PlaceGirder(x, y, state)</tt> (0.9.16) ===
89
caf6544f767a Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 87
diff changeset
   708
caf6544f767a Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 87
diff changeset
   709
<blockquote>Places a girder with centre points x, y and the chosen state.
caf6544f767a Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 87
diff changeset
   710
These are the accepted states:
90
a96c29444a05 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 89
diff changeset
   711
  * 0: short, vertical
a96c29444a05 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 89
diff changeset
   712
  * 1: short, decreasing
a96c29444a05 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 89
diff changeset
   713
  * 2: short, horizontal
a96c29444a05 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 89
diff changeset
   714
  * 3: short, increasing
a96c29444a05 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 89
diff changeset
   715
  * 4: long, vertical
a96c29444a05 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 89
diff changeset
   716
  * 5: long, decreasing
a96c29444a05 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 89
diff changeset
   717
  * 6: long, horizontal
a96c29444a05 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 89
diff changeset
   718
  * 7: long, increasing
89
caf6544f767a Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 87
diff changeset
   719
</blockquote>
caf6544f767a Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 87
diff changeset
   720
132
e41fcc3ff67a Edited wiki page LuaAPI through web user interface.
RedGrinner@gmail.com
parents: 126
diff changeset
   721
=== <tt>!GetCurAmmoType()</tt> (0.9.16) ===
95
87343aa1f1f6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 92
diff changeset
   722
87343aa1f1f6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 92
diff changeset
   723
<blockquote>Returns the currently selected [AmmoTypes Ammo Type].
87343aa1f1f6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 92
diff changeset
   724
</blockquote>
87343aa1f1f6 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 92
diff changeset
   725
182
b64d2239cb8c Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 181
diff changeset
   726
=== <tt>!SwitchHog(gearUid)</tt> (0.9.16) ===
b64d2239cb8c Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 181
diff changeset
   727
b64d2239cb8c Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 181
diff changeset
   728
<blockquote>This function will switch to the hedgehog with the specified Uid.</blockquote>
b64d2239cb8c Edited wiki page LuaAPI through web user interface.
azizi.054@gmail.com
parents: 181
diff changeset
   729
328
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   730
=== <tt>!SendStat(TStatInfoType,statMessage[,teamName])</tt> (0.9.20) ===
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   731
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   732
<blockquote>Exposes the uIO SendStat to the lua scripts. Use it to produce custom stat pages.
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   733
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   734
<b>Examples:</b>
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   735
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   736
<code lang="lua">
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   737
-- will automatically change the health icon to a star
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   738
SendStat('siGraphTitle','Custom Graph Title')
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   739
SendStat('siGameResult','Winner is Team A!')
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   740
SendStat('siCustomAchievement','This is a custom mesasge posted in the Details section!')
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   741
-- Changes the word kill to Point, call it just before sending kills/score for each hog
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   742
-- in case you want to change the word i.e. print Point or Points
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   743
SendStat('siPointType','Point')
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   744
-- if above function call was not used it will print 3 kills for teamName in Ranking section.
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   745
-- if it was used it will print 3 Point for teamName in Ranking section.
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   746
SendStat('siPlayerKills','3',teamName)
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   747
-- call siClanHealth to send the "value" of a clan that will be used for the graph creation
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   748
-- a good idea is to call it always for every hog by using the runOnGears(function)
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   749
-- in normal mode "value" represents clan health
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   750
SendStat('siClanHealth', "100",teamName)
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   751
-- most hedgehogs killed in a round (hedgeHogName is who killed them)
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   752
SendStat('siMaxStepKills', "1 hedgeHogName (teamName)")
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   753
-- hog with most damage inflicted to his own team
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   754
SendStat('siMaxTeamDamage', "100 hedgeHogName")
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   755
-- total number of killed hedgehogs
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   756
SendStat('siKilledHHs', "1")
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   757
-- increases the wins of local teams in case the given number is greater than 0
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   758
SendStat('siTeamStats', "teamName:0:")
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   759
-- best shot award
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   760
SendStat('siMaxStepDamage', "30 hedgeHogName (teamName)")
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   761
-- team with most kills of own hedgehogs
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   762
SendStat('siMaxStepDamage', "2 teamName")
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   763
-- team with most skips
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   764
SendStat('siMaxTurnSkips', "3 teamName")
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   765
</code>
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   766
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   767
<b>Important:</b>
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   768
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   769
  * As the game engine send stats to the front end at the end of the game one should send her stats when the game is going to finish and right before the call of EndGame(). (Note: Stats are sent from the engine in CheckForWin. If conditions are met(win or draw) then SendStats(uStats) is called.)
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   770
  * Calling just EndGame() won't produce any stats.
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   771
  * If one would like to produce a custom graph see also SendHealthStatsOff().
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   772
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   773
</blockquote>
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   774
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   775
=== <tt>!SendHealthStatsOff()</tt> (0.9.20) ===
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   776
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   777
<blockquote>Prevents the engine of sending health stats to the front end. 
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   778
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   779
If any health stats haven't been sent before this will cause the health graph to the stats page to be hidden. Use this function in the lua scripts to produce custom graphs by calling it inside onGameStart() and using the SendStat().</blockquote>
fdc71ac8db83 Updated wiki page LuaAPI with the SendStat() and SendHealthStatsOff() functions.
pntanasis@gmail.com
parents: 313
diff changeset
   780
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   781
== Debugging Functions ==
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   782
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   783
=== <tt>!WriteLnToConsole(string)</tt> ===
12
74ead59b6c64 LuaAPI page + GearTypes,AmmoTypes,Sounds,States listing pages
Tobias Neumann <mail@tobias-neumann.eu>
parents:
diff changeset
   784
184
346bf9196f84 Edited wiki page LuaAPI through web user interface.
henrik.rostedt@gmail.com
parents: 183
diff changeset
   785
<blockquote>Writes (string) to the game0.log, found in the user data directory.
181
714a208397bd version number fixes
sheepyluva@gmail.com
parents: 180
diff changeset
   786
</blockquote>