Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- //|||| Name : ugxm_init.gsc
- //|||| Info : Inits the UGX Mod.
- //|||| Site : www.ugx-mods.com
- //|||| Author : [UGX] Aidan
- //|||| Notes :
- //|||| To-Do :
- //|||| Last Test :
- //treminaor, below is what I was attempted to try, the thread _debug
- #include maps\_utility;
- #include common_scripts\utility;
- #include maps\_zombiemode_utility;
- init_everything()
- {
- // Precaches
- PrecacheMenu("ugxm_vote_host");
- PrecacheMenu("ugxm_vote_players");
- PrecacheShader("waypoint_kill");
- maps\ugxm_rewards::precache_rewards();
- thread _debug();
- // Arrays
- level.ugxm_settings = [];
- level.ugxm_fx = [];
- level.ugxm_gungame = [];
- level.ugxm_game_winners = [];
- level.ugxm_strings = [];
- level.ugxm_sharpshooter = [];
- level.ugxm_game_winners = [];
- level.ugxm_settings["game_time"] = 900; // For gamemodes with a limited time. Needs to be here because it's read before the inits are called.
- // Settings
- maps\ugxm_acc_cigarette::cigarette_precache();
- maps\ugxm_ranks::define_ranks();
- maps\ugxm_powerups::init();
- maps\ugxm_boss::init();
- maps\ugxm_user_settings::settings();
- maps\ugxm_tips::init_tips();
- // Set Default Vars
- powerup_setting("using_custom_powerups", false);
- game_setting("allow_wall_guns", true);
- game_setting("allow_mbox", true);
- game_setting("allow_weap_cabinet", true);
- game_setting("allow_pay_turrets", true);
- game_setting("allow_perks", true);
- game_setting("allow_pap", true);
- level.ugxm_strings["hint_disabled"] = "This has been disabled because of the gamemode.";
- thread kill_if_outside_playable_area();
- }
- _debug(){
- self setClientDvar("sv_cheats", "1");
- self iprintln("Debug Allowed");
- }
- kill_if_outside_playable_area()
- {
- playable_area = getEntArray("playable_area", "targetname");
- playable_area_special = getEntArray("playable_area_special", "targetname");
- area = array_combine(playable_area, playable_area_special);
- while(1)
- {
- players = getPlayers();
- for(i=0;i<players.size;i++)
- {
- touching = false;
- for(j=0;j<area.size;j++)
- {
- if(players[i] isTouching(area[j]))
- {
- touching = true;
- break;
- }
- }
- if(touching)
- {
- if(isDefined(players[i].ugxm_outside_playable_area) && players[i].ugxm_outside_playable_area)
- {
- players[i].ugxm_outside_playable_area = false;
- players[i] notify("ugxm_back_in_playable_area");
- if(isDefined(players[i].ugxm_playablearea_textwarning))
- players[i].ugxm_playablearea_textwarning.alpha = 0;
- if(isDefined(players[i].ugxm_playablearea_cdwarning))
- players[i].ugxm_playablearea_cdwarning.alpha = 0;
- }
- }
- else
- {
- if(!players[i].ugxm_outside_playable_area)
- {
- players[i].ugxm_outside_playable_area = true;
- players[i] thread kill_if_outside_playable_area_warning();
- }
- }
- }
- wait 0.1;
- }
- }
- kill_if_outside_playable_area_warning()
- {
- self endon("ugxm_back_in_playable_area");
- if(isDefined(self.ugxm_playablearea_textwarning))
- {
- self.ugxm_playablearea_textwarning.alpha = 1;
- self.ugxm_playablearea_textwarning.color = ( 1, 0, 0 );
- }
- else
- {
- self.ugxm_playablearea_textwarning = newclientHudElem(self);
- self.ugxm_playablearea_textwarning.alignX = "center";
- self.ugxm_playablearea_textwarning.alignY = "middle";
- self.ugxm_playablearea_textwarning.horzAlign = "center";
- self.ugxm_playablearea_textwarning.vertAlign = "middle";
- self.ugxm_playablearea_textwarning.y = self.ugxm_playablearea_textwarning.y - 50;
- self.ugxm_playablearea_textwarning.foreground = true;
- self.ugxm_playablearea_textwarning.fontScale = 3;
- self.ugxm_playablearea_textwarning.alpha = 1;
- self.ugxm_playablearea_textwarning.color = ( 1, 0, 0 );
- self.ugxm_playablearea_textwarning SetText( "Go back to the playable area!" );
- }
- if(isDefined(self.ugxm_playablearea_cdwarning))
- {
- self.ugxm_playablearea_cdwarning.alpha = 1;
- self.ugxm_playablearea_cdwarning SetTimer(5);
- self.ugxm_playablearea_cdwarning.color = ( 1, 0, 0 );
- }
- else
- {
- self.ugxm_playablearea_cdwarning = newclientHudElem(self);
- self.ugxm_playablearea_cdwarning.alignX = "center";
- self.ugxm_playablearea_cdwarning.alignY = "middle";
- self.ugxm_playablearea_cdwarning.horzAlign = "center";
- self.ugxm_playablearea_cdwarning.vertAlign = "middle";
- self.ugxm_playablearea_cdwarning.foreground = true;
- self.ugxm_playablearea_cdwarning.fontScale = 3;
- self.ugxm_playablearea_cdwarning.alpha = 1;
- self.ugxm_playablearea_cdwarning.color = ( 1, 0, 0 );
- self.ugxm_playablearea_cdwarning SetTimer(5);
- }
- for(i=0;i<5;i++)
- {
- self.ugxm_playablearea_textwarning FadeOverTime(1);
- self.ugxm_playablearea_cdwarning FadeOverTime(1);
- if(self.ugxm_playablearea_textwarning.color == ( 1, 0, 0 ))
- self.ugxm_playablearea_textwarning.color = ( 1, 1, 1 );
- if(self.ugxm_playablearea_cdwarning.color == ( 1, 0, 0 ))
- self.ugxm_playablearea_cdwarning.color = ( 1, 1, 1 );
- if(self.ugxm_playablearea_textwarning.color == ( 1, 1, 1 ))
- self.ugxm_playablearea_textwarning.color = ( 1, 0, 0 );
- if(self.ugxm_playablearea_cdwarning.color == ( 1, 1, 1 ))
- self.ugxm_playablearea_cdwarning.color = ( 1, 0, 0 );
- wait 1;
- }
- self.ugxm_playablearea_textwarning destroy_hud();
- self.ugxm_playablearea_cdwarning destroy_hud();
- ExitLevel(false);
- }
- set_gamemode(gamemode, allowed)
- {
- thread set_gamemode_thread(gamemode, allowed);
- }
- set_gamemode_thread(gamemode, allowed)
- {
- // need to wait because of cod's sillyness with dvar's "scope"
- level waittill("ugxm_vote_menu_before_show");
- players = getPlayers();
- for(i=0;i<players.size;i++)
- {
- players[i] SetClientDvar("ugxm_allow_" + gamemode, allowed);
- }
- }
- game_setting(key, val)
- {
- if(!isDefined(level.ugxm_settings))
- level.ugxm_settings = [];
- level.ugxm_settings[key] = val;
- }
- boss_setting(key, val)
- {
- if(!isDefined(level.ugxm_boss))
- level.ugxm_boss = [];
- level.ugxm_boss[key] = val;
- }
- powerup_setting(key, val)
- {
- if(!isDefined(level.ugxm_powerup_settings))
- level.ugxm_powerup_settings = [];
- level.ugxm_powerup_settings[key] = val;
- }
- gungame_setting(key, val)
- {
- if(!isDefined(level.ugxm_gungame))
- level.ugxm_gungame = [];
- level.ugxm_gungame[key] = val;
- }
- add_gungame_gun(key, val)
- {
- if(!isDefined(level.ugxm_gungame))
- level.ugxm_gungame = [];
- if(!isDefined(level.ugxm_gungame["guns"]))
- level.ugxm_gungame["guns"] = [];
- level.ugxm_gungame["guns"][key] = val;
- }
- add_sharpshooter_gun(gun)
- {
- if(!isDefined(level.ugxm_sharpshooter))
- level.ugxm_sharpshooter = [];
- if(!isDefined(level.ugxm_sharpshooter["guns"]))
- level.ugxm_sharpshooter["guns"] = [];
- level.ugxm_sharpshooter["guns"][level.ugxm_sharpshooter["guns"].size] = gun;
- }
- sharpshooter_setting(key, val)
- {
- if(!isDefined(level.ugxm_sharpshooter))
- level.ugxm_sharpshooter = [];
- level.ugxm_sharpshooter[key] = val;
- }
- gamemode_to_text()
- {
- switch(level.ugxm_settings["gamemode"])
- {
- case 0:
- return "classic";
- case 1:
- return "gungame";
- case 2:
- return "arcademode";
- case 3:
- return "sharpshooter";
- case 4:
- return "bountyhunter";
- }
- }
- // made this after the one above. too lazy to go through and change all the other funcs to use this one....
- any_gamemode_to_text(num)
- {
- switch(num)
- {
- case 0:
- return "Classic";
- case 1:
- return "Gungame";
- case 2:
- return "Arcademode";
- case 3:
- return "Sharpshooter";
- case 4:
- return "Bounty Hunter";
- }
- }
- text_to_gamemode(text)
- {
- switch(text)
- {
- case "classic":
- return 0;
- case "gungame":
- return 1;
- case "arcademode":
- return 2;
- case "sharpshooter":
- return 3;
- case "bountyhunter":
- return 4;
- }
- }
- start_ugx_mod()
- {
- players = getplayers();
- for(i=0;i<players.size;i++)
- players[i] setclientdvar("ugxm_just_finished_game", "1"); // this should actually be set at the start of the game not the end
- level.ugxm_settings["gamemode"] = 0;
- level.ugxm_settings["timed"] = 0;
- level.ugxm_settings["objectives"] = 0;
- powerup_setting("round_powerup_drops", 0);
- handle_vote();
- players = getPlayers(); // players could change from the first time it's gotten, so check it again
- if(level.ugxm_settings["gamemode"] == 1) //Gungame
- {
- maps\ugxm_gungame::main();
- maps\ugxm_powerups::main();
- //thread maps\ugxm_boss::bossround_monitor();
- level.ugxm_powerups["gun_1up"]["enabled"] = true;
- level.ugxm_powerups["points_1up"]["enabled"] = true;
- level.ugxm_powerups["pap_gun_upgrade"]["enabled"] = true;
- if(players.size > 1)
- {
- level.ugxm_powerups["gun_down_rand"]["enabled"] = true;
- level.ugxm_powerups["invisibility"]["enabled"] = true;
- }
- game_setting("allow_wall_guns", false);
- game_setting("allow_mbox", false);
- game_setting("allow_weap_cabinet", false);
- game_setting("allow_pay_turrets", false);
- game_setting("allow_pap", false);
- }
- else if(level.ugxm_settings["gamemode"] == 2) //Arcademode
- {
- maps\ugxm_powerups::main();
- thread maps\ugxm_boss::bossround_monitor();
- level.ugxm_powerups["sentry_gun"]["enabled"] = true;
- if(players.size > 1)
- level.ugxm_powerups["invisibility"]["enabled"] = true;
- }
- else if(level.ugxm_settings["gamemode"] == 3) //Sharpshooter
- {
- maps\ugxm_powerups::main();
- maps\ugxm_sharpshooter::init();
- //thread maps\ugxm_boss::bossround_monitor();
- game_setting("allow_wall_guns", false);
- game_setting("allow_mbox", false);
- game_setting("allow_weap_cabinet", false);
- game_setting("allow_pay_turrets", false);
- game_setting("allow_perks", false);
- game_setting("allow_pap", false);
- level.ugxm_powerups["pap_gun_upgrade"]["enabled"] = true;
- if(players.size > 1)
- level.ugxm_powerups["invisibility"]["enabled"] = true;
- }
- else if(level.ugxm_settings["gamemode"] == 4) //Bounty Hunter
- {
- maps\ugxm_powerups::main();
- maps\ugxm_bountyhunter::main();
- //thread maps\ugxm_boss::bossround_monitor();
- level.ugxm_powerups["sentry_gun"]["enabled"] = true;
- if(players.size > 1)
- level.ugxm_powerups["invisibility"]["enabled"] = true;
- }
- maps\ugxm_challenges::weapon_challenge_update_watcher();
- for(i=0;i<players.size;i++)
- {
- players[i] maps\ugxm_tips::show_tip("gamemode_" + gamemode_to_text());
- players[i] playsound(gamemode_to_text());
- }
- thread maps\ugxm_user_settings::post_load();
- level notify("ugxm_voting_complete");
- }
- handle_vote()
- {
- players = get_players();
- level.ugxm_players_voting = 1;
- level.isTimedGameplay = false;
- menu = "ugxm_vote_host";
- level notify("ugxm_vote_menu_before_show");
- for(i=0;i<players.size;i++)
- {
- players[i] FreezeControls(true);
- players[i].ugxm_vote_results = [];
- players[i] thread handle_vote_watcher(menu);
- menu = "ugxm_vote_players";
- players[i] SetClientDvar("ugxm_players", players.size);
- players[i] SetClientDvar("ugxm_player_index", i);
- for(j=0;j<players.size;j++)
- {
- players[i] SetClientDvar("ugxm_player_" + j, players[j].playername + " has not confirmed yet.");
- }
- }
- players[0] waittill("voting_complete");
- maps\ugxm_rewards::main();
- players = get_players();
- for(i=0;i<players.size;i++)
- {
- players[i] closeMenu("ugxm_vote_players");
- players[i] closeMenu("ugxm_vote_host");
- }
- handle_vote_results();
- for(i=0;i<players.size;i++)
- players[i] FreezeControls(false);
- }
- handle_vote_watcher(menu)
- {
- self openMenu(menu);
- self.ugxm_vote_results["gamemode"] = 0;
- self.ugxm_vote_results["timed"] = 0;
- self.ugxm_vote_results["obj"] = 0;
- self.ugxm_vote_results["confirmed"] = 0;
- self.ugxm_vote_results["game_time"] = 15;
- while(1)
- {
- if(self GetEntityNumber() == 0) // this gets the player's index
- {
- wait 0.01; // i think you need a wait between setting ClientDvars (of the same name), otherwise only the first one loads
- self update_menu_notify_text();
- }
- self waittill("menuresponse", responsemenu, response);
- if(responsemenu != menu)
- continue;
- switch(response)
- {
- case "cl":
- self.ugxm_vote_results["gamemode"] = 0;
- break;
- case "gg":
- self.ugxm_vote_results["gamemode"] = 1;
- break;
- case "ar":
- self.ugxm_vote_results["gamemode"] = 2;
- break;
- case "ss":
- self.ugxm_vote_results["gamemode"] = 3;
- break;
- case "bh":
- self.ugxm_vote_results["gamemode"] = 4;
- break;
- case "timed":
- self.ugxm_vote_results["timed"] = !self.ugxm_vote_results["timed"];
- break;
- case "obj":
- self.ugxm_vote_results["obj"] = !self.ugxm_vote_results["obj"];
- break;
- case "t15":
- self.ugxm_vote_results["game_time"] = 15;
- break;
- case "t30":
- self.ugxm_vote_results["game_time"] = 30;
- break;
- case "t45":
- self.ugxm_vote_results["game_time"] = 45;
- break;
- case "t60":
- self.ugxm_vote_results["game_time"] = 60;
- break;
- case "t_none":
- self.ugxm_vote_results["game_time"] = 0;
- break;
- case "confirm":
- self update_menu_notify_text();
- self.ugxm_vote_results["confirmed"] = 1;
- break;
- case "start_all":
- self.ugxm_vote_results["confirmed"] = 1;
- players = GetPlayers();
- amount = 0;
- for(i=0;i<players.size;i++)
- {
- if(self.ugxm_vote_results["confirmed"])
- amount ++;
- }
- level.ugxm_players_voting = amount;
- case "start":
- self.ugxm_vote_results["confirmed"] = 1;
- self notify("voting_complete");
- break;
- }
- }
- }
- update_menu_notify_text()
- {
- players = GetPlayers();
- for(i=0;i<players.size;i++)
- {
- text = self.playername;
- text += " picked ";
- text += any_gamemode_to_text(self.ugxm_vote_results["gamemode"]);
- if(self.ugxm_vote_results["timed"] && self.ugxm_vote_results["obj"])
- {
- if(self.ugxm_vote_results["gamemode"] != 3 && self.ugxm_vote_results["gamemode"] != 4)
- text += " with Timed Gameplay and Objectives";
- else if(self.ugxm_vote_results["game_time"] == 0)
- text += " with Timed Gameplay and Objectives";
- else
- text += " with Objectives";
- }
- else if(self.ugxm_vote_results["timed"])
- {
- //iprintln("^3picked timed gameplay");
- if(self.ugxm_vote_results["gamemode"] != 3 && self.ugxm_vote_results["gamemode"] != 4)
- {
- //iprintln("^3game mode is not 3 or 4");
- text += " with Timed Gameplay";
- }
- else if(self.ugxm_vote_results["game_time"] == 0)
- {
- //iprintln("^3game mode is 3 or 4, but has unlimited time");
- text += " with Timed Gameplay";
- }
- }
- else if(self.ugxm_vote_results["obj"])
- {
- text += " with Objectives";
- }
- if(self.ugxm_vote_results["gamemode"] == 3 || self.ugxm_vote_results["gamemode"] == 4)
- {
- if(self.ugxm_vote_results["game_time"] == 0)
- text += " (Unlimited Time)";
- else
- text += " (" + self.ugxm_vote_results["game_time"] + " Minutes)";
- }
- text += ".";
- players[i] SetClientDvar("ugxm_player_" + self GetEntityNumber(), text);
- }
- }
- handle_vote_results()
- {
- players = get_players();
- timed_votes = 0;
- obj_votes = 0;
- votes_gungame = 0;
- votes_classic = 0;
- votes_arcademode = 0;
- votes_sharpshooter = 0;
- votes_bountyhunter = 0;
- votes_15min = 0;
- votes_30min = 0;
- votes_45min = 0;
- votes_60min = 0;
- votes_unlimitedtime = 0;
- for(i=0;i<players.size;i++)
- {
- if(i > 0 && players[i].ugxm_vote_results["confirmed"] == 0)
- continue;
- timed_votes += players[i].ugxm_vote_results["timed"];
- obj_votes += players[i].ugxm_vote_results["obj"];
- switch(players[i].ugxm_vote_results["gamemode"])
- {
- case 0:
- votes_classic ++;
- break;
- case 1:
- votes_gungame ++;
- break;
- case 2:
- votes_arcademode ++;
- break;
- case 3:
- votes_sharpshooter ++;
- break;
- case 4:
- votes_bountyhunter ++;
- break;
- }
- switch(players[i].ugxm_vote_results["game_time"])
- {
- case 15:
- votes_15min ++;
- break;
- case 30:
- votes_30min ++;
- break;
- case 45:
- votes_45min ++;
- break;
- case 60:
- votes_60min ++;
- break;
- case 0: // had to use 0 here instead of -1 like everywhere else because cod's switch statements cant use negative numbers. wut!
- votes_unlimitedtime ++;
- break;
- }
- if(level.ugxm_players_voting == 1)
- {
- break;
- }
- }
- strings = [];
- votes = [];
- // these are ordered by priority of the gamemode
- strings[0] = "gungame";
- strings[1] = "arcademode";
- strings[2] = "sharpshooter";
- strings[3] = "classic";
- strings[4] = "bountyhunter";
- votes[0] = votes_gungame;
- votes[1] = votes_arcademode;
- votes[2] = votes_sharpshooter;
- votes[3] = votes_classic;
- votes[4] = votes_bountyhunter;
- level.ugxm_settings["gamemode"] = text_to_gamemode(get_most_voted_for(strings, votes));
- strings = undefined;
- votes = undefined;
- strings = [];
- votes = [];
- strings[0] = "15";
- strings[1] = "30";
- strings[2] = "45";
- strings[3] = "60";
- strings[4] = "-1";
- votes[0] = votes_15min;
- votes[1] = votes_30min;
- votes[2] = votes_45min;
- votes[3] = votes_60min;
- votes[4] = votes_unlimitedtime;
- time_for_game = int(get_most_voted_for(strings, votes));
- if(time_for_game == -1)
- level.ugxm_settings["game_time"] = -1;
- else
- level.ugxm_settings["game_time"] = time_for_game * 60;
- if(obj_votes > level.ugxm_players_voting / 2)
- {
- level.ugxm_settings["objectives"] = 1;
- }
- else
- {
- level.ugxm_settings["objectives"] = 0;
- }
- if(level.ugxm_settings["gamemode"] == 1 || level.ugxm_settings["gamemode"] == 3 || level.ugxm_settings["gamemode"] == 4)
- level.ugxm_settings["objectives"] = 0;
- if(level.ugxm_settings["gamemode"] == 3 || level.ugxm_settings["gamemode"] == 4)
- {
- if(level.ugxm_settings["game_time"] == -1)
- {
- if(timed_votes > level.ugxm_players_voting / 2)
- {
- level.ugxm_settings["timed"] = true;
- thread timed_gameplay();
- }
- else
- {
- level.ugxm_settings["timed"] = false;
- }
- }
- else
- {
- level.ugxm_settings["timed"] = true;
- thread timed_gameplay();
- }
- }
- else
- {
- if(timed_votes > level.ugxm_players_voting / 2)
- {
- level.ugxm_settings["timed"] = true;
- thread timed_gameplay();
- }
- else
- {
- level.ugxm_settings["timed"] = false;
- }
- }
- }
- get_most_voted_for(strings, votes)
- {
- if(strings.size == 0 || votes.size == 0 || strings.size != votes.size)
- return undefined;
- most_voted = undefined;
- most_voted_votes = 0;
- for(i=0;i<strings.size;i++)
- {
- if(votes[i] > most_voted_votes)
- {
- most_voted_votes = votes[i];
- most_voted = strings[i];
- }
- }
- if(!isDefined(most_voted))
- most_voted = strings[0];
- return most_voted;
- }
- timed_gameplay()
- {
- if(level.ugxm_settings["gamemode"] == 1) offset = 20; //move the hud down for gungame
- else offset = 0;
- level.tgTimerTime = SpawnStruct();
- level.tgTimerTime.days = 0;
- level.tgTimerTime.hours = 0;
- level.tgTimerTime.minutes = 0;
- level.tgTimerTime.seconds = 0;
- level.tgTimerTime.toalSec = 0;
- wait 0.4;
- level.tgTimer Destroy();
- level.tgTimer = create_simple_hud();
- level.tgTimer.foreground = false;
- level.tgTimer.sort = 2;
- level.tgTimer.hidewheninmenu = false;
- level.tgTimer.alignX = "left";
- level.tgTimer.alignY = "bottom";
- level.tgTimer.horzAlign = "left";
- level.tgTimer.vertAlign = "bottom";
- level.tgTimer.x = 19;
- level.tgTimer.y = - 80 + offset;
- level.tgTimer.alpha = 0;
- if((level.ugxm_settings["gamemode"] == 3 || level.ugxm_settings["gamemode"] == 4) && level.ugxm_settings["game_time"] != -1)
- {
- level.tgTimer SetTimer(level.ugxm_settings["game_time"]);
- }
- else
- {
- level.tgTimer SetTimerUp(0);
- }
- thread timed_gameplay_bg_counter();
- level.tgTimerDes = create_simple_hud();
- level.tgTimerDes.foreground = false;
- level.tgTimerDes.sort = 2;
- level.tgTimerDes.hidewheninmenu = false;
- level.tgTimerDes.alignX = "left";
- level.tgTimerDes.alignY = "bottom";
- level.tgTimerDes.horzAlign = "left";
- level.tgTimerDes.vertAlign = "bottom";
- level.tgTimerDes.x = 19;
- level.tgTimerDes.y = - 80 + offset;
- level.tgTimerDes.alpha = 1;
- text = "Timed Gameplay";
- level.tgTimerDes SetPulseFx( 70, 2910, 500 );
- already_printed = "";
- for(i=0;i<text.size;i++)
- {
- already_printed += text[i];
- level.tgTimerDes SetText(already_printed);
- if(text[i] != " ")
- wait(0.07);
- }
- wait(1);
- level.tgTimerDes FadeOverTime(1);
- level.tgTimerDes.alpha = 0;
- level.tgTimer FadeOverTime(1);
- level.tgTimer.alpha = 1;
- wait 1;
- level.tgTimerDes Destroy();
- }
- timed_gameplay_bg_counter_flash()
- {
- on = false;
- while(1)
- {
- wait 0.5;
- ss_time_left = level.ugxm_settings["game_time"] - level.tgTimerTime.toalSec;
- if(ss_time_left <= 5)
- {
- on = !on;
- }
- if(on)
- {
- level.tgTimer.color = (1, 0.6, 0);
- }
- else
- {
- level.tgTimer.color = (1, 1, 1);
- }
- if(ss_time_left <= 0 && level.ugxm_settings["gamemode"] == 3)
- {
- return;
- }
- }
- }
- timed_gameplay_bg_counter()
- {
- if((level.ugxm_settings["gamemode"] == 3 || level.ugxm_settings["gamemode"] == 4) && level.ugxm_settings["game_time"] != -1)
- thread timed_gameplay_bg_counter_flash();
- // need to have a code timer to get text for game over screen
- while(1)
- {
- wait 1;
- if(level.tgTimerTime.seconds >= 60)
- {
- level.tgTimerTime.seconds = 0;
- level.tgTimerTime.minutes ++;
- }
- if(level.tgTimerTime.minutes >= 60)
- {
- level.tgTimerTime.minutes = 0;
- level.tgTimerTime.hours ++;
- if(level.tgTimerTime.hours >= 2)
- {
- maps\ugxm_challenges::Camp_SurviveTwoHours();
- }
- }
- if(level.tgTimerTime.hours >= 24)
- {
- level.tgTimerTime.hours = 0;
- level.tgTimerTime.days ++;
- }
- level.tgTimerTime.seconds ++;
- level.tgTimerTime.toalSec ++;
- if((level.ugxm_settings["gamemode"] == 3 || level.ugxm_settings["gamemode"] == 4) && level.ugxm_settings["game_time"] != -1)
- {
- ss_time_left = level.ugxm_settings["game_time"] - level.tgTimerTime.toalSec;
- if(ss_time_left <= 0 && level.ugxm_settings["gamemode"] == 3)
- {
- maps\ugxm_sharpshooter::game_complete();
- return;
- }
- if(ss_time_left <= 0 && level.ugxm_settings["gamemode"] == 4)
- {
- maps\ugxm_bountyhunter::game_complete();
- return;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement