<?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%2Fmaps%2Fbottest2.script</id>
	<title>Script:Files:script/maps/bottest2.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%2Fmaps%2Fbottest2.script"/>
	<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/maps/bottest2.script&amp;action=history"/>
	<updated>2026-04-07T20:05:28Z</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/maps/bottest2.script&amp;diff=1921&amp;oldid=prev</id>
		<title>Wizz at 10:22, 5 November 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/maps/bottest2.script&amp;diff=1921&amp;oldid=prev"/>
		<updated>2007-11-05T10:22:21Z</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; &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//mal_NOTE: these numbers also double as the action groups that are involved with each goal. So, all actions that are in group 0, would have something to do with destroying/protecting the front door, etc.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;#define&amp;lt;/span&amp;gt; OBJECTIVE_BOTTEST_DESTROY_DOOR                0&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;#define&amp;lt;/span&amp;gt; OBJECTIVE_BOTTEST_BUILD_GENERATOR                1&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;#define&amp;lt;/span&amp;gt; OBJECTIVE_BOTTEST_HACK_SOMESHIT                2&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; [[ScriptClass:mapObject_BotTest|mapObject_BotTest]] : [[ScriptClass:mapObject_Default|mapObject_Default]] {&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;            InitObjectives();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            CompleteObjective( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; index, &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;handle&amp;lt;/span&amp;gt;            GetObjectiveMessage( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; index );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            OnGeneratorBuilt();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            OnDoorDestroyed();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;            OnShitHacked();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// Spawn masters&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            gdfBaseSpawn;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            gdfGeneratorSpawn;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            gdfHackSpawn;    &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            stroggBaseSpawn;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            stroggDoorSpawn;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            stroggGeneratorSpawn;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// Objectives&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            objective1;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            objective2;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            objective3;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt;            voManager;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 [[ScriptClass:mapObject_Base|mapObject_Base]] BotTest_MapScript() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; new [[ScriptClass:mapObject_BotTest|mapObject_BotTest]];&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:mapObject_BotTest|mapObject_BotTest]]::preinit() {&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:mapObject_BotTest|mapObject_BotTest]]::InitObjectives() {&lt;br /&gt;
     gameRules.[[ScriptEvent:setWinningTeam|setWinningTeam]]( stroggTeam );&lt;br /&gt;
     gdfTeam.SetRespawnWait( 1 );&lt;br /&gt;
     stroggTeam.SetRespawnWait( 1 );&lt;br /&gt;
     CreateRespawnTimeThread( gdfTeam );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// Set up the spawn points&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//&amp;lt;/span&amp;gt;&lt;br /&gt;
     gdfBaseSpawn = worldspawn.[[ScriptEvent:getEntityKey|getEntityKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;script_gdf_base_spawn&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     gdfBaseSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( gdfTeam );&lt;br /&gt;
 &lt;br /&gt;
     gdfGeneratorSpawn = worldspawn.[[ScriptEvent:getEntityKey|getEntityKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;script_gdf_generator_spawn&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     gdfGeneratorSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     gdfHackSpawn = worldspawn.[[ScriptEvent:getEntityKey|getEntityKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;script_gdf_hack_spawn&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     gdfHackSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     stroggBaseSpawn = worldspawn.[[ScriptEvent:getEntityKey|getEntityKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;script_strogg_base_spawn&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     stroggBaseSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     stroggDoorSpawn = worldspawn.[[ScriptEvent:getEntityKey|getEntityKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;script_strogg_door_spawn&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     stroggDoorSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( stroggTeam );&lt;br /&gt;
 &lt;br /&gt;
     stroggGeneratorSpawn = worldspawn.[[ScriptEvent:getEntityKey|getEntityKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;script_strogg_generator_spawn&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     stroggGeneratorSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// Set up the objectives&amp;lt;/span&amp;gt;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//&amp;lt;/span&amp;gt;&lt;br /&gt;
     objective1            = worldspawn.[[ScriptEvent:getEntityKey|getEntityKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;script_obj1_marker&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     objective2            = worldspawn.[[ScriptEvent:getEntityKey|getEntityKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;script_obj2_marker&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     objective3            = worldspawn.[[ScriptEvent:getEntityKey|getEntityKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;script_obj3_marker&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     objective1.vStartObjective();&lt;br /&gt;
     objective2.vStartObjective();&lt;br /&gt;
     objective3.vStartObjective();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// Set up the objectives&amp;lt;/span&amp;gt;&lt;br /&gt;
     objManager.[[ScriptEvent:setNextObjective|setNextObjective]]( gdfTeam, OBJECTIVE_BOTTEST_DESTROY_DOOR );&lt;br /&gt;
     objManager.[[ScriptEvent:setNextObjective|setNextObjective]]( stroggTeam, OBJECTIVE_BOTTEST_DESTROY_DOOR );&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//mal: setup the bot stuff....&amp;lt;/span&amp;gt;&lt;br /&gt;
     objManager.[[ScriptEvent:setPrimaryTeamAction|setPrimaryTeamAction]]( STROGG, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;gdf_plant_1&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     objManager.[[ScriptEvent:setPrimaryTeamAction|setPrimaryTeamAction]]( GDF, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;gdf_plant_1&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     objManager.[[ScriptEvent:setAttackingTeam|setAttackingTeam]]( GDF );&lt;br /&gt;
     objManager.[[ScriptEvent:setBotCriticalClass|setBotCriticalClass]]( GDF, SOLDIER );&lt;br /&gt;
     objManager.[[ScriptEvent:setBotCriticalClass|setBotCriticalClass]]( STROGG, ENGINEER );&lt;br /&gt;
     objManager.[[ScriptEvent:setBotSightDist|setBotSightDist]]( 3000.0f );&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:mapObject_BotTest|mapObject_BotTest]]::CompleteObjective( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; index, &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;if&amp;lt;/span&amp;gt; ( index == OBJECTIVE_BOTTEST_DESTROY_DOOR ) {&lt;br /&gt;
         OnDoorDestroyed();&lt;br /&gt;
         objManager.[[ScriptEvent:setNextObjective|setNextObjective]]( gdfTeam, OBJECTIVE_BOTTEST_BUILD_GENERATOR );&lt;br /&gt;
         objManager.[[ScriptEvent:setNextObjective|setNextObjective]]( stroggTeam, OBJECTIVE_BOTTEST_BUILD_GENERATOR );&lt;br /&gt;
     }&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( index == OBJECTIVE_BOTTEST_BUILD_GENERATOR ) {&lt;br /&gt;
         OnGeneratorBuilt();&lt;br /&gt;
         objManager.[[ScriptEvent:setNextObjective|setNextObjective]]( gdfTeam, OBJECTIVE_BOTTEST_HACK_SOMESHIT );&lt;br /&gt;
         objManager.[[ScriptEvent:setNextObjective|setNextObjective]]( stroggTeam, OBJECTIVE_BOTTEST_HACK_SOMESHIT );&lt;br /&gt;
     }&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( index == OBJECTIVE_BOTTEST_HACK_SOMESHIT ) {&lt;br /&gt;
         OnShitHacked();&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;handle&amp;lt;/span&amp;gt; [[ScriptClass:mapObject_BotTest|mapObject_BotTest]]::GetObjectiveMessage( &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;if&amp;lt;/span&amp;gt; ( index == OBJECTIVE_BOTTEST_DESTROY_DOOR ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; sys.[[ScriptEvent:localizeString|localizeString]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;maps/island/obj_destroyed&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;if&amp;lt;/span&amp;gt; ( index == OBJECTIVE_BOTTEST_BUILD_GENERATOR ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; sys.[[ScriptEvent:localizeString|localizeString]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;maps/island/obj_constructed&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;if&amp;lt;/span&amp;gt; ( index == OBJECTIVE_BOTTEST_HACK_SOMESHIT ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; sys.[[ScriptEvent:localizeString|localizeString]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;maps/island/obj_transmitted&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;return&amp;lt;/span&amp;gt; g_locStr_BadObjective;&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:mapObject_BotTest|mapObject_BotTest]]::OnDoorDestroyed() {&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//mal: theses are bot only cmds that tell the bots an objective has been completed.&amp;lt;/span&amp;gt;&lt;br /&gt;
     objManager.[[ScriptEvent:deactivateBotActionGroup|deactivateBotActionGroup]]( OBJECTIVE_BOTTEST_DESTROY_DOOR );&lt;br /&gt;
     objManager.[[ScriptEvent:activateBotActionGroup|activateBotActionGroup]]( OBJECTIVE_BOTTEST_BUILD_GENERATOR );&lt;br /&gt;
     objManager.[[ScriptEvent:botUpdateForEvent|botUpdateForEvent]]( NOTEAM, NOCLASS, ACTION_STATE_NULL );&lt;br /&gt;
     objManager.[[ScriptEvent:setPrimaryTeamAction|setPrimaryTeamAction]]( STROGG, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;gdf_build_1&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     objManager.[[ScriptEvent:setPrimaryTeamAction|setPrimaryTeamAction]]( GDF, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;gdf_build_1&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     objManager.[[ScriptEvent:setBotCriticalClass|setBotCriticalClass]]( STROGG, NOCLASS );&lt;br /&gt;
     objManager.[[ScriptEvent:setBotCriticalClass|setBotCriticalClass]]( GDF, ENGINEER );&lt;br /&gt;
     objManager.[[ScriptEvent:setTeamNeededClass|setTeamNeededClass]]( GDF, COVERTOPS, SOLDIER, 1, false, false ); &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//mal: GDF need a covert, pick a bot to switch the next time he respawns.&amp;lt;/span&amp;gt;&lt;br /&gt;
     objManager.[[ScriptEvent:setTeamNeededClass|setTeamNeededClass]]( STROGG, COVERTOPS, ENGINEER, 1, false, false ); &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//mal: STROGG want a covert, pick a bot to switch the next time he respawns.&amp;lt;/span&amp;gt;&lt;br /&gt;
     objManager.[[ScriptEvent:teamSuicideIfNotNearAction|teamSuicideIfNotNearAction]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;gdf_build_1&amp;quot;&amp;lt;/span&amp;gt;, 3000.0f, STROGG ); &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//mal: this is just for testing - this is NOT a good range to use for this cmd!&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
     voManager.vObjectiveSuccess( OBJECTIVE_BOTTEST_DESTROY_DOOR, gdfTeam );&lt;br /&gt;
     voManager.vSetCurrentObjective( OBJECTIVE_BOTTEST_BUILD_GENERATOR );&lt;br /&gt;
 &lt;br /&gt;
     objective1.vFinishObjective();&lt;br /&gt;
 &lt;br /&gt;
     stroggDoorSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; );&lt;br /&gt;
     stroggGeneratorSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( stroggTeam );&lt;br /&gt;
 &lt;br /&gt;
     gdfBaseSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; );&lt;br /&gt;
     gdfGeneratorSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( gdfTeam );&lt;br /&gt;
 &lt;br /&gt;
     gdfTeam.SetRespawnWait( 1 );&lt;br /&gt;
     ResetRespawnTimeThread();&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:mapObject_BotTest|mapObject_BotTest]]::OnGeneratorBuilt() {&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//mal: theses are bot only cmds that tell the bots an objective has been completed.	&amp;lt;/span&amp;gt;&lt;br /&gt;
     objManager.[[ScriptEvent:deactivateBotActionGroup|deactivateBotActionGroup]]( OBJECTIVE_BOTTEST_BUILD_GENERATOR );&lt;br /&gt;
     objManager.[[ScriptEvent:activateBotActionGroup|activateBotActionGroup]]( OBJECTIVE_BOTTEST_HACK_SOMESHIT );&lt;br /&gt;
     objManager.[[ScriptEvent:botUpdateForEvent|botUpdateForEvent]]( NOTEAM, NOCLASS,ACTION_STATE_NULL );&lt;br /&gt;
     objManager.[[ScriptEvent:setPrimaryTeamAction|setPrimaryTeamAction]]( STROGG, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;gdf_hack_1&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     objManager.[[ScriptEvent:setPrimaryTeamAction|setPrimaryTeamAction]]( GDF, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;gdf_hack_1&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     objManager.[[ScriptEvent:setBotCriticalClass|setBotCriticalClass]]( GDF, COVERTOPS );&lt;br /&gt;
     objManager.[[ScriptEvent:setBotCriticalClass|setBotCriticalClass]]( STROGG, NOCLASS );&lt;br /&gt;
     objManager.[[ScriptEvent:setTeamNeededClass|setTeamNeededClass]]( GDF, FIELDOPS, ENGINEER, 1, false, false ); &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//mal: we want a fieldops for the last stage, just to show off their abilities.&amp;lt;/span&amp;gt;&lt;br /&gt;
     objManager.[[ScriptEvent:setTeamNeededClass|setTeamNeededClass]]( GDF, COVERTOPS, SOLDIER, 1, true, true ); &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//mal: if we dont have a covert by now, have a bot suicide and switch over ASAP.&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
     voManager.vObjectiveSuccess( OBJECTIVE_BOTTEST_BUILD_GENERATOR, gdfTeam );&lt;br /&gt;
     voManager.vSetCurrentObjective( OBJECTIVE_BOTTEST_HACK_SOMESHIT );&lt;br /&gt;
 &lt;br /&gt;
     objective2.vFinishObjective();&lt;br /&gt;
 &lt;br /&gt;
     stroggGeneratorSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; );&lt;br /&gt;
     stroggBaseSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( stroggTeam );&lt;br /&gt;
 &lt;br /&gt;
     gdfGeneratorSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; );&lt;br /&gt;
     gdfHackSpawn.[[ScriptEvent:setGameTeam|setGameTeam]]( gdfTeam );&lt;br /&gt;
 &lt;br /&gt;
     gdfTeam.SetRespawnWait( 1 );&lt;br /&gt;
     ResetRespawnTimeThread();&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:mapObject_BotTest|mapObject_BotTest]]::OnShitHacked() {&lt;br /&gt;
     voManager.vObjectiveSuccess( OBJECTIVE_BOTTEST_HACK_SOMESHIT, gdfTeam );&lt;br /&gt;
 &lt;br /&gt;
     objective3.vFinishObjective();&lt;br /&gt;
 &lt;br /&gt;
     gameRules.[[ScriptEvent:setWinningTeam|setWinningTeam]]( gdfTeam );&lt;br /&gt;
     gameRules.[[ScriptEvent:endGame|endGame]]();&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Wizz</name></author>
		
	</entry>
</feed>