<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://cmm.ozdeadmeat.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ozdeadmeat</id>
	<title>CMM Wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://cmm.ozdeadmeat.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ozdeadmeat"/>
	<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php/Special:Contributions/Ozdeadmeat"/>
	<updated>2026-06-04T12:32:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=CMM_Map_Marker_Commands&amp;diff=6157</id>
		<title>CMM Map Marker Commands</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=CMM_Map_Marker_Commands&amp;diff=6157"/>
		<updated>2026-06-02T10:39:03Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the definitive list of Map Commands for CMM. The first part of the list will be dedicated to standard user commands. Further down will be Admin or &#039;special permission&#039; based commands.&lt;br /&gt;
&lt;br /&gt;
== Common Commands ==&lt;br /&gt;
&lt;br /&gt;
===!register===&lt;br /&gt;
  Description : Registers a user to the server&lt;br /&gt;
        Usage : !register&lt;br /&gt;
&lt;br /&gt;
===!email===&lt;br /&gt;
  Description : Updates the users Email address in the auth table&lt;br /&gt;
        Usage : !email:myemailaddress@email.com&lt;br /&gt;
&lt;br /&gt;
===!discord===&lt;br /&gt;
  Description : Updates the users Discord ID in the auth table&lt;br /&gt;
        Usage : !discord:0000345908345898354&lt;br /&gt;
&lt;br /&gt;
===!accept===&lt;br /&gt;
  Description : By executing this command near a mission, it will add you to the mission.&lt;br /&gt;
        Usage : !accept&lt;br /&gt;
&lt;br /&gt;
===!reject===&lt;br /&gt;
  Description : Will remove the player from closest accepted mission.&lt;br /&gt;
        Usage : !reject&lt;br /&gt;
&lt;br /&gt;
=== !myinfo ===&lt;br /&gt;
  Description : Will create a map marker with information about the player in it. &lt;br /&gt;
                Currently shows, Name, SlotID, UnitID and UCID. &lt;br /&gt;
                The mark can be deleted by pressing the red X.&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!myperms===&lt;br /&gt;
  Description : Will send a text alert to the player displaying the players current permissions&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!survey===&lt;br /&gt;
  Description : Will check if there are objects (excluding trees), and the ground around the point is flat&lt;br /&gt;
        Usage : !survey:&amp;lt;radiusInMetersNumber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===!smoke===&lt;br /&gt;
  Description : Will add a smoke of a specific colour at the mark point location.&lt;br /&gt;
        Usage : !smoke:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Smoke Colours are:&lt;br /&gt;
  red &lt;br /&gt;
  green &lt;br /&gt;
  blue &lt;br /&gt;
  orange &lt;br /&gt;
  white &lt;br /&gt;
 Example1 : !smoke: red&lt;br /&gt;
&lt;br /&gt;
===!spin===&lt;br /&gt;
  Description : Will place a large pin mark on the map as well as put a smoke in the game&lt;br /&gt;
        Usage : syntax = !spin:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Colours are:&lt;br /&gt;
    red&lt;br /&gt;
    green&lt;br /&gt;
    blue&lt;br /&gt;
    orange&lt;br /&gt;
    white&lt;br /&gt;
    yellow (will display white smoke)&lt;br /&gt;
    black  (will display white smoke)&lt;br /&gt;
 Example1 : !spin:green &lt;br /&gt;
&lt;br /&gt;
===!pin===&lt;br /&gt;
  Description : Will place a large pin mark on the map (same as spin, just without the smoke)&lt;br /&gt;
        Usage : !pin:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Colours are:&lt;br /&gt;
    red&lt;br /&gt;
    green&lt;br /&gt;
    blue&lt;br /&gt;
    orange&lt;br /&gt;
    white&lt;br /&gt;
    yellow&lt;br /&gt;
    black&lt;br /&gt;
 Example1 : !pin:green&lt;br /&gt;
&lt;br /&gt;
===!flare===&lt;br /&gt;
  Description : Will place a flare in the game at the specified location&lt;br /&gt;
        Usage : !flare:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Colours are:&lt;br /&gt;
    red&lt;br /&gt;
    green&lt;br /&gt;
    orange&lt;br /&gt;
    white&lt;br /&gt;
 Example1 : !flare:green&lt;br /&gt;
&lt;br /&gt;
===!illum===&lt;br /&gt;
  Description : Will place an illum flare in the game at the specified location&lt;br /&gt;
        Usage : !illum:&amp;lt;brightness#&amp;gt;&lt;br /&gt;
     Example1 : !illum:5000&lt;br /&gt;
&lt;br /&gt;
===!scan===&lt;br /&gt;
  Description : Will scan an area around the specified location&lt;br /&gt;
        Usage : !scan:&amp;lt;boxrange&amp;gt;&lt;br /&gt;
     Example1 : !scan&lt;br /&gt;
&lt;br /&gt;
===!topo===&lt;br /&gt;
  Description : Will draw a vector showing what intercept points to the terrain from the specified locations ground elevation.&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
== Support Aircraft Commands ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===!isr / !tanker / !awacs===&lt;br /&gt;
  Description : Will move an ISR / TANKER / AWACS platform into the orbit and location specified&lt;br /&gt;
        Usage : !isr:&amp;lt;ISRPlatformName&amp;gt; -rt &amp;lt;direction&amp;gt;:&amp;lt;distanceKM&amp;gt; -s &amp;lt;speedKnots&amp;gt; -a &amp;lt;altitude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example1 = place drone orbit location====&lt;br /&gt;
     Example1 : will put &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; into a &#039;&#039;circular orbit &amp;lt;u&amp;gt;at&amp;lt;/u&amp;gt; the specified location&#039;&#039;&lt;br /&gt;
        Usage : !isr:Colt11 &lt;br /&gt;
&lt;br /&gt;
====Example2 = place drone in racetrack at location====&lt;br /&gt;
     Example2 : will put &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; into a &amp;lt;u&amp;gt;&#039;&#039;RaceTrack&#039;&#039;&amp;lt;/u&amp;gt; orbit that goes &amp;lt;u&amp;gt;&#039;&#039; west 50km&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;from&amp;lt;/u&amp;gt; the specified location&lt;br /&gt;
        Usage : !isr:Colt11 -rt 270:50&lt;br /&gt;
&lt;br /&gt;
====Example3 = change altid orbit location====&lt;br /&gt;
     Example3 : will &#039;&#039;change the altitude&#039;&#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&#039;&#039;20,000ft&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; changing its orbit location&lt;br /&gt;
        Usage : !isr:Colt11 -dm -a 20000 &lt;br /&gt;
&lt;br /&gt;
====Example4 = change the speed ====&lt;br /&gt;
     Example4 : will &#039;&#039;change the speed&#039;&#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&#039;&#039;350knots&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; changing its orbit location&lt;br /&gt;
        Usage : !isr:Colt11 -dm -s 350 &lt;br /&gt;
&lt;br /&gt;
====Example5 = changes speed, alt &amp;amp; locn ====&lt;br /&gt;
     Example5 : will &#039;&#039;change the speed, altitude and location&#039;&#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&#039;&#039;175knots&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;&#039;&#039;14,000ft&#039;&#039;&amp;lt;/u&amp;gt; and to a &amp;lt;u&amp;gt;&#039;&#039;racetrack&#039;&#039;&amp;lt;/u&amp;gt; going &amp;lt;u&amp;gt;&#039;&#039;south 25km&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;from&amp;lt;/u&amp;gt; the specified location&lt;br /&gt;
        Usage : !isr:Colt11 -rt 180:25 -s 175 -a 14000 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;All these examples are available for&#039;&#039; &#039;&#039;&#039;!isr, !tanker&#039;&#039;&#039; and &#039;&#039;&#039;!awacs&#039;&#039;&#039; &#039;&#039;commands.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elevated Permissions Section  ==&lt;br /&gt;
&lt;br /&gt;
===!arty===&lt;br /&gt;
  Description : Will drop an Artillery barrage around the specified location (NOTE: will not hit Runway or Taxiways)&lt;br /&gt;
        Usage : !arty:&amp;lt;rounds&amp;gt;:&amp;lt;areaofeffectinMeters&amp;gt;&lt;br /&gt;
     Example1 : !arty:25:500&lt;br /&gt;
&lt;br /&gt;
===!explode===&lt;br /&gt;
  Description : Will make a single explosion at the specified location&lt;br /&gt;
        Usage : !explode:&amp;lt;explosionstrength&amp;gt;&lt;br /&gt;
     Example1 : !explode&lt;br /&gt;
     Example2 : !explode:500&lt;br /&gt;
&lt;br /&gt;
===!savesupport===&lt;br /&gt;
  Description : Will save the current support orbits for all support units so that the next time the mission executes they will fly the new orbits in the current mission&lt;br /&gt;
        Usage : !savesupport&lt;br /&gt;
&lt;br /&gt;
===!savestate===&lt;br /&gt;
  Description : When executed it will stagger saving all mission persistence data to disk. Average save time is approximately 90 seconds.&lt;br /&gt;
        Usage : !savestate&lt;br /&gt;
&lt;br /&gt;
===!serverreport===&lt;br /&gt;
  Description : Gives a report on the amount of units in a mission&lt;br /&gt;
        Usage : !serverreport&lt;br /&gt;
&lt;br /&gt;
===!effectsmoke===&lt;br /&gt;
  Description : Will add an Fire / Smoke Effect at the specified location&lt;br /&gt;
        Usage : !effectsmoke:&amp;lt;smokeEffect#&amp;gt;&lt;br /&gt;
 Valid smoke effect types are:&lt;br /&gt;
    1 = small smoke and fire&lt;br /&gt;
    2 = medium smoke and fire&lt;br /&gt;
    3 = large smoke and fire&lt;br /&gt;
    4 = huge smoke and fire&lt;br /&gt;
    5 = small smoke&lt;br /&gt;
    6 = medium smoke&lt;br /&gt;
    7 = large smoke&lt;br /&gt;
    8 = huge smoke&lt;br /&gt;
 Example1 : !effectsmoke:3&lt;br /&gt;
&lt;br /&gt;
===!removesmoke===&lt;br /&gt;
  Description : Will remove the closest effectsmoke. (does not work with smokes added with !smoke command)&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!spawn===&lt;br /&gt;
  Description : Spawns a specified group in the vicinity of the marker in a random direction unless defined in the command.&lt;br /&gt;
        Usage : !spawn:&amp;lt;type&amp;gt;:&amp;lt;direction&amp;gt;&lt;br /&gt;
     Example1 : !spawn:list            (will put a list of all valid spawn types on screen)&lt;br /&gt;
     Example2 : !spawn:blist           (will put a list of valid spawn types for the Blue team on screen)&lt;br /&gt;
     Example3 : !spawn:rlist           (will put a list of valid spawn types for the Red team on screen)&lt;br /&gt;
     Example4 : !spawn:capturetruck:90 (will spawn a capture truck fasting East)&lt;br /&gt;
     Example5 : !spawn:supply:135      (will spawn a supply crate fasting South East)&lt;br /&gt;
&lt;br /&gt;
===!additem / !setitem / !removeitem===&lt;br /&gt;
  Description : Will modify the item to the closest airbase, ship, fob&lt;br /&gt;
        Usage : !additem:&amp;lt;itemstringname&amp;gt;:&amp;lt;quantity&amp;gt;&lt;br /&gt;
     Example1 : !addItem:AH-64D_BLK_II:5&lt;br /&gt;
     Example2 : !addItem:DagiAH64&lt;br /&gt;
     Example3 : !addItem:weapons.missiles.AGM_114K:100&lt;br /&gt;
&lt;br /&gt;
===!addfuel / !setfuel / !removefuel===&lt;br /&gt;
  Description : Will modify the fuel levels of the closest airbase, ship, fob.&lt;br /&gt;
        Usage : !addfuel:&amp;lt;fueltype#&amp;gt;:&amp;lt;quantityInTonnes&amp;gt;&lt;br /&gt;
 Valid fuel types are:&lt;br /&gt;
    0 = JetFuel&lt;br /&gt;
    1 = Aviation Gas&lt;br /&gt;
    2 = MW50&lt;br /&gt;
    3 = Diesel&lt;br /&gt;
 Example1 : !addfuel:0:5&lt;br /&gt;
&lt;br /&gt;
===!makeadmin / !makemod / !makegm / !makepatreon !makemember===&lt;br /&gt;
  Description : Will add the permission to the closest player pilot&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!removeadmin / !removemod / !removegm / !removepatreon===&lt;br /&gt;
  Description : Will remove the permission to the closest player pilot&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!revoke===&lt;br /&gt;
  Description : Will remove all permissions from the closest pilot&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!refreshauth===&lt;br /&gt;
  Description : Will reload the CMM.authtable from the CMM.AUTH.File&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
== Development Commands ==&lt;br /&gt;
&lt;br /&gt;
===!gwl===&lt;br /&gt;
  Description : Will dump a file containing the closest airbases warehouse weapons list into the CMM dump directory and be called &#039;CMM.WEAPONSLIST.json&#039;&lt;br /&gt;
  This is more of a mission development command and has no real gameplay value&lt;br /&gt;
&lt;br /&gt;
===!dumpwh===&lt;br /&gt;
  Description : Will dump a file containing the entire contents of the nearest airbases warehouse (fuel levels, weapons, airframes)&lt;br /&gt;
  &#039;&#039;File will be called &#039;&#039;&#039;&#039;&#039;&amp;lt;AirbaseName&amp;gt;_Warehouse.json&#039;&#039;&#039;&#039;&#039; and will be in the CMM dump directory&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===!dumpairb===&lt;br /&gt;
  Description : Will dump a file containing all data of an airbase&lt;br /&gt;
  &#039;&#039;File will be called &#039;&#039;&#039;&#039;&#039;&amp;lt;AirbaseName&amp;gt;_AirBase.json&#039;&#039;&#039;&#039;&#039; and will be in the CMM dump directory&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Data includes but is not limited to:&lt;br /&gt;
    Callsign, DisplayName, EditorName&lt;br /&gt;
    AirbaseID#&lt;br /&gt;
    Runway(s) Information&lt;br /&gt;
    Warehouse contents&lt;br /&gt;
    Location&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===!point===&lt;br /&gt;
  Description : Will dump the X,Y,Z of the specified location into the dcs log file&lt;br /&gt;
        Usage :&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=CMM_Map_Marker_Commands&amp;diff=6156</id>
		<title>CMM Map Marker Commands</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=CMM_Map_Marker_Commands&amp;diff=6156"/>
		<updated>2026-04-20T12:54:08Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: /* addfuel / !setfuel / !removefuel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the definitive list of Map Commands for CMM. The first part of the list will be dedicated to standard user commands. Further down will be Admin or &#039;special permission&#039; based commands.&lt;br /&gt;
&lt;br /&gt;
== Common Commands ==&lt;br /&gt;
&lt;br /&gt;
===!register===&lt;br /&gt;
  Description : Registers a user to the server&lt;br /&gt;
        Usage : !register&lt;br /&gt;
&lt;br /&gt;
===!email===&lt;br /&gt;
  Description : Updates the users Email address in the auth table&lt;br /&gt;
        Usage : !email:myemailaddress@email.com&lt;br /&gt;
&lt;br /&gt;
===!discord===&lt;br /&gt;
  Description : Updates the users Discord ID in the auth table&lt;br /&gt;
        Usage : !discord:0000345908345898354&lt;br /&gt;
&lt;br /&gt;
===!accept===&lt;br /&gt;
  Description : By executing this command near a mission, it will add you to the mission.&lt;br /&gt;
        Usage : !accept&lt;br /&gt;
&lt;br /&gt;
===!reject===&lt;br /&gt;
  Description : Will remove the player from closest accepted mission.&lt;br /&gt;
        Usage : !reject&lt;br /&gt;
&lt;br /&gt;
=== !myinfo ===&lt;br /&gt;
  Description : Will create a map marker with information about the player in it. &lt;br /&gt;
                Currently shows, Name, SlotID, UnitID and UCID. &lt;br /&gt;
                The mark can be deleted by pressing the red X.&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!myperms===&lt;br /&gt;
  Description : Will send a text alert to the player displaying the players current permissions&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===survey===&lt;br /&gt;
  Description : Will check if there are objects (excluding trees), and the ground around the point is flat&lt;br /&gt;
        Usage : !survey:&amp;lt;radiusInMetersNumber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===!smoke===&lt;br /&gt;
  Description : Will add a smoke of a specific colour at the mark point location.&lt;br /&gt;
        Usage : !smoke:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Smoke Colours are:&lt;br /&gt;
  red &lt;br /&gt;
  green &lt;br /&gt;
  blue &lt;br /&gt;
  orange &lt;br /&gt;
  white &lt;br /&gt;
 Example1 : !smoke: red&lt;br /&gt;
&lt;br /&gt;
===!spin===&lt;br /&gt;
  Description : Will place a large pin mark on the map as well as put a smoke in the game&lt;br /&gt;
        Usage : syntax = !spin:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Colours are:&lt;br /&gt;
    red&lt;br /&gt;
    green&lt;br /&gt;
    blue&lt;br /&gt;
    orange&lt;br /&gt;
    white&lt;br /&gt;
    yellow (will display white smoke)&lt;br /&gt;
    black  (will display white smoke)&lt;br /&gt;
 Example1 : !spin:green &lt;br /&gt;
&lt;br /&gt;
===!pin===&lt;br /&gt;
  Description : Will place a large pin mark on the map (same as spin, just without the smoke)&lt;br /&gt;
        Usage : !pin:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Colours are:&lt;br /&gt;
    red&lt;br /&gt;
    green&lt;br /&gt;
    blue&lt;br /&gt;
    orange&lt;br /&gt;
    white&lt;br /&gt;
    yellow&lt;br /&gt;
    black&lt;br /&gt;
 Example1 : !pin:green&lt;br /&gt;
&lt;br /&gt;
===!flare===&lt;br /&gt;
  Description : Will place a flare in the game at the specified location&lt;br /&gt;
        Usage : !flare:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Colours are:&lt;br /&gt;
    red&lt;br /&gt;
    green&lt;br /&gt;
    orange&lt;br /&gt;
    white&lt;br /&gt;
 Example1 : !flare:green&lt;br /&gt;
&lt;br /&gt;
===!illum===&lt;br /&gt;
  Description : Will place an illum flare in the game at the specified location&lt;br /&gt;
        Usage : !illum:&amp;lt;brightness#&amp;gt;&lt;br /&gt;
     Example1 : !illum:5000&lt;br /&gt;
&lt;br /&gt;
===!scan===&lt;br /&gt;
  Description : Will scan an area around the specified location&lt;br /&gt;
        Usage : !scan:&amp;lt;boxrange&amp;gt;&lt;br /&gt;
     Example1 : !scan&lt;br /&gt;
&lt;br /&gt;
===!topo===&lt;br /&gt;
  Description : Will draw a vector showing what intercept points to the terrain from the specified locations ground elevation.&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
== Support Aircraft Commands ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===!isr / !tanker / !awacs===&lt;br /&gt;
  Description : Will move an ISR / TANKER / AWACS platform into the orbit and location specified&lt;br /&gt;
        Usage : !isr:&amp;lt;ISRPlatformName&amp;gt; -rt &amp;lt;direction&amp;gt;:&amp;lt;distanceKM&amp;gt; -s &amp;lt;speedKnots&amp;gt; -a &amp;lt;altitude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example1 = place drone orbit location====&lt;br /&gt;
     Example1 : will put &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; into a &#039;&#039;circular orbit &amp;lt;u&amp;gt;at&amp;lt;/u&amp;gt; the specified location&#039;&#039;&lt;br /&gt;
        Usage : !isr:Colt11 &lt;br /&gt;
&lt;br /&gt;
====Example2 = place drone in racetrack at location====&lt;br /&gt;
     Example2 : will put &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; into a &amp;lt;u&amp;gt;&#039;&#039;RaceTrack&#039;&#039;&amp;lt;/u&amp;gt; orbit that goes &amp;lt;u&amp;gt;&#039;&#039; west 50km&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;from&amp;lt;/u&amp;gt; the specified location&lt;br /&gt;
        Usage : !isr:Colt11 -rt 270:50&lt;br /&gt;
&lt;br /&gt;
====Example3 = change altid orbit location====&lt;br /&gt;
     Example3 : will &#039;&#039;change the altitude&#039;&#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&#039;&#039;20,000ft&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; changing its orbit location&lt;br /&gt;
        Usage : !isr:Colt11 -dm -a 20000 &lt;br /&gt;
&lt;br /&gt;
====Example4 = change the speed ====&lt;br /&gt;
     Example4 : will &#039;&#039;change the speed&#039;&#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&#039;&#039;350knots&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; changing its orbit location&lt;br /&gt;
        Usage : !isr:Colt11 -dm -s 350 &lt;br /&gt;
&lt;br /&gt;
====Example5 = changes speed, alt &amp;amp; locn ====&lt;br /&gt;
     Example5 : will &#039;&#039;change the speed, altitude and location&#039;&#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&#039;&#039;175knots&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;&#039;&#039;14,000ft&#039;&#039;&amp;lt;/u&amp;gt; and to a &amp;lt;u&amp;gt;&#039;&#039;racetrack&#039;&#039;&amp;lt;/u&amp;gt; going &amp;lt;u&amp;gt;&#039;&#039;south 25km&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;from&amp;lt;/u&amp;gt; the specified location&lt;br /&gt;
        Usage : !isr:Colt11 -rt 180:25 -s 175 -a 14000 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;All these examples are available for&#039;&#039; &#039;&#039;&#039;!isr, !tanker&#039;&#039;&#039; and &#039;&#039;&#039;!awacs&#039;&#039;&#039; &#039;&#039;commands.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elevated Permissions Section  ==&lt;br /&gt;
&lt;br /&gt;
===!arty===&lt;br /&gt;
  Description : Will drop an Artillery barrage around the specified location (NOTE: will not hit Runway or Taxiways)&lt;br /&gt;
        Usage : !arty:&amp;lt;rounds&amp;gt;:&amp;lt;areaofeffectinMeters&amp;gt;&lt;br /&gt;
     Example1 : !arty:25:500&lt;br /&gt;
&lt;br /&gt;
===!explode===&lt;br /&gt;
  Description : Will make a single explosion at the specified location&lt;br /&gt;
        Usage : !explode:&amp;lt;explosionstrength&amp;gt;&lt;br /&gt;
     Example1 : !explode&lt;br /&gt;
     Example2 : !explode:500&lt;br /&gt;
&lt;br /&gt;
===!savesupport===&lt;br /&gt;
  Description : Will save the current support orbits for all support units so that the next time the mission executes they will fly the new orbits in the current mission&lt;br /&gt;
        Usage : !savesupport&lt;br /&gt;
&lt;br /&gt;
===!savestate===&lt;br /&gt;
  Description : When executed it will stagger saving all mission persistence data to disk. Average save time is approximately 90 seconds.&lt;br /&gt;
        Usage : !savestate&lt;br /&gt;
&lt;br /&gt;
===!serverreport===&lt;br /&gt;
  Description : Gives a report on the amount of units in a mission&lt;br /&gt;
        Usage : !serverreport&lt;br /&gt;
&lt;br /&gt;
===!effectsmoke===&lt;br /&gt;
  Description : Will add an Fire / Smoke Effect at the specified location&lt;br /&gt;
        Usage : !effectsmoke:&amp;lt;smokeEffect#&amp;gt;&lt;br /&gt;
 Valid smoke effect types are:&lt;br /&gt;
    1 = small smoke and fire&lt;br /&gt;
    2 = medium smoke and fire&lt;br /&gt;
    3 = large smoke and fire&lt;br /&gt;
    4 = huge smoke and fire&lt;br /&gt;
    5 = small smoke&lt;br /&gt;
    6 = medium smoke&lt;br /&gt;
    7 = large smoke&lt;br /&gt;
    8 = huge smoke&lt;br /&gt;
 Example1 : !effectsmoke:3&lt;br /&gt;
&lt;br /&gt;
===!removesmoke===&lt;br /&gt;
  Description : Will remove the closest effectsmoke. (does not work with smokes added with !smoke command)&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!spawn===&lt;br /&gt;
  Description : Spawns a specified group in the vicinity of the marker in a random direction unless defined in the command.&lt;br /&gt;
        Usage : !spawn:&amp;lt;type&amp;gt;:&amp;lt;direction&amp;gt;&lt;br /&gt;
     Example1 : !spawn:list            (will put a list of all valid spawn types on screen)&lt;br /&gt;
     Example2 : !spawn:blist           (will put a list of valid spawn types for the Blue team on screen)&lt;br /&gt;
     Example3 : !spawn:rlist           (will put a list of valid spawn types for the Red team on screen)&lt;br /&gt;
     Example4 : !spawn:capturetruck:90 (will spawn a capture truck fasting East)&lt;br /&gt;
     Example5 : !spawn:supply:135      (will spawn a supply crate fasting South East)&lt;br /&gt;
&lt;br /&gt;
===!additem / !setitem / !removeitem===&lt;br /&gt;
  Description : Will modify the item to the closest airbase, ship, fob&lt;br /&gt;
        Usage : !additem:&amp;lt;itemstringname&amp;gt;:&amp;lt;quantity&amp;gt;&lt;br /&gt;
     Example1 : !addItem:AH-64D_BLK_II:5&lt;br /&gt;
     Example2 : !addItem:DagiAH64&lt;br /&gt;
     Example3 : !addItem:weapons.missiles.AGM_114K:100&lt;br /&gt;
&lt;br /&gt;
===!addfuel / !setfuel / !removefuel===&lt;br /&gt;
  Description : Will modify the fuel levels of the closest airbase, ship, fob.&lt;br /&gt;
        Usage : !addfuel:&amp;lt;fueltype#&amp;gt;:&amp;lt;quantityInTonnes&amp;gt;&lt;br /&gt;
 Valid fuel types are:&lt;br /&gt;
    0 = JetFuel&lt;br /&gt;
    1 = Aviation Gas&lt;br /&gt;
    2 = MW50&lt;br /&gt;
    3 = Diesel&lt;br /&gt;
 Example1 : !addfuel:0:5&lt;br /&gt;
&lt;br /&gt;
===!makeadmin / !makemod / !makegm / !makepatreon !makemember===&lt;br /&gt;
  Description : Will add the permission to the closest player pilot&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!removeadmin / !removemod / !removegm / !removepatreon===&lt;br /&gt;
  Description : Will remove the permission to the closest player pilot&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!revoke===&lt;br /&gt;
  Description : Will remove all permissions from the closest pilot&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!refreshauth===&lt;br /&gt;
  Description : Will reload the CMM.authtable from the CMM.AUTH.File&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
== Development Commands ==&lt;br /&gt;
&lt;br /&gt;
===!gwl===&lt;br /&gt;
  Description : Will dump a file containing the closest airbases warehouse weapons list into the CMM dump directory and be called &#039;CMM.WEAPONSLIST.json&#039;&lt;br /&gt;
  This is more of a mission development command and has no real gameplay value&lt;br /&gt;
&lt;br /&gt;
===!dumpwh===&lt;br /&gt;
  Description : Will dump a file containing the entire contents of the nearest airbases warehouse (fuel levels, weapons, airframes)&lt;br /&gt;
  &#039;&#039;File will be called &#039;&#039;&#039;&#039;&#039;&amp;lt;AirbaseName&amp;gt;_Warehouse.json&#039;&#039;&#039;&#039;&#039; and will be in the CMM dump directory&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===!dumpairb===&lt;br /&gt;
  Description : Will dump a file containing all data of an airbase&lt;br /&gt;
  &#039;&#039;File will be called &#039;&#039;&#039;&#039;&#039;&amp;lt;AirbaseName&amp;gt;_AirBase.json&#039;&#039;&#039;&#039;&#039; and will be in the CMM dump directory&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Data includes but is not limited to:&lt;br /&gt;
    Callsign, DisplayName, EditorName&lt;br /&gt;
    AirbaseID#&lt;br /&gt;
    Runway(s) Information&lt;br /&gt;
    Warehouse contents&lt;br /&gt;
    Location&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===!point===&lt;br /&gt;
  Description : Will dump the X,Y,Z of the specified location into the dcs log file&lt;br /&gt;
        Usage :&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=CMM_Map_Marker_Commands&amp;diff=6155</id>
		<title>CMM Map Marker Commands</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=CMM_Map_Marker_Commands&amp;diff=6155"/>
		<updated>2026-04-20T12:41:52Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the definitive list of Map Commands for CMM. The first part of the list will be dedicated to standard user commands. Further down will be Admin or &#039;special permission&#039; based commands.&lt;br /&gt;
&lt;br /&gt;
== Common Commands ==&lt;br /&gt;
&lt;br /&gt;
===!register===&lt;br /&gt;
  Description : Registers a user to the server&lt;br /&gt;
        Usage : !register&lt;br /&gt;
&lt;br /&gt;
===!email===&lt;br /&gt;
  Description : Updates the users Email address in the auth table&lt;br /&gt;
        Usage : !email:myemailaddress@email.com&lt;br /&gt;
&lt;br /&gt;
===!discord===&lt;br /&gt;
  Description : Updates the users Discord ID in the auth table&lt;br /&gt;
        Usage : !discord:0000345908345898354&lt;br /&gt;
&lt;br /&gt;
===!accept===&lt;br /&gt;
  Description : By executing this command near a mission, it will add you to the mission.&lt;br /&gt;
        Usage : !accept&lt;br /&gt;
&lt;br /&gt;
===!reject===&lt;br /&gt;
  Description : Will remove the player from closest accepted mission.&lt;br /&gt;
        Usage : !reject&lt;br /&gt;
&lt;br /&gt;
=== !myinfo ===&lt;br /&gt;
  Description : Will create a map marker with information about the player in it. &lt;br /&gt;
                Currently shows, Name, SlotID, UnitID and UCID. &lt;br /&gt;
                The mark can be deleted by pressing the red X.&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!myperms===&lt;br /&gt;
  Description : Will send a text alert to the player displaying the players current permissions&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===survey===&lt;br /&gt;
  Description : Will check if there are objects (excluding trees), and the ground around the point is flat&lt;br /&gt;
        Usage : !survey:&amp;lt;radiusInMetersNumber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===!smoke===&lt;br /&gt;
  Description : Will add a smoke of a specific colour at the mark point location.&lt;br /&gt;
        Usage : !smoke:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Smoke Colours are:&lt;br /&gt;
  red &lt;br /&gt;
  green &lt;br /&gt;
  blue &lt;br /&gt;
  orange &lt;br /&gt;
  white &lt;br /&gt;
 Example1 : !smoke: red&lt;br /&gt;
&lt;br /&gt;
===!spin===&lt;br /&gt;
  Description : Will place a large pin mark on the map as well as put a smoke in the game&lt;br /&gt;
        Usage : syntax = !spin:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Colours are:&lt;br /&gt;
    red&lt;br /&gt;
    green&lt;br /&gt;
    blue&lt;br /&gt;
    orange&lt;br /&gt;
    white&lt;br /&gt;
    yellow (will display white smoke)&lt;br /&gt;
    black  (will display white smoke)&lt;br /&gt;
 Example1 : !spin:green &lt;br /&gt;
&lt;br /&gt;
===!pin===&lt;br /&gt;
  Description : Will place a large pin mark on the map (same as spin, just without the smoke)&lt;br /&gt;
        Usage : !pin:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Colours are:&lt;br /&gt;
    red&lt;br /&gt;
    green&lt;br /&gt;
    blue&lt;br /&gt;
    orange&lt;br /&gt;
    white&lt;br /&gt;
    yellow&lt;br /&gt;
    black&lt;br /&gt;
 Example1 : !pin:green&lt;br /&gt;
&lt;br /&gt;
===!flare===&lt;br /&gt;
  Description : Will place a flare in the game at the specified location&lt;br /&gt;
        Usage : !flare:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Colours are:&lt;br /&gt;
    red&lt;br /&gt;
    green&lt;br /&gt;
    orange&lt;br /&gt;
    white&lt;br /&gt;
 Example1 : !flare:green&lt;br /&gt;
&lt;br /&gt;
===!illum===&lt;br /&gt;
  Description : Will place an illum flare in the game at the specified location&lt;br /&gt;
        Usage : !illum:&amp;lt;brightness#&amp;gt;&lt;br /&gt;
     Example1 : !illum:5000&lt;br /&gt;
&lt;br /&gt;
===!scan===&lt;br /&gt;
  Description : Will scan an area around the specified location&lt;br /&gt;
        Usage : !scan:&amp;lt;boxrange&amp;gt;&lt;br /&gt;
     Example1 : !scan&lt;br /&gt;
&lt;br /&gt;
===!topo===&lt;br /&gt;
  Description : Will draw a vector showing what intercept points to the terrain from the specified locations ground elevation.&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
== Support Aircraft Commands ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===!isr / !tanker / !awacs===&lt;br /&gt;
  Description : Will move an ISR / TANKER / AWACS platform into the orbit and location specified&lt;br /&gt;
        Usage : !isr:&amp;lt;ISRPlatformName&amp;gt; -rt &amp;lt;direction&amp;gt;:&amp;lt;distanceKM&amp;gt; -s &amp;lt;speedKnots&amp;gt; -a &amp;lt;altitude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example1 = place drone orbit location====&lt;br /&gt;
     Example1 : will put &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; into a &#039;&#039;circular orbit &amp;lt;u&amp;gt;at&amp;lt;/u&amp;gt; the specified location&#039;&#039;&lt;br /&gt;
        Usage : !isr:Colt11 &lt;br /&gt;
&lt;br /&gt;
====Example2 = place drone in racetrack at location====&lt;br /&gt;
     Example2 : will put &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; into a &amp;lt;u&amp;gt;&#039;&#039;RaceTrack&#039;&#039;&amp;lt;/u&amp;gt; orbit that goes &amp;lt;u&amp;gt;&#039;&#039; west 50km&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;from&amp;lt;/u&amp;gt; the specified location&lt;br /&gt;
        Usage : !isr:Colt11 -rt 270:50&lt;br /&gt;
&lt;br /&gt;
====Example3 = change altid orbit location====&lt;br /&gt;
     Example3 : will &#039;&#039;change the altitude&#039;&#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&#039;&#039;20,000ft&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; changing its orbit location&lt;br /&gt;
        Usage : !isr:Colt11 -dm -a 20000 &lt;br /&gt;
&lt;br /&gt;
====Example4 = change the speed ====&lt;br /&gt;
     Example4 : will &#039;&#039;change the speed&#039;&#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&#039;&#039;350knots&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; changing its orbit location&lt;br /&gt;
        Usage : !isr:Colt11 -dm -s 350 &lt;br /&gt;
&lt;br /&gt;
====Example5 = changes speed, alt &amp;amp; locn ====&lt;br /&gt;
     Example5 : will &#039;&#039;change the speed, altitude and location&#039;&#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&#039;&#039;175knots&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;&#039;&#039;14,000ft&#039;&#039;&amp;lt;/u&amp;gt; and to a &amp;lt;u&amp;gt;&#039;&#039;racetrack&#039;&#039;&amp;lt;/u&amp;gt; going &amp;lt;u&amp;gt;&#039;&#039;south 25km&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;from&amp;lt;/u&amp;gt; the specified location&lt;br /&gt;
        Usage : !isr:Colt11 -rt 180:25 -s 175 -a 14000 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;All these examples are available for&#039;&#039; &#039;&#039;&#039;!isr, !tanker&#039;&#039;&#039; and &#039;&#039;&#039;!awacs&#039;&#039;&#039; &#039;&#039;commands.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elevated Permissions Section  ==&lt;br /&gt;
&lt;br /&gt;
===!arty===&lt;br /&gt;
  Description : Will drop an Artillery barrage around the specified location (NOTE: will not hit Runway or Taxiways)&lt;br /&gt;
        Usage : !arty:&amp;lt;rounds&amp;gt;:&amp;lt;areaofeffectinMeters&amp;gt;&lt;br /&gt;
     Example1 : !arty:25:500&lt;br /&gt;
&lt;br /&gt;
===!explode===&lt;br /&gt;
  Description : Will make a single explosion at the specified location&lt;br /&gt;
        Usage : !explode:&amp;lt;explosionstrength&amp;gt;&lt;br /&gt;
     Example1 : !explode&lt;br /&gt;
     Example2 : !explode:500&lt;br /&gt;
&lt;br /&gt;
===!savesupport===&lt;br /&gt;
  Description : Will save the current support orbits for all support units so that the next time the mission executes they will fly the new orbits in the current mission&lt;br /&gt;
        Usage : !savesupport&lt;br /&gt;
&lt;br /&gt;
===!savestate===&lt;br /&gt;
  Description : When executed it will stagger saving all mission persistence data to disk. Average save time is approximately 90 seconds.&lt;br /&gt;
        Usage : !savestate&lt;br /&gt;
&lt;br /&gt;
===!serverreport===&lt;br /&gt;
  Description : Gives a report on the amount of units in a mission&lt;br /&gt;
        Usage : !serverreport&lt;br /&gt;
&lt;br /&gt;
===!effectsmoke===&lt;br /&gt;
  Description : Will add an Fire / Smoke Effect at the specified location&lt;br /&gt;
        Usage : !effectsmoke:&amp;lt;smokeEffect#&amp;gt;&lt;br /&gt;
 Valid smoke effect types are:&lt;br /&gt;
    1 = small smoke and fire&lt;br /&gt;
    2 = medium smoke and fire&lt;br /&gt;
    3 = large smoke and fire&lt;br /&gt;
    4 = huge smoke and fire&lt;br /&gt;
    5 = small smoke&lt;br /&gt;
    6 = medium smoke&lt;br /&gt;
    7 = large smoke&lt;br /&gt;
    8 = huge smoke&lt;br /&gt;
 Example1 : !effectsmoke:3&lt;br /&gt;
&lt;br /&gt;
===!removesmoke===&lt;br /&gt;
  Description : Will remove the closest effectsmoke. (does not work with smokes added with !smoke command)&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!spawn===&lt;br /&gt;
  Description : Spawns a specified group in the vicinity of the marker in a random direction unless defined in the command.&lt;br /&gt;
        Usage : !spawn:&amp;lt;type&amp;gt;:&amp;lt;direction&amp;gt;&lt;br /&gt;
     Example1 : !spawn:list            (will put a list of all valid spawn types on screen)&lt;br /&gt;
     Example2 : !spawn:blist           (will put a list of valid spawn types for the Blue team on screen)&lt;br /&gt;
     Example3 : !spawn:rlist           (will put a list of valid spawn types for the Red team on screen)&lt;br /&gt;
     Example4 : !spawn:capturetruck:90 (will spawn a capture truck fasting East)&lt;br /&gt;
     Example5 : !spawn:supply:135      (will spawn a supply crate fasting South East)&lt;br /&gt;
&lt;br /&gt;
===!additem / !setitem / !removeitem===&lt;br /&gt;
  Description : Will modify the item to the closest airbase, ship, fob&lt;br /&gt;
        Usage : !additem:&amp;lt;itemstringname&amp;gt;:&amp;lt;quantity&amp;gt;&lt;br /&gt;
     Example1 : !addItem:AH-64D_BLK_II:5&lt;br /&gt;
     Example2 : !addItem:DagiAH64&lt;br /&gt;
     Example3 : !addItem:weapons.missiles.AGM_114K:100&lt;br /&gt;
&lt;br /&gt;
===addfuel / !setfuel / !removefuel===&lt;br /&gt;
  Description : Will modify the fuel levels of the closest airbase, ship, fob.&lt;br /&gt;
        Usage : !addfuel:&amp;lt;fueltype#&amp;gt;:&amp;lt;quantityInTonnes&amp;gt;&lt;br /&gt;
 Valid fuel types are:&lt;br /&gt;
    0 = JetFuel&lt;br /&gt;
    1 = Aviation Gas&lt;br /&gt;
    2 = MW50&lt;br /&gt;
    3 = Diesel&lt;br /&gt;
 Example1 : !addfuel:0:5&lt;br /&gt;
&lt;br /&gt;
===!makeadmin / !makemod / !makegm / !makepatreon !makemember===&lt;br /&gt;
  Description : Will add the permission to the closest player pilot&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!removeadmin / !removemod / !removegm / !removepatreon===&lt;br /&gt;
  Description : Will remove the permission to the closest player pilot&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!revoke===&lt;br /&gt;
  Description : Will remove all permissions from the closest pilot&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!refreshauth===&lt;br /&gt;
  Description : Will reload the CMM.authtable from the CMM.AUTH.File&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
== Development Commands ==&lt;br /&gt;
&lt;br /&gt;
===!gwl===&lt;br /&gt;
  Description : Will dump a file containing the closest airbases warehouse weapons list into the CMM dump directory and be called &#039;CMM.WEAPONSLIST.json&#039;&lt;br /&gt;
  This is more of a mission development command and has no real gameplay value&lt;br /&gt;
&lt;br /&gt;
===!dumpwh===&lt;br /&gt;
  Description : Will dump a file containing the entire contents of the nearest airbases warehouse (fuel levels, weapons, airframes)&lt;br /&gt;
  &#039;&#039;File will be called &#039;&#039;&#039;&#039;&#039;&amp;lt;AirbaseName&amp;gt;_Warehouse.json&#039;&#039;&#039;&#039;&#039; and will be in the CMM dump directory&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===!dumpairb===&lt;br /&gt;
  Description : Will dump a file containing all data of an airbase&lt;br /&gt;
  &#039;&#039;File will be called &#039;&#039;&#039;&#039;&#039;&amp;lt;AirbaseName&amp;gt;_AirBase.json&#039;&#039;&#039;&#039;&#039; and will be in the CMM dump directory&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Data includes but is not limited to:&lt;br /&gt;
    Callsign, DisplayName, EditorName&lt;br /&gt;
    AirbaseID#&lt;br /&gt;
    Runway(s) Information&lt;br /&gt;
    Warehouse contents&lt;br /&gt;
    Location&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===!point===&lt;br /&gt;
  Description : Will dump the X,Y,Z of the specified location into the dcs log file&lt;br /&gt;
        Usage :&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=CMM_Map_Marker_Commands&amp;diff=6154</id>
		<title>CMM Map Marker Commands</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=CMM_Map_Marker_Commands&amp;diff=6154"/>
		<updated>2026-02-10T14:21:17Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the definitive list of Map Commands for CMM. The first part of the list will be dedicated to standard user commands. Further down will be Admin or &#039;special permission&#039; based commands.&lt;br /&gt;
&lt;br /&gt;
== Common Commands ==&lt;br /&gt;
&lt;br /&gt;
===!register===&lt;br /&gt;
  Description : Registers a user to the server&lt;br /&gt;
        Usage : !register&lt;br /&gt;
&lt;br /&gt;
===!email===&lt;br /&gt;
  Description : Updates the users Email address in the auth table&lt;br /&gt;
        Usage : !email:myemailaddress@email.com&lt;br /&gt;
&lt;br /&gt;
===!discord===&lt;br /&gt;
  Description : Updates the users Discord ID in the auth table&lt;br /&gt;
        Usage : !discord:0000345908345898354&lt;br /&gt;
&lt;br /&gt;
===!accept===&lt;br /&gt;
  Description : By executing this command near a mission, it will add you to the mission.&lt;br /&gt;
        Usage : !accept&lt;br /&gt;
&lt;br /&gt;
===!reject===&lt;br /&gt;
  Description : Will remove the player from closest accepted mission.&lt;br /&gt;
        Usage : !reject&lt;br /&gt;
&lt;br /&gt;
=== !myinfo ===&lt;br /&gt;
  Description : Will create a map marker with information about the player in it. &lt;br /&gt;
                Currently shows, Name, SlotID, UnitID and UCID. &lt;br /&gt;
                The mark can be deleted by pressing the red X.&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!myperms===&lt;br /&gt;
  Description : Will send a text alert to the player displaying the players current permissions&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===survey===&lt;br /&gt;
  Description : Will check if there are objects (excluding trees), and the ground around the point is flat&lt;br /&gt;
        Usage : !survey:&amp;lt;radiusInMetersNumber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===!smoke===&lt;br /&gt;
  Description : Will add a smoke of a specific colour at the mark point location.&lt;br /&gt;
        Usage : !smoke:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Smoke Colours are:&lt;br /&gt;
  red &lt;br /&gt;
  green &lt;br /&gt;
  blue &lt;br /&gt;
  orange &lt;br /&gt;
  white &lt;br /&gt;
 Example1 : !smoke: red&lt;br /&gt;
&lt;br /&gt;
===!spin===&lt;br /&gt;
  Description : Will place a large pin mark on the map as well as put a smoke in the game&lt;br /&gt;
        Usage : syntax = !spin:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Colours are:&lt;br /&gt;
    red&lt;br /&gt;
    green&lt;br /&gt;
    blue&lt;br /&gt;
    orange&lt;br /&gt;
    white&lt;br /&gt;
    yellow (will display white smoke)&lt;br /&gt;
    black  (will display white smoke)&lt;br /&gt;
 Example1 : !spin:green &lt;br /&gt;
&lt;br /&gt;
===!pin===&lt;br /&gt;
  Description : Will place a large pin mark on the map (same as spin, just without the smoke)&lt;br /&gt;
        Usage : !pin:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Colours are:&lt;br /&gt;
    red&lt;br /&gt;
    green&lt;br /&gt;
    blue&lt;br /&gt;
    orange&lt;br /&gt;
    white&lt;br /&gt;
    yellow&lt;br /&gt;
    black&lt;br /&gt;
 Example1 : !pin:green&lt;br /&gt;
&lt;br /&gt;
===!flare===&lt;br /&gt;
  Description : Will place a flare in the game at the specified location&lt;br /&gt;
        Usage : !flare:&amp;lt;colour&amp;gt;&lt;br /&gt;
 Valid Colours are:&lt;br /&gt;
    red&lt;br /&gt;
    green&lt;br /&gt;
    orange&lt;br /&gt;
    white&lt;br /&gt;
 Example1 : !flare:green&lt;br /&gt;
&lt;br /&gt;
===!illum===&lt;br /&gt;
  Description : Will place an illum flare in the game at the specified location&lt;br /&gt;
        Usage : !illum:&amp;lt;brightness#&amp;gt;&lt;br /&gt;
     Example1 : !illum:5000&lt;br /&gt;
&lt;br /&gt;
===!scan===&lt;br /&gt;
  Description : Will scan an area around the specified location&lt;br /&gt;
        Usage : !scan:&amp;lt;boxrange&amp;gt;&lt;br /&gt;
     Example1 : !scan&lt;br /&gt;
&lt;br /&gt;
===!topo===&lt;br /&gt;
  Description : Will draw a vector showing what intercept points to the terrain from the specified locations ground elevation.&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
== Support Aircraft Commands ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===!isr / !tanker / !awacs===&lt;br /&gt;
  Description : Will move an ISR / TANKER / AWACS platform into the orbit and location specified&lt;br /&gt;
        Usage : !isr:&amp;lt;ISRPlatformName&amp;gt; -rt &amp;lt;direction&amp;gt;:&amp;lt;distanceKM&amp;gt; -s &amp;lt;speedKnots&amp;gt; -a &amp;lt;altitude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example1 = place drone orbit location====&lt;br /&gt;
     Example1 : will put &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; into a &#039;&#039;circular orbit &amp;lt;u&amp;gt;at&amp;lt;/u&amp;gt; the specified location&#039;&#039;&lt;br /&gt;
        Usage : !isr:Colt11 &lt;br /&gt;
&lt;br /&gt;
====Example2 = place drone in racetrack at location====&lt;br /&gt;
     Example2 : will put &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; into a &amp;lt;u&amp;gt;&#039;&#039;RaceTrack&#039;&#039;&amp;lt;/u&amp;gt; orbit that goes &amp;lt;u&amp;gt;&#039;&#039; west 50km&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;from&amp;lt;/u&amp;gt; the specified location&lt;br /&gt;
        Usage : !isr:Colt11 -rt 270:50&lt;br /&gt;
&lt;br /&gt;
====Example3 = change altid orbit location====&lt;br /&gt;
     Example3 : will &#039;&#039;change the altitude&#039;&#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&#039;&#039;20,000ft&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; changing its orbit location&lt;br /&gt;
        Usage : !isr:Colt11 -dm -a 20000 &lt;br /&gt;
&lt;br /&gt;
====Example4 = change the speed ====&lt;br /&gt;
     Example4 : will &#039;&#039;change the speed&#039;&#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&#039;&#039;350knots&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; changing its orbit location&lt;br /&gt;
        Usage : !isr:Colt11 -dm -s 350 &lt;br /&gt;
&lt;br /&gt;
====Example5 = changes speed, alt &amp;amp; locn ====&lt;br /&gt;
     Example5 : will &#039;&#039;change the speed, altitude and location&#039;&#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&#039;&#039;175knots&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;&#039;&#039;14,000ft&#039;&#039;&amp;lt;/u&amp;gt; and to a &amp;lt;u&amp;gt;&#039;&#039;racetrack&#039;&#039;&amp;lt;/u&amp;gt; going &amp;lt;u&amp;gt;&#039;&#039;south 25km&#039;&#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;from&amp;lt;/u&amp;gt; the specified location&lt;br /&gt;
        Usage : !isr:Colt11 -rt 180:25 -s 175 -a 14000 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;All these examples are available for&#039;&#039; &#039;&#039;&#039;!isr, !tanker&#039;&#039;&#039; and &#039;&#039;&#039;!awacs&#039;&#039;&#039; &#039;&#039;commands.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elevated Permissions Section  ==&lt;br /&gt;
&lt;br /&gt;
===!arty===&lt;br /&gt;
  Description : Will drop an Artillery barrage around the specified location (NOTE: will not hit Runway or Taxiways)&lt;br /&gt;
        Usage : !arty:&amp;lt;rounds&amp;gt;:&amp;lt;areaofeffectinMeters&amp;gt;&lt;br /&gt;
     Example1 : !arty:25:500&lt;br /&gt;
&lt;br /&gt;
===!explode===&lt;br /&gt;
  Description : Will make a single explosion at the specified location&lt;br /&gt;
        Usage : !explode:&amp;lt;explosionstrength&amp;gt;&lt;br /&gt;
     Example1 : !explode&lt;br /&gt;
     Example2 : !explode:500&lt;br /&gt;
&lt;br /&gt;
===!savesupport===&lt;br /&gt;
  Description : Will save the current support orbits for all support units so that the next time the mission executes they will fly the new orbits in the current mission&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!serverreport===&lt;br /&gt;
  Description : Gives a report on the amount of units in a mission&lt;br /&gt;
        Usage : !serverreport&lt;br /&gt;
&lt;br /&gt;
===!effectsmoke===&lt;br /&gt;
  Description : Will add an Fire / Smoke Effect at the specified location&lt;br /&gt;
        Usage : !effectsmoke:&amp;lt;smokeEffect#&amp;gt;&lt;br /&gt;
 Valid smoke effect types are:&lt;br /&gt;
    1 = small smoke and fire&lt;br /&gt;
    2 = medium smoke and fire&lt;br /&gt;
    3 = large smoke and fire&lt;br /&gt;
    4 = huge smoke and fire&lt;br /&gt;
    5 = small smoke&lt;br /&gt;
    6 = medium smoke&lt;br /&gt;
    7 = large smoke&lt;br /&gt;
    8 = huge smoke&lt;br /&gt;
 Example1 : !effectsmoke:3&lt;br /&gt;
&lt;br /&gt;
===!removesmoke===&lt;br /&gt;
  Description : Will remove the closest effectsmoke. (does not work with smokes added with !smoke command)&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!spawn===&lt;br /&gt;
  Description : Spawns a specified group in the vicinity of the marker in a random direction unless defined in the command.&lt;br /&gt;
        Usage : !spawn:&amp;lt;type&amp;gt;:&amp;lt;direction&amp;gt;&lt;br /&gt;
     Example1 : !spawn:list            (will put a list of all valid spawn types on screen)&lt;br /&gt;
     Example2 : !spawn:blist           (will put a list of valid spawn types for the Blue team on screen)&lt;br /&gt;
     Example3 : !spawn:rlist           (will put a list of valid spawn types for the Red team on screen)&lt;br /&gt;
     Example4 : !spawn:capturetruck:90 (will spawn a capture truck fasting East)&lt;br /&gt;
     Example5 : !spawn:supply:135      (will spawn a supply crate fasting South East)&lt;br /&gt;
&lt;br /&gt;
===!additem / !setitem / !removeitem===&lt;br /&gt;
  Description : Will modify the item to the closest airbase, ship, fob&lt;br /&gt;
        Usage : !additem:&amp;lt;itemstringname&amp;gt;:&amp;lt;quantity&amp;gt;&lt;br /&gt;
     Example1 : !addItem:AH-64D_BLK_II:5&lt;br /&gt;
     Example2 : !addItem:DagiAH64&lt;br /&gt;
     Example3 : !addItem:weapons.missiles.AGM_114K:100&lt;br /&gt;
&lt;br /&gt;
===addfuel / !setfuel / !removefuel===&lt;br /&gt;
  Description : Will modify the fuel levels of the closest airbase, ship, fob.&lt;br /&gt;
        Usage : !addfuel:&amp;lt;fueltype#&amp;gt;:&amp;lt;quantityInTonnes&amp;gt;&lt;br /&gt;
 Valid fuel types are:&lt;br /&gt;
    0 = JetFuel&lt;br /&gt;
    1 = Aviation Gas&lt;br /&gt;
    2 = MW50&lt;br /&gt;
    3 = Diesel&lt;br /&gt;
 Example1 : !addfuel:0:5&lt;br /&gt;
&lt;br /&gt;
===!makeadmin / !makemod / !makegm / !makepatreon !makemember===&lt;br /&gt;
  Description : Will add the permission to the closest player pilot&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!removeadmin / !removemod / !removegm / !removepatreon===&lt;br /&gt;
  Description : Will remove the permission to the closest player pilot&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!revoke===&lt;br /&gt;
  Description : Will remove all permissions from the closest pilot&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
===!refreshauth===&lt;br /&gt;
  Description : Will reload the CMM.authtable from the CMM.AUTH.File&lt;br /&gt;
        Usage :&lt;br /&gt;
&lt;br /&gt;
== Development Commands ==&lt;br /&gt;
&lt;br /&gt;
===!gwl===&lt;br /&gt;
  Description : Will dump a file containing the closest airbases warehouse weapons list into the CMM dump directory and be called &#039;CMM.WEAPONSLIST.json&#039;&lt;br /&gt;
  This is more of a mission development command and has no real gameplay value&lt;br /&gt;
&lt;br /&gt;
===!dumpwh===&lt;br /&gt;
  Description : Will dump a file containing the entire contents of the nearest airbases warehouse (fuel levels, weapons, airframes)&lt;br /&gt;
  &#039;&#039;File will be called &#039;&#039;&#039;&#039;&#039;&amp;lt;AirbaseName&amp;gt;_Warehouse.json&#039;&#039;&#039;&#039;&#039; and will be in the CMM dump directory&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===!dumpairb===&lt;br /&gt;
  Description : Will dump a file containing all data of an airbase&lt;br /&gt;
  &#039;&#039;File will be called &#039;&#039;&#039;&#039;&#039;&amp;lt;AirbaseName&amp;gt;_AirBase.json&#039;&#039;&#039;&#039;&#039; and will be in the CMM dump directory&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Data includes but is not limited to:&lt;br /&gt;
    Callsign, DisplayName, EditorName&lt;br /&gt;
    AirbaseID#&lt;br /&gt;
    Runway(s) Information&lt;br /&gt;
    Warehouse contents&lt;br /&gt;
    Location&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===!point===&lt;br /&gt;
  Description : Will dump the X,Y,Z of the specified location into the dcs log file&lt;br /&gt;
        Usage :&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=GetZone&amp;diff=6153</id>
		<title>GetZone</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=GetZone&amp;diff=6153"/>
		<updated>2026-02-10T14:16:54Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: GetZone – created via PowerShell script (2026-02-11T01:16:53Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          GetZone|fDescription=   Returns a zone table by its name|parentFile=     cmm.ZoneFunctions.lua|syntax=         CMM.GetZone(&amp;lt;string&amp;gt;)|return=         table or nil|returnDesc=     Returns a zone table if found, otherwise nil.|example=        CMM.GetZone(&amp;quot;Zone15&amp;quot;,1000)|exampleDesc=    Returns a zone table for the zone named &amp;quot;Zone15&amp;quot;, or nil if not found.|related=        |note=           |envType= CMM|par1=         string zoneName|reqType1=     string|reqName1=     zoneName|desc1=       Name of the zone as defined in the mission editor.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=ScheduledDestroy&amp;diff=6152</id>
		<title>ScheduledDestroy</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=ScheduledDestroy&amp;diff=6152"/>
		<updated>2026-02-10T14:16:45Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: ScheduledDestroy – created via PowerShell script (2026-02-11T01:16:45Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          ScheduledDestroy|fDescription=   Shedules the destruction of an object, used in CMM.RemoveDeployedTemplate|parentFile=     cmm.templates.lua|syntax=         CMM.ScheduledDestroy(argTable &amp;lt;TBL&amp;gt;)|return=         nil|returnDesc=     Returns nothing but schedules the destruction of all objects associated with the deployed template over the specified duration|example=        CMM.ScheduleSpawnStatic({&amp;lt;groupObject})|exampleDesc=    Removes the deployed template with the name prefix &amp;quot;FOB_01#01245&amp;quot; over a duration of 300 seconds, scheduling the destruction of all associated objects in the CMM.DEPLOYED table for that template.|related=        |note=           |envType= CMM|par1=         table argTable|reqType1=     table|reqName1=     argTable|desc1=       A table of arguments for the destruction, {DeployedObject &amp;lt;object&amp;gt;}}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=RemoveDeployedTemplate&amp;diff=6151</id>
		<title>RemoveDeployedTemplate</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=RemoveDeployedTemplate&amp;diff=6151"/>
		<updated>2026-02-10T14:16:45Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: RemoveDeployedTemplate – created via PowerShell script (2026-02-11T01:16:45Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          RemoveDeployedTemplate|fDescription=   Removes a deployed template, deleting all objects associated with the template over a specified duration, defaults to CMM.TemplatePackingTime or 30 seconds if not specified|parentFile=     cmm.templates.lua|syntax=         CMM.RemoveDeployedTemplate(DeploymentName &amp;lt;string&amp;gt;, Duration &amp;lt;number&amp;gt;)|return=         nil|returnDesc=     Returns nothing but schedules the destruction of all objects associated with the deployed template over the specified duration|example=        CMM.RemoveDeployedTemplate(&amp;quot;FOB_01#01245&amp;quot;, 300)|exampleDesc=    Removes the deployed template with the name prefix &amp;quot;FOB_01#01245&amp;quot; over a duration of 300 seconds, scheduling the destruction of all associated objects in the CMM.DEPLOYED table for that template.|related=        |note=           |envType= CMM|par1=         string DeploymentName|reqType1=     string|reqName1=     DeploymentName|desc1=       The name prefix of the deployed template to remove, this is returned by CMM.TemplateBuilder when the template is built|par2=         number Duration|reqType2=     number|reqName2=     Duration|desc2=       The duration in seconds over which the template will be removed, defaults to CMM.TemplatePackingTime or 30 seconds if not specified}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=TemplateBuilder&amp;diff=6150</id>
		<title>TemplateBuilder</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=TemplateBuilder&amp;diff=6150"/>
		<updated>2026-02-10T14:16:45Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: TemplateBuilder – created via PowerShell script (2026-02-11T01:16:45Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          TemplateBuilder|fDescription=   Builds Saved Tempates|parentFile=     cmm.templates.lua|syntax=         CMM.TemplateBuilder(pos &amp;lt;TBL&amp;gt;, dir &amp;lt;number&amp;gt;, TemplateName &amp;lt;string&amp;gt;, BuildSide &amp;lt;number&amp;gt;, BuildTime &amp;lt;number&amp;gt;)|return=         string or nil|returnDesc=     Returns the name prefix for the template or nil if error|example=        CMM.TemplateBuilder({x,y,z}, 33,&amp;quot;FOB_01&amp;quot;, 81, 300)|exampleDesc=    Build a template named FOB_01 in the direction of 33 facing the country side 81 and have it complete the build process in 300 seconds|related=        |note=           |envType= CMM|par1=         table pos|reqType1=     table|reqName1=     pos|desc1=       vec3 table|par2=         number dir|reqType2=     number|reqName2=     dir|desc2=       Direction the template will face when deployed|par3=         string TemplateName|reqType3=     string|reqName3=     TemplateName|desc3=       Name of the template to lookup|par4=         number BuildSide|reqType4=     number|reqName4=     BuildSide|desc4=       The country side to build the template for|par5=         number BuildTime|reqType5=     number|reqName5=     BuildTime|desc5=       How long you want the build to take to complete}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=ScheduleSpawnGroundUnit&amp;diff=6149</id>
		<title>ScheduleSpawnGroundUnit</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=ScheduleSpawnGroundUnit&amp;diff=6149"/>
		<updated>2026-02-10T14:16:45Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: ScheduleSpawnGroundUnit – created via PowerShell script (2026-02-11T01:16:44Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          ScheduleSpawnGroundUnit|fDescription=   Builds Saved Tempates|parentFile=     cmm.templates.lua|syntax=         CMM.ScheduleSpawnGroundUnit(argTable &amp;lt;TBL&amp;gt;)|return=         table or nil|returnDesc=     Returns nil if error or the group object of the spawned unit if successful|example=        CMM.ScheduleSpawnGroundUnit({TemplateTBL = &amp;quot;FOB_01#01245&amp;quot;, GroupName = &amp;quot;FOB_01#01245_Unit1&amp;quot;, UnitType = &amp;quot;M978 HEMTT Tanker&amp;quot;, Country = 82, SpawnPoint = {x=0,y=0,z=0}, Heading = 33, Hidden = true, Invisible = false, Immortal = false, Disperse = false, CombatReady = false})|exampleDesc=    Spawns a unit of type &amp;quot;M978 HEMTT Tanker&amp;quot; for country 82 at the specified spawn point with the specified heading and options, adds the spawned unit to the CMM.DEPLOYED table under the &amp;quot;FOB_01#01245&amp;quot; template, and returns the group object of the spawned unit if successful|related=        |note=           |envType= CMM|par1=         table argTable|reqType1=     table|reqName1=     argTable|desc1=       A table consisting of arguments for the unit spawn, {TemplateTBL &amp;lt;string&amp;gt;, GroupName &amp;lt;string&amp;gt;, UnitType &amp;lt;string&amp;gt;, Country &amp;lt;number&amp;gt;, SpawnPoint &amp;lt;table vec3&amp;gt;, Heading &amp;lt;number&amp;gt;, Hidden &amp;lt;boolean&amp;gt;, Invisible &amp;lt;boolean&amp;gt;, Immortal &amp;lt;boolean&amp;gt;, Disperse &amp;lt;boolean&amp;gt;, CombatReady &amp;lt;boolean&amp;gt;}}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=ScheduleSpawnFARPObject&amp;diff=6148</id>
		<title>ScheduleSpawnFARPObject</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=ScheduleSpawnFARPObject&amp;diff=6148"/>
		<updated>2026-02-10T14:16:45Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: ScheduleSpawnFARPObject – created via PowerShell script (2026-02-11T01:16:44Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          ScheduleSpawnFARPObject|fDescription=   Spawns a FARP object with a set of parameters supplied|parentFile=     cmm.templates.lua|syntax=         CMM.ScheduleSpawnFARPObject(argTable &amp;lt;TBL&amp;gt;)|return=         nil|returnDesc=     Returns nothing but spawns a static object based on the arguments provided and adds it to the CMM.DEPLOYED table for tracking|example=        CMM.ScheduleSpawnFARPObject({TemplateTBL = &amp;quot;FOB_01#01245&amp;quot;, GroupName = &amp;quot;FOB_01#01245_FARP&amp;quot;, Country = 82, SpawnPoint = {x=0,y=0,z=0}, Heading = 33, DynamicSpawn = true, Hotstart = false})|exampleDesc=    Returns nothing but spawns the FARP object and then adds it to the CMM.DEPLOYED table for tracking under the &amp;quot;FOB_01#01245&amp;quot; template|related=        |note=           |envType= CMM|par1=         table argTable|reqType1=     table|reqName1=     argTable|desc1=       Argument table for spawning FARP objects, {TemplateTBL &amp;lt;string&amp;gt;, GroupName &amp;lt;string&amp;gt;, Country &amp;lt;number&amp;gt;, SpawnPoint &amp;lt;table vec3&amp;gt;, Heading &amp;lt;number&amp;gt;, DynamicSpawn &amp;lt;boolean&amp;gt;, Hotstart &amp;lt;boolean&amp;gt;}}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=ScheduleSpawnStatic&amp;diff=6147</id>
		<title>ScheduleSpawnStatic</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=ScheduleSpawnStatic&amp;diff=6147"/>
		<updated>2026-02-10T14:16:44Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: ScheduleSpawnStatic – created via PowerShell script (2026-02-11T01:16:44Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          ScheduleSpawnStatic|fDescription=   Executes a scheduled spawn of a static object, used in CMM.TemplateBuilder|parentFile=     cmm.templates.lua|syntax=         CMM.ScheduleSpawnStatic(argTable &amp;lt;TBL&amp;gt;)|return=         nil|returnDesc=     Returns nothing but spawns a static object based on the arguments provided and adds it to the CMM.DEPLOYED table for tracking|example=        CMM.ScheduleSpawnStatic({&amp;quot;FOB_01#01245&amp;quot;, 82, StaticTBL})|exampleDesc=    Returns the next CMM.TemplateID number|related=        |note=           |envType= CMM|par1=         table argTable|reqType1=     table|reqName1=     argTable|desc1=       A table of arguments for the static spawn, {DeployedTBLName &amp;lt;string&amp;gt;, CountryID &amp;lt;number&amp;gt;, StaticTBL &amp;lt;table&amp;gt;}}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=GetNewTemplateID&amp;diff=6146</id>
		<title>GetNewTemplateID</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=GetNewTemplateID&amp;diff=6146"/>
		<updated>2026-02-10T14:16:44Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: GetNewTemplateID – created via PowerShell script (2026-02-11T01:16:44Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          GetNewTemplateID|fDescription=   Builds Saved Tempates|parentFile=     cmm.templates.lua|syntax=         CMM.GetNewTemplateID()|return=         number|returnDesc=     Returns the next CMM.TemplateID number|example=        CMM.GetNewTemplateID()|exampleDesc=    Returns the next CMM.TemplateID number|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=LoadFacilityTemplates&amp;diff=6145</id>
		<title>LoadFacilityTemplates</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=LoadFacilityTemplates&amp;diff=6145"/>
		<updated>2026-02-10T14:16:44Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: LoadFacilityTemplates – created via PowerShell script (2026-02-11T01:16:44Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          LoadFacilityTemplates|fDescription=   Loads Saved Tempates from a directory into the CMM.TEMPLATES table|parentFile=     cmm.templates.lua|syntax=         CMM.LoadFacilityTemplates(pos &amp;lt;TBL&amp;gt;, dir &amp;lt;number&amp;gt;, TemplateName &amp;lt;string&amp;gt;, BuildSide &amp;lt;number&amp;gt;, BuildTime &amp;lt;number&amp;gt;)|return=         string or nil|returnDesc=     Returns the name prefix for the template or nil if error|example=        CMM.LoadFacilityTemplates(&amp;quot;G:\Templates&amp;quot;)|exampleDesc=    Loads all templates from G:\Templates directory into the CMM.TEMPLATES table|related=        |note=           |envType= CMM|par1=         string TemplatePath|reqType1=     string|reqName1=     TemplatePath|desc1=       Name of the template to lookup}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=GetNewID&amp;diff=6144</id>
		<title>GetNewID</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=GetNewID&amp;diff=6144"/>
		<updated>2026-02-10T14:16:44Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: GetNewID – created via PowerShell script (2026-02-11T01:16:43Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          GetNewID|fDescription=   Iterator for Template IDs for building and capturing etc etc|parentFile=     cmm.templates.lua|syntax=         CMM.GetNewID()|return=         number|returnDesc=     Returns the next CMM.ID number|example=        CMM.GetNewID()|exampleDesc=    Returns the next CMM.ID number|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=CreateTemplateTable&amp;diff=6143</id>
		<title>CreateTemplateTable</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=CreateTemplateTable&amp;diff=6143"/>
		<updated>2026-02-10T14:16:44Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: CreateTemplateTable – created via PowerShell script (2026-02-11T01:16:43Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          CreateTemplateTable|fDescription=   Creates a Template Table from a zone, this is used to create templates for the CMM.TemplateBuilder function|parentFile=     cmm.templates.lua|syntax=         CMM.CreateTemplateTable(ZoneName &amp;lt;string&amp;gt;)|return=         nil|returnDesc=     Returns nothing but creates a template table in CMM.TEMPLATES of the Objects in the specified zone and saves a JSON file of the template to the CMM.DUMPDIR directory|example=        CMM.CreateTemplateTable(&amp;quot;FOB_01&amp;quot;)|exampleDesc=    Creates a template table in CMM.TEMPLATES of the Objects in the zone &amp;quot;FOB_01&amp;quot; and saves a JSON file of the template to the CMM.DUMPDIR directory as &amp;quot;FOB_01.json&amp;quot;|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=GetNewMarkerID&amp;diff=6142</id>
		<title>GetNewMarkerID</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=GetNewMarkerID&amp;diff=6142"/>
		<updated>2026-02-10T14:16:40Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: GetNewMarkerID – created via PowerShell script (2026-02-11T01:16:39Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          GetNewMarkerID|fDescription=   Generates a unique convoy group name by incrementing a counter until a name not already in use is found, ensuring no name conflicts with existing groups.|parentFile=     cmm.spawnFunctions.lua|syntax=         CMM.GetNewMarkerID()|return=         string|returnDesc=     Returns a new available convoy group name in the format &amp;quot;Convoy#XXXX&amp;quot; where XXXX is a zero-padded number, or &amp;quot;NO-NEW-CONVOY-NAME&amp;quot; if no unique name can be found after maximum retries.|example=        CMM.GetNewMarkerID()|exampleDesc=    Invokes the function to generate a unique convoy name, such as &amp;quot;Convoy#0001&amp;quot;, ensuring it does not conflict with existing group names in the mission.|related=        |note=           --TODO CODE REVIEW REQUIRED|envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=OutSoundForCoalition&amp;diff=6141</id>
		<title>OutSoundForCoalition</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=OutSoundForCoalition&amp;diff=6141"/>
		<updated>2026-02-10T14:16:35Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: outSoundForCoalition – created via PowerShell script (2026-02-11T01:16:35Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          outSoundForCoalition|fDescription=   Plays a randomly selected sound from a table or a single sound string, with support for both string and table inputs. If a table is provided, a random entry is chosen; if a string is provided, that sound is played directly.|parentFile=     cmm.soundFunctions.lua|syntax=         CMM.outSoundForCoalition(SOUND &amp;lt;table|string&amp;gt;)|return=         nil|returnDesc=     Returns nothing, plays the selected sound using trigger.action.outSound.|example=        CMM.outSoundForCoalition({&amp;quot;SOUNDS/CMM/XP_Banked_1.ogg&amp;quot;, &amp;quot;SOUNDS/CMM/XP_Banked_2.ogg&amp;quot;})|exampleDesc=    Plays a randomly selected sound from the provided list of sound files, simulating a banked event with varied audio feedback.|related=        |note=           |envType= CMM|par1=         table or string SOUND|reqType1=     table or string|reqName1=     SOUND|desc1=       REQUIRED, either a string path to a sound file or a table of sound file paths. If a table, a random entry is selected; if a string, the sound is played directly.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=OutSoundForCoalition&amp;diff=6140</id>
		<title>OutSoundForCoalition</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=OutSoundForCoalition&amp;diff=6140"/>
		<updated>2026-02-10T14:16:35Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: outSoundForCoalition – created via PowerShell script (2026-02-11T01:16:35Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          outSoundForCoalition|fDescription=   Plays a sound specific to a coalition, with support for either a single sound string or a table of sound strings. The coalition is defined by a number (0=NEUTRAL, 1=RED, 2=BLUE), defaulting to BLUE if invalid. A random sound is selected from a table or played directly if a string is provided.|parentFile=     cmm.soundFunctions.lua|syntax=         CMM.outSoundForCoalition(COAL &amp;lt;number&amp;gt;, SOUND &amp;lt;table|string&amp;gt;)|return=         nil|returnDesc=     Returns nothing, plays the selected sound using trigger.action.outSoundForCoalition.|example=        CMM.outSoundForCoalition(2, &amp;quot;SOUNDS/CMM/XP_Banked_3.ogg&amp;quot;) or CMM.outSoundForCoalition(2, CMM.SOUNDS.XPBanked)|exampleDesc=    Plays a BLUE-specific sound, either a single file or a randomly selected file from a predefined list, simulating a banked event with coalition-aware audio feedback.|related=        |note=           |envType= CMM|par1=         number COAL|reqType1=     number|reqName1=     COAL|desc1=       REQUIRED, coalition value (0 = NEUTRAL, 1 = RED, 2 = BLUE); defaults to 2 if outside valid range.|par2=         table or string SOUND|reqType2=     table or string|reqName2=     SOUND|desc2=       REQUIRED, either a string path to a sound file or a table of sound file paths. If a table, a random entry is selected; if a string, the sound is played directly.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=GetNewMarkerID&amp;diff=6139</id>
		<title>GetNewMarkerID</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=GetNewMarkerID&amp;diff=6139"/>
		<updated>2026-02-10T14:16:21Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: GetNewMarkerID – created via PowerShell script (2026-02-11T01:16:21Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          GetNewMarkerID|fDescription=   Generates a new unused marker ID by checking against existing allocated IDs and returning the first available one, with a fallback to -1 if no ID can be found after extensive retries.|parentFile=     cmm.markerFunctions.lua|syntax=         CMM.GetNewMarkerID()|return=         number|returnDesc=     A new unused marker ID that has not been allocated in the MarkerPanels table, or -1 if no valid ID could be found.|example=        CMM.GetNewMarkerID()|exampleDesc=    Returns a unique marker ID such as 205, which has not been previously used in the mission, ensuring no conflicts with existing markers.|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=MarkerForceCapture&amp;diff=6138</id>
		<title>MarkerForceCapture</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=MarkerForceCapture&amp;diff=6138"/>
		<updated>2026-02-10T14:16:21Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: MarkerForceCapture – created via PowerShell script (2026-02-11T01:16:21Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          MarkerForceCapture|fDescription=   Sets the closest Airbase to the desired coalition|parentFile=     cmm.MapCommandFunctions.lua|syntax=         CMM.MarkerForceCapture(EventData &amp;lt;TBL&amp;gt;)|return=         nil|returnDesc=     Returns nil but changes the side of the nearest airbase to the side specified in the text message|example=        CMM.MarkerForceCapture(EventData = {pos={x,y,z}, text = &amp;quot;!forcecap:red&amp;quot;})|exampleDesc=    Will set the closest airbase to red coalition|related=        |note=           Map Command !forcecap --TODO Does not execute any side change code as the basecapture event does not trigger when a base is set to a coalition via the API|envType= CMM|par1=         table EventData|reqType1=     table|reqName1=     EventData|desc1=       S_EVENT_MARK_REMOVED Event Table containing initiator information and event context.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=InitialiseMissionDirectories&amp;diff=6137</id>
		<title>InitialiseMissionDirectories</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=InitialiseMissionDirectories&amp;diff=6137"/>
		<updated>2026-02-10T14:16:14Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: InitialiseMissionDirectories – created via PowerShell script (2026-02-11T01:16:14Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          InitialiseMissionDirectories|fDescription=   Checks if config, persistence and scripts folders exist in the specified mission directory|parentFile=     cmm.initialisation.lua|syntax=         CMM.InitialiseMissionDirectories()|return=         nil|returnDesc=     Returns nothing, but will create directories if they do not exist.|example=        CMM.InitialiseMissionDirectories()|exampleDesc=    Checks that the config, persistence and scripts directories exist in the mission directory, creating them if they do not.|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=ValidateEnvironmentConfig&amp;diff=6136</id>
		<title>ValidateEnvironmentConfig</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=ValidateEnvironmentConfig&amp;diff=6136"/>
		<updated>2026-02-10T14:16:14Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: ValidateEnvironmentConfig – created via PowerShell script (2026-02-11T01:16:14Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          ValidateEnvironmentConfig|fDescription=   Validates CMM Persistence configuration to ensure no default paths are used when persistence is enabled|parentFile=     cmm.initialisation.lua|syntax=         CMM.ValidateEnvironmentConfig()|return=         nil|returnDesc=     Returns nothing, but will reset CMM to nil if validation fails|example=        CMM.ValidateEnvironmentConfig()|exampleDesc=    Checks that all persistence paths are correctly configured and not set to default when persistence is enabled, logging errors and resetting CMM if validation fails.|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=LoadWarehouseTemplates&amp;diff=6135</id>
		<title>LoadWarehouseTemplates</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=LoadWarehouseTemplates&amp;diff=6135"/>
		<updated>2026-02-10T14:16:08Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: LoadWarehouseTemplates – created via PowerShell script (2026-02-11T01:16:08Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          LoadWarehouseTemplates|fDescription=   Loads all Warehouse Inventory templates from the specified path into CMM.WAREHOUSES table with key of the filename without the .json extension|parentFile=     cmm.DCSFunctions.lua|syntax=         CMM.LoadWarehouseTemplates(WarehousesDir &amp;lt;string&amp;gt;)|return=         |returnDesc=     |example=        CMM.LoadWarehouseTemplates()|exampleDesc=    This will load the Warehouse templates from CMM.WAREHOUSEDIR into the CMM.WAREHOUSES table|related=        |note=           |envType= CMM|par1=         string or nil WarehousesDir|optType1=     string or nil|optName1=     WarehousesDir|desc1=       Optional Directory path to load the Warehouse templates from, if nil it will use CMM.WAREHOUSEDIR}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=DeployTemplate&amp;diff=6134</id>
		<title>DeployTemplate</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=DeployTemplate&amp;diff=6134"/>
		<updated>2026-02-10T14:16:07Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: DeployTemplate – created via PowerShell script (2026-02-11T01:16:06Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          DeployTemplate|fDescription=   Deploys a GARRISON template within the time specified|parentFile=     cmm.DCSFunctions.lua|syntax=         CMM.DeployTemplate(position &amp;lt;table&amp;gt; ,direction &amp;lt;number&amp;gt; ,deploymentName &amp;lt;string&amp;gt;,templateType &amp;lt;string&amp;gt;,country &amp;lt;number&amp;gt;, buildtime &amp;lt;number&amp;gt;, notification &amp;lt;boolean&amp;gt;, warehouseInventory &amp;lt;table&amp;gt;)|return=         table or nil|returnDesc=     Returns a table of markerID&#039;s|example=        CMM.DeployTemplate(fob_pos,fob_dir,&amp;quot;FOB_01&amp;quot;,&amp;quot;FOB_01&amp;quot;,CMM.bluforID,20,false)|exampleDesc=    Deploys a FOB_01 style template for the blue coalition within 20 seconds|related=        |note=           |envType= CMM|par1=         table position|reqType1=     table|reqName1=     position|desc1=       vec3 style Table {x, y, z}|par2=         number direction|reqType2=     number|reqName2=     direction|desc2=       A table representing a 3D vector {x, y, z} used to extract latitude and longitude via coord.LOtoLL.|par3=         string deploymentName|reqType3=     string|reqName3=     deploymentName|desc3=       Name to be given to the Deployment --TODO might be removed at some point, seems redundant|par4=         string templateType|reqType4=     string|reqName4=     templateType|desc4=       CMM Template Name|par5=         number country|reqType5=     number|reqName5=     country|desc5=       Country ID to spawn the units in the template|par6=         number buildtime|reqType6=     number|reqName6=     buildtime|desc6=       How long the Deployment should take to complete|par7=         boolean or nil notification|optType7=     boolean or nil|optName7=     notification|desc7=       Boolean to notify players or not [DEFAULT: false]|par8=         table or nil warehouseInventory|optType8=     table or nil|optName8=     warehouseInventory|desc8=       A getInventory() table that the Template should use if it has an available FARP object}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=GetZone&amp;diff=6133</id>
		<title>GetZone</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=GetZone&amp;diff=6133"/>
		<updated>2026-02-10T14:16:02Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: getZone – created via PowerShell script (2026-02-11T01:16:02Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          getZone|fDescription=   Returns a detailed zone table for the given zone name, augmenting the mission’s trigger‑zone data with a vec3 field (x, y = terrain height, z) and optional 3‑D vertex list (verticies3).  If the zone cannot be found or the input is not a string, the function logs an error and returns nil.|parentFile=     cmm.DCSFunctions.lua|syntax=         CMM.getZone(&amp;lt;string&amp;gt;)|return=         table or nil|returnDesc=     returns a table containing centre, radius, vertices and terrain height for the zone or nil if not found|example=        local weaponsRange = CMM.getZone(&amp;quot;WeaponsRange02&amp;quot;)|exampleDesc=    The example shows how to obtain all relevant data for &amp;quot;WeaponsRange02&amp;quot;, including the ground elevation at its centre (vec3.y) and the 3‑D coordinates of each vertex in verticies3.|related=        |note=           |envType= CMM|par1=         string ZoneName|reqType1=     string|reqName1=     ZoneName|desc1=       Name of a zone defined in the mission editor.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=ConfigureMissionTimer&amp;diff=6132</id>
		<title>ConfigureMissionTimer</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=ConfigureMissionTimer&amp;diff=6132"/>
		<updated>2026-02-10T14:15:57Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: ConfigureMissionTimer – created via PowerShell script (2026-02-11T01:15:56Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          ConfigureMissionTimer|fDescription=   initialises the mission end timer system, defaulting to 6 hours if CMM.MISSION.TimeLimit is not already set; it logs the configured runtime, schedules the final END_MISSION call and sets up a series of MissionTimer notifications at predefined intervals.|parentFile=     cmm.DCSFunctions.lua|syntax=         CMM.ConfigureMissionTimer()|return=         |returnDesc=     |example=        CMM.MISSION.TimeLimit = 3600; CMM.ConfigureMissionTimer()|exampleDesc=    Sets up a one‑hour mission timer and schedules the end‑of‑mission notification.|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=PrepareAirbaseSaveData&amp;diff=6131</id>
		<title>PrepareAirbaseSaveData</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=PrepareAirbaseSaveData&amp;diff=6131"/>
		<updated>2026-02-10T14:15:43Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: PrepareAirbaseSaveData – created via PowerShell script (2026-02-11T01:15:42Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          PrepareAirbaseSaveData|fDescription=   |parentFile=     cmm.AirBaseFunctions.lua|syntax=         CMM.PrepareAirbaseSaveData(&amp;lt;TBL&amp;gt; ABObject)|return=         table or nil|returnDesc=     The function performs side‑effects only – it reads a JSON file, restores warehouse contents and sets ownership; no value is returned.|example=        CMM.LoadAirbasePersistenceFile(Airbase.getByName(&amp;quot;Akrotiri&amp;quot;), &amp;quot;C:\\Mission\\AIRBASES\\&amp;quot;)|exampleDesc=    Loads the persistence file for Akrotiri from the specified directory, restoring its weapons, aircraft and coalition ownership.|related=        |note=           |envType= CMM|par1=         table or string ABObject|reqType1=     table or string|reqName1=     ABObject|desc1=       An airbase object (or its name) whose persistence data will be loaded from the directory.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=CheckItemType&amp;diff=6130</id>
		<title>CheckItemType</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=CheckItemType&amp;diff=6130"/>
		<updated>2026-02-10T14:15:42Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: checkItemType – created via PowerShell script (2026-02-11T01:15:41Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          checkItemType|fDescription=   This function will set an item type of a specified quantity to an Airbase Warehouse|parentFile=     cmm.AirBaseFunctions.lua|syntax=         CMM.checkItemType(&amp;lt;string&amp;gt;)|return=         boolean|returnDesc=     Returns true if item type is valid, false if not|example=        CMM.checkItemType(&amp;quot;weapons.missiles.AGM_114K&amp;quot;)|exampleDesc=    |related=        |note=           |envType= CMM|par1=         string ItemType|reqType1=     string|reqName1=     ItemType|desc1=       ItemType Name string to check}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=RemoveItem&amp;diff=6129</id>
		<title>RemoveItem</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=RemoveItem&amp;diff=6129"/>
		<updated>2026-02-10T14:15:41Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: RemoveItem – created via PowerShell script (2026-02-11T01:15:41Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          RemoveItem|fDescription=   This function will remove an item type of a specified quantity to the supplied Warehouse|parentFile=     cmm.AirBaseFunctions.lua|syntax=         CMM.RemoveItem(&amp;lt;Warehouse Object Table&amp;gt;,&amp;lt;string&amp;gt;,&amp;lt;number&amp;gt;)|return=         boolean|returnDesc=     Returns nil|example=        CMM.AddItem(Airbase.getByName(&amp;quot;Sochi-Adler&amp;quot;),tostring(&amp;quot;weapons.missiles.AGM_114K&amp;quot;), 5)|exampleDesc=    |related=        |note=           |envType= CMM|par1=         table WH|reqType1=     table|reqName1=     WH|desc1=       Warehouse Object|par2=         string ItemType|reqType2=     string|reqName2=     ItemType|desc2=       ItemType Name|par3=         number Value|reqType3=     number|reqName3=     Value|desc3=       Amount of item to add}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=SetItem&amp;diff=6128</id>
		<title>SetItem</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=SetItem&amp;diff=6128"/>
		<updated>2026-02-10T14:15:41Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: SetItem – created via PowerShell script (2026-02-11T01:15:41Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          SetItem|fDescription=   This function will set an item type of a specified quantity to the supplied Warehouse|parentFile=     cmm.AirBaseFunctions.lua|syntax=         CMM.SetItem(&amp;lt;Warehouse Object Table&amp;gt;,&amp;lt;string&amp;gt;,&amp;lt;number&amp;gt;)|return=         boolean|returnDesc=     Returns nil|example=        CMM.SetItem(Airbase.getByName(&amp;quot;Sochi-Adler&amp;quot;),tostring(&amp;quot;weapons.missiles.AGM_114K&amp;quot;), 5)|exampleDesc=    |related=        |note=           |envType= CMM|par1=         table WH|reqType1=     table|reqName1=     WH|desc1=       Warehouse Object|par2=         string ItemType|reqType2=     string|reqName2=     ItemType|desc2=       ItemType Name|par3=         number Value|reqType3=     number|reqName3=     Value|desc3=       Amount of item to add}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=AddItem&amp;diff=6127</id>
		<title>AddItem</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=AddItem&amp;diff=6127"/>
		<updated>2026-02-10T14:15:41Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: AddItem – created via PowerShell script (2026-02-11T01:15:40Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          AddItem|fDescription=   This function will add an item type of a specified quantity to the supplied Warehouse|parentFile=     cmm.AirBaseFunctions.lua|syntax=         CMM.AddItem(&amp;lt;Warehouse Object Table&amp;gt;,&amp;lt;string&amp;gt;,&amp;lt;number&amp;gt;)|return=         boolean|returnDesc=     Returns nil|example=        CMM.AddItem(Airbase.getByName(&amp;quot;Sochi-Adler&amp;quot;),tostring(&amp;quot;weapons.missiles.AGM_114K&amp;quot;), 5)|exampleDesc=    |related=        |note=           |envType= CMM|par1=         table WH|reqType1=     table|reqName1=     WH|desc1=       Warehouse Object|par2=         string ItemType|reqType2=     string|reqName2=     ItemType|desc2=       ItemType Name|par3=         number Value|reqType3=     number|reqName3=     Value|desc3=       Amount of item to add}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=FindNearestAirbase&amp;diff=6126</id>
		<title>FindNearestAirbase</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=FindNearestAirbase&amp;diff=6126"/>
		<updated>2026-02-10T14:15:38Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: FindNearestAirbase – created via PowerShell script (2026-02-11T01:15:37Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          FindNearestAirbase|fDescription=   |parentFile=     cmm.AirBaseFunctions.lua|syntax=         CMM.FindNearestAirbase(&amp;lt;vec3&amp;gt;, &amp;lt;coal&amp;gt;)|return=         table or nil, table or nil|returnDesc=     Returns two tables, first one is the Airbase object, second is a table with keys distance (meters), name, and id; or nil if the input is invalid.|example=        CMM.FindNearestAirbase({x=0, y=0, z=1000}, 1)|exampleDesc=    Finds the closest airbase to the given point within the specified coalition (or any if omitted) and logs the result.|related=        |note=           |envType= CMM|par1=         table vec3|reqType1=     table|reqName1=     vec3|desc1=       A 3‑D position vector ({x, y, z}) used as the reference point.|par2=         number or nil coal|optType2=     number or nil|optName2=     coal|desc2=       Optional coalition number (1 = Red, 2 = Blue). Defaults to –1 meaning “any”.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=GetZone&amp;diff=6125</id>
		<title>GetZone</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=GetZone&amp;diff=6125"/>
		<updated>2025-12-31T19:03:48Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: GetZone – created via PowerShell script (2026-01-01T06:03:46Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          GetZone|fDescription=   Returns a zone table by its name|parentFile=     cmm.ZoneFunctions.lua|syntax=         CMM.GetZone(&amp;lt;string&amp;gt;)|return=         table or nil|returnDesc=     Returns a zone table if found, otherwise nil.|example=        CMM.GetZone(&amp;quot;Zone15&amp;quot;,1000)|exampleDesc=    Returns a zone table for the zone named &amp;quot;Zone15&amp;quot;, or nil if not found.|related=        |note=           |envType= CMM|par1=         string zoneName|reqType1=     string|reqName1=     zoneName|desc1=       Name of the zone as defined in the mission editor.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=GetGridsInZone&amp;diff=6124</id>
		<title>GetGridsInZone</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=GetGridsInZone&amp;diff=6124"/>
		<updated>2025-12-31T19:03:48Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: GetGridsInZone – created via PowerShell script (2026-01-01T06:03:46Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          GetGridsInZone|fDescription=   Returns an array of all 10x10km grids in a zone|parentFile=     cmm.ZoneFunctions.lua|syntax=         CMM.GetGridsInZone(&amp;lt;string&amp;gt;,&amp;lt;number&amp;gt;)|return=         nil|returnDesc=     Returns a table of string grid references (MGRS 10x10km) contained within the specified zone.|example=        CMM.GetGridsInZone(&amp;quot;Zone15&amp;quot;,1000)|exampleDesc=    Returns a table of all 10x10km grid references within the zone named &amp;quot;Zone15&amp;quot;, sampling points every 1000 metres.|related=        |note=           |envType= CMM|par1=         string zoneName|reqType1=     string|reqName1=     zoneName|desc1=       Name of the zone as defined in the mission editor.|par2=         number or nil stepMetres|optType2=     number or nil|optName2=     stepMetres|desc2=       Number of metres between each grid point to sample; [DEFAULT:1000] if not provided.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=ResetZoneData&amp;diff=6123</id>
		<title>ResetZoneData</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=ResetZoneData&amp;diff=6123"/>
		<updated>2025-12-31T19:03:47Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: ResetZoneData – created via PowerShell script (2026-01-01T06:03:46Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          ResetZoneData|fDescription=   Resets the CMM.ZONE.STATE and CMM.ZONE.SITREP global tables by initializing them with zero unit counts and default zone metadata for all defined zones.|parentFile=     cmm.ZoneFunctions.lua|syntax=         CMM.ResetZoneData()|return=         nil|returnDesc=     Returns nothing; ensures both state and sitrep tables are initialised with consistent default values for all zones.|example=        CMM.ResetZoneData()|exampleDesc=    Clears all existing zone data and reinitialises both state and sitrep tables with zero unit counts and default zone identifiers for every zone defined in the mission.|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=GetZoneState&amp;diff=6122</id>
		<title>GetZoneState</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=GetZoneState&amp;diff=6122"/>
		<updated>2025-12-31T19:03:47Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: GetZoneState – created via PowerShell script (2026-01-01T06:03:45Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          GetZoneState|fDescription=   Retrieves the current state of a specified zone by counting units from both RED and BLUE sides, returning a detailed report including unit counts and zone state. Zone state -1 indicates uninitialised, 1 means empty, 2 means BLUE owns, 3 means RED owns, and 4 means combat is active.|parentFile=     cmm.ZoneFunctions.lua|syntax=         CMM.GetZoneState(ZoneID &amp;lt;string&amp;gt;)|return=         table|returnDesc=     Returns a table with fields {ZoneState &amp;lt;number&amp;gt;, bluUnits &amp;lt;TBL&amp;gt;, redUnits &amp;lt;TBL&amp;gt;} where ZoneState indicates the zone condition and bluUnits/redUnits contain lists of unit IDs for each side.|example=        CMM.GetZoneState(&amp;quot;Zone 15&amp;quot;)|exampleDesc=    Returns a report for Zone 15 showing if it is empty, owned by RED or BLUE, or in combat, along with the list of units present on each side.|related=        |note=           |envType= CMM|par1=         string ZoneID|reqType1=     string|reqName1=     ZoneID|desc1=       Name of the zone to check, passed as a string value defined in the mission editor.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=InitialiseXPSystem&amp;diff=6121</id>
		<title>InitialiseXPSystem</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=InitialiseXPSystem&amp;diff=6121"/>
		<updated>2025-12-31T19:03:45Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: initialiseXPSystem – created via PowerShell script (2026-01-01T06:03:44Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          initialiseXPSystem|fDescription=   initialises the XP system by loading banked tables for player and sortie data, ensuring the CMM.SORTIE and CMM.SORTIEAWARDS structures are ready for use.|parentFile=     cmm.XpFunctions.lua|syntax=         CMM.initialiseXPSystem()|return=         |returnDesc=     |example=        CMM.initialiseXPSystem()|exampleDesc=    Loads player and banked tables to prepare the XP system for tracking sortie data and awards.|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=Tools.LoadEH&amp;diff=6120</id>
		<title>Tools.LoadEH</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=Tools.LoadEH&amp;diff=6120"/>
		<updated>2025-12-31T19:03:44Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: tools.LoadEH – created via PowerShell script (2026-01-01T06:03:42Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          tools.LoadEH|fDescription=   initialises and registers an event handler for S_EVENT_WEAPON_ADD to capture weapon addition events, logging the weapon name and full event data for debugging purposes.|parentFile=     cmm.tools.lua|syntax=         CMM.tools.LoadEH()|return=         nil|returnDesc=     Returns nothing; establishes the event handler and registers it with the world system.|example=        CMM.tools.LoadEH()|exampleDesc=    Sets up a handler that logs every weapon addition event, including the weapon name and full event data, and registers it to listen for S_EVENT_WEAPON_ADD events.|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=Tools.BuildDataDumpTable&amp;diff=6119</id>
		<title>Tools.BuildDataDumpTable</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=Tools.BuildDataDumpTable&amp;diff=6119"/>
		<updated>2025-12-31T19:03:43Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: tools.BuildDataDumpTable – created via PowerShell script (2026-01-01T06:03:42Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          tools.BuildDataDumpTable|fDescription=   Constructs a comprehensive table of unit types and their associated weapon and equipment types by iterating through all helicopter, plane, ship, and vehicle units, extracting weapon data, and organizing it into a structured format for debugging and analysis.|parentFile=     cmm.tools.lua|syntax=         CMM.tools.BuildDataDumpTable()|return=         nil|returnDesc=     A table containing unit types as keys, each with a displayName and subtables for weapons and equipment, where weapon types map to their display names.|example=        CMM.tools.BuildDataDumpTable()|exampleDesc=    initialises and processes all unit types, collects weapon and equipment data, logs progress, and outputs the full data structure in JSON format for inspection.|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=InsertWPScript&amp;diff=6118</id>
		<title>InsertWPScript</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=InsertWPScript&amp;diff=6118"/>
		<updated>2025-12-31T19:03:37Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: insertWPScript – created via PowerShell script (2026-01-01T06:03:36Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          insertWPScript|fDescription=   Inserts a script command into a waypoint task structure by creating a wrapped action task with the provided script string, ensuring proper type validation and task numbering.|parentFile=     cmm.spawnFunctions.lua|syntax=         CMM.insertWPScript(WPTbl &amp;lt;TBL&amp;gt;, ScriptString &amp;lt;string&amp;gt;)|return=         table|returnDesc=     Returns the modified waypoint table with the script task inserted into the task list.|example=        CMM.insertWPScript(&amp;lt;wpTable&amp;gt;,&amp;lt;scriptString&amp;gt;)|exampleDesc=    Adds a script command to execute &amp;quot;set unit health 100&amp;quot; as a wrapped action task within a waypoint&#039;s task structure.|related=        |note=           |envType= CMM|par1=         table WPTbl|reqType1=     table|reqName1=     WPTbl|desc1=       Table representing a waypoint, must contain a task field; if missing, one is initialised with default values.|par2=         string: ScriptString|reqType2=     string:|reqName2=     ScriptString|desc2=       String containing the script command to execute at the waypoint, must not be nil or empty.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=GetNewMarkerID&amp;diff=6117</id>
		<title>GetNewMarkerID</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=GetNewMarkerID&amp;diff=6117"/>
		<updated>2025-12-31T19:03:36Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: GetNewMarkerID – created via PowerShell script (2026-01-01T06:03:34Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          GetNewMarkerID|fDescription=   Generates a unique convoy group name by incrementing a counter until a name not already in use is found, ensuring no name conflicts with existing groups.|parentFile=     cmm.spawnFunctions.lua|syntax=         CMM.GetNewMarkerID()|return=         string|returnDesc=     Returns a new available convoy group name in the format &amp;quot;Convoy#XXXX&amp;quot; where XXXX is a zero-padded number, or &amp;quot;NO-NEW-CONVOY-NAME&amp;quot; if no unique name can be found after maximum retries.|example=        CMM.GetNewMarkerID()|exampleDesc=    Invokes the function to generate a unique convoy name, such as &amp;quot;Convoy#0001&amp;quot;, ensuring it does not conflict with existing group names in the mission.|related=        |note=           --TODO CODE REVIEW REQUIRED|envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=NewConoy&amp;diff=6116</id>
		<title>NewConoy</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=NewConoy&amp;diff=6116"/>
		<updated>2025-12-31T19:03:36Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: NewConoy – created via PowerShell script (2026-01-01T06:03:34Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          NewConoy|fDescription=   Creates a new convoy by defining a path of waypoints using predefined cone markers, assigning a group of units to follow the path, and executing custom waypoint scripts to control unit behavior during movement.|parentFile=     cmm.spawnFunctions.lua|syntax=         CMM.NewConoy(Grp &amp;lt;any&amp;gt;, path &amp;lt;TBL&amp;gt;)|return=         boolean|returnDesc=     Returns true if the convoy was successfully created and assigned to the path, otherwise false.|example=        CMM.NewConoy(&amp;quot;MyGuy&amp;quot;, {&amp;quot;CONE-1&amp;quot;, &amp;quot;CONE-2&amp;quot;, &amp;quot;CONE-3&amp;quot;})|exampleDesc=    initialises a convoy using the &amp;quot;MyGuy&amp;quot; group and a path defined by cone markers, executing scripts at each waypoint to control unit movement and behavior.|related=        |note=           |envType= CMM|par1=         any Grp|reqType1=     any|reqName1=     Grp|desc1=       Either a table or string representing the group to be assigned to the convoy; must reference a valid group in the mission editor.|par2=         table path|reqType2=     table|reqName2=     path|desc2=       Array of waypoints as a table, where each waypoint contains a point location; used to define the route for the convoy.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=SpawnGroundGroup&amp;diff=6115</id>
		<title>SpawnGroundGroup</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=SpawnGroundGroup&amp;diff=6115"/>
		<updated>2025-12-31T19:03:32Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: SpawnGroundGroup – created via PowerShell script (2026-01-01T06:03:31Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          SpawnGroundGroup|fDescription=   Spawns a ground unit group with specified configuration including group name, unit types, country, rules of engagement, dispersion settings, and alarm state. The function supports optional parameters such as spawn range, heading range, AI behavior, and visibility settings.|parentFile=     cmm.spawnFunctions.lua|syntax=         CMM.SpawnGroundGroup(&amp;lt;argTable table&amp;gt;)|return=         table,table or nil|returnDesc=     Returns the AI controller and group object of the spawned ground unit group, or nil if the spawn fails.|example=        CMM.SpawnGroundGroup({&amp;quot;NewGroupOfDOOM&amp;quot;, &amp;quot;Unit.Category.GROUND_UNIT&amp;quot;, 81, AI.Option.Ground.val.ROE.RETURN_FIRE, 120})|exampleDesc=    Spawns a group named &amp;quot;NewGroupOfDOOM&amp;quot; with ground units, assigned to country 81, using a ROE of RETURN_FIRE, disperse on attack after 120 seconds, and sets alarm state to 110–135 range.|related=        |note=           |envType= CMM|par1=         table argTable|reqType1=     table|reqName1=     argTable|desc1=       {GroupName &amp;lt;string&amp;gt;, category &amp;lt;string&amp;gt;, country &amp;lt;number&amp;gt;, ROE &amp;lt;number&amp;gt;, DOA &amp;lt;number&amp;gt;, alarmState &amp;lt;TBL&amp;gt;} – Group configuration table where GroupName defines the group name, category specifies the unit type, country sets the owning nation, ROE defines rules of engagement, DOA sets dispersion on attack time in seconds, and alarmState defines the alarm state range.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=OutSoundForCoalition&amp;diff=6114</id>
		<title>OutSoundForCoalition</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=OutSoundForCoalition&amp;diff=6114"/>
		<updated>2025-12-31T19:03:31Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: outSoundForCoalition – created via PowerShell script (2026-01-01T06:03:30Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          outSoundForCoalition|fDescription=   Plays a randomly selected sound from a table or a single sound string, with support for both string and table inputs. If a table is provided, a random entry is chosen; if a string is provided, that sound is played directly.|parentFile=     cmm.soundFunctions.lua|syntax=         CMM.outSoundForCoalition(SOUND &amp;lt;table|string&amp;gt;)|return=         nil|returnDesc=     Returns nothing, plays the selected sound using trigger.action.outSound.|example=        CMM.outSoundForCoalition({&amp;quot;SOUNDS/CMM/XP_Banked_1.ogg&amp;quot;, &amp;quot;SOUNDS/CMM/XP_Banked_2.ogg&amp;quot;})|exampleDesc=    Plays a randomly selected sound from the provided list of sound files, simulating a banked event with varied audio feedback.|related=        |note=           |envType= CMM|par1=         table or string SOUND|reqType1=     table or string|reqName1=     SOUND|desc1=       REQUIRED, either a string path to a sound file or a table of sound file paths. If a table, a random entry is selected; if a string, the sound is played directly.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=OutSoundForCoalition&amp;diff=6113</id>
		<title>OutSoundForCoalition</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=OutSoundForCoalition&amp;diff=6113"/>
		<updated>2025-12-31T19:03:31Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: outSoundForCoalition – created via PowerShell script (2026-01-01T06:03:30Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          outSoundForCoalition|fDescription=   Plays a sound specific to a coalition, with support for either a single sound string or a table of sound strings. The coalition is defined by a number (0=NEUTRAL, 1=RED, 2=BLUE), defaulting to BLUE if invalid. A random sound is selected from a table or played directly if a string is provided.|parentFile=     cmm.soundFunctions.lua|syntax=         CMM.outSoundForCoalition(COAL &amp;lt;number&amp;gt;, SOUND &amp;lt;table|string&amp;gt;)|return=         nil|returnDesc=     Returns nothing, plays the selected sound using trigger.action.outSoundForCoalition.|example=        CMM.outSoundForCoalition(2, &amp;quot;SOUNDS/CMM/XP_Banked_3.ogg&amp;quot;) or CMM.outSoundForCoalition(2, CMM.SOUNDS.XPBanked)|exampleDesc=    Plays a BLUE-specific sound, either a single file or a randomly selected file from a predefined list, simulating a banked event with coalition-aware audio feedback.|related=        |note=           |envType= CMM|par1=         number COAL|reqType1=     number|reqName1=     COAL|desc1=       REQUIRED, coalition value (0 = NEUTRAL, 1 = RED, 2 = BLUE); defaults to 2 if outside valid range.|par2=         table or string SOUND|reqType2=     table or string|reqName2=     SOUND|desc2=       REQUIRED, either a string path to a sound file or a table of sound file paths. If a table, a random entry is selected; if a string, the sound is played directly.}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=InitialisePlayerPoints&amp;diff=6112</id>
		<title>InitialisePlayerPoints</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=InitialisePlayerPoints&amp;diff=6112"/>
		<updated>2025-12-31T19:03:25Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: InitialisePlayerPoints – created via PowerShell script (2026-01-01T06:03:24Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          InitialisePlayerPoints|fDescription=   |parentFile=     cmm.pointsFunctions.lua|syntax=         CMM.InitialisePlayerPoints(&amp;lt;string&amp;gt;, &amp;lt;number&amp;gt;)|return=         nil|returnDesc=     Writes an audit entry to CMM.AUTH.Directory/cmm.Audit.log.|example=        CMM.AppendPointsLog(&amp;quot;Look mum, i got an audit log!&amp;quot;, true, EventData, PlayerTable)|exampleDesc=    |related=        |note=           |envType= CMM|par1=         string UCID|reqType1=     string|reqName1=     UCID|desc1=       Player UCID|par2=         number or nil points|optType2=     number or nil|optName2=     points|desc2=       The initial seed of points a player should recieve (if supplied, overwrites the CMM.InitialPlayerPoints value)}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=InitialiseMenu&amp;diff=6111</id>
		<title>InitialiseMenu</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=InitialiseMenu&amp;diff=6111"/>
		<updated>2025-12-31T19:03:25Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: initialiseMenu – created via PowerShell script (2026-01-01T06:03:23Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          initialiseMenu|fDescription=   |parentFile=     cmm.PlayerMenu.lua|syntax=         |return=         |returnDesc=     |example=        |exampleDesc=    |related=        |note=           |envType= CMM|par1=         table EventData|reqType1=     table|reqName1=     EventData|desc1=       (Array to check)}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=CheckFilePersistencePathNotDefault&amp;diff=6110</id>
		<title>CheckFilePersistencePathNotDefault</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=CheckFilePersistencePathNotDefault&amp;diff=6110"/>
		<updated>2025-12-31T19:03:24Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: CheckFilePersistencePathNotDefault – created via PowerShell script (2026-01-01T06:03:23Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          CheckFilePersistencePathNotDefault|fDescription=   Saves AirBase Persistence information to a file|parentFile=     cmm.persistence.lua|syntax=         CMM.CheckFilePersistencePathNotDefault()|return=         nil|returnDesc=     Returns nothing, writes file specified in CMM.PERSISTENCE.AIRBASE variable|example=        CMM.CheckFilePersistencePathNotDefault()|exampleDesc=    Load Mission persistence AirBase file from path specified in variable CMM.PERSISTENCE.AIRBASE|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=LoadAirBasePersistence&amp;diff=6109</id>
		<title>LoadAirBasePersistence</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=LoadAirBasePersistence&amp;diff=6109"/>
		<updated>2025-12-31T19:03:24Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: LoadAirBasePersistence – created via PowerShell script (2026-01-01T06:03:23Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          LoadAirBasePersistence|fDescription=   Saves AirBase Persistence information to a file|parentFile=     cmm.persistence.lua|syntax=         CMM.LoadAirBasePersistence()|return=         nil|returnDesc=     Returns nothing, writes file specified in CMM.PERSISTENCE.AIRBASE variable|example=        CMM.LoadAirBasePersistence()|exampleDesc=    Load Mission persistence AirBase file from path specified in variable CMM.PERSISTENCE.AIRBASE|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
	<entry>
		<id>https://cmm.ozdeadmeat.com/index.php?title=SaveAirBasePersistence&amp;diff=6108</id>
		<title>SaveAirBasePersistence</title>
		<link rel="alternate" type="text/html" href="https://cmm.ozdeadmeat.com/index.php?title=SaveAirBasePersistence&amp;diff=6108"/>
		<updated>2025-12-31T19:03:24Z</updated>

		<summary type="html">&lt;p&gt;Ozdeadmeat: SaveAirBasePersistence – created via PowerShell script (2026-01-01T06:03:23Z)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FunctionInfo|fName=          SaveAirBasePersistence|fDescription=   Saves AirBase Persistence information to a file (Does not save FOB type Airbases)|parentFile=     cmm.persistence.lua|syntax=         CMM.SaveAirBasePersistence()|return=         nil|returnDesc=     Returns nothing, writes file specified in CMM.PERSISTENCE.AIRBASE variable|example=        CMM.SaveAirBasePersistence()|exampleDesc=    Saves Mission AirBase&#039;s to the file path specified in variable CMM.PERSISTENCE.AIRBASE (Does not save FOB type Airbases)|related=        |note=           |envType= CMM}}&lt;/div&gt;</summary>
		<author><name>Ozdeadmeat</name></author>
	</entry>
</feed>