<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>CMM Wiki  - Recent changes [en-gb]</title>
		<link>https://cmm.ozdeadmeat.com/index.php/Special:RecentChanges</link>
		<description>Track the most recent changes to the wiki in this feed.</description>
		<language>en-GB</language>
		<generator>MediaWiki 1.46.0</generator>
		<lastBuildDate>Tue, 21 Jul 2026 14:48:09 GMT</lastBuildDate>
		<item>
			<title>CMM Map Marker Commands</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=CMM_Map_Marker_Commands&amp;diff=6244&amp;oldid=6158</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=CMM_Map_Marker_Commands&amp;diff=6244&amp;oldid=6158</guid>
			<description>&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Support Aircraft Commands&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:55, 29 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l119&quot;&gt;Line 119:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 119:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Example2 = place drone in racetrack at location====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Example2 = place drone in racetrack at location====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      Example2 : will put &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; into a &amp;lt;u&amp;gt;&amp;#039;&amp;#039;RaceTrack&amp;#039;&amp;#039;&amp;lt;/u&amp;gt; orbit that goes &amp;lt;u&amp;gt;&amp;#039;&amp;#039; west 50km&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;from&amp;lt;/u&amp;gt; the specified location&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      Example2 : will put &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; into a &amp;lt;u&amp;gt;&amp;#039;&amp;#039;RaceTrack&amp;#039;&amp;#039;&amp;lt;/u&amp;gt; orbit that goes &amp;lt;u&amp;gt;&amp;#039;&amp;#039; west 50km&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;from&amp;lt;/u&amp;gt; the specified location&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         Usage : !isr:Colt11 -rt 270&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:&lt;/del&gt;50&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         Usage : !isr:Colt11  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                &lt;/ins&gt;-rt 270 50&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Example3 = change altid orbit location====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Example3 = change altid orbit location====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      Example3 : will &amp;#039;&amp;#039;change the altitude&amp;#039;&amp;#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&amp;#039;&amp;#039;20,000ft&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; changing its orbit location&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      Example3 : will &amp;#039;&amp;#039;change the altitude&amp;#039;&amp;#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&amp;#039;&amp;#039;20,000ft&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; changing its orbit location&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         Usage : !isr:Colt11 -dm -a 20000  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         Usage : !isr:Colt11  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                &lt;/ins&gt;-dm -a 20000  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Example4 = change the speed ====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Example4 = change the speed ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      Example4 : will &amp;#039;&amp;#039;change the speed&amp;#039;&amp;#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&amp;#039;&amp;#039;350knots&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; changing its orbit location&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      Example4 : will &amp;#039;&amp;#039;change the speed&amp;#039;&amp;#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&amp;#039;&amp;#039;350knots&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;without&amp;lt;/u&amp;gt; changing its orbit location&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         Usage : !isr:Colt11 -dm -s 350  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         Usage : !isr:Colt11  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                &lt;/ins&gt;-dm -s 350  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Example5 = changes speed, alt &amp;amp; locn ====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Example5 = changes speed, alt &amp;amp; locn ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      Example5 : will &amp;#039;&amp;#039;change the speed, altitude and location&amp;#039;&amp;#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&amp;#039;&amp;#039;175knots&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;&amp;#039;&amp;#039;14,000ft&amp;#039;&amp;#039;&amp;lt;/u&amp;gt; and to a &amp;lt;u&amp;gt;&amp;#039;&amp;#039;racetrack&amp;#039;&amp;#039;&amp;lt;/u&amp;gt; going &amp;lt;u&amp;gt;&amp;#039;&amp;#039;south 25km&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;from&amp;lt;/u&amp;gt; the specified location&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      Example5 : will &amp;#039;&amp;#039;change the speed, altitude and location&amp;#039;&amp;#039; of &amp;lt;u&amp;gt;Colt11&amp;lt;/u&amp;gt; to &amp;lt;u&amp;gt;&amp;#039;&amp;#039;175knots&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;&amp;#039;&amp;#039;14,000ft&amp;#039;&amp;#039;&amp;lt;/u&amp;gt; and to a &amp;lt;u&amp;gt;&amp;#039;&amp;#039;racetrack&amp;#039;&amp;#039;&amp;lt;/u&amp;gt; going &amp;lt;u&amp;gt;&amp;#039;&amp;#039;south 25km&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;from&amp;lt;/u&amp;gt; the specified location&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         Usage : !isr:Colt11 -rt 180&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:&lt;/del&gt;25 -s 175 -a 14000  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         Usage : !isr:Colt11  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                &lt;/ins&gt;-rt 180 25 -s 175 -a 14000  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;All these examples are available for&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;!isr, !tanker&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;!awacs&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;commands.&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;All these examples are available for&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;!isr, !tanker&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;!awacs&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;commands.&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Elevated Permissions Section  ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Elevated Permissions Section  ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Mon, 29 Jun 2026 13:55:56 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:CMM_Map_Marker_Commands</comments>
		</item>
		<item>
			<title>GetZone</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=GetZone&amp;diff=6243&amp;oldid=6164</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=GetZone&amp;diff=6243&amp;oldid=6164</guid>
			<description>&lt;p&gt;GetZone – created via PowerShell script (2026-06-24T22:27:33Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;getZone&lt;/del&gt;|fDescription=   Returns a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;detailed &lt;/del&gt;zone table &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;for the given zone &lt;/del&gt;name&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, 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.&lt;/del&gt;|parentFile=     cmm.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;DCSFunctions&lt;/del&gt;.lua|syntax=         CMM.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;getZone&lt;/del&gt;(&amp;lt;string&amp;gt;)|return=         table or nil|returnDesc=     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;returns &lt;/del&gt;a table &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;containing centre&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;radius, vertices and terrain height for the zone or &lt;/del&gt;nil &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;if not found&lt;/del&gt;|example=        &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;local weaponsRange = &lt;/del&gt;CMM.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;getZone&lt;/del&gt;(&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WeaponsRange02&lt;/del&gt;&quot;)|exampleDesc=    &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The example shows how to obtain all relevant data &lt;/del&gt;for &quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WeaponsRange02&lt;/del&gt;&quot;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;including the ground elevation at its centre (vec3.y) and the 3‑D coordinates of each vertex in verticies3&lt;/del&gt;.|related=        |note=           |envType= CMM|par1=         string &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ZoneName&lt;/del&gt;|reqType1=     string|reqName1=     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ZoneName&lt;/del&gt;|desc1=       Name of &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a &lt;/del&gt;zone defined in the mission editor.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GetZone&lt;/ins&gt;|fDescription=   Returns a zone table &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;by its &lt;/ins&gt;name|parentFile=     cmm.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ZoneFunctions&lt;/ins&gt;.lua|syntax=         CMM.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GetZone&lt;/ins&gt;(&amp;lt;string&amp;gt;)|return=         table or nil|returnDesc=     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Returns &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zone &lt;/ins&gt;table &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;if found&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;otherwise &lt;/ins&gt;nil&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/ins&gt;|example=        CMM.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GetZone&lt;/ins&gt;(&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zone15&lt;/ins&gt;&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;,1000&lt;/ins&gt;)|exampleDesc=    &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Returns a zone table &lt;/ins&gt;for &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the zone named &lt;/ins&gt;&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zone15&lt;/ins&gt;&quot;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or nil if not found&lt;/ins&gt;.|related=        |note=           |envType= CMM|par1=         string &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zoneName&lt;/ins&gt;|reqType1=     string|reqName1=     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zoneName&lt;/ins&gt;|desc1=       Name of &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;zone &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;as &lt;/ins&gt;defined in the mission editor.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:31 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:GetZone</comments>
		</item>
		<item>
			<title>GenerateSortieReport</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=GenerateSortieReport&amp;diff=6242&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=GenerateSortieReport&amp;diff=6242&amp;oldid=0</guid>
			<description>&lt;p&gt;GenerateSortieReport – created via PowerShell script (2026-06-24T22:27:32Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          GenerateSortieReport|fDescription=   Adds a sortie event to the sortie tracking system using a custom event table, enabling post-event processing such as scoring, notifications, and sortie bank scheduling. The function accepts a table with event data and processes it accordingly. Can be executed during a sortie|parentFile=     cmm.XpFunctions.lua|syntax=         CMM.GenerateSortieReport(Aircraft &amp;lt;table&amp;gt;, UCID &amp;lt;string&amp;gt;)|return=         string or nil,number or nil,number or nil|returnDesc=     Returns a string containing the sortie report message, the total sortie time in seconds, and the total score earned during the sortie.|example=        CMM.GenerateSortieReport(Unit.getByName(&amp;quot;PlayerUnit&amp;quot;), &amp;quot;UCID&amp;quot;)|exampleDesc=    This would generate a sortie report for the specified player&amp;#039;s aircraft, including a breakdown of events, total sortie time, and score earned, which can then be used for notifications and banking the sortie score.|related=        |note=           |envType= CMM|par1=         table Aircraft|reqType1=     table|reqName1=     Aircraft|desc1=       Aircraft (unit) table containing the unit data of the aircraft for which the sortie report is being generated.|par2=         string UCID|reqType2=     string|reqName2=     UCID|desc2=       The unique client ID of the player for whom the sortie report}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:30 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:GenerateSortieReport</comments>
		</item>
		<item>
			<title>GatherDebugEventData</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=GatherDebugEventData&amp;diff=6241&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=GatherDebugEventData&amp;diff=6241&amp;oldid=0</guid>
			<description>&lt;p&gt;GatherDebugEventData – created via PowerShell script (2026-06-24T22:27:32Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          GatherDebugEventData|fDescription=   Adds a sortie event to the sortie tracking system using a custom event table, enabling post-event processing such as scoring, notifications, and sortie bank scheduling. The function accepts a table with event data and processes it accordingly.|parentFile=     cmm.XpFunctions.lua|syntax=         CMM.GatherDebugEventData(EventData &amp;lt;table&amp;gt;)|return=         table|returnDesc=     Returns a table containing processed event information into a human readable format, including timestamps, event types, and relevant metadata for debugging purposes.|example=        CMM.GatherDebugEventData({id = world.event.S_EVENT_LAND, initiator = unit, place = location})|exampleDesc=    This would return an event events and schedules a sortie bank task after a land event, ensuring proper scoring and notification logic is applied.|related=        |note=           |envType= CMM|par1=         table EventData|reqType1=     table|reqName1=     EventData|desc1=       Table containing event data from a DCS event, including initiator and other items}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:30 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:GatherDebugEventData</comments>
		</item>
		<item>
			<title>AWARD CARRIERLANDING</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=AWARD_CARRIERLANDING&amp;diff=6240&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=AWARD_CARRIERLANDING&amp;diff=6240&amp;oldid=0</guid>
			<description>&lt;p&gt;AWARD_CARRIERLANDING – created via PowerShell script (2026-06-24T22:27:31Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          AWARD_CARRIERLANDING|fDescription=   Checks if a player earned a refueling bonus during a sortie by measuring the time between the start of refueling and its end, awarding the bonus if it exceeds 30 seconds and the player hasn&amp;#039;t already received it.|parentFile=     cmm.XpFunctions.lua|syntax=         CMM.AWARD_CARRIERLANDING(PlayerAircraft &amp;lt;table&amp;gt;)|return=         |returnDesc=     |example=        CMM.AWARD_CARRIERLANDING(PlayerAircraft)|exampleDesc=    Sets the Sortie Bonus for a Carrier Landing for all crew members in the airframe.|related=        |note=           --TODO Code review required|envType= CMM|par1=         table PlayerAircraft|reqType1=     table|reqName1=     PlayerAircraft|desc1=       Event table from a refueling stopped event containing initiator, time, and position; used to determine the duration of refueling and trigger award logic.}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:29 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:AWARD_CARRIERLANDING</comments>
		</item>
		<item>
			<title>AWARD REFUEL</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=AWARD_REFUEL&amp;diff=6239&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=AWARD_REFUEL&amp;diff=6239&amp;oldid=0</guid>
			<description>&lt;p&gt;AWARD_REFUEL – created via PowerShell script (2026-06-24T22:27:31Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          AWARD_REFUEL|fDescription=   Checks if a player earned a refueling bonus during a sortie by measuring the time between the start of refueling and its end, awarding the bonus if it exceeds 30 seconds and the player hasn&amp;#039;t already received it.|parentFile=     cmm.XpFunctions.lua|syntax=         CMM.AWARD_REFUEL(EventData &amp;lt;TBL&amp;gt;)|return=         |returnDesc=     |example=        CMM.AWARD_REFUEL({initiator = 12345, time = 1640995200})|exampleDesc=    Processes a refueling stop event to verify if the refueling duration exceeds 30 seconds and awards a bonus if valid, otherwise notifies the player that the bonus was already earned.|related=        |note=           --TODO Code review required|envType= CMM|par1=         table PlayerAircraft|reqType1=     table|reqName1=     PlayerAircraft|desc1=       Event table from a refueling stopped event containing initiator, time, and position; used to determine the duration of refueling and trigger award logic.}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:29 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:AWARD_REFUEL</comments>
		</item>
		<item>
			<title>Dump.AllPlayerData</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=Dump.AllPlayerData&amp;diff=6238&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=Dump.AllPlayerData&amp;diff=6238&amp;oldid=0</guid>
			<description>&lt;p&gt;dump.AllPlayerData – created via PowerShell script (2026-06-24T22:27:30Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          dump.AllPlayerData|fDescription=   |parentFile=     cmm.tools.lua|syntax=         CMM.dump.AllPlayerData()|return=         nil|returnDesc=     Writes an audit entry to CMM.dump.Directory/cmm.AllPlayerData.json|example=        CMM.dump.AllPlayerData()|exampleDesc=    |related=        |note=           |envType= CMM}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:28 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:Dump.AllPlayerData</comments>
		</item>
		<item>
			<title>Tools.drawGlobalPoly</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=Tools.drawGlobalPoly&amp;diff=6237&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=Tools.drawGlobalPoly&amp;diff=6237&amp;oldid=0</guid>
			<description>&lt;p&gt;tools.drawGlobalPoly – created via PowerShell script (2026-06-24T22:27:29Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          tools.drawGlobalPoly|fDescription=   Draws a set of global vec3 points as a single drawing.|parentFile=     cmm.tools.lua|syntax=         CMM.tools.drawPoly(PointsArray &amp;lt;TBL&amp;gt;)|return=         nil|returnDesc=     Returns nothing, triggers a marker overlay on the map with the polygon shape.|example=        CMM.tools.drawPoly({x=100, y=200, z=0}, {{dir={x=1, y=0, z=0}, range=50}, {dir={x=0, y=1, z=0}, range=30}})|exampleDesc=    Creates a polygon with two relative points, one to the right and one upward from the base position, drawing a visible shape with default line and fill colors.|related=        |note=           |envType= CMM|par1=         table PointsArray|reqType1=     table|reqName1=     PointsArray|desc1=       Table of relative point definitions, each containing &amp;#039;dir&amp;#039; and &amp;#039;range&amp;#039; fields specifying direction and distance to offset from the base position.|par2=         table Line|reqType2=     table|reqName2=     Line|desc2=       R,G,B,A values for line color (0-1 range)|par3=         table Fill|reqType3=     table|reqName3=     Fill|desc3=       R,G,B,A values for fill color (0-1 range}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:27 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:Tools.drawGlobalPoly</comments>
		</item>
		<item>
			<title>Tools.BuildWPpointTable</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=Tools.BuildWPpointTable&amp;diff=6236&amp;oldid=6067</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=Tools.BuildWPpointTable&amp;diff=6236&amp;oldid=6067</guid>
			<description>&lt;p&gt;tools.BuildWPpointTable – created via PowerShell script (2026-06-24T22:27:29Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          tools.BuildWPpointTable|fDescription=   Constructs a table of waypoints based on a group&#039;s waypoints and a specified mode. It calculates positions relative to a unit or origin point, supporting different modes for position derivation. Returns a table of vectors or nil if group or mode is invalid.|parentFile=     cmm.tools.lua|syntax=         CMM.tools.BuildWPpointTable(GroupName &amp;lt;string&amp;gt;, Mode &amp;lt;number&amp;gt;, SkipFirst &amp;lt;boolean&amp;gt;)|return=         table or nil|returnDesc=     Returns a table of vectors representing the waypoints, or nil if group not found or no waypoints exist.|example=        CMM.tools.BuildWPpointTable(&quot;WhyUbreakMyShitED&quot;,2,true)|exampleDesc=    Extracts relative positions from the group &quot;WhyUbreakMyShitED&quot;, skipping the first waypoint, using mode 2 for relative positioning.|related=        |note=           |envType= CMM|par1=         string GroupName|reqType1=     string|reqName1=     GroupName|desc1=       Name of the group containing waypoints to extract. Must be a valid group name defined in the mission editor.|par2=         number Mode|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqType2&lt;/del&gt;=     number|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqName2&lt;/del&gt;=     Mode|desc2=       Mode for position calculation (0 = raw positions, 1 = relative to first unit, 2 = relative to unit position using CMM.GetRelativePosition). Defaults to 1 if not provided.|par3=         boolean SkipFirst|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqType3&lt;/del&gt;=     boolean|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqName3&lt;/del&gt;=     SkipFirst|desc3=       If true, skips the first waypoint in the group. Defaults to false.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          tools.BuildWPpointTable|fDescription=   Constructs a table of waypoints based on a group&#039;s waypoints and a specified mode. It calculates positions relative to a unit or origin point, supporting different modes for position derivation. Returns a table of vectors or nil if group or mode is invalid.|parentFile=     cmm.tools.lua|syntax=         CMM.tools.BuildWPpointTable(GroupName &amp;lt;string&amp;gt;, Mode &amp;lt;number&amp;gt;, SkipFirst &amp;lt;boolean&amp;gt;)|return=         table or nil|returnDesc=     Returns a table of vectors representing the waypoints, or nil if group not found or no waypoints exist.|example=        CMM.tools.BuildWPpointTable(&quot;WhyUbreakMyShitED&quot;,2,true)|exampleDesc=    Extracts relative positions from the group &quot;WhyUbreakMyShitED&quot;, skipping the first waypoint, using mode 2 for relative positioning.|related=        |note=           |envType= CMM|par1=         string GroupName|reqType1=     string|reqName1=     GroupName|desc1=       Name of the group containing waypoints to extract. Must be a valid group name defined in the mission editor.|par2=         number &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or nil &lt;/ins&gt;Mode|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optType2&lt;/ins&gt;=     number &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or nil&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optName2&lt;/ins&gt;=     Mode|desc2=       Mode for position calculation (0 = raw positions, 1 = relative to first unit, 2 = relative to unit position using CMM.GetRelativePosition). Defaults to 1 if not provided.|par3=         boolean &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or nil &lt;/ins&gt;SkipFirst|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optType3&lt;/ins&gt;=     boolean &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or nil&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optName3&lt;/ins&gt;=     SkipFirst|desc3=       If true, skips the first waypoint in the group. Defaults to false.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:27 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:Tools.BuildWPpointTable</comments>
		</item>
		<item>
			<title>Tools.BuildNewMarkerPointTable</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=Tools.BuildNewMarkerPointTable&amp;diff=6235&amp;oldid=6066</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=Tools.BuildNewMarkerPointTable&amp;diff=6235&amp;oldid=6066</guid>
			<description>&lt;p&gt;tools.BuildNewMarkerPointTable – created via PowerShell script (2026-06-24T22:27:29Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          tools.BuildNewMarkerPointTable|fDescription=   Creates a table of marker points from a specified group, with options to define position mode and skip the first waypoint. The function uses internal waypoint processing to derive positions either as world coordinates, relative to the first unit, or via heading and distance. Returns a table of waypoints or nil if invalid input.|parentFile=     cmm.tools.lua|syntax=         CMM.tools.BuildNewMarkerPointTable(GroupName &amp;lt;string&amp;gt;, Mode &amp;lt;number&amp;gt;, SkipFirst &amp;lt;boolean&amp;gt;)|return=         table or nil|returnDesc=     Returns a table containing the processed waypoints or nil if group not found or no waypoints exist.|example=        CMM.tools.BuildNewMarkerPointTable(&quot;DebrisArea&quot;,1,false)|exampleDesc=    Generates a table of waypoints from the group &quot;DebrisArea&quot; using relative positioning to the first unit, without skipping the first point.|related=        |note=           |envType= CMM|par1=         string GroupName|reqType1=     string|reqName1=     GroupName|desc1=       Name of the group in the mission editor containing waypoints to extract. Must be valid and defined in the mission.|par2=         number Mode|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqType2&lt;/del&gt;=     number|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqName2&lt;/del&gt;=     Mode|desc2=       Mode for position derivation: 0 = world positions, 1 = relative to first unit (default), 2 = heading and distance from first unit. Defaults to 1 if not specified.|par3=         boolean SkipFirst|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqType3&lt;/del&gt;=     boolean|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqName3&lt;/del&gt;=     SkipFirst|desc3=       If true, the first waypoint in the group is skipped. Defaults to false.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          tools.BuildNewMarkerPointTable|fDescription=   Creates a table of marker points from a specified group, with options to define position mode and skip the first waypoint. The function uses internal waypoint processing to derive positions either as world coordinates, relative to the first unit, or via heading and distance. Returns a table of waypoints or nil if invalid input.|parentFile=     cmm.tools.lua|syntax=         CMM.tools.BuildNewMarkerPointTable(GroupName &amp;lt;string&amp;gt;, Mode &amp;lt;number&amp;gt;, SkipFirst &amp;lt;boolean&amp;gt;)|return=         table or nil|returnDesc=     Returns a table containing the processed waypoints or nil if group not found or no waypoints exist.|example=        CMM.tools.BuildNewMarkerPointTable(&quot;DebrisArea&quot;,1,false)|exampleDesc=    Generates a table of waypoints from the group &quot;DebrisArea&quot; using relative positioning to the first unit, without skipping the first point.|related=        |note=           |envType= CMM|par1=         string GroupName|reqType1=     string|reqName1=     GroupName|desc1=       Name of the group in the mission editor containing waypoints to extract. Must be valid and defined in the mission.|par2=         number &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or nil &lt;/ins&gt;Mode|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optType2&lt;/ins&gt;=     number &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or nil&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optName2&lt;/ins&gt;=     Mode|desc2=       Mode for position derivation: 0 = world positions, 1 = relative to first unit (default), 2 = heading and distance from first unit. Defaults to 1 if not specified.|par3=         boolean &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or nil &lt;/ins&gt;SkipFirst|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optType3&lt;/ins&gt;=     boolean &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or nil&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optName3&lt;/ins&gt;=     SkipFirst|desc3=       If true, the first waypoint in the group is skipped. Defaults to false.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|par4=         boolean or nil WriteToFile|optType4=     boolean or nil|optName4=     WriteToFile|desc4=       If true, will write the CMM.DEV&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:27 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:Tools.BuildNewMarkerPointTable</comments>
		</item>
		<item>
			<title>TemplateBuilder</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=TemplateBuilder&amp;diff=6234&amp;oldid=6150</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=TemplateBuilder&amp;diff=6234&amp;oldid=6150</guid>
			<description>&lt;p&gt;TemplateBuilder – created via PowerShell script (2026-06-24T22:27:24Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&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,&quot;FOB_01&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 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;TemplateName&lt;/del&gt;|reqType3=     string|reqName3=     TemplateName|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;desc3&lt;/del&gt;=       Name of the template to lookup|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;par4&lt;/del&gt;=         number &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BuildSide&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqType4&lt;/del&gt;=     number|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqName4&lt;/del&gt;=     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BuildSide&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;desc4&lt;/del&gt;=       The country side to build the template for|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;par5&lt;/del&gt;=         number BuildTime|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqType5&lt;/del&gt;=     number|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqName5&lt;/del&gt;=     BuildTime|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;desc5&lt;/del&gt;=       How long you want the build to take to complete}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&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,&quot;FOB_01&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 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;DeploymentName&lt;/ins&gt;|reqType3=     string|reqName3=     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;DeploymentName|desc3=       Name of the Deployment, (Do Check if unique against CMM.DEPLOYED)|par4=         string &lt;/ins&gt;TemplateName|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqType4=     string|reqName4=     TemplateName|desc4&lt;/ins&gt;=       Name of the template to lookup|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;par5&lt;/ins&gt;=         number &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BuildCountry&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqType5&lt;/ins&gt;=     number|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqName5&lt;/ins&gt;=     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BuildCountry&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;desc5&lt;/ins&gt;=       The country side to build the template for|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;par6&lt;/ins&gt;=         number BuildTime|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqType6&lt;/ins&gt;=     number|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reqName6&lt;/ins&gt;=     BuildTime|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;desc6=       How long you want the build to take to complete|par7=         table or nil FARPSettings|optType7=     table or nil|optName7=     FARPSettings|desc7&lt;/ins&gt;=       How long you want the build to take to complete}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:22 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:TemplateBuilder</comments>
		</item>
		<item>
			<title>ScheduleSpawnFARPObject</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=ScheduleSpawnFARPObject&amp;diff=6233&amp;oldid=6148</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=ScheduleSpawnFARPObject&amp;diff=6233&amp;oldid=6148</guid>
			<description>&lt;p&gt;ScheduleSpawnFARPObject – created via PowerShell script (2026-06-24T22:27:24Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&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 = &quot;FOB_01#01245&quot;, GroupName = &quot;FOB_01#01245_FARP&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 &quot;FOB_01#01245&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;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&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 = &quot;FOB_01#01245&quot;, GroupName = &quot;FOB_01#01245_FARP&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 &quot;FOB_01#01245&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 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;boolean&amp;gt;, DynamicCargo &lt;/ins&gt;&amp;lt;boolean&amp;gt;}}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:22 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:ScheduleSpawnFARPObject</comments>
		</item>
		<item>
			<title>GetNewMarkerID</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=GetNewMarkerID&amp;diff=6232&amp;oldid=6202</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=GetNewMarkerID&amp;diff=6232&amp;oldid=6202</guid>
			<description>&lt;p&gt;GetNewMarkerID – created via PowerShell script (2026-06-24T22:27:20Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          GetNewMarkerID|fDescription=   Generates a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;new unused marker ID &lt;/del&gt;by &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;checking against existing allocated IDs and returning the first available one&lt;/del&gt;, with &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a fallback to -1 if no ID can be found after extensive retries&lt;/del&gt;.|parentFile=     cmm.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;markerFunctions&lt;/del&gt;.lua|syntax=         CMM.GetNewMarkerID()|return=         &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;number&lt;/del&gt;|returnDesc=     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A &lt;/del&gt;new &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unused marker ID that has not been allocated &lt;/del&gt;in the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MarkerPanels table&lt;/del&gt;, or -&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1 &lt;/del&gt;if no &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;valid ID could &lt;/del&gt;be found.|example=        CMM.GetNewMarkerID()|exampleDesc=    &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Returns &lt;/del&gt;a unique &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;marker ID &lt;/del&gt;such as &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;205&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;which has &lt;/del&gt;not &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;been previously used &lt;/del&gt;in the mission&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, ensuring no conflicts with existing markers&lt;/del&gt;.|related=        |note=           |envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          GetNewMarkerID|fDescription=   Generates a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unique convoy group name &lt;/ins&gt;by &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;incrementing a counter until a name not already in use is found&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ensuring no name conflicts &lt;/ins&gt;with &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;existing groups&lt;/ins&gt;.|parentFile=     cmm.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;spawnFunctions&lt;/ins&gt;.lua|syntax=         CMM.GetNewMarkerID()|return=         &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;string&lt;/ins&gt;|returnDesc=     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Returns a &lt;/ins&gt;new &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;available convoy group name &lt;/ins&gt;in the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;format &quot;Convoy#XXXX&quot; where XXXX is a zero-padded number&lt;/ins&gt;, or &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;NO&lt;/ins&gt;-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;NEW-CONVOY-NAME&quot; &lt;/ins&gt;if no &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unique name can &lt;/ins&gt;be found &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;after maximum retries&lt;/ins&gt;.|example=        CMM.GetNewMarkerID()|exampleDesc=    &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Invokes the function to generate &lt;/ins&gt;a unique &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;convoy name, &lt;/ins&gt;such as &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;Convoy#0001&quot;&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ensuring it does &lt;/ins&gt;not &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;conflict with existing group names &lt;/ins&gt;in the mission.|related=        |note=           &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--TODO CODE REVIEW REQUIRED&lt;/ins&gt;|envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:18 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:GetNewMarkerID</comments>
		</item>
		<item>
			<title>SpawnGroundUnitInZoneScheduledTaskFunction</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=SpawnGroundUnitInZoneScheduledTaskFunction&amp;diff=6231&amp;oldid=6012</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=SpawnGroundUnitInZoneScheduledTaskFunction&amp;diff=6231&amp;oldid=6012</guid>
			<description>&lt;p&gt;SpawnGroundUnitInZoneScheduledTaskFunction – created via PowerShell script (2026-06-24T22:27:19Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SpawnGroundUnitInZoneScheduledTaskFunction|fDescription=   Scheduled task function that spawns ground units in a specified zone using a provided unit type table, country, and optional limits and road constraints. It validates input parameters and delegates execution to CMM.SpawnGroundUnitInZone.|parentFile=     cmm.spawnFunctions.lua|syntax=         CMM.SpawnGroundUnitInZoneScheduledTaskFunction(&amp;lt;argTable table&amp;gt;)|return=         nil|returnDesc=     Returns nothing, as the function performs spawning and does not return a value.|example=        CMM.SpawnGroundUnitInZoneScheduledTaskFunction({&quot;Area-10&quot;, 1, {&quot;T-72&quot;, &quot;BTR-80&quot;}, 100, true})|exampleDesc=    Schedules the spawning of up to 100 units in &quot;Area-10&quot; using T-72 and BTR-80 units, assigned to BLUFOR, with all spawns forced to occur on roads.|related=        |note=           |envType= CMM|par1=         table argTable|reqType1=     table|reqName1=     argTable|desc1=       {ZoneName &amp;lt;string&amp;gt;, Country &amp;lt;number&amp;gt;, UnitTypeTable &amp;lt;TBL&amp;gt;, UnitLimit &amp;lt;number&amp;gt;, ForceRoad &amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nil|&lt;/del&gt;boolean&amp;gt;} – Table containing zone name, country ID, list of unit types, maximum unit count, and whether to force spawns on roads.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SpawnGroundUnitInZoneScheduledTaskFunction|fDescription=   Scheduled task function that spawns ground units in a specified zone using a provided unit type table, country, and optional limits and road constraints. It validates input parameters and delegates execution to CMM.SpawnGroundUnitInZone.|parentFile=     cmm.spawnFunctions.lua|syntax=         CMM.SpawnGroundUnitInZoneScheduledTaskFunction(&amp;lt;argTable table&amp;gt;)|return=         nil|returnDesc=     Returns nothing, as the function performs spawning and does not return a value.|example=        CMM.SpawnGroundUnitInZoneScheduledTaskFunction({&quot;Area-10&quot;, 1, {&quot;T-72&quot;, &quot;BTR-80&quot;}, 100, true})|exampleDesc=    Schedules the spawning of up to 100 units in &quot;Area-10&quot; using T-72 and BTR-80 units, assigned to BLUFOR, with all spawns forced to occur on roads.|related=        |note=           |envType= CMM|par1=         table argTable|reqType1=     table|reqName1=     argTable|desc1=       {ZoneName &amp;lt;string&amp;gt;, Country &amp;lt;number&amp;gt;, UnitTypeTable &amp;lt;TBL&amp;gt;, UnitLimit &amp;lt;number&amp;gt;, ForceRoad &amp;lt;boolean&amp;gt;} – Table containing zone name, country ID, list of unit types, maximum unit count, and whether to force spawns on roads.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:17 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:SpawnGroundUnitInZoneScheduledTaskFunction</comments>
		</item>
		<item>
			<title>GetRouteDistancePoints</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=GetRouteDistancePoints&amp;diff=6230&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=GetRouteDistancePoints&amp;diff=6230&amp;oldid=0</guid>
			<description>&lt;p&gt;GetRouteDistancePoints – created via PowerShell script (2026-06-24T22:27:18Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          GetRouteDistancePoints|fDescription=   Calculates a series of points along a road path at a specified distance, starting from the first point and progressing sequentially until the target distance is reached. It adds each point to a table, stopping when the cumulative distance exceeds the specified value or reaches the end of the path.|parentFile=     cmm.spawnFunctions.lua|syntax=         CMM.PointsOnRoad(PathOnRoadsTbl &amp;lt;TBL&amp;gt;, distance &amp;lt;number&amp;gt;)|return=         table|returnDesc=     Returns a set of vec2 points where the numbers are less than|example=        CMM.PointsOnRoad({{x=100,y=200},{x=300,y=400},{x=500,y=600}}, 3000)|exampleDesc=    Retrieves points along a road path from (100,200) to (500,600), measuring 3000 units, and returns a table of points that lie within that distance.|related=        |note=           |envType= CMM|par1=         table PathOnRoadsTbl|reqType1=     table|reqName1=     PathOnRoadsTbl|desc1=       Array of road points, each containing x and y coordinates, representing a path to traverse.|par2=         table percPoints|reqType2=     table|reqName2=     percPoints|desc2=       Table of numbers from 0.01 - 0.99 as percentages}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:16 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:GetRouteDistancePoints</comments>
		</item>
		<item>
			<title>GetRouteDistance</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=GetRouteDistance&amp;diff=6229&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=GetRouteDistance&amp;diff=6229&amp;oldid=0</guid>
			<description>&lt;p&gt;GetRouteDistance – created via PowerShell script (2026-06-24T22:27:17Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          GetRouteDistance|fDescription=   Calculates a series of points along a road path at a specified distance, starting from the first point and progressing sequentially until the target distance is reached. It adds each point to a table, stopping when the cumulative distance exceeds the specified value or reaches the end of the path.|parentFile=     cmm.spawnFunctions.lua|syntax=         CMM.GetRouteDistance(PathOnRoadsTbl &amp;lt;TBL&amp;gt;)|return=         number|returnDesc=     Table containing the points along the path that are at or within the specified distance from the start.|example=        CMM.GetRouteDistance({{x=100,y=200},{x=300,y=400},{x=500,y=600}})|exampleDesc=    Measures the total distance along the path defined by the points (100,200), (300,400), and (500,600) by calculating the 2D distance between each consecutive point and summing them up, returning the total distance as a number.|related=        |note=           |envType= CMM|par1=         table PathOnRoadsTbl|reqType1=     table|reqName1=     PathOnRoadsTbl|desc1=       Array of vec2 road points, each containing x and y coordinates, representing a path to traverse.}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:15 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:GetRouteDistance</comments>
		</item>
		<item>
			<title>OutSoundForCoalition</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=OutSoundForCoalition&amp;diff=6228&amp;oldid=6141</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=OutSoundForCoalition&amp;diff=6228&amp;oldid=6141</guid>
			<description>&lt;p&gt;outSoundForCoalition – created via PowerShell script (2026-06-24T22:27:15Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-multi&quot; lang=&quot;en-GB&quot;&gt;(One intermediate revision by the same user not shown)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en-GB&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:13 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:OutSoundForCoalition</comments>
		</item>
		<item>
			<title>GetCargoState</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=GetCargoState&amp;diff=6226&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=GetCargoState&amp;diff=6226&amp;oldid=0</guid>
			<description>&lt;p&gt;GetCargoState – created via PowerShell script (2026-06-24T22:27:14Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          GetCargoState|fDescription=   Gets the Max Wounded, Personnel , maxmass and current weight of cargo on board the player&amp;#039;s current airframe. Returns a table with the cargo state information or nil if an error occurs. Logs informational messages for errors or successful retrievals.|parentFile=     cmm.sideMissionFunctions.lua|syntax=         CMM.GetCargoState(UnitObject &amp;lt;table&amp;gt;)|return=         nil or table|returnDesc=     Returns a table containing the cargo state information (max wounded, max personnel, max,cargo, max weight, current weight) or nil if an error occurs.|example=        CMM.Miz.CheckAirFrame(player, &amp;quot;CargoMission&amp;quot;)|exampleDesc=    Verifies that the player&amp;#039;s airframe has the required cargo capacity for a cargo mission, returning true if valid and logging the match details.|related=        |note=           |envType= CMM|par1=         table UnitObject|reqType1=     table|reqName1=     UnitObject|desc1=       Player object}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:12 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:GetCargoState</comments>
		</item>
		<item>
			<title>Miz.CheckAirFrame</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=Miz.CheckAirFrame&amp;diff=6225&amp;oldid=5988</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=Miz.CheckAirFrame&amp;diff=6225&amp;oldid=5988</guid>
			<description>&lt;p&gt;Miz.CheckAirFrame – created via PowerShell script (2026-06-24T22:27:14Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          Miz.CheckAirFrame|fDescription=   Checks if a player&#039;s airframe is compatible with a specified mission type by comparing the airframe&#039;s cargo capacity against the mission&#039;s required cargo type. Returns true if the airframe has sufficient cargo capacity, otherwise returns false. Logs informational messages for errors or successful matches.|parentFile=     cmm.sideMissionFunctions.lua|syntax=         CMM.Miz.CheckAirFrame(playerObject &amp;lt;object&amp;gt;, MissionType &amp;lt;string&amp;gt;)|return=         boolean|returnDesc=     Returns true if the airframe meets the mission&#039;s cargo requirement, false otherwise.|example=        CMM.Miz.CheckAirFrame(player, &quot;CargoMission&quot;)|exampleDesc=    Verifies that the player&#039;s airframe has the required cargo capacity for a cargo mission, returning true if valid and logging the match details.|related=        |note=           |envType= CMM|par1=         &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;object &lt;/del&gt;playerObject|reqType1=     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;object&lt;/del&gt;|reqName1=     playerObject|desc1=       Player object to retrieve the airframe type from, must have a getTypeName method.|par2=         string MissionType|reqType2=     string|reqName2=     MissionType|desc2=       The mission type string, case-insensitive, used to determine cargo requirements from sidequest data.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          Miz.CheckAirFrame|fDescription=   Checks if a player&#039;s airframe is compatible with a specified mission type by comparing the airframe&#039;s cargo capacity against the mission&#039;s required cargo type. Returns true if the airframe has sufficient cargo capacity, otherwise returns false. Logs informational messages for errors or successful matches.|parentFile=     cmm.sideMissionFunctions.lua|syntax=         CMM.Miz.CheckAirFrame(playerObject &amp;lt;object&amp;gt;, MissionType &amp;lt;string&amp;gt;)|return=         boolean|returnDesc=     Returns true if the airframe meets the mission&#039;s cargo requirement, false otherwise.|example=        CMM.Miz.CheckAirFrame(player, &quot;CargoMission&quot;)|exampleDesc=    Verifies that the player&#039;s airframe has the required cargo capacity for a cargo mission, returning true if valid and logging the match details.|related=        |note=           |envType= CMM|par1=         &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;table &lt;/ins&gt;playerObject|reqType1=     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;table&lt;/ins&gt;|reqName1=     playerObject|desc1=       Player object to retrieve the airframe type from, must have a getTypeName method.|par2=         string MissionType|reqType2=     string|reqName2=     MissionType|desc2=       The mission type string, case-insensitive, used to determine cargo requirements from sidequest data.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:12 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:Miz.CheckAirFrame</comments>
		</item>
		<item>
			<title>GetTerrainHeightFlatness</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=GetTerrainHeightFlatness&amp;diff=6224&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=GetTerrainHeightFlatness&amp;diff=6224&amp;oldid=0</guid>
			<description>&lt;p&gt;GetTerrainHeightFlatness – created via PowerShell script (2026-06-24T22:27:14Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          GetTerrainHeightFlatness|fDescription=   Returns a height difference value|parentFile=     cmm.positionFunctions.lua|syntax=         CMM.GetTerrainHeightFlatness(vec3&amp;lt;table&amp;gt;)|return=         number or boolean or nil|returnDesc=     Returns a number if all items are valid, if a limit number is defined it will return a boolean if it is within the limit or not, if the vec3 is invalid it will return nil|example=        CMM.GetTerrainHeightFlatness({x=100, y=50, z=10})|exampleDesc=    Returns the closest point on the road network to the given position, or the original position if no roads are found.|related=        |note=           |envType= CMM|par1=         table vec3|reqType1=     table|reqName1=     vec3|desc1=       Vec3 table with x, y, z coordinates|par2=         number or nil radius|optType2=     number or nil|optName2=     radius|desc2=       A number representing the radius in meters around the point to sample terrain heights [DEFAULT: 30]|par3=         number or nil limit|optType3=     number or nil|optName3=     limit|desc3=       An optional number representing a maximum acceptable height difference; if provided, the function will return a boolean indicating whether the height difference is within this limit.}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:12 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:GetTerrainHeightFlatness</comments>
		</item>
		<item>
			<title>GetClosestPointOnRoads</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=GetClosestPointOnRoads&amp;diff=6223&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=GetClosestPointOnRoads&amp;diff=6223&amp;oldid=0</guid>
			<description>&lt;p&gt;GetClosestPointOnRoads – created via PowerShell script (2026-06-24T22:27:14Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          GetClosestPointOnRoads|fDescription=   Converts a heading in degrees into a forward Vec3 vector.|parentFile=     cmm.positionFunctions.lua|syntax=         CMM.GetClosestPointOnRoads(vec3&amp;lt;table&amp;gt;)|return=         table  or  nil|returnDesc=     Closest Road Vec3 vector {x, y, z}|example=        CMM.GetClosestPointOnRoads({x=100, y=50, z=10})|exampleDesc=    Returns the closest point on the road network to the given position, or the original position if no roads are found.|related=        |note=           |envType= CMM|par1=         table vec3|reqType1=     table|reqName1=     vec3|desc1=       Vec3 table with x, y, z coordinates}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:12 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:GetClosestPointOnRoads</comments>
		</item>
		<item>
			<title>IsDegrees</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=IsDegrees&amp;diff=6222&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=IsDegrees&amp;diff=6222&amp;oldid=0</guid>
			<description>&lt;p&gt;IsDegrees – created via PowerShell script (2026-06-24T22:27:10Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          IsDegrees|fDescription=   Checks whether a given number is within the valid degree range of 0 to 360 inclusive.|parentFile=     cmm.positionFunctions.lua|syntax=         CMM.IsDegrees(value &amp;lt;number&amp;gt;)|return=         boolean|returnDesc=     Returns true if the value is a number between 0 and 360 (inclusive), otherwise false.|example=        CMM.IsDegrees(270)|exampleDesc=    Checks if 270 is a valid degree value, returning true.|related=        |note=           |envType= CMM|par1=         number value|reqType1=     number|reqName1=     value|desc1=       The numeric value to validate as a degree measurement.}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:08 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:IsDegrees</comments>
		</item>
		<item>
			<title>LogPointsTransaction</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=LogPointsTransaction&amp;diff=6221&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=LogPointsTransaction&amp;diff=6221&amp;oldid=0</guid>
			<description>&lt;p&gt;LogPointsTransaction – created via PowerShell script (2026-06-24T22:27:08Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          LogPointsTransaction|fDescription=   |parentFile=     cmm.pointsFunctions.lua|syntax=         CMM.CreatePlayerTransactionLogFile(ArgTable&amp;lt;table&amp;gt;)|return=         nil|returnDesc=     Returns nothing, but creates the Player Transaction Log entry at CMM.POINTS.AuditLogPath with the details of the transaction|example=        CMM.CreatePlayerTransactionLogFile({true, &amp;quot;12345&amp;quot;, &amp;quot;Ned Flanders&amp;quot;, 9001, 10001, &amp;quot;Ned had 1000 points before this transaction&amp;quot;})|exampleDesc=    Enters a transaction into the Player Transaction Log, with the details of a successful transaction for player Ned Flanders (12345) where 9001 points were added to his balance of 10001, with the note &amp;quot;Ned had 1000 points before this transaction&amp;quot;|related=        |note=           |envType= CMM|par1=         table argTable|reqType1=     table|reqName1=     argTable|desc1=       ArgTable = {Success&amp;lt;boolean&amp;gt;, UCID&amp;lt;string&amp;gt;, Name&amp;lt;string&amp;gt;, Value&amp;lt;number&amp;gt;, Balance&amp;lt;number&amp;gt;, Note&amp;lt;string&amp;gt;}}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:06 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:LogPointsTransaction</comments>
		</item>
		<item>
			<title>CreatePlayerTransactionLogFile</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=CreatePlayerTransactionLogFile&amp;diff=6220&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=CreatePlayerTransactionLogFile&amp;diff=6220&amp;oldid=0</guid>
			<description>&lt;p&gt;CreatePlayerTransactionLogFile – created via PowerShell script (2026-06-24T22:27:08Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          CreatePlayerTransactionLogFile|fDescription=   |parentFile=     cmm.pointsFunctions.lua|syntax=         CMM.CreatePlayerTransactionLogFile()|return=         nil|returnDesc=     Returns nothing, but creates the Player Transaction Log file if it does not already exist at CMM.POINTS.AuditLogPath|example=        CMM.CreatePlayerTransactionLogFile()|exampleDesc=    Creates the Player Transaction Log file if it does not already exist at &amp;lt;CMM.PDIR&amp;gt;\POINTS\PlayerPointsTransaction.log|related=        |note=           |envType= CMM}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:06 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:CreatePlayerTransactionLogFile</comments>
		</item>
		<item>
			<title>AwardPlayerPoints</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=AwardPlayerPoints&amp;diff=6219&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=AwardPlayerPoints&amp;diff=6219&amp;oldid=0</guid>
			<description>&lt;p&gt;AwardPlayerPoints – created via PowerShell script (2026-06-24T22:27:08Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          AwardPlayerPoints|fDescription=   |parentFile=     cmm.pointsFunctions.lua|syntax=         CMM.AwardPlayerPoints()|return=         boolean,number,string or nil|returnDesc=     Returns boolean true if the operation succeeded, false if it failed, can be accompained by a string message describing the failure reason, or nil if no message is provided.|example=        CMM.ModifyPlayerPoints({[1] = Unit.getByName(&amp;quot;PlayerUnit&amp;quot;), [2] = &amp;quot;PlayerUCID&amp;quot;, [3] = -1000, [4] = &amp;quot;Spent on a new plane!&amp;quot;})|exampleDesc=    Saves the ServerPoints out to &amp;lt;CMM.PDIR&amp;gt;\POINTS\PlayerServerPoints.json|related=        |note=           |envType= CMM|par1=         table argTable|reqType1=     table|reqName1=     argTable|desc1=       ArgTable = {Unit_GIFTER, Unit_GIFTEE, Points, Note}}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:06 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:AwardPlayerPoints</comments>
		</item>
		<item>
			<title>ModifyPlayerPoints</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=ModifyPlayerPoints&amp;diff=6218&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=ModifyPlayerPoints&amp;diff=6218&amp;oldid=0</guid>
			<description>&lt;p&gt;ModifyPlayerPoints – created via PowerShell script (2026-06-24T22:27:08Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          ModifyPlayerPoints|fDescription=   |parentFile=     cmm.pointsFunctions.lua|syntax=         CMM.ModifyPlayerPoints()|return=         boolean,number,string or nil|returnDesc=     Returns boolean true if the operation succeeded, false if it failed, can be accompained by a string message describing the failure reason, or nil if no message is provided.|example=        CMM.ModifyPlayerPoints({[1] = Unit.getByName(&amp;quot;PlayerUnit&amp;quot;), [2] = &amp;quot;PlayerUCID&amp;quot;, [3] = -1000, [4] = &amp;quot;Spent on a new plane!&amp;quot;})|exampleDesc=    Saves the ServerPoints out to &amp;lt;CMM.PDIR&amp;gt;\POINTS\PlayerServerPoints.json|related=        |note=           |envType= CMM|par1=         table argTable|reqType1=     table|reqName1=     argTable|desc1=       ArgTable = {Unit, UCID, Points, Note}}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:06 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:ModifyPlayerPoints</comments>
		</item>
		<item>
			<title>SaveServerPoints</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=SaveServerPoints&amp;diff=6217&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=SaveServerPoints&amp;diff=6217&amp;oldid=0</guid>
			<description>&lt;p&gt;SaveServerPoints – created via PowerShell script (2026-06-24T22:27:08Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SaveServerPoints|fDescription=   |parentFile=     cmm.pointsFunctions.lua|syntax=         CMM.SaveServerPoints()|return=         nil|returnDesc=     Returns nothing but saves the ServerPoints out to CMM\SERVER_PERSISTENCE\POINTS\PlayerServerPoints.json|example=        CMM.SaveServerPoints()|exampleDesc=    Saves the ServerPoints out to &amp;lt;CMM.PDIR&amp;gt;\POINTS\PlayerServerPoints.json|related=        |note=           |envType= CMM}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:06 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:SaveServerPoints</comments>
		</item>
		<item>
			<title>GetPlayerPoints</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=GetPlayerPoints&amp;diff=6216&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=GetPlayerPoints&amp;diff=6216&amp;oldid=0</guid>
			<description>&lt;p&gt;GetPlayerPoints – created via PowerShell script (2026-06-24T22:27:08Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          GetPlayerPoints|fDescription=   |parentFile=     cmm.pointsFunctions.lua|syntax=         CMM.GetPlayerPoints({Unit &amp;lt;table&amp;gt;, UCID &amp;lt;string&amp;gt;})|return=         number|returnDesc=     Returns the current Points balance for the player, if no record exists for the player, one is created with a balance of 0 and returned.|example=        CMM.GetPlayerPoints({[1] = Unit.getByName(&amp;quot;PlayerUnit&amp;quot;), [2] = &amp;quot;PlayerUCID&amp;quot;})|exampleDesc=    Returns the player points for player with UCID of &amp;quot;PlayerUCID&amp;quot;|related=        |note=           |envType= CMM|par1=         table argTable|reqType1=     table|reqName1=     argTable|desc1=       ArgTable = {Unit, UCID}}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:06 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:GetPlayerPoints</comments>
		</item>
		<item>
			<title>ClearPersistence</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=ClearPersistence&amp;diff=6215&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=ClearPersistence&amp;diff=6215&amp;oldid=0</guid>
			<description>&lt;p&gt;ClearPersistence – created via PowerShell script (2026-06-24T22:27:07Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          ClearPersistence|fDescription=   Removes all Persistence Files from PERSISTENCE directory|parentFile=     cmm.persistence.lua|syntax=         CMM.ClearPersistence()|return=         nil|returnDesc=     Returns nothing|example=        CMM.ClearPersistence()|exampleDesc=    Removes all files within the PERSISTENCE directory|related=        |note=           |envType= CMM}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:05 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:ClearPersistence</comments>
		</item>
		<item>
			<title>SavePersistence</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=SavePersistence&amp;diff=6214&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=SavePersistence&amp;diff=6214&amp;oldid=0</guid>
			<description>&lt;p&gt;SavePersistence – created via PowerShell script (2026-06-24T22:27:07Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SavePersistence|fDescription=   Saves All Persistence Files to default locations|parentFile=     cmm.persistence.lua|syntax=         CMM.SavePersistence()|return=         nil|returnDesc=     Returns nothing|example=        CMM.SavePersistence()|exampleDesc=    Saves all persistence files to their default locations, including groups, POI state, banked tables, support tables, FOB persistence, and airbase persistence, ensuring all campaign data is stored for future missions.|related=        |note=           |envType= CMM|par1=         number or nil time2save|optType1=     number or nil|optName1=     time2save|desc1=       Optional time in seconds to save, defaults to 30 seconds if not provided or invalid.|par2=         table or nil savefunctions|optType2=     table or nil|optName2=     savefunctions|desc2=       Optional table of specific save functions to call instead of the default set; if nil, all default persistence save functions will be called.}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:05 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:SavePersistence</comments>
		</item>
		<item>
			<title>SavePlayerBankTable</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=SavePlayerBankTable&amp;diff=6213&amp;oldid=5951</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=SavePlayerBankTable&amp;diff=6213&amp;oldid=5951</guid>
			<description>&lt;p&gt;SavePlayerBankTable – created via PowerShell script (2026-06-24T22:27:06Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SavePlayerBankTable|fDescription=   Saves the current player bank data to a JSON persistence file in the mission directory, ensuring data is stored for future missions.|parentFile=     cmm.persistence.lua|syntax=         CMM.SavePlayerBankTable()|return=         nil|returnDesc=     Returns nothing, writes the player bank data to the persistence file and logs completion.|example=        CMM.SavePlayerTBankTable()|exampleDesc=    Saves the current player bank data to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Campaign_PlayerBank&lt;/del&gt;.json in the mission directory.|related=        |note=           |envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SavePlayerBankTable|fDescription=   Saves the current player bank data to a JSON persistence file in the mission directory, ensuring data is stored for future missions.|parentFile=     cmm.persistence.lua|syntax=         CMM.SavePlayerBankTable()|return=         nil|returnDesc=     Returns nothing, writes the player bank data to the persistence file and logs completion.|example=        CMM.SavePlayerTBankTable()|exampleDesc=    Saves the current player bank data to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CMM.PERSISTENCE_PLAYERDATA&lt;/ins&gt;.json in the mission directory.|related=        |note=           |envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:04 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:SavePlayerBankTable</comments>
		</item>
		<item>
			<title>SaveSupportTable</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=SaveSupportTable&amp;diff=6212&amp;oldid=5945</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=SaveSupportTable&amp;diff=6212&amp;oldid=5945</guid>
			<description>&lt;p&gt;SaveSupportTable – created via PowerShell script (2026-06-24T22:27:05Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SaveSupportTable|fDescription=   Saves the current AirSupportTable configuration to a JSON file in the mission directory, ensuring the directory exists and handling errors gracefully if the table or path is invalid.|parentFile=     cmm.persistence.lua|syntax=         CMM.SaveSupportTable(FilePath &amp;lt;string&amp;gt;)|return=         nil|returnDesc=     Returns nothing.|example=        CMM.SaveSupportTable(&quot;Custom/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;AirSupportTable&lt;/del&gt;.json&quot;)|exampleDesc=    Saves the current air support configuration to a custom JSON file, creates the directory if needed, and logs warnings if the table is missing or the path is invalid.|related=        |note=           |envType= CMM|par1=         string or nil FilePath|optType1=     string or nil|optName1=     FilePath|desc1=       Optional path to save the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;AirSupportTable&lt;/del&gt;.json file; if not provided, defaults to CMM.MISSION.PDir .. &quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;AirSupportTable&lt;/del&gt;.json&quot;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SaveSupportTable|fDescription=   Saves the current AirSupportTable configuration to a JSON file in the mission directory, ensuring the directory exists and handling errors gracefully if the table or path is invalid.|parentFile=     cmm.persistence.lua|syntax=         CMM.SaveSupportTable(FilePath &amp;lt;string&amp;gt;)|return=         nil|returnDesc=     Returns nothing.|example=        CMM.SaveSupportTable(&quot;Custom/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CMM.PERSISTENCE_SUPPORTAIRCRAFT&lt;/ins&gt;.json&quot;)|exampleDesc=    Saves the current air support configuration to a custom JSON file, creates the directory if needed, and logs warnings if the table is missing or the path is invalid.|related=        |note=           |envType= CMM|par1=         string or nil FilePath|optType1=     string or nil|optName1=     FilePath|desc1=       Optional path to save the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CMM.PERSISTENCE_SUPPORTAIRCRAFT&lt;/ins&gt;.json file; if not provided, defaults to CMM.MISSION.PDir .. &quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CMM.PERSISTENCE_SUPPORTAIRCRAFT&lt;/ins&gt;.json&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.|par2=         boolean or nil DumpLua|optType2=     boolean or nil|optName2=     DumpLua|desc2=       Optional, will save out the SUPPORT_TABLE.lua file to the CMM.DUMPDIR if true, defaults to false if not provided&lt;/ins&gt;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:03 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:SaveSupportTable</comments>
		</item>
		<item>
			<title>LoadSupportTable</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=LoadSupportTable&amp;diff=6211&amp;oldid=5944</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=LoadSupportTable&amp;diff=6211&amp;oldid=5944</guid>
			<description>&lt;p&gt;LoadSupportTable – created via PowerShell script (2026-06-24T22:27:04Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          LoadSupportTable|fDescription=   Loads an air support configuration table from a JSON file in the mission directory, clears specific marker fields to prevent conflicts, and falls back to default values if the file is missing or invalid.|parentFile=     cmm.persistence.lua|syntax=         CMM.LoadSupportTable(FilePath &amp;lt;string&amp;gt;)|return=         nil|returnDesc=     Returns nothing.|example=        CMM.LoadSupportTable(&quot;Custom/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;AirSupportTable&lt;/del&gt;.json&quot;)|exampleDesc=    Loads a custom air support table from a specified JSON file, clears MarkerIdName and MarkerIdOrbit fields to avoid data corruption, and uses defaults if the file is missing.|related=        |note=           |envType= CMM|par1=         string FilePath|reqType1=     string|reqName1=     FilePath|desc1=       Optional path to the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;AirSupportTable&lt;/del&gt;.json file; if not provided, defaults to CMM.MISSION.PDir .. &quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;AirSupportTable&lt;/del&gt;.json&quot;.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          LoadSupportTable|fDescription=   Loads an air support configuration table from a JSON file in the mission directory, clears specific marker fields to prevent conflicts, and falls back to default values if the file is missing or invalid.|parentFile=     cmm.persistence.lua|syntax=         CMM.LoadSupportTable(FilePath &amp;lt;string&amp;gt;)|return=         nil|returnDesc=     Returns nothing.|example=        CMM.LoadSupportTable(&quot;Custom/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CMM.PERSISTENCE_SUPPORTAIRCRAFT&lt;/ins&gt;.json&quot;)|exampleDesc=    Loads a custom air support table from a specified JSON file, clears MarkerIdName and MarkerIdOrbit fields to avoid data corruption, and uses defaults if the file is missing.|related=        |note=           |envType= CMM|par1=         string FilePath|reqType1=     string|reqName1=     FilePath|desc1=       Optional path to the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CMM.PERSISTENCE_SUPPORTAIRCRAFT&lt;/ins&gt;.json file; if not provided, defaults to CMM.MISSION.PDir .. &quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CMM.PERSISTENCE_SUPPORTAIRCRAFT&lt;/ins&gt;.json&quot;.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:02 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:LoadSupportTable</comments>
		</item>
		<item>
			<title>SaveBankedTable</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=SaveBankedTable&amp;diff=6210&amp;oldid=5943</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=SaveBankedTable&amp;diff=6210&amp;oldid=5943</guid>
			<description>&lt;p&gt;SaveBankedTable – created via PowerShell script (2026-06-24T22:27:04Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SaveBankedTable|fDescription=   Saves the current campaign banked data to a JSON file in the mission directory, formatting it as pretty-printed JSON for readability and ensuring persistence across mission reloads.|parentFile=     cmm.persistence.lua|syntax=         CMM.SaveBankedTable()|return=         nil|returnDesc=     Returns nothing.|example=        CMM.SaveBankedTable()|exampleDesc=    Saves the current CMM.BANKED table to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Campaign_Bank&lt;/del&gt;.json in the mission directory with pretty-printed formatting.|related=        |note=           |envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SaveBankedTable|fDescription=   Saves the current campaign banked data to a JSON file in the mission directory, formatting it as pretty-printed JSON for readability and ensuring persistence across mission reloads.|parentFile=     cmm.persistence.lua|syntax=         CMM.SaveBankedTable()|return=         nil|returnDesc=     Returns nothing.|example=        CMM.SaveBankedTable()|exampleDesc=    Saves the current CMM.BANKED table to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CMM.PERSISTENCE_CAMPAIGNBANK&lt;/ins&gt;.json in the mission directory with pretty-printed formatting.|related=        |note=           |envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:02 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:SaveBankedTable</comments>
		</item>
		<item>
			<title>LoadBankedTable</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=LoadBankedTable&amp;diff=6209&amp;oldid=6101</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=LoadBankedTable&amp;diff=6209&amp;oldid=6101</guid>
			<description>&lt;p&gt;LoadBankedTable – created via PowerShell script (2026-06-24T22:27:04Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          LoadBankedTable|fDescription=   Loads the campaign banked data from a JSON persistence file located in the mission directory, or initialises default values if the file is missing, then saves the data to ensure persistence.|parentFile=     cmm.persistence.lua|syntax=         CMM.LoadBankedTable()|return=         nil|returnDesc=     Returns nothing.|example=        CMM.LoadBankedTable()|exampleDesc=    Loads the campaign banked data from the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Campaign_Bank&lt;/del&gt;.json file in the mission directory, using default values if the file does not exist.|related=        |note=           |envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          LoadBankedTable|fDescription=   Loads the campaign banked data from a JSON persistence file located in the mission directory, or initialises default values if the file is missing, then saves the data to ensure persistence.|parentFile=     cmm.persistence.lua|syntax=         CMM.LoadBankedTable()|return=         nil|returnDesc=     Returns nothing.|example=        CMM.LoadBankedTable()|exampleDesc=    Loads the campaign banked data from the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CMM.PERSISTENCE_CAMPAIGNBANK&lt;/ins&gt;.json file in the mission directory, using default values if the file does not exist.|related=        |note=           |envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:02 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:LoadBankedTable</comments>
		</item>
		<item>
			<title>SaveGroupsToFile</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=SaveGroupsToFile&amp;diff=6208&amp;oldid=5939</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=SaveGroupsToFile&amp;diff=6208&amp;oldid=5939</guid>
			<description>&lt;p&gt;SaveGroupsToFile – created via PowerShell script (2026-06-24T22:27:04Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SaveGroupsToFile|fDescription=   Saves current group data for RED and BLUE sides to persistence files, with optional file paths and save flags. If no file path is provided, defaults are used. Returns true if both files were saved successfully.|parentFile=     cmm.persistence.lua|syntax=         CMM.SaveGroupsToFile(RedGroundFile &amp;lt;string|nil&amp;gt;, BlueGroundFile &amp;lt;string|nil&amp;gt;, SaveRed &amp;lt;boolean|nil&amp;gt;, SavedBlue &amp;lt;boolean|nil&amp;gt;)|return=         boolean|returnDesc=     Returns true if both RED and BLUE persistence files were saved successfully, false otherwise.|example=        CMM.SaveGroupsToFile(&quot;custom_red.json&quot;, &quot;custom_blue.json&quot;, true, false)|exampleDesc=    Saves RED group data to custom_red.json and skips saving BLUE data, using custom file paths.|related=        |note=           |envType= CMM|par1&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=         string or nil RedGroundFile|optType1=     string or nil|optName1=     RedGroundFile|desc1=       File path for RED group persistence (defaults to CMM.PERSISTENCE.REDGROUNDFILE if not provided).|par2=         string or nil BlueGroundFile|optType2=     string or nil|optName2=     BlueGroundFile|desc2=       File path for BLUE group persistence (defaults to CMM.PERSISTENCE.BLUEGROUNDFILE if not provided).|par3&lt;/del&gt;=         boolean or nil SaveRed|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optType3&lt;/del&gt;=     boolean or nil|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optName3&lt;/del&gt;=     SaveRed|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;desc3&lt;/del&gt;=       Flag indicating whether to save RED group data (defaults to true if not provided).|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;par4&lt;/del&gt;=         boolean or nil &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SavedBlue&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optType4&lt;/del&gt;=     boolean or nil|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optName4&lt;/del&gt;=     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SavedBlue&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;desc4&lt;/del&gt;=       Flag indicating whether to save BLUE group data (defaults to true if not provided).}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SaveGroupsToFile|fDescription=   Saves current group data for RED and BLUE sides to persistence files, with optional file paths and save flags. If no file path is provided, defaults are used. Returns true if both files were saved successfully.|parentFile=     cmm.persistence.lua|syntax=         CMM.SaveGroupsToFile(RedGroundFile &amp;lt;string|nil&amp;gt;, BlueGroundFile &amp;lt;string|nil&amp;gt;, SaveRed &amp;lt;boolean|nil&amp;gt;, SavedBlue &amp;lt;boolean|nil&amp;gt;)|return=         boolean|returnDesc=     Returns true if both RED and BLUE persistence files were saved successfully, false otherwise.|example=        CMM.SaveGroupsToFile(&quot;custom_red.json&quot;, &quot;custom_blue.json&quot;, true, false)|exampleDesc=    Saves RED group data to custom_red.json and skips saving BLUE data, using custom file paths.|related=        |note=           |envType= CMM|par1=         boolean or nil SaveRed|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optType1&lt;/ins&gt;=     boolean or nil|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optName1&lt;/ins&gt;=     SaveRed|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;desc1&lt;/ins&gt;=       Flag indicating whether to save RED group data (defaults to true if not provided).|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;par2&lt;/ins&gt;=         boolean or nil &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SaveBlue&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optType2&lt;/ins&gt;=     boolean or nil|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;optName2&lt;/ins&gt;=     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SaveBlue&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;desc2&lt;/ins&gt;=       Flag indicating whether to save BLUE group data (defaults to true if not provided).}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:02 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:SaveGroupsToFile</comments>
		</item>
		<item>
			<title>ClearPOIState</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=ClearPOIState&amp;diff=6207&amp;oldid=5937</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=ClearPOIState&amp;diff=6207&amp;oldid=5937</guid>
			<description>&lt;p&gt;ClearPOIState – created via PowerShell script (2026-06-24T22:27:03Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          ClearPOIState|fDescription=   Deletes persistent POI and POI names data files from specified locations, clearing associated variables. If default paths are provided, a warning is issued and no files are deleted.|parentFile=     cmm.persistence.lua|syntax=         CMM.ClearPOIState(ACTIVEPOI &amp;lt;string|nil&amp;gt;, ACTIVEPOINAMES &amp;lt;string|nil&amp;gt;)|return=         nil|returnDesc=     Returns nothing after attempting to delete the specified persistence files, or issuing a warning if default paths are used.|example=        CMM.ClearPOIState(&quot;CMM.TEMP\PERSISTENCE\CUSTOM.ACTIVEPOI.json&quot;, &quot;CMM.TEMP\PERSISTENCE\CUSTOM.ACTIVEPOINAMES.json&quot;)|exampleDesc=    Deletes custom persistent POI and POI names files, removes stored data, and logs removal actions while avoiding deletion of default files.|related=        |note=           |envType= CMM&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|par1=         string or nil ACTIVEPOI|optType1=     string or nil|optName1=     ACTIVEPOI|desc1=       Path to the ACTIVEPOI persistence file, or nil to use default location.|par2=         string or nil ACTIVEPOINAMES|optType2=     string or nil|optName2=     ACTIVEPOINAMES|desc2=       Path to the ACTIVEPOINAMES persistence file, or nil to use default location.&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          ClearPOIState|fDescription=   Deletes persistent POI and POI names data files from specified locations, clearing associated variables. If default paths are provided, a warning is issued and no files are deleted.|parentFile=     cmm.persistence.lua|syntax=         CMM.ClearPOIState(ACTIVEPOI &amp;lt;string|nil&amp;gt;, ACTIVEPOINAMES &amp;lt;string|nil&amp;gt;)|return=         nil|returnDesc=     Returns nothing after attempting to delete the specified persistence files, or issuing a warning if default paths are used.|example=        CMM.ClearPOIState(&quot;CMM.TEMP\PERSISTENCE\CUSTOM.ACTIVEPOI.json&quot;, &quot;CMM.TEMP\PERSISTENCE\CUSTOM.ACTIVEPOINAMES.json&quot;)|exampleDesc=    Deletes custom persistent POI and POI names files, removes stored data, and logs removal actions while avoiding deletion of default files.|related=        |note=           |envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:01 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:ClearPOIState</comments>
		</item>
		<item>
			<title>LoadPOIState</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=LoadPOIState&amp;diff=6206&amp;oldid=5936</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=LoadPOIState&amp;diff=6206&amp;oldid=5936</guid>
			<description>&lt;p&gt;LoadPOIState – created via PowerShell script (2026-06-24T22:27:03Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          LoadPOIState|fDescription=   Loads persistent POI and POI names data from specified JSON files, initializing markers and setting their coalition colors. If default paths are detected, a warning is issued and no data is loaded.|parentFile=     cmm.persistence.lua|syntax=         CMM.LoadPOIState(ACTIVEPOI &amp;lt;string|nil&amp;gt;, ACTIVEPOINAMES &amp;lt;string|nil&amp;gt;)|return=         nil|returnDesc=     Returns nothing after loading and initializing POI markers and their coalition colors, or issuing a warning if default paths are used.|example=        CMM.LoadPOIState(&quot;CMM.TEMP\PERSISTENCE\CUSTOM.ACTIVEPOI.json&quot;, &quot;CMM.TEMP\PERSISTENCE\CUSTOM.ACTIVEPOINAMES.json&quot;)|exampleDesc=    Loads custom persistent POI and POI names data, creates markers with correct coalition colors, and logs success messages while skipping default path loading.|related=        |note=           |envType= CMM&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|par1=         string or nil ACTIVEPOI|optType1=     string or nil|optName1=     ACTIVEPOI|desc1=       Path to the ACTIVEPOI persistence file, or nil to use default location.|par2=         string or nil ACTIVEPOINAMES|optType2=     string or nil|optName2=     ACTIVEPOINAMES|desc2=       Path to the ACTIVEPOINAMES persistence file, or nil to use default location.&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          LoadPOIState|fDescription=   Loads persistent POI and POI names data from specified JSON files, initializing markers and setting their coalition colors. If default paths are detected, a warning is issued and no data is loaded.|parentFile=     cmm.persistence.lua|syntax=         CMM.LoadPOIState(ACTIVEPOI &amp;lt;string|nil&amp;gt;, ACTIVEPOINAMES &amp;lt;string|nil&amp;gt;)|return=         nil|returnDesc=     Returns nothing after loading and initializing POI markers and their coalition colors, or issuing a warning if default paths are used.|example=        CMM.LoadPOIState(&quot;CMM.TEMP\PERSISTENCE\CUSTOM.ACTIVEPOI.json&quot;, &quot;CMM.TEMP\PERSISTENCE\CUSTOM.ACTIVEPOINAMES.json&quot;)|exampleDesc=    Loads custom persistent POI and POI names data, creates markers with correct coalition colors, and logs success messages while skipping default path loading.|related=        |note=           |envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:01 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:LoadPOIState</comments>
		</item>
		<item>
			<title>SavePOIState</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=SavePOIState&amp;diff=6205&amp;oldid=5935</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=SavePOIState&amp;diff=6205&amp;oldid=5935</guid>
			<description>&lt;p&gt;SavePOIState – created via PowerShell script (2026-06-24T22:27:03Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SavePOIState|fDescription=   Saves the current state of CMM.ACTIVEPOI and CMM.ACTIVEPOINAMES to persistent JSON files, using provided file paths or default locations. If default paths are detected, a warning is issued and no saving occurs.|parentFile=     cmm.persistence.lua|syntax=         CMM.SavePOIState(ACTIVEPOI &amp;lt;string|nil&amp;gt;, ACTIVEPOINAMES &amp;lt;string|nil&amp;gt;)|return=         nil|returnDesc=     Returns nothing after saving both persistence files or issuing a warning if default paths are used.|example=        CMM.SavePOIState(&quot;CMM.TEMP\PERSISTENCE\CUSTOM.ACTIVEPOI.json&quot;, &quot;CMM.TEMP\PERSISTENCE\CUSTOM.ACTIVEPOINAMES.json&quot;)|exampleDesc=    Saves CMM.ACTIVEPOI and CMM.ACTIVEPOINAMES to custom persistence files, logging success messages and avoiding default path warnings.|related=        |note=           |envType= CMM&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|par1=         string or nil ACTIVEPOI|optType1=     string or nil|optName1=     ACTIVEPOI|desc1=       Path to the ACTIVEPOI persistence file, or nil to use default location.|par2=         string or nil ACTIVEPOINAMES|optType2=     string or nil|optName2=     ACTIVEPOINAMES|desc2=       Path to the ACTIVEPOINAMES persistence file, or nil to use default location.&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          SavePOIState|fDescription=   Saves the current state of CMM.ACTIVEPOI and CMM.ACTIVEPOINAMES to persistent JSON files, using provided file paths or default locations. If default paths are detected, a warning is issued and no saving occurs.|parentFile=     cmm.persistence.lua|syntax=         CMM.SavePOIState(ACTIVEPOI &amp;lt;string|nil&amp;gt;, ACTIVEPOINAMES &amp;lt;string|nil&amp;gt;)|return=         nil|returnDesc=     Returns nothing after saving both persistence files or issuing a warning if default paths are used.|example=        CMM.SavePOIState(&quot;CMM.TEMP\PERSISTENCE\CUSTOM.ACTIVEPOI.json&quot;, &quot;CMM.TEMP\PERSISTENCE\CUSTOM.ACTIVEPOINAMES.json&quot;)|exampleDesc=    Saves CMM.ACTIVEPOI and CMM.ACTIVEPOINAMES to custom persistence files, logging success messages and avoiding default path warnings.|related=        |note=           |envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:01 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:SavePOIState</comments>
		</item>
		<item>
			<title>FindPlayerUnitID</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=FindPlayerUnitID&amp;diff=6204&amp;oldid=5929</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=FindPlayerUnitID&amp;diff=6204&amp;oldid=5929</guid>
			<description>&lt;p&gt;FindPlayerUnitID – created via PowerShell script (2026-06-24T22:27:02Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          FindPlayerUnitID|fDescription=   Retrieves the unitID (or slotID) of a player by their name from the mission player list, returning the unitID if found or -1 if not present.|parentFile=     cmm.netFunctions.lua|syntax=         CMM.FindPlayerUnitID(PlayerName &amp;lt;string&amp;gt;)|return=         number|returnDesc=     Returns the unitID or slotID of the player if found, otherwise returns -1.|example=        CMM.FindPlayerUnitID(&quot;OzDeaDMeaT&quot;)|exampleDesc=    Looks up the unitID for the player named &quot;OzDeaDMeaT&quot; in the player list and returns it if found, otherwise returns -1.|related=        |note=           |envType= CMM|par1=         string PlayerName|reqType1=     string|reqName1=     PlayerName|desc1=       The name of the player as it appears in the mission editor or in-game.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          FindPlayerUnitID|fDescription=   Retrieves the unitID (or slotID) of a player by their name from the mission player list, returning the unitID if found or -1 if not present.|parentFile=     cmm.netFunctions.lua|syntax=         CMM.FindPlayerUnitID(PlayerName &amp;lt;string&amp;gt;)|return=         number &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or string&lt;/ins&gt;|returnDesc=     Returns the unitID or slotID of the player if found, otherwise returns -1.|example=        CMM.FindPlayerUnitID(&quot;OzDeaDMeaT&quot;)|exampleDesc=    Looks up the unitID for the player named &quot;OzDeaDMeaT&quot; in the player list and returns it if found, otherwise returns -1.|related=        |note=           |envType= CMM|par1=         string PlayerName|reqType1=     string|reqName1=     PlayerName|desc1=       The name of the player as it appears in the mission editor or in-game.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:00 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:FindPlayerUnitID</comments>
		</item>
		<item>
			<title>FindPlayerNetID</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=FindPlayerNetID&amp;diff=6203&amp;oldid=5928</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=FindPlayerNetID&amp;diff=6203&amp;oldid=5928</guid>
			<description>&lt;p&gt;FindPlayerNetID – created via PowerShell script (2026-06-24T22:27:02Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:27, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          FindPlayerNetID|fDescription=   Retrieves the netID of a player by their name from the mission player list, returning the netID if found or -1 if not present.|parentFile=     cmm.netFunctions.lua|syntax=         CMM.FindPlayerNetID(PlayerName &amp;lt;string&amp;gt;)|return=         number|returnDesc=     Returns the netID of the player if found, otherwise returns -1.|example=        CMM.FindPlayerNetID(&quot;OzDeaDMeaT&quot;)|exampleDesc=    Looks up the netID for the player named &quot;OzDeaDMeaT&quot; in the player list and returns it if found, otherwise returns -1.|related=        |note=           |envType= CMM|par1=         string PlayerName|reqType1=     string|reqName1=     PlayerName|desc1=       The name of the player as it appears in the mission editor or in-game.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          FindPlayerNetID|fDescription=   Retrieves the netID of a player by their name from the mission player list, returning the netID if found or -1 if not present.|parentFile=     cmm.netFunctions.lua|syntax=         CMM.FindPlayerNetID(PlayerName &amp;lt;string&amp;gt;)|return=         number &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or string&lt;/ins&gt;|returnDesc=     Returns the netID of the player if found, otherwise returns -1.|example=        CMM.FindPlayerNetID(&quot;OzDeaDMeaT&quot;)|exampleDesc=    Looks up the netID for the player named &quot;OzDeaDMeaT&quot; in the player list and returns it if found, otherwise returns -1.|related=        |note=           |envType= CMM|par1=         string PlayerName|reqType1=     string|reqName1=     PlayerName|desc1=       The name of the player as it appears in the mission editor or in-game.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:27:00 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:FindPlayerNetID</comments>
		</item>
		<item>
			<title>GetNewMarkerID</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=GetNewMarkerID&amp;diff=6202&amp;oldid=6142</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=GetNewMarkerID&amp;diff=6202&amp;oldid=6142</guid>
			<description>&lt;p&gt;GetNewMarkerID – created via PowerShell script (2026-06-24T22:27:00Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:26, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          GetNewMarkerID|fDescription=   Generates a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unique convoy group name &lt;/del&gt;by &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;incrementing &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;counter until a name not already in use is &lt;/del&gt;found&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, ensuring no name conflicts with existing groups&lt;/del&gt;.|parentFile=     cmm.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;spawnFunctions&lt;/del&gt;.lua|syntax=         CMM.GetNewMarkerID()|return=         &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;string&lt;/del&gt;|returnDesc=     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Returns a &lt;/del&gt;new &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;available convoy group name &lt;/del&gt;in the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;format &quot;Convoy#XXXX&quot; where XXXX is a zero-padded number&lt;/del&gt;, or &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;NO&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;NEW-CONVOY-NAME&quot; &lt;/del&gt;if no &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unique name can &lt;/del&gt;be found &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;after maximum retries&lt;/del&gt;.|example=        CMM.GetNewMarkerID()|exampleDesc=    &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Invokes the function to generate &lt;/del&gt;a unique &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;convoy name, &lt;/del&gt;such as &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;Convoy#0001&quot;&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ensuring it does &lt;/del&gt;not &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;conflict with existing group names &lt;/del&gt;in the mission.|related=        |note=           &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--TODO CODE REVIEW REQUIRED&lt;/del&gt;|envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          GetNewMarkerID|fDescription=   Generates a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;new unused marker ID &lt;/ins&gt;by &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;checking against existing allocated IDs and returning the first available one, with &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;fallback to -1 if no ID can be &lt;/ins&gt;found &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;after extensive retries&lt;/ins&gt;.|parentFile=     cmm.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;markerFunctions&lt;/ins&gt;.lua|syntax=         CMM.GetNewMarkerID()|return=         &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;number&lt;/ins&gt;|returnDesc=     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A &lt;/ins&gt;new &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unused marker ID that has not been allocated &lt;/ins&gt;in the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MarkerPanels table&lt;/ins&gt;, or -&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1 &lt;/ins&gt;if no &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;valid ID could &lt;/ins&gt;be found.|example=        CMM.GetNewMarkerID()|exampleDesc=    &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Returns &lt;/ins&gt;a unique &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;marker ID &lt;/ins&gt;such as &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;205&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;which has &lt;/ins&gt;not &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;been previously used &lt;/ins&gt;in the mission&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, ensuring no conflicts with existing markers&lt;/ins&gt;.|related=        |note=           |envType= CMM}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:26:58 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:GetNewMarkerID</comments>
		</item>
		<item>
			<title>MarkerDeployFatcow</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=MarkerDeployFatcow&amp;diff=6201&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=MarkerDeployFatcow&amp;diff=6201&amp;oldid=0</guid>
			<description>&lt;p&gt;MarkerDeployFatcow – created via PowerShell script (2026-06-24T22:27:00Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          MarkerDeployFatcow|fDescription=   Finds nearest player, and deploys a coalition specific fatcow|parentFile=     cmm.MapCommandFunctions.lua|syntax=         CMM.MarkerDeployFatcow(EventData &amp;lt;TBL&amp;gt;)|return=         nil|returnDesc=     Returns Nothing|example=        CMM.MarkerDeployFatcow()|exampleDesc=    Deploys a Fatcow|related=        |note=           |envType= CMM}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:26:58 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:MarkerDeployFatcow</comments>
		</item>
		<item>
			<title>MarkerNotifyAll</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=MarkerNotifyAll&amp;diff=6200&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=MarkerNotifyAll&amp;diff=6200&amp;oldid=0</guid>
			<description>&lt;p&gt;MarkerNotifyAll – created via PowerShell script (2026-06-24T22:27:00Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          MarkerNotifyAll|fDescription=   Sends a notification to all players with trigger.action.outText|parentFile=     cmm.MapCommandFunctions.lua|syntax=         CMM.MarkerNotifyAll(EventData &amp;lt;TBL&amp;gt;)|return=         nil|returnDesc=     Returns Nothing (sends a notification to all players with trigger.action.outText)|example=        CMM.MarkerNotifyAll({initiator = &amp;quot;Player1&amp;quot;, text = &amp;quot;Satellite sensors are now ready for use! :20&amp;quot;})|exampleDesc=    Triggers the end of scan cooldown and notifies players that satellite sensors are now ready for use.|related=        |note=           |envType= CMM}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:26:58 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:MarkerNotifyAll</comments>
		</item>
		<item>
			<title>MarkerRemoveGroup</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=MarkerRemoveGroup&amp;diff=6199&amp;oldid=5916</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=MarkerRemoveGroup&amp;diff=6199&amp;oldid=5916</guid>
			<description>&lt;p&gt;MarkerRemoveGroup – created via PowerShell script (2026-06-24T22:26:59Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:26, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          MarkerRemoveGroup|fDescription=   Removes a group nearest to the marker position &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;by parsing event data to determine the coalition and side, then extracts the group name from the marker text to identify which unit group should be removed.&lt;/del&gt;|parentFile=     cmm.MapCommandFunctions.lua|syntax=         CMM.MarkerRemoveGroup(EventData &amp;lt;TBL&amp;gt;)|return=         nil|returnDesc=     Returns Nothing after processing the event and removing the group based on coalition and text.|example=        CMM.MarkerRemoveGroup({pos = &amp;lt;vec3&amp;gt;, text = &quot;Remove: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BlueGroup&lt;/del&gt;&quot;)|exampleDesc=    Processes a marker removal event &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;for &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BlueGroup on the &lt;/del&gt;BLUE side at &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;position (50&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;100, 0), using &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;initiator&#039;s coalition &lt;/del&gt;to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;determine side and extract group name from &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;text&lt;/del&gt;.|related=        |note=           &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--TODO Place holder until group removal system built&lt;/del&gt;|envType= CMM|par1=         table EventData|reqType1=     table|reqName1=     EventData|desc1=       S_EVENT_MARK_REMOVED Event Table containing position, text, and initiator data; used to determine coalition, side, and group name to remove.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          MarkerRemoveGroup|fDescription=   Removes a group nearest to the marker position &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;of a given coaltion if provided&lt;/ins&gt;|parentFile=     cmm.MapCommandFunctions.lua|syntax=         CMM.MarkerRemoveGroup(EventData &amp;lt;TBL&amp;gt;)|return=         nil|returnDesc=     Returns Nothing after processing the event and removing the group based on coalition and text.|example=        CMM.MarkerRemoveGroup({pos = &amp;lt;vec3&amp;gt;, text = &quot;Remove: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;blue&lt;/ins&gt;&quot;)|exampleDesc=    Processes a marker removal event a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;BLUE side &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;group &lt;/ins&gt;at &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;positions&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reports the name of &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;group removed &lt;/ins&gt;to the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;executer of the command&lt;/ins&gt;.|related=        |note=           |envType= CMM|par1=         table EventData|reqType1=     table|reqName1=     EventData|desc1=       S_EVENT_MARK_REMOVED Event Table containing position, text, and initiator data; used to determine coalition, side, and group name to remove.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:26:57 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:MarkerRemoveGroup</comments>
		</item>
		<item>
			<title>DrawCity</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=DrawCity&amp;diff=6198&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=DrawCity&amp;diff=6198&amp;oldid=0</guid>
			<description>&lt;p&gt;DrawCity – created via PowerShell script (2026-06-24T22:26:53Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          DrawCity|fDescription=   Draws a city on the map using a predefined set of points from CMM.CITY. It allows customization of coalition ownership and marker colors. Returns the marker ID of the created city marker.|parentFile=     cmm.drawFunctions.lua|syntax=         CMM.DrawCity(name &amp;lt;string&amp;gt;, coal &amp;lt;number&amp;gt;, colourfill &amp;lt;table&amp;gt;, colourline &amp;lt;table&amp;gt;)|return=         number or nil|returnDesc=     Returns the marker ID of the created city marker, or nil if the city name is invalid.|example=        CMM.DrawCity(&amp;quot;Krymsk&amp;quot;, 2, {0,0,0.7,0.5}, {0,0,0,1})|exampleDesc=    Draws a city marker for &amp;quot;Krymsk&amp;quot; with blue fill and black outline, owned by the blue coalition.|related=        |note=           |envType= CMM|par1=         string name|reqType1=     string|reqName1=     name|desc1=       Name of the city to draw. Must correspond to a key in the CMM.CITY table.|par2=         number coal|reqType2=     number|reqName2=     coal|desc2=       Coalition number for the marker (0 = neutral, 1 = red, 2 = blue). If invalid, defaults to -1 (all).|par3=         table colourfill|reqType3=     table|reqName3=     colourfill|desc3=       RGBA color table for the marker fill|par4=         table colourline|reqType4=     table|reqName4=     colourline|desc4=       RGBA color table for the marker outline}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:26:51 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:DrawCity</comments>
		</item>
		<item>
			<title>DrawRoad</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=DrawRoad&amp;diff=6197&amp;oldid=0</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=DrawRoad&amp;diff=6197&amp;oldid=0</guid>
			<description>&lt;p&gt;DrawRoad – created via PowerShell script (2026-06-24T22:26:52Z)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          DrawRoad|fDescription=   Draws a road marker between two world positions, consisting of a dashed line with an optional directional arrow.|parentFile=     cmm.drawFunctions.lua|syntax=         CMM.DrawRoad(vec3Start&amp;lt;vec3 table&amp;gt;, vec3End&amp;lt;vec3 table&amp;gt;, colour&amp;lt;table&amp;gt;, skipOffRoad&amp;lt;boolean&amp;gt;)|return=         table|returnDesc=     A table of MarkerID numbers|example=        CMM.DrawRoad(vec3start, vec3start)|exampleDesc=    Deletes the pin with circle mark ID 42 and its associated marker from the map and clears any pending scheduled removal task for it.|related=        |note=           |envType= CMM|par1=         table vec3Start|reqType1=     table|reqName1=     vec3Start|desc1=       Start location vec3 table|par2=         table vec3End|reqType2=     table|reqName2=     vec3End|desc2=       End location vec3 table|par3=         number or nil coal|optType3=     number or nil|optName3=     coal|desc3=       Coalition number for the marker (-1 for all, 1 for Redfor, 2 for Bluefor, 3 for Neutral), default -1 (all).|par4=         number or nil lineType|optType4=     number or nil|optName4=     lineType|desc4=       LineType Number (default 3) 0  No Line , 1  Solid , 2  Dashed , 3  Dotted , 4  Dot Dash , 5  Long Dash , 6  Two Dash|par5=         table or nil colour|optType5=     table or nil|optName5=     colour|desc5=       Marker Colour Table {r,g,b,a}, default {1,1,1,0.85} (white).|par6=         string or nil routeName|optType6=     string or nil|optName6=     routeName|desc6=       Marker Colour Table {r,g,b,a}, default {1,1,1,0.85} (white).}}&lt;/div&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:26:50 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:DrawRoad</comments>
		</item>
		<item>
			<title>DrawHomePlate</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=DrawHomePlate&amp;diff=6196&amp;oldid=5861</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=DrawHomePlate&amp;diff=6196&amp;oldid=5861</guid>
			<description>&lt;p&gt;DrawHomePlate – created via PowerShell script (2026-06-24T22:26:50Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:26, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          DrawHomePlate|fDescription=   Draws a circular home‑plate marker at the supplied world position.|parentFile=     cmm.drawFunctions.lua|syntax=         CMM.DrawHomePlate(&amp;lt;argTbl table&amp;gt;)|return=         table|returnDesc=     Returns a one‑element table containing the created Marker ID.|example=        CMM.DrawHomePlate{vec={x=0,y=0,z=0}, size=300}|exampleDesc=    Draws a 300 m radius home plate centered at the origin and returns its Marker ID.|related=        |note=           |envType= CMM|par1=         table argTbl|reqType1=     table|reqName1=     argTbl|desc1=       Marker Argument Table (vec – required; optional size, fillColour, lineColour, lineType, coalition).}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          DrawHomePlate|fDescription=   Draws a circular home‑plate marker at the supplied world position.|parentFile=     cmm.drawFunctions.lua|syntax=         CMM.DrawHomePlate(&amp;lt;argTbl table&amp;gt;)|return=         table &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or nil&lt;/ins&gt;|returnDesc=     Returns a one‑element table containing the created Marker ID.|example=        CMM.DrawHomePlate{vec={x=0,y=0,z=0}, size=300}|exampleDesc=    Draws a 300 m radius home plate centered at the origin and returns its Marker ID.|related=        |note=           |envType= CMM|par1=         table argTbl|reqType1=     table|reqName1=     argTbl|desc1=       Marker Argument Table (vec – required; optional size, fillColour, lineColour, lineType, coalition).}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:26:48 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:DrawHomePlate</comments>
		</item>
		<item>
			<title>DrawZone</title>
			<link>https://cmm.ozdeadmeat.com/index.php?title=DrawZone&amp;diff=6195&amp;oldid=5857</link>
			<guid isPermaLink="false">https://cmm.ozdeadmeat.com/index.php?title=DrawZone&amp;diff=6195&amp;oldid=5857</guid>
			<description>&lt;p&gt;DrawZone – created via PowerShell script (2026-06-24T22:26:49Z)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:26, 24 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          DrawZone|fDescription=   Creates a zone marker on the map using the parameters supplied in *argTbl*.|parentFile=     cmm.drawFunctions.lua|syntax=         CMM.DrawZone(&amp;lt;argTbl table&amp;gt;)|return=         table|returnDesc=     Table of Marker ID&#039;s created for the zone.|example=        CMM.DrawZone{zoneName=&quot;Alpha&quot;, fillColour={r=1,g=0,b=0,a=0.3}, lineType=2}|exampleDesc=    Draws a red‑filled zone named “Alpha” with a dashed outline and returns the IDs of the created markers.|related=        |note=           |envType= CMM|par1=         table argTbl|reqType1=     table|reqName1=     argTbl|desc1=       Table items are at the start of the function.  Required field: zoneName. Optional fields: fillColour, lineColour, labelColour, useZoneColour, lineType, labelSize, coalition, and label.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:FunctionInfo|fName=          DrawZone|fDescription=   Creates a zone marker on the map using the parameters supplied in *argTbl*.|parentFile=     cmm.drawFunctions.lua|syntax=         CMM.DrawZone(&amp;lt;argTbl table&amp;gt;)|return=         table &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or nil&lt;/ins&gt;|returnDesc=     Table of Marker ID&#039;s created for the zone.|example=        CMM.DrawZone{zoneName=&quot;Alpha&quot;, fillColour={r=1,g=0,b=0,a=0.3}, lineType=2}|exampleDesc=    Draws a red‑filled zone named “Alpha” with a dashed outline and returns the IDs of the created markers.|related=        |note=           |envType= CMM|par1=         table argTbl|reqType1=     table|reqName1=     argTbl|desc1=       Table items are at the start of the function.  Required field: zoneName. Optional fields: fillColour, lineColour, labelColour, useZoneColour, lineType, labelSize, coalition, and label.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 24 Jun 2026 12:26:47 GMT</pubDate>
			<dc:creator>Ozdeadmeat</dc:creator>
			<comments>https://cmm.ozdeadmeat.com/index.php/Talk:DrawZone</comments>
		</item>
</channel></rss>