home *** CD-ROM | disk | FTP | other *** search
/ CD Action 40 / cdactionmagazinecoverdisc401999.iso / civ / setup / data / civdemo.ctp / ctp_data / default / gamedata / tutorial_triggers.slc < prev    next >
Text File  |  1999-06-23  |  32KB  |  1,121 lines

  1. /////////////////////
  2. /////////////////////
  3. ///BEGIN TUTORIAL////
  4. /////////////////////
  5. /////////////////////
  6. trigger 'TBeginTutorial' when(g.player == g.tutorialplayer) {
  7.     Message(1, 'KillAllMessages');
  8.     Message(1, 'DisableTriggers2');
  9.     Message(1, 'DisableTriggers3');
  10.     Message(1, 'DisableTriggers4');
  11. //    SetTimerGranularity(1);
  12.  
  13.     if(player.cities == 0) {
  14.         Message(g.tutorialplayer, 'MWelcomeCTP');
  15.     }    
  16.     if(token >= -2) {
  17.         DisableTrigger('TBeginTutorial');
  18.     }
  19.  
  20.     DisableTileImprovementButton();
  21.     DisableScreensButton();
  22.     DisableChooseResearch();
  23.     GrantAdvance(g.tutorialplayer, 1);
  24.     GrantAdvance(g.tutorialplayer, 0);
  25.     GrantAdvance(g.tutorialplayer, 4);
  26.     GrantAdvance(g.tutorialplayer, 15);
  27.  
  28.     choose_research_disabled = 1;
  29. }
  30.  
  31. TypeLocation settler_moved_here_location;
  32.  
  33. trigger 'TMoveSettler' when (g.player == g.tutorialplayer && unit.moved && unit.type == UnitType("UNIT_SETTLER") && 
  34. unit.owner == g.tutorialplayer && player.cities == 0) {
  35. //MMoveSettler
  36.     Message(1, 'KillAllMessages');
  37.     DisableTrigger('TMoveSettler');
  38.  
  39.     ExtractLocation(unit, settler_moved_here_location);
  40.  
  41.     if(HasRiver(settler_moved_here_location)) {
  42.         Message(g.tutorialplayer, 'MOnRiver');
  43.     } else {
  44.         Message(g.tutorialplayer, 'MCantMoveMore');
  45.     }    
  46.     PlaySound("SOUND_ID_GENERALSUCCEED");
  47.     token = -4;
  48. }
  49.  
  50.  
  51. trigger 'TCycledTurn' when (g.player == g.tutorialplayer && g.year > 0 && player.cities == 0 && token == -4) {    
  52. //MCantMoveMore
  53.     Message(1, 'KillAllMessages');
  54.     Message(g.tutorialplayer, 'MGoal1');
  55.     DisableTrigger('TCycledTurn');
  56.     token = -3;
  57. }
  58.  
  59. trigger 'TCityNotBuilding' when (g.player == g.tutorialplayer && city.buildingnothing && player.cities == 1) {
  60.     if(token != -1) {
  61.     Message(1, 'KillAllMessages');
  62.     Message(g.tutorialplayer, 'MGoal2');
  63.     }
  64.         if(player.cities > 1) {
  65.             DisableTrigger('TCityNotBuilding');
  66.         }
  67. }
  68.  
  69. trigger 'TCityBuilt' when (g.player == g.tutorialplayer && city.built && player.cities == 1) {
  70. //MHowToBuildCity
  71.     DisableTrigger('TCityBuilt');
  72.     Message(1, 'KillAllMessages');
  73.     
  74. //    if(city.owner == g.tutorialplayer) {
  75.     Message(g.tutorialplayer, 'MGoal1Accomplished');
  76.     PlaySound("SOUND_ID_GENERALSUCCEED");
  77. //    }
  78.  
  79.     token = -2;
  80. }
  81.  
  82. trigger 'TCityBuildingUnit' when (g.player == g.tutorialplayer && city.buildingunit == UnitType("UNIT_WARRIOR") && 
  83. player.cities == 1) {
  84. //MGoal2
  85.     Message(1, 'KillAllMessages');
  86.     DisableTrigger('TCityBuildingUnit'); 
  87.  
  88.     Message(g.tutorialplayer, 'MTurnsToComplete');
  89.     PlaySound("SOUND_ID_GENERALSUCCEED");
  90.     Attract("ControlPanelWindow.CityUnitSelectedTabGroup.ProductionTab.pane.ProductionTabWallpaper.InfoHolder.TurnText");
  91.     city_is_building_unit = 1;
  92.     build_defender_cue = 1;
  93.     //start stall message counter
  94.     stall_message = 1;
  95.  
  96.     DisableTrigger('TCityNotBuilding');
  97.  
  98.     token = -1;
  99. }
  100.  
  101. trigger 'TStall1' when (g.player == g.tutorialplayer && keep_hitting_n == 1 && token < 1) {
  102. //MBuildProgress
  103.     Message(1, 'KillAllMessages');
  104.     DisableTrigger('TStall1');
  105.  
  106.     choose_research_disabled = 0;
  107.     EnableChooseResearch();
  108.     
  109.     Message(g.tutorialplayer, 'MStall1');
  110. }
  111.  
  112. trigger 'TStall2' when (g.player == g.tutorialplayer && keep_hitting_n == 2 && token < 1) {
  113. //MStall1
  114.     Message(1, 'KillAllMessages');
  115.     DisableTrigger('TStall2');
  116.  
  117.     Message(g.tutorialplayer, 'MStall4');
  118. }
  119.  
  120. trigger 'TGoal2Accomplished' when(g.player == g.tutorialplayer && unit.built && city_is_building_unit && player.cities < 2) {
  121. //trigger 'TGoal2Accomplished' when(g.player == g.tutorialplayer && unit.built == UnitType("UNIT_WARRIOR") && player.cities == 1) {
  122. //MBuildProgress
  123.     Message(1, 'KillAllMessages');
  124.     DisableTrigger('TGoal2Accomplished');
  125.     EnableChooseResearch();
  126.  
  127.     AddCityByIndex(g.tutorialplayer, 0);
  128.     ClearBuildQueue(city);
  129.     Message(g.tutorialplayer, 'MGoal2Accomplished');    
  130.     PlaySound("SOUND_ID_GENERALSUCCEED");
  131.     //reset stall counter
  132.     stall_message = 0;    
  133.     keep_hitting_n = 0;
  134.     
  135.     choose_research_disabled = 1;
  136.     token = 1;
  137. }
  138.  
  139. trigger 'TUnitOutOfCity' when (g.player == g.tutorialplayer && unit.moved && player.cities == 1 && player.totalunits >= 1) {
  140. //MExploreMap
  141.     Message(1, 'KillAllMessages');
  142.     DisableTrigger('TUnitOutOfCity');
  143.     
  144.     Message(g.tutorialplayer, 'MDeselect');
  145.     PlaySound("SOUND_ID_GENERALSUCCEED");
  146.  
  147.     token = 2;
  148. }
  149.  
  150. trigger 'TCityBuildingSilo' when (g.player == g.tutorialplayer && city.building == BuildingType("IMPROVE_SILO") && 
  151. player.cities == 1 && token < 5) {
  152. //MGoal3
  153.     Message(1, 'KillAllMessages');
  154.     DisableTrigger('TCityBuildingSilo');
  155.     Message(1, 'DisableTriggers1');
  156.     EnableChooseResearch();
  157.  
  158.     Message(g.tutorialplayer, 'MContinueExploring');
  159.     PlaySound("SOUND_ID_GENERALSUCCEED");
  160.  
  161.     //start stall message counter
  162.     stall_message = 1;
  163.  
  164.     token = 3;
  165. }
  166.  
  167. trigger 'TStall4' when (g.player == g.tutorialplayer && keep_hitting_n == 2 && token == 3) {
  168. //MContinueExploring
  169.     Message(1, 'KillAllMessages');
  170.     DisableTrigger('TStall4');
  171.  
  172.     choose_research_disabled = 0;
  173. //    EnableChooseResearch();
  174.     Message(g.tutorialplayer, 'MStall1');
  175. }
  176.  
  177. trigger 'TStall5' when (g.player == g.tutorialplayer && keep_hitting_n == 4 && token == 3) {
  178.     Message(1, 'KillAllMessages');
  179.     DisableTrigger('TStall5');
  180.  
  181. //    SetResearching(g.tutorialplayer, 4);
  182. //    GrantAdvance(g.tutorialplayer, 4);
  183.     Message(g.tutorialplayer, 'MStall2');
  184. //    SetResearching(g.tutorialplayer, 15);
  185. }
  186.      
  187. trigger 'TStall6' when (g.player == g.tutorialplayer && keep_hitting_n == 6 && token == 3) {
  188.     Message(1, 'KillAllMessages');
  189.     DisableTrigger('TStall6');
  190.  
  191.     Message(g.tutorialplayer, 'MStall6');
  192. }
  193.     
  194. trigger 'T1EncoreUneFois' when (g.player == g.tutorialplayer && keep_hitting_n == 8 && token == 3) {
  195.     Message(1, 'KillAllMessages');
  196.     DisableTrigger('T1EncoreUneFois');
  197.  
  198.     Message(g.tutorialplayer, 'MContinueExploring');
  199. }
  200.     
  201. trigger 'TGoal3Accomplished' when (g.player == g.tutorialplayer && building.built == BuildingType("IMPROVE_SILO")) {
  202. //MContinueExploring
  203.     Message(1, 'KillAllMessages');
  204.     DisableTrigger('TGoal3Accomplished');
  205.  
  206.     Message(g.tutorialplayer, 'MGoal3Accomplished');
  207.     PlaySound("SOUND_ID_GENERALSUCCEED");
  208.  
  209.     //reset stall message counter
  210.     stall_message = 0;
  211.     keep_hitting_n = 0;
  212.  
  213. //    DisableChooseResearch();
  214.     token = 4;
  215. }
  216.  
  217. trigger 'TStartedSettler' when (g.player == g.tutorialplayer && city.buildingunit == UnitType("UNIT_SETTLER") && token == 4) {
  218. //MGoal4
  219.     Message(1, 'KillAllMessages');
  220.     DisableTrigger('TStartedSettler');
  221.  
  222.         if(city.population < 2) {
  223.             AddPops(city, 1);
  224.         }
  225.             
  226. //    if(token < 4) {
  227.         Message(1, 'DisableTriggers1');
  228. //    }
  229.  
  230.     Message(g.tutorialplayer, 'MContinueExploring2');
  231.     PlaySound("SOUND_ID_GENERALSUCCEED");
  232.  
  233.     //start stall message counter
  234.     stall_message = 1;
  235.  
  236.     token = 5;
  237. }
  238.  
  239. trigger 'TStall7' when (g.player == g.tutorialplayer && keep_hitting_n == 2 && token == 5) {
  240. //MContinueExploring
  241.     Message(1, 'KillAllMessages');
  242.     DisableTrigger('TStall7');
  243.  
  244.     Message(g.tutorialplayer, 'MStall5');
  245. }
  246.  
  247. trigger 'TStall8' when (g.player == g.tutorialplayer && keep_hitting_n == 4 && token == 5) {
  248. //MStall1
  249.     Message(1, 'KillAllMessages');
  250.     DisableTrigger('TStall8');
  251.  
  252.     Message(g.tutorialplayer, 'MStall6');
  253. }
  254.  
  255. trigger 'TEncoreUneFois' when (g.player == g.tutorialplayer && keep_hitting_n == 7 && token == 5) {
  256. //MStall2 
  257.     Message(1, 'KillAllMessages');
  258.     DisableTrigger('TEncoreUneFois');
  259.  
  260.     Message(g.tutorialplayer, 'MContinueExploring2');
  261. }
  262.  
  263. trigger 'TNewSettlerBuilt' when (g.player == g.tutorialplayer && unit.built && unit.type == UnitType("UNIT_SETTLER")) {
  264. //MContinueExploring2
  265.     Message(1, 'KillAllMessages');
  266.     DisableTrigger('TNewSettlerBuilt');
  267.  
  268.     if(token == 5) {
  269.         Message(g.tutorialplayer, 'MDeselect2');
  270.         PlaySound("SOUND_ID_GENERALSUCCEED");
  271.         //reset stall message counter
  272.         stall_message = 0;
  273.         keep_hitting_n = 0;
  274.     }
  275.     token = 6;
  276. }
  277.  
  278. trigger 'TNewSettlerMoved' when (g.player == g.tutorialplayer && unit.moved && unit.type == UnitType("UNIT_SETTLER") && player.cities == 1) {
  279. //MNewSettlerBuilt
  280.     Message(1, 'KillAllMessages');
  281.     DisableTrigger('TNewSettlerMoved');
  282.  
  283.     if(token == 6) {
  284.         Message(g.tutorialplayer, 'MFindGoodSpot');
  285.     }
  286.  
  287.     //start stall message counter
  288.     stall_message = 1;
  289.  
  290.     token = 7;
  291. }
  292.  
  293. trigger 'TCantSettleNow' when (g.player == g.tutorialplayer && special.cantsettlenomovement) {
  294.     DisableTrigger('TCantSettleNow');
  295.     Message(g.tutorialplayer, 'ACantSettleNow');
  296. }
  297.  
  298. trigger 'TStall9' when (g.player == g.tutorialplayer && keep_hitting_n == 2 && token == 7) {
  299. //MBuildSecondCity
  300.     Message(1, 'KillAllMessages');
  301.     DisableTrigger('TStall9');
  302.  
  303.     Message(g.tutorialplayer, 'MStall8');
  304. }
  305.  
  306. trigger 'TStall10' when (g.player == g.tutorialplayer && keep_hitting_n == 3 && token == 7) {
  307. //MStall8
  308.     Message(1, 'KillAllMessages');
  309.     DisableTrigger('TStall10');
  310.  
  311.     Message(g.tutorialplayer, 'MStall9');
  312. }
  313.  
  314. trigger 'TSecondCityBuilt' when (g.player == g.tutorialplayer && city.built && player.cities == 2 && token < 17) {
  315. //MBuildSecondCity
  316.     Message(1, 'KillAllMessages');
  317.     Message(1, 'DisableTriggers1');
  318.     Message(1, 'EnableTriggers2');
  319.  
  320.     DisableTrigger('TSecondCityBuilt');
  321.  
  322. //    SetPlayer(1, g.tutorialplayer);
  323. //    if(!HasAdvance(g.tutorialplayer, ID_ADVANCE_BRONZE_WORKING)) {
  324. //        SetResearching(g.tutorialplayer, 4);
  325. //        GrantAdvance(g.tutorialplayer, 4);
  326. //        SetResearching(g.tutorialplayer, 15);
  327. //    }
  328.  
  329.     Message(g.tutorialplayer, 'MGoal4Accomplished');
  330.     PlaySound("SOUND_ID_GENERALSUCCEED");
  331.     
  332.     //reset stall message counter
  333.     stall_message = 0;
  334.     keep_hitting_n = 0;
  335.  
  336.     second_city_built = 1;
  337.  
  338.     Message(g.tutorialplayer, 'KillAI');
  339.  
  340.     token = 8;
  341. }
  342.  
  343. trigger 'TBuildingDefender' when (g.player == g.tutorialplayer && city.buildingunit == UnitType("UNIT_HOPLITE") && 
  344. player.cities == 2) {
  345. //MGoal4Accomplished
  346.     Message(1, 'KillAllMessages');
  347.     DisableTrigger('TBuildingDefender');
  348.  
  349.     if(token == 8) {
  350.         Message(g.tutorialplayer, 'MLevel2');
  351.         PlaySound("SOUND_ID_GENERALSUCCEED");
  352.         Message(g.tutorialplayer, 'AAlertSave');
  353.     }
  354.     token = 9;
  355.  
  356.     level_2_saved = 1;
  357.     SaveGame("level_2");
  358. }
  359.  
  360. trigger 'TClearBuildQueue2' when (g.player == g.tutorialplayer && unit.built && unit.type == UnitType("UNIT_HOPLITE")) {
  361.     DisableTrigger('TClearBuildQueue2');    
  362.     if(AddCityByIndex(g.tutorialplayer, 1)) {
  363.         ClearBuildQueue(city);
  364.     }                 
  365. }
  366.  
  367. trigger 'TOpenedWorkView' when (g.player == g.tutorialplayer && special.workview && token >= 9) {
  368. //    Message(1, 'KillAllMessages');
  369.     DisableTrigger('TOpenedWorkView');
  370.  
  371.     work_view = 1;
  372. //    Message(g.tutorialplayer, 'MWorkViewIcons');
  373. //    PlaySound("SOUND_ID_GENERALSUCCEED");
  374.  
  375.     token = 10;
  376. }
  377.  
  378. trigger 'TMovedWorker' when (g.player == g.tutorialplayer && special.popmoved && token >= 10) {
  379. //MMovingWorkers
  380.     Message(1, 'KillAllMessages');
  381.     DisableTrigger('TMovedWorker');
  382.  
  383.     Message(g.tutorialplayer, 'MGetFoodProduction');
  384.     PlaySound("SOUND_ID_GENERALSUCCEED");
  385.  
  386.     moved_worker = 1;
  387.  
  388.     token = 11;
  389. }    
  390.  
  391. trigger 'TCivTabOpen' on "ControlPanelWindow.CityUnitSelectedTabGroup.CivTab" when (g.player == g.tutorialplayer && token <= 11) {
  392. //MOpenCivTab
  393.     Message(1, 'KillAllMessages');
  394.     DisableTrigger('TCivTabOpen');
  395.  
  396.     Message(g.tutorialplayer, 'MTheCivTab');
  397.  
  398.     token = 12;
  399. }
  400.  
  401.  
  402. trigger 'TChangedPW' when (g.player == g.tutorialplayer && player.publicworkstax == 70) {
  403. //M2Goal2
  404. //    Message(1, 'KillAllMessages');
  405.     DisableTrigger('TChangedPW');
  406.  
  407.     if(token >= 12) {
  408. //        Message(g.tutorialplayer, 'MGettingPublicWorks');
  409.         pw_is_70 = 1;
  410.         PlaySound("SOUND_ID_GENERALSUCCEED");
  411.     }
  412.  
  413.     token = 13;
  414. }
  415.  
  416. trigger 'TPublicWorks200' when (g.player == g.tutorialplayer && player.publicworkslevel >= 200) {
  417. //MWaitForPW
  418.     Message(1, 'KillAllMessages');
  419.     DisableTrigger('TPublicWorks200');
  420.  
  421.     if(token == 13) {
  422.         Message(g.tutorialplayer, 'MDecreasePW');
  423.         PlaySound("SOUND_ID_GENERALSUCCEED");
  424.     }
  425.  
  426.     token = 14;
  427. }
  428.  
  429. trigger 'TDecreasePW' when (g.player == g.tutorialplayer && player.publicworkstax == 20 && token == 14)    {
  430. //MDecreasePW
  431. //    Message(1, 'KillAllMessages');
  432.     DisableTrigger('TDecreasePW');
  433.  
  434. //    Message(g.tutorialplayer, 'MUsingPW');
  435. //    PlaySound("SOUND_ID_GENERALSUCCEED");
  436.  
  437.     pw_is_20 = 1;
  438.  
  439.     EnableTileImprovementButton();
  440.  
  441.     token = 15;
  442. }
  443.  
  444. trigger 'TBuildingFarm' when (g.player == g.tutorialplayer && special.buildfarm) {
  445. //MUsingPW
  446.     Message(1, 'KillAllMessages');
  447.     DisableTrigger('TBuildingFarm');
  448.     DisableTrigger('TBuildingRoad');
  449.  
  450.     if(token == 15) {
  451.         Message(g.tutorialplayer, 'MGoalFarm');
  452.         PlaySound("SOUND_ID_GENERALSUCCEED");
  453.     }
  454.  
  455.     //triggers two_turns in InitVars
  456.     building_tile_improvement = 1;
  457.     farm = 1;
  458.     token = 16;
  459. }
  460.  
  461. trigger 'TBuildingRoad' when (g.player == g.tutorialplayer && special.buildroad) {
  462. //MDecreasePW
  463.     Message(1, 'KillAllMessages');
  464.     DisableTrigger('TBuildingRoad');
  465.     DisableTrigger('TBuildingFarm');
  466.  
  467.     if(token == 15) {
  468.         Message(g.tutorialplayer, 'MGoalRoad');
  469.         PlaySound("SOUND_ID_GENERALSUCCEED");
  470.     }
  471.  
  472.     //triggers two_turns in InitVars
  473.     building_tile_improvement = 1;
  474.     road = 1;
  475.  
  476.     token = 16;
  477. }
  478.  
  479. trigger 'TEndTICount' when (g.player == g.tutorialplayer && two_turns == 3) {
  480.     //reset TI counter
  481.     two_turns = 0;
  482.     ti_count = 0;
  483.     building_tile_improvement = 0;
  484. }
  485.  
  486. trigger 'TBuiltFarm' when (g.player == g.tutorialplayer && player.cities == 2 && two_turns == 2 && 
  487. farm == 1) {
  488. //MGoalFarm
  489.     Message(1, 'KillAllMessages');
  490.     DisableTrigger('TBuiltFarm');
  491.  
  492.     if(token == 16) {
  493.         Message(g.tutorialplayer, 'M2Goal2AccomplishedFarm');
  494.         PlaySound("SOUND_ID_GENERALSUCCEED");
  495.     }
  496.  
  497.     built_farm = 1;
  498.  
  499.     token = 17;
  500. }
  501.  
  502. trigger 'TBuiltRoad' when (g.player == g.tutorialplayer && player.cities == 2 && two_turns == 2 && 
  503. road == 1) {
  504. //MGoalRoad
  505.     Message(1, 'KillAllMessages');
  506.     DisableTrigger('TBuiltRoad');
  507.  
  508.     if(token == 16) {
  509.         Message(g.tutorialplayer, 'M2Goal2AccomplishedRoad');
  510.         PlaySound("SOUND_ID_GENERALSUCCEED");
  511.     }
  512.  
  513.     built_road = 1;
  514.  
  515.     token = 17;
  516. }            
  517.  
  518. TypeUnit ChiefSittingDuck;
  519. TypeLocation ChiefSittingDuck_location;
  520. TypeLocation CapitalCity_location;
  521.  
  522. trigger 'TGimmeeAWarrior' when (g.player == g.tutorialplayer && token == 17) {
  523.     Message(1, 'KillAllMessages');
  524.     DisableTrigger('TGimmeeAWarrior');
  525.     Message(1, 'EnableTriggers3');
  526.  
  527.     if(player.cities > 0) {
  528.         Message(g.tutorialplayer, 'MLevel3');
  529.         AddCityByIndex(g.tutorialplayer, 0);
  530.         ExtractLocation(city.location, CapitalCity_location);
  531.     }
  532.  
  533.     if(IsPlayerAlive(2)) {
  534.         if(CreateUnit(2,UnitType("UNIT_WARRIOR"),CapitalCity_location, 2, ChiefSittingDuck)) {
  535.             ExtractLocation(ChiefSittingDuck, ChiefSittingDuck_location);
  536.         }
  537.         
  538.             if(TerrainType(ChiefSittingDuck_location) == 8 || TerrainType(ChiefSittingDuck_location) == 20 || 
  539.             TerrainType(ChiefSittingDuck_location) == 22) {
  540.             mountain_warrior = 1;    
  541.             }    
  542.     }                                    
  543.  
  544.     if(IsPlayerAlive(1)) {
  545.         SetPlayer(1, g.tutorialplayer);
  546.         if(!player.totalunits) {
  547.             CreateUnit(1,UnitType("UNIT_WARRIOR"),CapitalCity_location, 2);
  548.         }        
  549.     }
  550.  
  551.     Message(g.tutorialplayer, 'MLevel2Save');
  552.  
  553.     level_3_saved = 1;
  554.     SaveGame("level_3");
  555. }
  556.  
  557. trigger 'TCheat' when (g.player == g.tutorialplayer && player.cities == 2) {
  558.     
  559.     if(IsPlayerAlive(1)) {
  560.         if(HasAdvance(g.tutorialplayer, ID_ADVANCE_AI_SURVEILLANCE)) { 
  561.             Message(1, 'KillAllMessages');
  562.             Message(1, 'EnableTriggers2');
  563.             DisableTrigger('TCheat');
  564.             //creates warrior when 2 cities are built && gr 69 && start w/ level 3
  565.             AddCityByIndex(g.tutorialplayer, 0);
  566.             CreateUnit(1, UnitType("UNIT_KNIGHT"), city.location, 1); 
  567.             Message(g.tutorialplayer, 'MLevel3');
  568.             PlaySound("SOUND_ID_ELEPHANT");
  569.  
  570.             EnableTileImprovementButton();
  571.             EnableScreensButton();
  572.     
  573.             token = 17;
  574.         }    
  575.     }
  576. }
  577.  
  578. trigger 'TContactMade2' when (g.player == g.tutorialplayer && special.zoc) {
  579.  
  580.         Message(1, 'KillAllMessages');
  581.         Message(1, 'EnableTriggers3');
  582.         Message(1, 'DisableTriggers2');
  583.         DisableTrigger('TContactMade2');
  584.         
  585.         Message(g.tutorialplayer, 'M3Goal1Accomplished');
  586.         Message(g.tutorialplayer, 'MPseudoGreetings');
  587.         PlaySound("SOUND_ID_ALERT");
  588.  
  589.     token = 18;
  590. }
  591.  
  592. trigger 'TAcceptedGreetings' when (accepted_greetings == 1) {    
  593. //MPseudoGreetings
  594.     Message(1, 'KillAllMessages');
  595.     DisableTrigger('TAcceptedGreetings');
  596.  
  597.     Message(g.tutorialplayer, 'MCoverYourBack');
  598.  
  599.     token = 19;
  600. }
  601.  
  602. //goes with TTurdBurglar
  603. TypeUnit FreeWarrior;
  604. TypeUnit FreeArcher;
  605. TypeLocation FreeWarrior_location;
  606. TypeLocation FreeArcher_location;
  607.  
  608. trigger 'TTurdBurglar' when (g.player == g.tutorialplayer && player.cities >= 1 && token == 19) {
  609.     DisableTrigger('TTurdBurglar');
  610.     Message(1, 'KillAllMessages');
  611.  
  612.     if(IsPlayerAlive(1)) {
  613.         AddCityByIndex(g.tutorialplayer, 0);
  614.         if(CreateUnit(1, UnitType("UNIT_WARRIOR"), city.1.location, 1, FreeWarrior)) {
  615.                 ExtractLocation(FreeWarrior, FreeWarrior_location);
  616.         }
  617.     
  618.             if(CreateUnit(1, UnitType("UNIT_GREEK_FIRE"), FreeWarrior_location, 1, FreeArcher)) {
  619.                     ExtractLocation(FreeArcher, FreeArcher_location);
  620.             }
  621.  
  622.                 if(FreeWarrior_location == FreeArcher_location) {
  623.                     KillUnit(FreeWarrior);
  624.  
  625.                      if(CreateUnit(1,UnitType("UNIT_WARRIOR"), FreeArcher_location, 1, FreeWarrior)) {
  626.                         ExtractLocation(FreeWarrior, FreeWarrior_location);
  627.                     }
  628.                 }
  629.     }
  630.     Message(g.tutorialplayer, 'M3Goal2');
  631.     PlaySound("SOUND_ID_ALERT");
  632.  
  633.     token = 20;
  634. }
  635.  
  636. trigger 'TStackedUnits' when (g.player == g.tutorialplayer && unit.moved && UnitsInCell(unit.location) >= 2 && token == 20) {
  637. //MKeepMoving
  638.     DisableTrigger('TStackedUnits');
  639.     Message(1, 'KillAllMessages');
  640.  
  641.     Message(g.tutorialplayer, 'MMixedForces');
  642.  
  643.     if(IsPlayerAlive(1)) {
  644.         SetPlayer(1, g.tutorialplayer);
  645.         if(player.totalunits < 2) {
  646.             CreateUnit(1, UnitType("UNIT_WARRIOR"), CapitalCity_location, 2);
  647.         }
  648.     }
  649.  
  650.     token = 21;
  651. }
  652.  
  653. trigger 'TStackLocked' when (g.player == g.tutorialplayer && special.lockedstack && token == 21) {
  654.     Message(1, 'KillAllMessages');
  655.     DisableTrigger('TStackLocked');
  656.  
  657.     Message(g.tutorialplayer, 'MStackHerald');
  658.     PlaySound("SOUND_ID_GENERALSUCCEED");
  659.  
  660.     token = 22;
  661. }
  662.  
  663.  
  664. trigger 'TMovedStack' when (g.player == g.tutorialplayer && unit.moved && UnitsInCell(unit.location) >= 2 && token == 22) {
  665.     Message(1, 'KillAllMessages');
  666.     DisableTrigger('TMovedStack');
  667.  
  668.     AddCityByIndex(g.tutorialplayer, 0);
  669.     Message(g.tutorialplayer, 'MAttackNeighbour');
  670.  
  671.     token = 23;
  672. }
  673.      
  674. trigger 'TAttackMade' when (g.player == g.tutorialplayer && special.stackedcombat) {
  675. //MAttackNeighbour    
  676.     Message(1, 'KillAllMessages');
  677.     Message(1, 'DisableTriggers2');
  678.     Message(1, 'EnableTriggers3');
  679.     Message(1, 'EnableTriggers4');
  680.     DisableTrigger('TAttackMade');
  681.  
  682.     Message(g.tutorialplayer, 'ABattleView');
  683.     PlaySound("SOUND_ID_GENERALSUCCEED");
  684.  
  685.     EnableScreensButton();
  686.  
  687.     token = 24;
  688. }
  689.  
  690. trigger 'TNonStackedAttack' when (g.player == g.tutorialplayer && special.singlecombat) {
  691.     Message(1, 'KillAllMessages');
  692. //    Message(1, 'DisableTriggers2');
  693.     Message(1, 'EnableTriggers3');
  694.     Message(1, 'EnableTriggers4');
  695.     DisableTrigger('TNonStackedAttack');
  696.     
  697.     Message(g.tutorialplayer, 'MNoStackedBattle');
  698.     PlaySound("SOUND_ID_ALERT");
  699.  
  700.     AttachRobot(2);
  701.     EnableScreensButton();
  702.  
  703.     token = 24;
  704. }
  705.  
  706. trigger 'TClosedBattle' on "BattleViewWindow.ExitButton" when (g.player == g.tutorialplayer) {
  707.     closed_battle_view = 1;
  708.     DisableTrigger('TClosedBattle');
  709. }     
  710.  
  711. trigger 'TEnableScreens' when (g.player == g.tutorialplayer && token == 24) {
  712.     DisableTrigger('TEnableScreens');
  713.     EnableScreensButton();
  714.     token = 25;
  715. }
  716.  
  717. trigger 'TDiplomacyButton' on "StatsWindow.DipButton" when (g.player == g.tutorialplayer) {
  718. //MOpenDiplomacyScreen
  719.     Message(1, 'KillAllMessages');
  720.  
  721.     EndTurn();
  722.     Message(g.tutorialplayer, 'A3Goal3');
  723. }
  724.  
  725. trigger 'TSendEmissary' on "DiplomacyWindow.CivilisationListSheet.EmissaryButton" when (g.player == g.tutorialplayer) {
  726. //M3Goal3
  727.     Message(1, 'KillAllMessages');
  728.  
  729.         Message(g.tutorialplayer, 'AGreetEmissary');
  730. }
  731.  
  732. trigger 'TNextDiplomacy' on "DiplomacyWindow.OkButton" when (g.player == g.tutorialplayer) {
  733. //MGreetEmissary
  734.     Message(1, 'KillAllMessages');
  735.  
  736.         Message(g.tutorialplayer, 'AMakeRequest');
  737. }
  738.  
  739. trigger 'TSuggestTreaty' on "DiplomacyWindow.RequestSheet.TreatyButton" when (g.player == g.tutorialplayer) {
  740. //MMakeRequest
  741.     Message(1, 'KillAllMessages');
  742.  
  743.         Message(g.tutorialplayer, 'APeaceTreaty');
  744. }
  745.  
  746. trigger 'TCeaseButton' on "DiplomacyWindow.TreatyOptionsSheet.CeaseFireButton" when (g.player == g.tutorialplayer) {
  747. //MPeaceTreaty
  748.     Message(1, 'KillAllMessages');
  749.  
  750.         Message(g.tutorialplayer, 'ACeaseButton');
  751. }    
  752.  
  753. trigger 'TSentCease' on "DiplomacyWindow.DemandViewSheet.SendSheet.SendButton" when (g.player == g.tutorialplayer) {
  754. //MPeaceTreaty
  755.     Message(1, 'KillAllMessages');
  756.  
  757.         Message(g.tutorialplayer, 'AResponse');
  758. }
  759.  
  760. trigger 'TEndHelpBoxes' on "DiplomacyWindow.ResponseSheet.NoButton" when (g.player == g.tutorialplayer) {
  761.     Message(1, 'KillAllMessages');
  762.     DisableTrigger('TEndHelpBoxes');
  763.  
  764.     Message(g.tutorialplayer, 'M3Goal3Accomplished');
  765.     PlaySound("SOUND_ID_GENERALSUCCEED");
  766.  
  767.     DisableTrigger('TDiplomacyButton');
  768.     DisableTrigger('TSendEmissary');
  769.     DisableTrigger('TNextDiplomacy');
  770.     DisableTrigger('TSuggestTreaty');
  771.     DisableTrigger('TCeaseButton');
  772.     DisableTrigger('TSentCease');
  773.     DisableTrigger('TClosedBattle');
  774.     DisableMessageClass(2001);    
  775. }
  776.  
  777. trigger 'TLevel4Cheat' when (g.player == g.tutorialplayer && player.cities > 1) {
  778.     
  779.     if(IsPlayerAlive(1)) {
  780.         if(HasAdvance(g.tutorialplayer, ID_ADVANCE_SUBNEURAL_ADS)) {
  781.             Message(1, 'KillAllMessages');
  782.             Message(1, 'EnableTriggers3');
  783.             Message(1, 'EnableTriggers4');
  784.             DisableTrigger('TLevel4Cheat');
  785.  
  786.             Message(g.tutorialplayer, 'M3Goal3Accomplished');
  787.  
  788.             AddCityByIndex(g.tutorialplayer, 0);
  789.             cheater = 1;
  790.             EnableTileImprovementButton();
  791.             EnableScreensButton();
  792.     
  793.             token = 25;
  794.         }    
  795.     }
  796. }
  797.  
  798. //TypeLocation capital_location;
  799. TypeLocation trade_city_1_location;
  800. TypeLocation trade_city_2_location;
  801. TypeCity trade_city_1;
  802. TypeCity trade_city_2;
  803.  
  804. trigger 'TMakeCitiesForGoods' when (g.player == g.tutorialplayer && token == 25) {
  805.     DisableTrigger('TMakeCitiesForGoods');
  806.     Message(1, 'EnableTriggers4');
  807.     
  808.     DetachRobot(2);
  809.  
  810.     if(player.cities > 0) {
  811.         AddCityByIndex(g.tutorialplayer, 0);
  812.     }
  813.     CreateCoastalCity(1, city.1.location, 7, trade_city_1); 
  814.     ExtractLocation(trade_city_1, trade_city_1_location);
  815.  
  816.     CreateCoastalCity(1, trade_city_1_location, 4, trade_city_2);
  817.     ExtractLocation(trade_city_2, trade_city_2_location);
  818.  
  819.     token = 26;            
  820. }
  821.  
  822. TypeLocation city_1_good_location;
  823. TypeLocation city_2_good_location;
  824.  
  825. trigger 'TAddGoodsToCities' when (g.player == g.tutorialplayer && token == 26) {
  826.     DisableTrigger('TAddGoodsToCities');
  827.  
  828.     trade_city_1_beavers = GoodCount(trade_city_1, GoodType("TERRAIN_FOREST_GOOD_ONE"));     
  829.     if(!trade_city_1_beavers) {
  830.         GetRandomNeighbor(trade_city_1_location, city_1_good_location);
  831.         Terraform(city_1_good_location, 0);
  832.         PlantGood(city_1_good_location);
  833.     }
  834.  
  835.     if((GoodCount(trade_city_2, GoodType("TERRAIN_FOREST_GOOD_ONE"))) - trade_city_1_beavers <= 0) {
  836.         GetRandomNeighbor(trade_city_2_location, city_2_good_location);
  837.         Terraform(city_2_good_location, 0);
  838.         PlantGood(city_2_good_location);
  839.     }
  840.     
  841.     token = 27;
  842. }
  843.  
  844.  
  845. trigger 'TLevel4' when (g.player == g.tutorialplayer && level_4) {
  846.     Message(1, 'KillAllMessages');
  847.     DisableTrigger('TLevel4');
  848.     
  849.     Message(g.tutorialplayer, 'MLevel4');
  850.  
  851.     level_4_saved = 1;
  852.     SaveGame("level_4");
  853. }
  854.  
  855.  
  856. trigger 'TGood1Placed' when (g.player == g.tutorialplayer && (pop.location == city_1_good_location || 
  857. (special.popmovedongood && city == trade_city_1 && good.type == GoodType("TERRAIN_FOREST_GOOD_ONE")))) {
  858.     Message(1, 'KillAllMessages');
  859.     DisableTrigger('TGood1Placed');
  860.     good_1_placed = 1;
  861.  
  862.     if(!good_2_placed) {
  863.         Message(g.tutorialplayer, 'MMoveWorker2');
  864.         token = 29;
  865.     }
  866.  
  867.     if(good_2_placed) {
  868.         if(IsPlayerAlive(1)) {
  869.             CreateUnit(1, UnitType("UNIT_CARAVAN"), trade_city_1_location, 0);
  870.         }
  871.             Message(g.tutorialplayer, 'MCaravans');        
  872.             DisableTrigger('TBothGoodsPlaced');
  873.             DisableTrigger('TGood2Placed');
  874.             token = 30;
  875.     
  876.     }
  877. }
  878.  
  879. trigger 'TGood2Placed' when (g.player == g.tutorialplayer && (pop.location == city_2_good_location || 
  880. (special.popmovedongood && city == trade_city_2 && good.type == GoodType("TERRAIN_FOREST_GOOD_ONE")))) {
  881.     DisableTrigger('TGood2Placed');
  882.     good_2_placed = 1;
  883.  
  884.     if(good_1_placed) {
  885.         if(IsPlayerAlive(1)) {
  886.             CreateUnit(1, UnitType("UNIT_CARAVAN"), trade_city_1_location, 0);
  887.         }
  888.         Message(1, 'KillAllMessages');
  889.         Message(g.tutorialplayer, 'MCaravans');
  890.         DisableTrigger('TBothGoodsPlaced');
  891.         DisableTrigger('TGood1Placed');
  892.         token = 30;
  893.     }
  894. }
  895.  
  896. trigger 'TBothGoodsPlaced' when (g.player == g.tutorialplayer && good_1_placed && good_2_placed) {
  897.     Message(1, 'KillAllMessages');
  898.     DisableTrigger('TBothGoodsPlaced');
  899.  
  900.     if(IsPlayerAlive(1)) {
  901.         CreateUnit(1, UnitType("UNIT_CARAVAN"), trade_city_1_location, 0);
  902.     }
  903.  
  904.     Message(g.tutorialplayer, 'MCaravans');
  905.     PlaySound("SOUND_ID_GENERALSUCCEED");
  906.     token = 30;
  907. }
  908.  
  909. trigger 'TTradeScreen' on "StatsWindow.TradeButton" when (g.player == g.tutorialplayer && token == 30) {
  910.     Message(1, 'KillAllMessages');
  911.  
  912.     Message(g.tutorialplayer, 'ATheTradeScreen');
  913. }
  914.  
  915. trigger 'TTradeSendButton' on "TradeMainWindow.SendButton" when (g.player == g.tutorialplayer && token == 30) {
  916.     Message(1, 'KillAllMessages');
  917.  
  918.     Message(g.tutorialplayer, 'ASelectBeaver');
  919. }
  920.  
  921. trigger 'TTradeNextButton' on "TradeSendWindow.NextButton" when (g.player == g.tutorialplayer && token == 30) {
  922.     Message(1, 'KillAllMessages');
  923.     
  924.     Message(g.tutorialplayer, 'APickDestination');
  925. }
  926.  
  927. trigger 'TTradeMakeTradeRoute' when (g.player == g.tutorialplayer && city.owner  == g.tutorialplayer && 
  928. special.traderoute && token == 30) {
  929.     Message(1, 'KillAllMessages');
  930.     DisableTrigger('TTradeNextButton');
  931.     DisableTrigger('TTradeNextButton');
  932.     DisableTrigger('TTradeSendButton');
  933.     DisableTrigger('TTradeScreen');
  934.     DisableTrigger('TTradeMakeTradeRoute');
  935.  
  936.     if(IsPlayerAlive(1)) {
  937.         SetPlayer(1, g.tutorialplayer);
  938.         AddCityByIndex(g.tutorialplayer, 0);
  939.         if(player.totalunits < 1) {
  940.             CreateUnit(1,UnitType("UNIT_WARRIOR"),CapitalCity_location, 1);
  941.         }
  942.     }
  943.  
  944.     Message(g.tutorialplayer, 'M4Goal1Accomplished');
  945.     PlaySound("SOUND_ID_GENERALSUCCEED");
  946.     token = 31;    
  947. }    
  948.  
  949. trigger 'TCheat4' when (g.player == g.tutorialplayer && player.cities >= 2) {
  950.     if(IsPlayerAlive(1)) {
  951.         if(HasAdvance(g.tutorialplayer, ID_ADVANCE_INTELLIGENT_MATERIALS)) { 
  952.             Message(1, 'KillAllMessages');
  953.             Message(1, 'EnableTriggers3');
  954.             Message(1, 'EnableTriggers4');
  955.             DisableTrigger('TCheat4');
  956.             AddCityByIndex(g.tutorialplayer, 0);
  957.             AddPops(city.1, 5);
  958.             Message(g.tutorialplayer, 'MLevel5');
  959.             cheater = 1;
  960.             EnableTileImprovementButton();
  961.             EnableScreensButton();
  962.             token = 31;
  963.         }
  964.     }
  965. }
  966.  
  967. trigger 'TSaveLevel5' when (timer.1.expired) {
  968.     DisableTrigger('TSaveLevel5');
  969.     level_5_saved = 1;
  970.     SaveGame("level_5");
  971.     StopTimer(1);
  972. }
  973.  
  974. trigger 'TMaxTab' on "ControlPanelWindow.CityUnitSelectedTabGroup.MacroTab" when (g.player == g.tutorialplayer && token == 31) {
  975.     DisableTrigger('TMaxTab');
  976.     
  977.     max_tab = 1;    
  978. }
  979.          
  980. trigger 'TMaxScienceButton' on "ControlPanelWindow.CityUnitSelectedTabGroup.MacroTab.pane.MacroTabWallpaper.SwitchHolder.MacroSwitchGroup.MacroKnowledgeButton" 
  981. when (g.player == g.tutorialplayer && token == 31) {
  982.     Message(1, 'KillAllMessages');
  983.     DisableTrigger('TMaxScienceButton');
  984.     AddPops(trade_city_1, 3);
  985.  
  986.     Message(g.tutorialplayer, 'M5Goal1Accomplished');
  987.     PlaySound("SOUND_ID_GENERALSUCCEED");
  988.     token = 32;
  989. }
  990.  
  991. trigger 'TLaborTab' on "ControlPanelWindow.CityUnitSelectedTabGroup.MicroTab" when (g.player == g.tutorialplayer && token == 32) {
  992.     DisableTrigger('TLaborTab');
  993.  
  994.     labor_tab = 1;
  995. }
  996.  
  997. trigger 'TEntertainerMade' on "ControlPanelWindow.CityUnitSelectedTabGroup.MicroTab.pane.MicroTabWallpaper.MicroButtonHolder.MicroMusicianLabel.MicroMusicianPlus"
  998. when (g.player == g.tutorialplayer && token == 32 && labor_tab) {
  999.     Message(1, 'KillAllMessages');
  1000.     DisableTrigger('TEntertainerMade');
  1001.     
  1002.     Message(g.tutorialplayer, 'MScientist');
  1003. }
  1004.  
  1005. trigger 'TScientistMade' on "ControlPanelWindow.CityUnitSelectedTabGroup.MicroTab.pane.MicroTabWallpaper.MicroButtonHolder.MicroScientistLabel.MicroScientistPlus"
  1006. when (g.player == g.tutorialplayer && token == 32 && labor_tab) {
  1007.     Message(1, 'KillAllMessages');
  1008.     DisableTrigger('TScientistMade');
  1009.  
  1010.     Message(g.tutorialplayer, 'MSpecialistWarning');
  1011.     PlaySound("SOUND_ID_ALERT");
  1012.     token = 33;
  1013. }
  1014.  
  1015. trigger 'TQueueButton' on "ControlPanelWindow.CityUnitSelectedTabGroup.ProductionTab.pane.ProductionTabWallpaper.BuildButtonHolder.ProdQueueButton"
  1016. when (g.player == g.tutorialplayer) {
  1017.     if(token < 33) {
  1018.         Message(g.tutorialplayer, 'AAlertQueue');
  1019.     }
  1020.  
  1021.     if(token == 33) {
  1022.         Message(1, 'KillAllMessages');
  1023.         Message(g.tutorialplayer, 'MAddItemsToQueue');
  1024.     }
  1025.  
  1026.     if(token >= 33) {
  1027.         DisableTrigger('TQueueButton');
  1028.     }    
  1029. }
  1030.  
  1031. trigger 'TQueueMade' when (g.player == g.tutorialplayer && city.queue >= 2 && token == 33) {
  1032.     Message(1, 'KillAllMessages');
  1033.     DisableTrigger('TQueueMade');
  1034.  
  1035.     Message(g.tutorialplayer, 'M5Goal2Accomplished');
  1036.     PlaySound("SOUND_ID_GENERALSUCCEED");
  1037.     token = 34;
  1038. }
  1039.  
  1040. trigger 'TCityStatus' on "StatsWindow.CityButton" when (g.player == g.tutorialplayer && token == 34) {
  1041.     Message(1, 'KillAllMessages');
  1042.     DisableTrigger('TCityStatus');
  1043.  
  1044.     Message(g.tutorialplayer, 'AOrder2Cities');
  1045. }
  1046.  
  1047. trigger 'TCityBuildButtonUsed' on "CityStatusWin.BuildButton" when (g.player == g.tutorialplayer && token == 34) {
  1048.     DisableTrigger('TCityBuildButtonUsed');
  1049.     city_status_build_button = 1;
  1050. }
  1051.  
  1052. trigger 'TCitiesBuilding' on "CityStatusWin.OkButton" when (g.player == g.tutorialplayer && token == 34) {
  1053.     Message(1, 'KillAllMessages');
  1054.     DisableTrigger('TCitiesBuilding');
  1055.  
  1056.     if(city_status_build_button) {
  1057.         Message(g.tutorialplayer, 'M5Goal3Accomplished');
  1058.         PlaySound("SOUND_ID_GENERALSUCCEED");
  1059.     }
  1060.     else {
  1061.         Message(g.tutorialplayer, 'MCitiesNotBuilding');
  1062.     }
  1063.     
  1064.     token = 35;
  1065. }
  1066.  
  1067. trigger 'TFortifiedUnits' when (g.player == g.tutorialplayer && token == 35 && unit.fortified) {        
  1068.     Message(1, 'KillAllMessages');
  1069.     DisableTrigger('TFortifiedUnits');
  1070.         
  1071.     Message(g.tutorialplayer, 'MFortifyInField');
  1072.     PlaySound("SOUND_ID_GENERALSUCCEED");
  1073.  
  1074.     token = 36;
  1075. }
  1076.  
  1077. TypeUnit FreeBoat;
  1078. TypeUnit FreeCargo;
  1079. TypeLocation WaterForBoat_location;
  1080.  
  1081. trigger 'TMakeFreeBoat' when (g.player == g.tutorialplayer && token == 36) {
  1082.     DisableTrigger('TMakeFreeBoat');
  1083.     AddCity(trade_city_1);
  1084.     ExtractLocation(trade_city_1, trade_city_1_location);
  1085.  
  1086.     If(IsPlayerAlive(1)) {
  1087.         SetPlayer(1, g.tutorialplayer);
  1088.         if(player.totalunits < 1) {
  1089.             CreateUnit(1,UnitType("UNIT_WARRIOR"),CapitalCity_location, 1);
  1090.         }
  1091.     
  1092.         CreateUnit(1, UnitType("UNIT_CHARIOT"), trade_city_1_location, 0, FreeCargo);
  1093.         GetNearestWater(trade_city_1_location, WaterForBoat_location);
  1094.         CreateUnit(1, UnitType("UNIT_TRIREMES"), WaterForBoat_location, 0, FreeBoat);
  1095.     }
  1096.  
  1097.     token = 37;
  1098.  
  1099.     level_6_saved = 1;
  1100.     SaveGame("level_6");
  1101. }
  1102.     
  1103. trigger 'TLoadedUnits' when (g.player == g.tutorialplayer && unit.embarked && token <= 37) {
  1104.     Message(1, 'KillAllMessages');
  1105.     DisableTrigger('TLoadedUnits');
  1106.  
  1107.     Message(g.tutorialplayer, 'MMovingTheBoat');
  1108.     token = 38;
  1109. }
  1110.  
  1111. trigger 'TUnloadedUnits' when (g.player == g.tutorialplayer && unit.debarked && token >= 37) {
  1112.     Message(1, 'KillAllMessages');
  1113.     DisableTrigger('TUnloadedUnits');
  1114.  
  1115.     Message(g.tutorialplayer, 'M6Goal1Accomplished');
  1116.     PlaySound("SOUND_ID_GENERALSUCCEED");
  1117. //    reenable_ingame = 1;
  1118.     token = 39;
  1119. }
  1120.  
  1121.