<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Script%3AFiles%3Ascript%2Fmisc%2Frules.script</id>
	<title>Script:Files:script/misc/rules.script - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Script%3AFiles%3Ascript%2Fmisc%2Frules.script"/>
	<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/misc/rules.script&amp;action=history"/>
	<updated>2026-04-07T23:41:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.splashdamage.com/index.php?title=Script:Files:script/misc/rules.script&amp;diff=1873&amp;oldid=prev</id>
		<title>Wizz at 10:08, 5 November 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/misc/rules.script&amp;diff=1873&amp;oldid=prev"/>
		<updated>2007-11-05T10:08:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; [[ScriptClass:rules|rules]] {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            preinit();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            OnConnect( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            OnGameEnd();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            OnTimeLimitHit();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            GetMaxXPInCategory( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; category, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; fromBase );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            GetMinXPInCategory( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; category, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; fromBase );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            GetBestStatEntry( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt; statHandle );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            CalcAccuracy();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            CalcHighestLevel();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            WriteStats();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            PushStat( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt; medalStat, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; value );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalHighXPStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalLowXPStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalSoldierStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalMedicStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalEngineerStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalFieldOpsStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalCovertOpsStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalWeaponsStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalBattleSenseStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalVehicleStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalHighAccuracyStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalLowAccuracyStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalRewardsStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalKillsStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalDamageStat;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt;            medalTeamKillsStat;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;            cachedResult;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:rules|rules]]::preinit() {&lt;br /&gt;
     gameRules = &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;self&amp;lt;/span&amp;gt;;&lt;br /&gt;
 &lt;br /&gt;
     medalHighXPStat            = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_high_xp&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalLowXPStat            = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_low_xp&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalSoldierStat        = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_soldier&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalMedicStat            = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_medic&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalEngineerStat        = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_engineer&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalFieldOpsStat        = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_fieldops&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalCovertOpsStat        = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_covertops&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalWeaponsStat        = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_weapons&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalBattleSenseStat    = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_battlesense&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalVehicleStat        = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_vehicle&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalHighAccuracyStat    = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_high_accuracy&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalLowAccuracyStat    = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_low_accuracy&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalRewardsStat        = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_rewards&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalKillsStat            = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_kills&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalDamageStat            = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_damage&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     medalTeamKillsStat        = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;medal_teamkills&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:rules|rules]]::OnConnect( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p ) {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:rules|rules]]::OnGameEnd() {&lt;br /&gt;
     WriteStats();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; [[ScriptClass:rules|rules]]::GetBestStatEntry( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt; statHandle ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; best;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; bestValue = -1;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; index;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; maxClients = sys.[[ScriptEvent:getMaxClients|getMaxClients]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;for&amp;lt;/span&amp;gt; ( index = 0; index &amp;lt; maxClients; index++ ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p = sys.[[ScriptEvent:getClient|getClient]]( index );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( p == &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             continue;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; currentValue = sys.[[ScriptEvent:getStatValue|getStatValue]]( statHandle, index );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( currentValue == 0.f ) {&lt;br /&gt;
             continue;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( currentValue &amp;gt; bestValue ) {&lt;br /&gt;
             bestValue = currentValue;&lt;br /&gt;
             best = p;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     cachedResult = bestValue;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; best;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; [[ScriptClass:rules|rules]]::GetMaxXPInCategory( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; category, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; fromBase ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; best;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; bestValue = -1;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; index;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; maxClients = sys.[[ScriptEvent:getMaxClients|getMaxClients]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;for&amp;lt;/span&amp;gt; ( index = 0; index &amp;lt; maxClients; index++ ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p = sys.[[ScriptEvent:getClient|getClient]]( index );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( p == &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             continue;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; currentValue = p.[[ScriptEvent:getXP|getXP]]( category, fromBase );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( currentValue == 0.f ) {&lt;br /&gt;
             continue;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( currentValue &amp;gt; bestValue ) {&lt;br /&gt;
             bestValue = currentValue;&lt;br /&gt;
             best = p;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     cachedResult = bestValue;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; best;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; [[ScriptClass:rules|rules]]::GetMinXPInCategory( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; category, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; fromBase ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; best;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; bestValue = 999999999999.f;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; index;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; maxClients = sys.[[ScriptEvent:getMaxClients|getMaxClients]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;for&amp;lt;/span&amp;gt; ( index = 0; index &amp;lt; maxClients; index++ ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p = sys.[[ScriptEvent:getClient|getClient]]( index );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( p == &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             continue;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; currentValue = p.[[ScriptEvent:getXP|getXP]]( category, fromBase );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( currentValue != 0.f &amp;amp;&amp;amp; currentValue &amp;lt; bestValue ) {&lt;br /&gt;
             bestValue = currentValue;&lt;br /&gt;
             best = p;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     cachedResult = bestValue;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; best;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:rules|rules]]::CalcHighestLevel() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; best;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; bestValue = 0.f;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; index;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; maxClients = sys.[[ScriptEvent:getMaxClients|getMaxClients]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;for&amp;lt;/span&amp;gt; ( index = 0; index &amp;lt; maxClients; index++ ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p = sys.[[ScriptEvent:getClient|getClient]]( index );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( p == &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             continue;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; currentValue = 0.f;&lt;br /&gt;
         currentValue = currentValue + p.[[ScriptEvent:getProficiency|getProficiency]]( g_proficiencySoldier );&lt;br /&gt;
         currentValue = currentValue + p.[[ScriptEvent:getProficiency|getProficiency]]( g_proficiencyMedic );&lt;br /&gt;
         currentValue = currentValue + p.[[ScriptEvent:getProficiency|getProficiency]]( g_proficiencyEngineer );&lt;br /&gt;
         currentValue = currentValue + p.[[ScriptEvent:getProficiency|getProficiency]]( g_proficiencyFieldOps );&lt;br /&gt;
         currentValue = currentValue + p.[[ScriptEvent:getProficiency|getProficiency]]( g_proficiencyCovertOps );&lt;br /&gt;
         currentValue = currentValue + p.[[ScriptEvent:getProficiency|getProficiency]]( g_proficiencyLightWeapons );&lt;br /&gt;
         currentValue = currentValue + p.[[ScriptEvent:getProficiency|getProficiency]]( g_proficiencyBattleSense );&lt;br /&gt;
         currentValue = currentValue + p.[[ScriptEvent:getProficiency|getProficiency]]( g_proficiencyVehicle );&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( currentValue &amp;gt; bestValue ) {&lt;br /&gt;
             bestValue = currentValue;&lt;br /&gt;
             best = p;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     PushStat( medalRewardsStat, best, bestValue );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:rules|rules]]::CalcAccuracy() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; best;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; bestValue = 0.f;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; worst;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; worstValue = 999999999999.f;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt; totalShotsFired = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;total_shots_fired&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt; totalShotsHit = sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;total_shots_hit&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; index;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; maxClients = sys.[[ScriptEvent:getMaxClients|getMaxClients]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;for&amp;lt;/span&amp;gt; ( index = 0; index &amp;lt; maxClients; index++ ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p = sys.[[ScriptEvent:getClient|getClient]]( index );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( p == &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             continue;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; shotsFired = sys.[[ScriptEvent:getStatValue|getStatValue]]( totalShotsFired, index );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( shotsFired == 0.f ) {&lt;br /&gt;
             continue;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; accuracy = sys.[[ScriptEvent:getStatValue|getStatValue]]( totalShotsHit, index ) / shotsFired;&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( accuracy &amp;gt; bestValue ) {&lt;br /&gt;
             bestValue = accuracy;&lt;br /&gt;
             best = p;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( accuracy &amp;lt; worstValue ) {&lt;br /&gt;
             worstValue = accuracy;&lt;br /&gt;
             worst = p;&lt;br /&gt;
         }&lt;br /&gt;
     }    &lt;br /&gt;
 &lt;br /&gt;
     PushStat( medalHighAccuracyStat, best, bestValue * 100.f );&lt;br /&gt;
     PushStat( medalLowAccuracyStat, worst, worstValue * 100.f );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// these must be kept in the same order as the playerReward_e enum in sdNetManager.h&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:rules|rules]]::WriteStats() {&lt;br /&gt;
     PushStat( medalHighXPStat, GetMaxXPInCategory( -1, false ), cachedResult );&lt;br /&gt;
     PushStat( medalLowXPStat, GetMinXPInCategory( -1, false ), cachedResult );&lt;br /&gt;
 &lt;br /&gt;
     PushStat( medalSoldierStat, GetMaxXPInCategory( g_proficiencySoldier, true ), cachedResult );&lt;br /&gt;
     PushStat( medalMedicStat, GetMaxXPInCategory( g_proficiencyMedic, true ), cachedResult );&lt;br /&gt;
     PushStat( medalEngineerStat, GetMaxXPInCategory( g_proficiencyEngineer, true ), cachedResult );&lt;br /&gt;
     PushStat( medalFieldOpsStat, GetMaxXPInCategory( g_proficiencyFieldOps, true ), cachedResult );&lt;br /&gt;
     PushStat( medalCovertOpsStat, GetMaxXPInCategory( g_proficiencyCovertOps, true ), cachedResult );&lt;br /&gt;
     PushStat( medalWeaponsStat, GetMaxXPInCategory( g_proficiencyLightWeapons, true ), cachedResult );&lt;br /&gt;
     PushStat( medalBattleSenseStat, GetMaxXPInCategory( g_proficiencyBattleSense, true ), cachedResult );&lt;br /&gt;
     PushStat( medalVehicleStat, GetMaxXPInCategory( g_proficiencyVehicle, true ), cachedResult );&lt;br /&gt;
 &lt;br /&gt;
     CalcAccuracy();&lt;br /&gt;
     CalcHighestLevel();&lt;br /&gt;
 &lt;br /&gt;
     PushStat( medalKillsStat, GetBestStatEntry( sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;total_kills&amp;quot;&amp;lt;/span&amp;gt; ) ), cachedResult );&lt;br /&gt;
     PushStat( medalDamageStat, GetBestStatEntry( sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;total_damage&amp;quot;&amp;lt;/span&amp;gt; ) ), cachedResult );&lt;br /&gt;
     PushStat( medalTeamKillsStat, GetBestStatEntry( sys.[[ScriptEvent:allocStatInt|allocStatInt]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;total_team_kills&amp;quot;&amp;lt;/span&amp;gt; ) ), cachedResult );&lt;br /&gt;
 &lt;br /&gt;
     sys.[[ScriptEvent:sendEndGameStats|sendEndGameStats]]();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:rules|rules]]::OnTimeLimitHit() {&lt;br /&gt;
     objManager.OnTimeLimitHit();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:rules|rules]]::PushStat( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt; medalStat, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; p, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; value ) {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( p != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
         sys.[[ScriptEvent:increaseStatInt|increaseStatInt]]( medalStat, p.[[ScriptEvent:getEntityNumber|getEntityNumber]](), 1 );&lt;br /&gt;
     }&lt;br /&gt;
     sys.[[ScriptEvent:pushEndGameStat|pushEndGameStat]]( p, value );&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Wizz</name></author>
		
	</entry>
</feed>