Advertisement
Guest User

Untitled

a guest
Jul 4th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 7.45 KB | None | 0 0
  1. import("ScarUtil.scar");
  2.  
  3. function OnGameSetup() -- Called as the first thing in the script no matter what
  4.     player1 = World_GetPlayerAt(1);
  5.     player2 = World_GetPlayerAt(2);
  6.         player3 = World_GetPlayerAt(3);
  7.         player4 = World_GetPlayerAt(4);
  8. end
  9. -----------------------------------------------------
  10. function OnInit()
  11. -- More stuff
  12.         AI_EnableAll(false);
  13.         UI_SetCPMeterVisibility(false);
  14.  
  15. -- Declaring groups
  16.         sg_scout1 = SGroup_CreateIfNotFound("sg_scout1")  -- Declare the SG
  17.         sg_defender1 = SGroup_CreateIfNotFound("sg_defender1")
  18.         sg_defendervet1 = SGroup_CreateIfNotFound("sg_defendervet1")
  19.         sg_defendervet2 = SGroup_CreateIfNotFound("sg_defendervet2")
  20.         sg_counter1 = SGroup_CreateIfNotFound("sg_counter1")
  21.         sg_defenders = SGroup_CreateIfNotFound("sg_defenders")
  22.         sg_defendertotal = SGroup_CreateIfNotFound("sg_defendertotal")
  23.         sg_scout2 = SGroup_CreateIfNotFound("sg_scout2")
  24.         sg_sdkfz251 = SGroup_CreateIfNotFound("sg_sdkfz251")
  25.         sg_reinforcement = SGroup_CreateIfNotFound("sg_reinforcement")
  26.         sg_reinforcement1 = SGroup_CreateIfNotFound("sg_reinforcement1")
  27. -- Function call
  28.         Restriction();
  29.         InitializeObjectives();
  30.        
  31.         Villageattack(); -- Call villageattack function
  32.         Farm_Attack_Reinforcement();
  33.        
  34.         Rule_AddOneShot(OBJ_Farm_Mission, 2);
  35.  
  36. -- Intervals
  37.         Rule_AddInterval(Move, 2); -- Calls the function every 7th second
  38.         Rule_AddInterval(OBJ_Farm_Lose, 10);
  39.        
  40. -- Functions to test stuff out
  41.         testing();
  42. end
  43. Scar_AddInit(OnInit);
  44. -----------------------------------------------------
  45. function Restriction()
  46.         g_manpowerrate = Modify_PlayerResourceRate(player1, RT_Manpower, 0, MUT_Multiplication);
  47.         g_fuelrate = Modify_PlayerResourceRate(player1, RT_Fuel, 0, MUT_Multiplication);
  48.         g_munitionrate = Modify_PlayerResourceRate(player1, RT_Munition, 0, MUT_Multiplication);
  49.        
  50.         Player_SetResource(player1, RT_Manpower, 0);
  51.         Player_SetResource(player1, RT_Fuel, 0);
  52.         Player_SetResource(player1, RT_Munition, 0);
  53.        
  54.         Player_SetAbilityAvailability(player1, ABILITY.GERMAN.ASSAULT_GRENADIER_GRENADE, ITEM_REMOVED)
  55.         Player_SetAbilityAvailability(player1, ABILITY.GERMAN.GRENADIER_PANZERFAUST_MP, ITEM_REMOVED)
  56.         Player_SetAbilityAvailability(player1, ABILITY.GERMAN.GRENADIER_RIFLE_GRENADE_ABILITY_MP, ITEM_REMOVED)
  57.  
  58. end
  59. -----------------------------------------------------
  60. function InitializeObjectives()
  61. -- Missions
  62.         OBJ_FARM= {
  63.                                 SetupUI = function()
  64.                 end,
  65.                                
  66.                 OnStart = function()
  67.                                         Rule_AddInterval(OBJ_Farm_IsDone, 2)
  68.                                         Rule_AddInterval(Farm_Attack_Reinforcement, 2)
  69.                 end,
  70.        
  71.                 OnComplete = function()
  72.                                         Player_AddResource(player1, RT_Manpower, 125);
  73.                                         TruckDoDropFff();
  74.                                        
  75.                                 end,
  76.                                
  77.                                 OnFail = function()
  78.                 end,
  79.  
  80.                 Title = "$f69d864ff41f412f91dfd87227648192:1",
  81.                 Description = 0,
  82.                 Type = OT_Primary, -- main objective (the star)
  83.         }
  84.         Objective_Register(OBJ_FARM);
  85. end
  86. -----------------------------------------------------
  87. function Villageattack()
  88.         Util_CreateSquads(player1, sg_scout1, BP_GetSquadBlueprint("assault_grenadier_squad_mp"), mkr_playerspawn, nil, 10, nil, nil, nil, nil, nil);
  89.         Util_CreateSquads(player1, sg_scout1, BP_GetSquadBlueprint("grenadier_squad_mp"), mkr_playerspawn1, nil, 1, nil, nil, nil, nil, nil);
  90.        
  91.         Util_CreateSquads(player2, sg_defendervet1, BP_GetSquadBlueprint("conscript_squad_mp"), villageattack_building, nil, 1, nil, nil, nil, nil, nil);
  92.                        
  93.         Util_CreateSquads(player2, sg_defendervet2, BP_GetSquadBlueprint("combat_engineer_squad_mp"), mkr_defenderspawn3, nil, 1, nil, nil, nil, nil, nil);
  94.                 Cmd_SquadPatrolMarker( sg_defendervet2, mkr_defenderspawn3 )
  95.                
  96.         Util_CreateSquads(player2, sg_defender1, BP_GetSquadBlueprint("conscript_squad_mp"), villageattack_building1, nil, 1, nil, nil, nil, nil, nil);
  97.        
  98.         SGroup_IncreaseVeterancyRank(sg_defendervet1, World_GetRand(1, 2), true);
  99.         SGroup_IncreaseVeterancyRank(sg_defendervet2, World_GetRand(1, 3), true);
  100.                
  101.         Util_CreateSquads(player2, sg_counter1, BP_GetSquadBlueprint("conscript_squad_mp"), mkr_counterspawn, nil, 1, nil, nil, nil, nil, nil);
  102.         SGroup_IncreaseVeterancyRank(sg_counter1, World_GetRand(1, 2), true);
  103.                
  104.                 SGroup_AddGroup(sg_defenders, sg_defendervet1);
  105.                 SGroup_AddGroup(sg_defenders, sg_defendervet2);
  106.                 SGroup_AddGroup(sg_defenders, sg_defender1);
  107.                
  108.                 SGroup_AddGroup(sg_defendertotal, sg_defenders);
  109.                 SGroup_AddGroup(sg_defendertotal, sg_counter1);
  110. end
  111. -----------------------------------------------------
  112. function Move()
  113.                 if (SGroup_Count(sg_defenders) <=1) then
  114.                         Cmd_Move(sg_counter1, mkr_defenderspawn2);
  115.                         Rule_RemoveMe();
  116.         end
  117. end
  118. -----------------------------------------------------
  119. function Farm_Attack_Reinforcement()
  120.         if (SGroup_TotalMembersCount(sg_scout1, false) == 2) then
  121.                 Util_CreateSquads(player1, sg_scout2, BP_GetSquadBlueprint("grenadier_squad_mp"), mkr_playerspawn, nil, 1, nil, nil, nil, nil, nil);
  122.                 SGroup_AddGroup(sg_scout1, sg_scout2);
  123.                 Cmd_Move(sg_scout2, mkr_defenderspawn3);
  124.         end
  125. end
  126. -----------------------------------------------------
  127. function OBJ_Farm_Mission()
  128. -- Call mission
  129.         Objective_Start(OBJ_FARM, true);
  130. end
  131. -----------------------------------------------------
  132. function OBJ_Farm_Lose()
  133. -- Lose condition OBJ_Farm_Lose
  134.         if (SGroup_Count(sg_scout1) == 0) then
  135.                 Game_EndSP(false);
  136.                 Rule_RemoveAll()
  137.         end
  138. end
  139. -----------------------------------------------------
  140. function OBJ_Farm_IsDone()
  141.         if (EGroup_IsCapturedByPlayer( farm_point, player1, ANY ) and SGroup_Count(sg_defendertotal) == 0) then
  142.         Objective_Complete(OBJ_FARM, true);
  143.         end
  144. end
  145. -----------------------------------------------------
  146. function TruckDoDropFff()
  147.         Util_CreateSquads(player3, sg_sdkfz251, BP_GetSquadBlueprint("sdkfz_251_halftrack_squad_mp"), mkr_playerspawn, mkr_truckfarm1, 1, nil, nil, nil, nil, nil);
  148.         Util_CreateSquads(player3, sg_reinforcement, BP_GetSquadBlueprint("grenadier_squad_mp"), sg_sdkfz251, nil, 1, nil, nil, nil, nil, nil);
  149.         Util_CreateSquads(player3, sg_reinforcement1, BP_GetSquadBlueprint("mg42_heavy_machine_gun_squad_mp"), sg_sdkfz251, nil, 1, nil, nil, nil, nil, nil);
  150.         Cmd_EjectOccupants(sg_sdkfz251, mkr_reinforcementtruck, true);
  151.         SGroup_SetPlayerOwner(sg_reinforcement, player1)
  152.         SGroup_SetPlayerOwner(sg_reinforcement1, player1)
  153.         Cmd_MoveToAndDespawn(sg_sdkfz251, mkr_playerspawn1, true)
  154.         Rule_RemoveMe();
  155. end
  156. -----------------------------------------------------
  157. function testing()
  158.  
  159. FOW_Enable(false)
  160. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement