Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- stock bool:IsVersus()
- {
- decl String:GameType[128];
- GetConVarString(FindConVar("mp_gamemode"), GameType, 128);
- if (StrEqual(GameType, "versus")) return true;
- return false;
- }
- stock bool:IsCoop()
- {
- decl String:GameType[128];
- GetConVarString(FindConVar("mp_gamemode"), GameType, 128);
- if (StrEqual(GameType, "coop")) return true;
- return false;
- }
- public CheckForCampaignChange()
- {
- if (GetConVarInt(g_Module_Campaign_Enabled) == 0) return;
- decl String:GameTypeCurrent2[128];
- GetConVarString(FindConVar("mp_gamemode"), GameTypeCurrent2, 128);
- if (StrEqual(GameTypeCurrent2, "survival")) return;
- decl String:MapName[128];
- GetCurrentMap(MapName, sizeof(MapName));
- if (StrContains(MapName, "c1m4", false) > -1 ||
- StrContains(MapName, "c2m5", false) > -1 ||
- StrContains(MapName, "c6m3", false) > -1 ||
- StrContains(MapName, "c3m4", false) > -1 ||
- StrContains(MapName, "c4m5", false) > -1 ||
- StrContains(MapName, "c5m5", false) > -1 ||
- StrContains(MapName, "c7m3", false) > -1 ||
- StrContains(MapName, "c8m5", false) > -1 ||
- StrContains(MapName, "c13m4", false) > -1 ||
- StrContains(MapName, "c11m5", false) > -1 ||
- StrContains(MapName, "c12m5", false) > -1 ||
- StrContains(MapName, "c10m5", false) > -1 ||
- StrContains(MapName, "c9m2", false) > -1 ||
- StrContains(MapName, "l4d2_stadium5_stadium", true) > -1 ||
- StrContains(MapName, "eu05_trail_b16", true) > -1 ||
- StrContains(MapName, "l4d2_ravenholmwar_4", true) > -1 ||
- StrContains(MapName, "l4d_149_5", true) > -1 ||
- StrContains(MapName, "l4d_deathaboard05_light", true) > -1 ||
- StrContains(MapName, "l4d_zero03_ruins", true) > -1)
- {
- ResetCampaignScores();
- CreateTimer(1.0, Timer_ChangeCampaign, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
- }
- }
- stock bool:IsFirstMap()
- {
- if (!IsVersus()) return false;
- decl String:MapName[128];
- GetCurrentMap(MapName, sizeof(MapName));
- if (StrContains(MapName, "c1m1", false) > -1 ||
- StrContains(MapName, "c2m1", false) > -1 ||
- StrContains(MapName, "c6m1", false) > -1 ||
- StrContains(MapName, "c3m1", false) > -1 ||
- StrContains(MapName, "c4m1", false) > -1 ||
- StrContains(MapName, "c5m1", false) > -1 ||
- StrContains(MapName, "c7m1", false) > -1 ||
- StrContains(MapName, "c8m1", false) > -1 ||
- StrContains(MapName, "c13m1", false) > -1 ||
- StrContains(MapName, "c11m1", false) > -1 ||
- StrContains(MapName, "c12m1", false) > -1 ||
- StrContains(MapName, "c10m1", false) > -1 ||
- StrContains(MapName, "c9m1", false) > -1 ||
- StrContains(MapName, "l4d2_stadium1_apartment", true) > -1 ||
- StrContains(MapName, "eu01_residential_b16", true) > -1 ||
- StrContains(MapName, "l4d2_ravenholmwar_1", true) > -1 ||
- StrContains(MapName, "l4d_149_1", true) > -1 ||
- StrContains(MapName, "l4d_deathaboard01_prison", true) > -1 ||
- StrContains(MapName, "l4d_zero01_base", true) > -1) return true;
- return false;
- }
- public ResetCampaignScores()
- {
- mapcounter = 0;
- for (new i = 0; i <= 4; i++)
- {
- MapScores[i][0] = 0;
- MapScores[i][1] = 0;
- }
- }
- public CheckForSurvivalChange()
- {
- if (GetConVarInt(g_Module_Campaign_Enabled) == 0) return;
- decl String:GameTypeCurrent2[128];
- GetConVarString(FindConVar("mp_gamemode"), GameTypeCurrent2, 128);
- if (!StrEqual(GameTypeCurrent2, "survival")) return;
- /*decl String:MapName[128];
- GetCurrentMap(MapName, sizeof(MapName));
- if (StrContains(MapName, "c1m4", false) > -1 ||
- StrContains(MapName, "c2m1", false) > -1 ||
- StrContains(MapName, "c2m3", false) > -1 ||
- StrContains(MapName, "c2m4", false) > -1 ||
- StrContains(MapName, "c2m5", false) > -1 ||
- StrContains(MapName, "c3m1", false) > -1 ||
- StrContains(MapName, "c3m3", false) > -1 ||
- StrContains(MapName, "c3m4", false) > -1 ||
- StrContains(MapName, "c4m1", false) > -1 ||
- StrContains(MapName, "c4m2", false) > -1 ||
- StrContains(MapName, "c4m3", false) > -1 ||
- StrContains(MapName, "c5m1", false) > -1 ||
- StrContains(MapName, "c5m2", false) > -1 ||
- StrContains(MapName, "c5m4", false) > -1 ||
- StrContains(MapName, "c5m5", false) > -1 ||
- StrContains(MapName, "c6m1", false) > -1 ||
- StrContains(MapName, "c6m2", false) > -1 ||
- StrContains(MapName, "c6m3", false) > -1 ||
- StrContains(MapName, "c7m1", false) > -1 ||
- StrContains(MapName, "c8m2", false) > -1 ||
- StrContains(MapName, "c8m5", false) > -1 ||
- StrContains(MapName, "c9m2", false) > -1 ||
- StrContains(MapName, "cargobay", false) > -1 ||
- StrContains(MapName, "claustro", false) > -1 ||
- StrContains(MapName, "cruins", false) > -1 ||
- StrContains(MapName, "sacredg", false) > -1 ||
- StrContains(MapName, "scienced16", false) > -1 ||
- StrContains(MapName, "srf01", false) > -1)
- */
- CreateTimer(1.0, Timer_ChangeSurvival, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
- }
- public Action:Timer_ChangeSurvival(Handle:timer)
- {
- new String:map[64];
- static count = -1;
- if (count == -1) count = 0;
- static random = -1;
- while (random == -1)
- {
- if (random == -1) random = GetRandomInt(1, 22);
- // so we can't play the same 5 maps over and over.
- new bool:bFound = false;
- for (new i = 0; i <= 4 && !bFound; i++)
- {
- if (MapRotation[i] == random) bFound = true; // this random choice has been played recently.
- }
- if (bFound) random = -1;
- else
- {
- for (new i = 1; i <= 4; i++)
- {
- MapRotation[i-1] = MapRotation[i];
- }
- MapRotation[4] = random; // stored as the last map so it can't be selected again.
- }
- }
- if (random == 1) Format(map, sizeof(map), "The Atrium");
- else if (random == 2) Format(map, sizeof(map), "The Motel");
- else if (random == 3) Format(map, sizeof(map), "The Roller Coaster");
- else if (random == 4) Format(map, sizeof(map), "The Barn");
- else if (random == 5) Format(map, sizeof(map), "The Concert");
- else if (random == 6) Format(map, sizeof(map), "Plank Country");
- else if (random == 7) Format(map, sizeof(map), "The Plantation");
- else if (random == 8) Format(map, sizeof(map), "The Burger Tank");
- else if (random == 9) Format(map, sizeof(map), "Sugarmill A");
- else if (random == 10) Format(map, sizeof(map), "Sugarmill B");
- else if (random == 11) Format(map, sizeof(map), "The Park");
- else if (random == 12) Format(map, sizeof(map), "The Bridge");
- else if (random == 13) Format(map, sizeof(map), "The Riverbank");
- else if (random == 14) Format(map, sizeof(map), "Bedlam");
- else if (random == 15) Format(map, sizeof(map), "The Port (The Passing)");
- else if (random == 16) Format(map, sizeof(map), "The Docks");
- else if (random == 17) Format(map, sizeof(map), "The Subway");
- else if (random == 18) Format(map, sizeof(map), "The Rooftop");
- else if (random == 19) Format(map, sizeof(map), "The Lot");
- else if (random == 20) Format(map, sizeof(map), "Shanty Town");
- else if (random == 21) Format(map, sizeof(map), "Waterfront");
- else if (random == 22) Format(map, sizeof(map), "French Quarter");
- if (count == 0)
- {
- PrintToChatAll("%t", "Random Map Selection", blue, white, map);
- }
- count++;
- if (count == 15)
- {
- count = -1;
- ChangeSurvival(random);
- random = -1;
- return Plugin_Stop;
- }
- return Plugin_Continue;
- }
- public ChangeSurvival(counter)
- {
- if (counter == 1) ServerCommand("changelevel c1m4_atrium");
- else if (counter == 2) ServerCommand("changelevel c2m1_highway");
- else if (counter == 3) ServerCommand("changelevel c2m3_coaster");
- else if (counter == 4) ServerCommand("changelevel c2m4_barns");
- else if (counter == 5) ServerCommand("changelevel c2m5_concert");
- else if (counter == 6) ServerCommand("changelevel c3m1_plankcountry");
- else if (counter == 7) ServerCommand("changelevel c3m4_plantation");
- else if (counter == 8) ServerCommand("changelevel c4m1_milltown_a");
- else if (counter == 9) ServerCommand("changelevel c4m2_sugarmill_a");
- else if (counter == 10) ServerCommand("changelevel c4m3_sugarmill_b");
- else if (counter == 11) ServerCommand("changelevel c5m2_park");
- else if (counter == 12) ServerCommand("changelevel c5m5_bridge");
- else if (counter == 13) ServerCommand("changelevel c6m1_riverbank");
- else if (counter == 14) ServerCommand("changelevel c6m2_bedlam");
- else if (counter == 15) ServerCommand("changelevel c6m3_port");
- else if (counter == 16) ServerCommand("changelevel c7m1_docks");
- else if (counter == 17) ServerCommand("changelevel c8m2_subway");
- else if (counter == 18) ServerCommand("changelevel c8m5_rooftop");
- else if (counter == 19) ServerCommand("changelevel c9m2_lots");
- else if (counter == 20) ServerCommand("changelevel c3m3_shantytown");
- else if (counter == 21) ServerCommand("changelevel c5m1_waterfront");
- else if (counter == 22) ServerCommand("changelevel c5m4_quarter");
- }
- public ChangeCampaign(bool:random)
- {
- decl String:MapName[128];
- GetCurrentMap(MapName, sizeof(MapName));
- if (!random)
- {
- if (StrContains(MapName, "c1m4", false) > -1) ServerCommand("changelevel c7m1_docks");
- else if (StrContains(MapName, "c2m5", false) > -1) ServerCommand("changelevel c3m1_plankcountry");
- else if (StrContains(MapName, "c6m3", false) > -1) ServerCommand("changelevel c7m1_docks");
- else if (StrContains(MapName, "c3m4", false) > -1) ServerCommand("changelevel c4m1_milltown_a");
- else if (StrContains(MapName, "c4m5", false) > -1) ServerCommand("changelevel c5m1_waterfront");
- else if (StrContains(MapName, "c5m5", false) > -1) ServerCommand("changelevel c8m1_apartment");
- else if (StrContains(MapName, "c7m3", false) > -1) ServerCommand("changelevel c2m1_highway");
- else if (StrContains(MapName, "c8m5", false) > -1) ServerCommand("changelevel c9m1_alleys");
- else if (StrContains(MapName, "c13m4", false) > -1) ServerCommand("changelevel c1m1_hotel");
- else if (StrContains(MapName, "c11m5", false) > -1) ServerCommand("changelevel c12m1_hilltop");
- else if (StrContains(MapName, "c12m5", false) > -1) ServerCommand("changelevel c1m1_hotel");
- else if (StrContains(MapName, "c10m5", false) > -1) ServerCommand("changelevel c11m1_greenhouse");
- else if (StrContains(MapName, "c9m2", false) > -1) ServerCommand("changelevel c10m1_caves");
- else
- {
- // custom campaign, dead center is the next map
- ServerCommand("changelevel c1m1_hotel");
- }
- }
- else
- {
- new number = GetRandomInt(1, 11);
- if (number == 1) ServerCommand("changelevel c7m1_docks");
- else if (number == 2) ServerCommand("changelevel c3m1_plankcountry");
- else if (number == 3) ServerCommand("changelevel c4m1_milltown_a");
- else if (number == 4) ServerCommand("changelevel c5m1_waterfront");
- else if (number == 5) ServerCommand("changelevel c8m1_apartment");
- else if (number == 6) ServerCommand("changelevel c2m1_highway");
- else if (number == 7) ServerCommand("changelevel c9m1_alleys");
- else if (number == 8) ServerCommand("changelevel c1m1_hotel");
- else if (number == 9) ServerCommand("changelevel c12m1_hilltop");
- else if (number == 10) ServerCommand("changelevel c11m1_greenhouse");
- else if (number == 11) ServerCommand("changelevel c10m1_caves");
- }
- }
- public Action:Timer_ChangeCampaign(Handle:timer)
- {
- new String:map[64];
- static count = -1;
- if (count == -1) count = 0;
- decl String:MapName[128];
- GetCurrentMap(MapName, sizeof(MapName));
- if (StrContains(MapName, "c1m4", false) > -1) Format(map, sizeof(map), "The Sacrifice");
- else if (StrContains(MapName, "c2m5", false) > -1) Format(map, sizeof(map), "Swamp Fever");
- else if (StrContains(MapName, "c6m3", false) > -1) Format(map, sizeof(map), "The Sacrifice");
- else if (StrContains(MapName, "c3m4", false) > -1) Format(map, sizeof(map), "Hard Rain");
- else if (StrContains(MapName, "c4m5", false) > -1) Format(map, sizeof(map), "The Parish");
- else if (StrContains(MapName, "c5m5", false) > -1) Format(map, sizeof(map), "No Mercy");
- else if (StrContains(MapName, "c7m3", false) > -1) Format(map, sizeof(map), "Dark Carnival");
- else if (StrContains(MapName, "c8m5", false) > -1) Format(map, sizeof(map), "Crash Course");
- else if (StrContains(MapName, "c13m4", false) > -1) Format(map, sizeof(map), "Dead Center");
- else if (StrContains(MapName, "c11m5", false) > -1) Format(map, sizeof(map), "Blood Harvest");
- else if (StrContains(MapName, "c12m5", false) > -1) Format(map, sizeof(map), "Dead Center");
- else if (StrContains(MapName, "c10m5", false) > -1) Format(map, sizeof(map), "Dead Air");
- else if (StrContains(MapName, "c9m2", false) > -1) Format(map, sizeof(map), "Death Toll");
- else
- {
- // Custom campaign always rolls back to dead center
- Format(map, sizeof(map), "Dead Center");
- }
- if (count == 0)
- {
- PrintToChatAll("%t", "Random Map Selection", blue, white, map);
- }
- count++;
- if (count == GetConVarInt(g_Module_Campaign_MapchangeDelay))
- {
- count = -1;
- ChangeCampaign(false);
- return Plugin_Stop;
- }
- return Plugin_Continue;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement