Post: Few More GSC Gamemodes
05-28-2016, 01:48 AM #1
HiddenHour
I defeated!
(adsbygoogle = window.adsbygoogle || []).push({}); Information:
It's been a while since I posted some things so here you go. :confused: I'm pretty much done with modding since I just don't care about it anymore. Since you guys have been so chill in the time that I've spent here I decided to just say screw it and give you guys something I've had for a while. I once hosted these gamemodes every night with my friends on PSN, but we've all gone our separate ways so I don't need them anymore. I hope they bring you as much enjoyment as they've brought me. Have fun.

IMPORTANT

These were initially in a gamemode loader, so you need to change the names of the init functions to use them by themselves. For example, vip_init() would turn into init()
How To Use Them


1) Make a GSC Studio Project and delete EVERYTHING in there.
2) Paste the #includes into your project
3) Paste the required HUD functions under your #includes
4) Find the gamemode you want and paste all of it's functions at the bottom of your project.
5) Find the gamemode's init function and rename it so it's only init() ( For ex. infect_init() would turn into just init() )
When you're done it should look like this:
You must login or register to view this content.



You need to include these as well
    #include maps\mp\_utility;
#include maps\mp\bots\_bot;
#include maps\mp\_scoreevents;
#include maps\mp\teams\_teams;
#include maps\mp\gametypes\sd;
#include common_scripts\utility;
#include maps\mp\gametypes\_dev;
#include maps\mp\gametypes\shrp;
#include maps\mp\gametypes\_rank;
#include maps\mp\gametypes\_menus;
#include maps\mp\gametypes\_class;
#include maps\mp\gametypes\_wager;
#include maps\mp\gametypes\_pregame;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_spawning;
#include maps\mp\gametypes\_spawnlogic;
#include maps\mp\gametypes\_hud_message;
#include maps\mp\gametypes\_globallogic;
#include maps\mp\gametypes\_globallogic_score;
#include maps\mp\gametypes\_globallogic_utils;
#include maps\mp\killstreaks\_turret_killstreak;


RED = TDM ONLY, GREEN = FFA ONLY, PURPLE = TDM + FFA COMPATABLE
Required HUD Functions
    getHUDInfo(arg)
{
if(arg=="color")
return self.color;
else if(arg=="alpha")
return self.alpha;
else if(arg=="x")
return self.x;
else if(arg=="y")
return self.y;
else if(arg=="text")
return self.text;
else if(arg=="sort")
return self.sort;
else if(arg=="width")
return self.width;
else if(arg=="height")
return self.height;
}

setString(type, text, disableOverflowCount)
{
if(!disableOverflowCount)
{
if(!isDefined(level.overflowfix_result))
level.overflowfix_result = 0;
else
level.overflowfix_result += 1;

//level notify("overflow_result");
}

self.text = text;
if(type==1)
self setText(text);
else if(type==2)
self setValue(text);
else if(type==3)
self setTimer(text);
else if(type==4)
self setTenthsTimer(text);
}

drawString(type, text, disableOverflowCount, scale, color, alpha, glowcolor, glowalpha, x, y, xa, ya, sort, client, team)
{
if(!client || !isDefined(client))
hud = self createFontString("objective", scale);
else
hud = level createServerFontString("objective", scale, team);
hud.sort = sort;
hud setString(type, text, disableOverflowCount);
hud setPoint(xa, ya, x, y);
hud.color = color;
hud.alpha = alpha;
hud.glowcolor = glowcolor;
hud.glowalpha = glowalpha;

hud.archived = true;
return hud;
}

drawShader(shader, width, height, x, y, xa, ya, color, alpha, sort, client, team)
{
if(!client || !isDefined(client))
hud = createIcon(shader, width, height);
else
hud = createServerIcon(shader, width, height, team);
hud.width = width;
hud.height = height;
hud.sort = sort;
hud setPoint(xa, ya, x, y);
hud.color = color;
hud.alpha = alpha;

hud.archived = true;
return hud;
}

drawBar(width, height, color, alpha, flashfrac, x, y, xa, ya, sort, client, team, selected)
{
if(!client || !isDefined(client))
hud = createBar(color, width, height, flashfrac);
else
hud = createServerBar(color, width, height, flashfrac, team, selected);
hud.sort = sort;
hud setPoint(xa, ya, x, y);
hud updateBar((flashfrac));
hud.alpha = alpha;

hud.archived = true;
return hud;
}

All Or Nothing
All or Nothing from MW3. Perk animations and everything.
    aol_init()
{
//Dont mess with these
if(getDvar("g_gametype") == "dm")
registerscorelimit( 30, 30 );
else if(getDvar("g_gametype") == "tdm")
registerscorelimit( 65, 65 );
level.onplayerkilled = ::aol_onplayerkilled;
level.givecustomloadout = ::aol_givecustomloadout;
level.aol_perkKillReq = [];
level.aol_perkKillPerk = [];

//Mess with these
//Display welcome message when players spawn
level.aol_displayWelcome = true;
level.aol_welcomeIcon = "perk_ghost";
//Weapon that players get at spawn
level.aol_randomWeapon = false;

if(!level.aol_randomWeapon)
level.aol_spawnWeapon = "fnp45_mp+tacknife";
else
level.aol_spawnWeapon = aol_randomWeapon() + "+tacknife";
//Ammo monitor
level.aol_monitorAmmo = [];
level.aol_monitorAmmo["enabled"]["system"] = true;
level.aol_monitorAmmo["enabled"]["stock"] = true;
level.aol_monitorAmmo["enabled"]["clip"] = false;
level.aol_monitorAmmo["enabled"]["special"] = true;
level.aol_monitorAmmo["amount"]["stock"] = WeaponClipSize(level.aol_spawnWeapon)*2;
level.aol_monitorAmmo["amount"]["clip"] = 999;
level.aol_monitorAmmo["amount"]["special"] = 1;
//Kills required to get perks
level.aol_perkKillReq[0] = 1;
level.aol_perkKillReq[1] = 3;
level.aol_perkKillReq[2] = 5;
level.aol_perkKillReq[3] = 7;
//Perks that you get for kills
level.aol_perkKillPerk[0] = "specialty_scavenger";
level.aol_perkKillPerk[1] = "specialty_fastreload";
level.aol_perkKillPerk[2] = "specialty_bulletaccuracy";
level.aol_perkKillPerk[3] = "specialty_bulletflinch";

maps/mp/gametypes/_wager::addpowerup( level.aol_perkKillPerk[0], "perk", "Scavenger", "perk_scavenger" );
maps/mp/gametypes/_wager::addpowerup( level.aol_perkKillPerk[1], "perk", "Faster Reload", "perk_fast_hands" );
maps/mp/gametypes/_wager::addpowerup( level.aol_perkKillPerk[2], "perk", "Steady Aim", "perk_dexterity" );
maps/mp/gametypes/_wager::addpowerup( level.aol_perkKillPerk[3], "perk", "Specialist Perks", "perk_ghost" );

precacheShader(level.aol_welcomeIcon);

level thread aol_onPlayerConnect();
}

aol_randomWeapon()
{
num = randomIntRange(0, 4);
if(num==0)
return "beretta93r_mp";
else if(num==1)
return "fiveseven_mp";
else if(num==2)
return "fnp45_mp";
else if(num==3)
return "kard_mp";
}

aol_onPlayerConnect()
{
for(;Winky Winky
{
level waittill("connected", player);

player.aol_killStreak = 0;
player.aol_perkStreak = 0;
player.aol_displayedWelcome = false;

player thread aol_onPlayerSpawned();
}
}

aol_onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");
for(;Winky Winky
{
self waittill("spawned_player");

if(level.aol_displayWelcome && !self.aol_displayedWelcome)
{
self oldnotifymessage("Welcome to ^5All or Nothing^7", "Get ^1kills^7 to earn ammo and perks", level.aol_welcomeIcon, (1,1,1), undefined, 7);
self.aol_displayedWelcome = true;
}

if(level.aol_monitorAmmo["enabled"]["system"])
self thread aol_ammoMonitor();
}
}

aol_givecustomloadout()
{
level.loadoutkillstreaksenabled = false;
self.aol_killStreak = 0;
if(self.aol_perkStreak != 0)
{
self.aol_perkStreak = 0;
self maps/mp/gametypes/_wager::clearpowerups();
}
self clearPerks();
self takeAllWeapons();
self giveWeapon("knife_mp");
self giveWeapon("hatchet_mp");
self setWeaponAmmoStock("hatchet_mp", 1);
self giveWeapon(level.aol_spawnWeapon);
self setWeaponAmmoStock(level.aol_spawnWeapon, 0);
self setWeaponAmmoClip(level.aol_spawnWeapon, 0);
self switchToWeapon(level.aol_spawnWeapon);

self setactionslot( 1, "" );
self setactionslot( 2, "" );
self setactionslot( 3, "" );
self setactionslot( 4, "" );
}

aol_onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
{
if(self != attacker)
{
//attacker maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperkill );
//self maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperdeath * -1 );
if(getDvar("g_gametype") == "dm")
{
attacker maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperkill );
self maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperdeath * -1 );
}
else if(getDvar("g_gametype") == "tdm")
{
attacker maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( attacker.team, level.teamscoreperkill );
self maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( self.team, level.teamscoreperdeath * -1 );
}

attacker.aol_killStreak += 1;

if(attacker.aol_killStreak == level.aol_perkKillReq[0] || attacker.aol_killStreak == level.aol_perkKillReq[1] || attacker.aol_killStreak == level.aol_perkKillReq[2])
{
attacker maps/mp/gametypes/_wager::givepowerup( level.poweruplist[attacker.aol_perkStreak] );
attacker.aol_perkStreak += 1;
}
else if(attacker.aol_killStreak == level.aol_perkKillReq[3])
{
attacker maps/mp/gametypes/_wager::givepowerup( level.poweruplist[attacker.aol_perkStreak] );
attacker aol_specialistPerks();
attacker.aol_perkStreak += 1;
}
}
}

aol_specialistPerks()
{
self setPerk("specialty_nottargetedbyairsupport");
self setperk("specialty_unlimitedsprint");
self setPerk("specialty_flakjacket");
self setPerk("specialty_quieter");
self setperk("specialty_sprintrecovery");
self setperk("specialty_movefaster");
self setperk("specialty_loudenemies");
self setperk("specialty_bulletaccuracy");
self setperk("specialty_fallheight");
self setperk("specialty_fastladderclimb");
self setperk("specialty_fastmantle");
self setperk("specialty_fastmeleerecovery");
self setperk("specialty_fasttoss");
self setperk("specialty_fastweaponswitch");
self setperk("specialty_healthregen");
self setperk("specialty_noname");
self setperk("specialty_rof");
self setPerk("specialty_marksman");
}

aol_ammoMonitor()
{
self endon("disconnect");
self endon("game_ended");
self endon("end_aol_ammoMonitor");

for(;Winky Winky
{
if(level.aol_monitorAmmo["enabled"]["stock"] && self getWeaponAmmoStock(level.aol_spawnWeapon) > level.aol_monitorAmmo["amount"]["stock"])
self setWeaponAmmoStock(level.aol_spawnWeapon, level.aol_monitorAmmo["amount"]["stock"]);
if(level.aol_monitorAmmo["enabled"]["clip"] && self getWeaponAmmoClip(level.aol_spawnWeapon) > level.aol_monitorAmmo["amount"]["clip"])
self setWeaponAmmoClip(level.aol_spawnWeapon, level.aol_monitorAmmo["amount"]["clip"]);
if(level.aol_monitorAmmo["enabled"]["special"] && self getWeaponAmmoStock("hatchet_mp") > level.aol_monitorAmmo["amount"]["special"])
self setWeaponAmmoStock("hatchet_mp", level.aol_monitorAmmo["amount"]["special"]);
wait 0.01;
}
}

Cops and Robbers
Cops get a gun and the robbers get knives. Robbers are in godmode when prone unless they kill a cop and take their weapon. First team to kill the other wins.
    cnr_init()
{
registerroundlimit( 5, 5 );
registerroundwinlimit( 3, 3 );
registernumlives( 1, 1 );
registertimelimit( 3, 3 );

level.loadoutKillstreaksEnabled = false;
level.givecustomloadout = ::cnr_givecustomloadout;
level.onplayerkilled = ::cnr_onplayerkilled;
level.cnr_gamemodeStarted = false;
level.teamscoreperkill = 1;
level.overrideteamscore = 1;

level.cnr_copWeapon = "870mcs_mp";
level.cnr_robberWeapon = undefined;

level thread cnr_onPlayerConnect();
level thread cnr_onPrematchOver();
}

cnr_textEffect(color)
{
self endon("end_cnr_textEffect");

self.fontscale = 5;
self.color = color;

self changeFontScaleOverTime(0.15);
self.fontscale = 3;
self fadeOverTime(0.15);
self.color = (1,1,1);
}

cnr_monitorTeamText()
{
level endon("game_ended");
level endon("end_cnr_monitorTeamText");

for(;Winky Winky
{
if(level.cnr_huds["copText"].text != "Cops: " + getteamplayersalive(game[ "defenders" ]))
{
level.cnr_huds["copText"] notify("end_cnr_textEffect");
level.cnr_huds["copText"] cnr_textEffect((0,0,1));
level.cnr_huds["copText"] setString(1, "Cops: " + getteamplayersalive(game[ "defenders" ]), true);
}

if(level.cnr_huds["robberText"].text != "Robbers: " + getteamplayersalive(game[ "attackers" ]))
{
level.cnr_huds["robberText"] notify("end_cnr_textEffect");
level.cnr_huds["robberText"] cnr_textEffect((1,0,0));
level.cnr_huds["robberText"] setString(1, "Robbers: " + getteamplayersalive(game[ "attackers" ]), true);
}

wait 0.01;
}
}

cnr_onPrematchOver()
{
level endon("game_ended");
level endon("end_cnr_onPrematchOver");
level waittill("prematch_over");
//client = gethostplayer();
//client iprintlnbold("^5Prematch over");

if(!isDefined(level.cnr_huds))
{
level.cnr_huds = [];
level.cnr_huds["copText"] = level drawString(1, "Cops: ", true, 6, (1,1,1), 0, (0,0,1), 0, 40, -210, "RIGHT", "RIGHT", 0, true);
level.cnr_huds["robberText"] = level drawString(1, "Robbers: ", true, 6, (1,1,1), 1, (1,0,0), 1, 40, -180, "RIGHT", "RIGHT", 0, true);
}

//level.cnr_huds["copText"].fontscale = 6;
//level.cnr_huds["robberText"].fontscale = 6;
level.cnr_huds["copText"] fadeOverTime(0.1);
level.cnr_huds["copText"].alpha = 1;
level.cnr_huds["copText"].glowalpha = 1;
level.cnr_huds["robberText"] fadeOverTime(0.1);
level.cnr_huds["robberText"].alpha = 1;
level.cnr_huds["robberText"].glowalpha = 1;

level.cnr_huds["copText"] changeFontScaleOverTime(0.25);
level.cnr_huds["copText"].fontscale = 3;
level.cnr_huds["robberText"] changeFontScaleOverTime(0.25);
level.cnr_huds["robberText"].fontscale = 3;

level thread cnr_monitorTeamText();

level.cnr_gamemodeStarted = true;
foreach(player in level.players)
player thread cnr_activatePlayerTeamAbilities();
level notify("end_cnr_onPrematchOver");
}

cnr_onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
{
if(attacker.cnr_team == "cop")
winMessage = "^1Robbers ^7were killed!";
else
winMessage = "^5Cops ^7were killed!";

//maps/mp/gametypes/_globallogic_score::_setplayermomentum( attacker, 0 );
if(getteamplayersalive(self.pers["team"]) == 0)
{
attacker maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( attacker.team, level.teamscoreperkill );
endgame(attacker.team, winMessage);
}
}

cnr_givecustomloadout()
{
if(level.cnr_gamemodeStarted)
{
self takeAllWeapons();
self giveWeapon("knife_mp");
self giveWeapon("knife_held_mp");
if(self.cnr_team=="cop")
{
self giveWeapon(level.cnr_copWeapon);
self switchToWeapon(level.cnr_copWeapon);
self giveWeapon("flash_grenade_mp");
self setWeaponAmmoStock("flash_grenade_mp", 2);
}
else
{
self.maxhealth = 35;
self.health = self.maxhealth;
if(isDefined(level.cnr_robberWeapon))
{
self giveWeapon(level.cnr_robberWeapon);
self switchToWeapon(level.cnr_robberWeapon);
}
else
self switchToWeapon("knife_held_mp");
}
}
}

cnr_decidePlayerTeam()
{
if(self.pers["team"] == game[ "defenders" ])
self.cnr_team = "cop";
else
self.cnr_team = "robber";
}

cnr_returnProperName(team)
{
if(team=="cop")
return "^5Cop^7";
else
return "^1Robber^7";
}

cnr_activatePlayerTeamAbilities()
{
self endon("disconnect");
self endon("game_ended");
self endon("death");
self endon("end_cnr_activatePlayerTeamAbilities");

self cnr_decidePlayerTeam();
self iprintlnbold("You are a " + cnr_returnProperName(self.cnr_team));
self cnr_givecustomloadout();
for(;Winky Winky
{
if(self.cnr_team == "cop")
{

}
else if(self.cnr_team == "robber")
{
if(self isonground() && self getStance() == "prone" && !self.cnr_proneGodOn && !self hasWeapon(level.cnr_copWeapon))
{
self.cnr_proneGodOn = true;
self EnableInvulnerability();
if(!self.cnr_proneGodPrint)
self iprintlnbold("Prone Invulnerability ^2Enabled");
self.cnr_proneGodPrint = true;
}
else if(self getStance() != "prone" && self.cnr_proneGodOn)
{
self.cnr_proneGodOn = false;
self DisableInvulnerability();
self.cnr_proneGodPrint = false;
}

}
wait 0.01;
}
}

cnr_onPlayerConnect()
{
for(;Winky Winky
{
level waittill("connected", player);
player thread cnr_onPlayerSpawned();
}
}

cnr_onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");
for(;Winky Winky
{
self waittill("spawned_player");

// Will appear each time when the player spawn, that's just an exemple.
//self iprintln("Black Ops 2 - GSC Studio | Project : ^2Cops and Robbers");
level.loadoutKillstreaksEnabled = false;

if(level.cnr_gamemodeStarted)
self thread cnr_activatePlayerTeamAbilities();
}
}

Infected
Infected from MW3. Just look at my examples of the class functions to make your own weapon setups.
    infect_init()
{
level.infect_weaponSetInfo = [];
level.infect_weaponSetNum = 0;
//infect_addWeaponSet(primary, secondary, equipment, equipmentAmmo)
//Dont mess with the variables up top, only add or subtract weapon sets
infect_addWeaponSet("an94_mp", "fiveseven_mp");
infect_addWeaponSet("peacekeeper_mp", "fnp45_mp");
infect_addWeaponSet("srm1216_mp+extclip", "beretta93r_mp", "claymore_mp", 1);
infect_addWeaponSet("hamr_mp", "fiveseven_mp");
//infect_addWeaponSet("kard_dw_mp", "riotshield_mp", "satchel_charge_mp", 2);
infect_addWeaponSet("type95_mp", "judge_mp");
infect_addWeaponSet("mp7_mp", "fiveseven_dw_mp");
infect_addWeaponSet("870mcs_mp", "fnp45_mp");
infect_addWeaponSet("mk48_mp", "judge_dw_mp");
infect_addWeaponSet("hk416_mp", "fnp45_mp");
infect_addWeaponSet("insas_mp", "beretta93r_mp");
infect_addWeaponSet("saiga12_mp", "fnp45_mp");
infect_addWeaponSet("sa58_mp", "kard_mp");
infect_addWeaponSet("vector_mp", "crossbow_mp", "sticky_grenade_mp", 1);
infect_addWeaponSet("ksg_mp", "fiveseven_mp", "concussion_grenade_mp", 1);
infect_addWeaponSet("sf_xm8_mp", "fiveseven_mp");
infect_addWeaponSet("evoskorpion_mp", "judge_mp", "willy_pete_mp", 1);



//Dont mess with these
level.loadoutKillstreaksEnabled = false;
level.disableweapondrop = true;
level.onplayerkilled = ::infect_onplayerkilled;
level.givecustomloadout = ::infect_givecustomloadout;
level.infect_weaponsStarted = false;
level.infect_gamemodeStarted = false;
level.infect_perkKillReq = [];


//Mess with these
level.infect_textglowColor = (1,0,0);
level.infect_timerSeconds = 300;
level.infect_spawnBots = true;
level.infect_botsToSpawn = 9;
level.infect_countdownTimer = 15;
level.infect_disableHostInfection = true;
level.infect_randomWeaponSet = true;
level.infect_perkKillReq[0] = 3;
level.infect_perkKillReq[1] = 5;
level.infect_perkKillReq[2] = 8;
level.infect_perkKillReq[3] = 12;

maps/mp/gametypes/_wager::addpowerup( "specialty_scavenger", "perk", "Scavenger", "perk_scavenger" );
maps/mp/gametypes/_wager::addpowerup( "specialty_fastads", "perk", "Faster Aim", "perk_dexterity" );
maps/mp/gametypes/_wager::addpowerup( "specialty_fastreload", "perk", "Faster Reload", "perk_fast_hands" );
maps/mp/gametypes/_wager::addpowerup( "specialty_movefaster", "perk", "Move Faster", "perk_lightweight" );
//maps/mp/gametypes/_wager::addpowerup( "specialty_healthregen", "perk", "Quick Health Regen", "perk_flak_jacket" );

/*
# = done

#Start infection
#Weapon system
Money system
Huds
*/

level thread infect_gamemodeStart();
level thread infect_onPlayerConnect();
}

infect_onPlayerConnect()
{
for(;Winky Winky
{
level waittill("connected", player);

player.infect_money = 0;
player.infect_isHuman = true;
player.infect_curKillStreak = 0;
player.infect_hasGottenPerk = false;
player.infect_threadsStarted = false;

player thread infect_onPlayerSpawned();
//Remove if it causes problems
player thread infect_onPlayerLeaving();
}
}

infect_onPlayerLeaving()
{
self endon("end_infect_onPlayerLeaving");
level endon("game_ended");

for(;Winky Winky
{
self waittill("disconnect");

if(getteamplayersalive("axis")==0 && level.infect_gamemodeStarted)
{
infected = infect_randomPlayer();
infected changeteam("axis");
infected notify("menuresponse", "changeclass", "class_smg");
infected infect_givecustomloadout();
infected iprintln("First infected was a bitch, sorry dude :(");
}

self notify("end_infect_onPlayerLeaving");

wait 0.01;
}
}

infect_onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");
for(;Winky Winky
{
self waittill("spawned_player");

level.loadoutKillstreaksEnabled = false;
level.disableweapondrop = true;
//if(level.infect_weaponsStarted)
// self infect_givecustomloadout();

if(self.infect_hasGottenPerk)
{
self maps/mp/gametypes/_wager::clearpowerups();
self.infect_hasGottenPerk = false;
}
}
}

infect_gamemodeStart()
{
level endon("game_ended");
level endon("end_infect_gamemodeStart");

level waittill("prematch_over");

if(level.infect_spawnBots)
level infect_spawnBots();

wait 1;

level infect_selectWeaponSet();
level.infect_weaponsStarted = true;
foreach(player in level.players)
{
player changeteam("allies");
player notify("menuresponse", "changeclass", "class_smg");
//wait 0.05;
player infect_givecustomloadout();
}


level thread infect_countdown();

level waittill("initialInfectedSelected");

level.infect_gamemodeStarted = true;
level thread infect_timerStart();
level notify("end_infect_gamemodeStart");
}

infect_timerStart()
{
//self.huds[1] = self drawString(1, "Time- ", true, 3, (1,1,1), 1, (0,0,1), 1, 8, -70, "LEFT", "LEFT", 0);
//self.huds[0] = self drawString(3, level.infect_timerSeconds, true, 2.2, (1,1,1), 1, (0,0,1), 1, 70, -66, "LEFT", "LEFT", 0);
level.infect_timerText = level drawString(1, "Time- ", true, 3, (1,1,1), 0, level.infect_textglowColor, 0, 8, -70, "LEFT", "LEFT", 0, true);
level.infect_timerNumbers = level drawString(3, level.infect_timerSeconds, true, 2.2, (1,1,1), 0, level.infect_textglowColor, 0, 70, -66, "LEFT", "LEFT", 0, true);
level.infect_timerText fadeOverTime(0.Cool Man (aka Tustin);
level.infect_timerText.alpha = 1;
level.infect_timerText.glowalpha = 1;
level.infect_timerNumbers fadeOverTime(0.Cool Man (aka Tustin);
level.infect_timerNumbers.alpha = 1;
level.infect_timerNumbers.glowalpha = 1;

wait level.infect_timerSeconds-5;
level.infect_timerNumbers setString(4, 5, true);
wait 5;
if(getteamplayersalive("allies") != 0)
{
level.infect_timerText fadeOverTime(0.Cool Man (aka Tustin);
level.infect_timerText.alpha = 0;
level.infect_timerText.glowalpha = 0;
level.infect_timerNumbers fadeOverTime(0.Cool Man (aka Tustin);
level.infect_timerNumbers.alpha = 0;
level.infect_timerNumbers.glowalpha = 0;
endgame("allies", "^2The humans have survived^7!");
}
}

infect_onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
{
if(level.infect_gamemodeStarted)
{
if(getteamplayersalive("allies") == 0)
{
level.infect_timerText fadeOverTime(0.Cool Man (aka Tustin);
level.infect_timerText.alpha = 0;
level.infect_timerText.glowalpha = 0;
level.infect_timerNumbers fadeOverTime(0.Cool Man (aka Tustin);
level.infect_timerNumbers.alpha = 0;
level.infect_timerNumbers.glowalpha = 0;
endgame("axis", "^1The zombies have killed everyone^7!");
}

if(self != attacker)
{
if(attacker.infect_isHuman)
{
if(attacker.infect_curKillStreak == level.infect_perkKillReq[0]-1)
{
attacker maps/mp/gametypes/_wager::givepowerup( level.poweruplist[0] );
attacker.infect_hasGottenPerk = true;
}
else if(attacker.infect_curKillStreak == level.infect_perkKillReq[1]-1)
attacker maps/mp/gametypes/_wager::givepowerup( level.poweruplist[1] );
else if(attacker.infect_curKillStreak == level.infect_perkKillReq[2]-1)
attacker maps/mp/gametypes/_wager::givepowerup( level.poweruplist[2] );
else if(attacker.infect_curKillStreak == level.infect_perkKillReq[3]-1)
attacker maps/mp/gametypes/_wager::givepowerup( level.poweruplist[3] );

attacker.infect_curKillStreak += 1;
}
}

if(self.infect_isHuman)
{
self.infect_isHuman = false;
self changeteam("axis");
self notify("menuresponse", "changeclass", "class_smg");
self infect_givecustomloadout();
}
else if(!self.infect_isHuman)
{

}
}
}

infect_givecustomloadout()
{
if(level.infect_weaponsStarted)
{
self clearperks();
self takeAllWeapons();
self giveWeapon("knife_mp");


if(self.pers["team"] == "allies")
{
num = level.infect_selectedWeaponSet;
self giveWeapon(level.infect_weaponSetInfo[num][0]);
self giveWeapon(level.infect_weaponSetInfo[num][1]);
self giveWeapon(level.infect_weaponSetInfo[num][2]);
self setWeaponAmmoStock(level.infect_weaponSetInfo[num][2], level.infect_weaponSetInfo[num][3]);
self switchToWeapon(level.infect_weaponSetInfo[num][0]);
}
else if(self.pers["team"] == "axis")
{
self giveWeapon("knife_held_mp");
self giveWeapon("tactical_insertion_mp");
//self giveWeapon("");
self switchToWeapon("knife_held_mp");
self setperk("specialty_fallheight");
self setperk("specialty_fastequipmentuse");
self setperk("specialty_fastladderclimb");
self setperk("specialty_fastmantle");
self setperk("specialty_fastmeleerecovery");
self setperk("specialty_fasttoss");
self setperk("specialty_fastweaponswitch");
self setperk("specialty_unlimitedsprint");
}
}
}

infect_countdown()
{
level endon("game_ended");
level endon("end_infect_countdown");

level.infected_countdownTimerHUD = level drawString(1, "Selecting Infected in: 99", true, 3, (1,1,1), 0, level.infect_textglowColor, 0, 0, 155, "", "", 0, true);
level.infected_countdownTimerHUD fadeOverTime(0.12);
level.infected_countdownTimerHUD.alpha = 1;
level.infected_countdownTimerHUD.glowalpha = 1;

for(i=level.infect_countdownTimer;i>-2;i--)
{
if(i != -1)
{
level notify("end_infect_countdownTimerEffect");
level infect_countdownTimerEffect();
level.infected_countdownTimerHUD setString(1, "Selecting Infected in: " + i, true);
}
else
{
infected = infect_randomPlayer();
level notify("end_infect_countdownTimerEffect");
level infect_countdownTimerEffect();
level.infected_countdownTimerHUD setString(1, infected.name + " has been selected!", true);

infected changeteam("axis");
infected notify("menuresponse", "changeclass", "class_smg");
infected infect_givecustomloadout();

level notify("initialInfectedSelected");

}
wait 1;
}

wait 2;

level.infected_countdownTimerHUD fadeOverTime(0.Cool Man (aka Tustin);
level.infected_countdownTimerHUD.alpha = 0;
}

infect_addWeaponSet(primary, secondary, equipment, equipmentAmmo)
{
num = level.infect_weaponSetNum;
level.infect_weaponSetInfo[num][0] = primary;
level.infect_weaponSetInfo[num][1] = secondary;
level.infect_weaponSetInfo[num][2] = equipment;
level.infect_weaponSetInfo[num][3] = equipmentAmmo;
level.infect_weaponSetNum += 1;
}

infect_selectWeaponSet()
{
if(level.infect_randomWeaponSet)
level.infect_selectedWeaponSet = randomIntRange(0, level.infect_weaponSetInfo.size);
else
level.infect_selectedWeaponSet = 0;
}

infect_randomPlayer()
{
player = level.players[randomIntRange(0, level.players.size)];

if(level.infect_disableHostInfection)
{
if(isAlive(player) && player != getHostPlayer())
return player;
else
return infect_randomPlayer();
}
else
{
if(isAlive(player))
return player;
else
return infect_randomPlayer();
}
}

infect_countdownTimerEffect()
{
level endon("end_infect_countdownTimerEffect");

level.infected_countdownTimerHUD.fontscale = 6;
level.infected_countdownTimerHUD.color = level.infect_textglowColor;

level.infected_countdownTimerHUD changeFontScaleOverTime(0.15);
level.infected_countdownTimerHUD.fontscale = 3;
level.infected_countdownTimerHUD fadeOverTime(0.15);
level.infected_countdownTimerHUD.color = (1,1,1);
}

infect_spawnBots()
{
for(i=0;i<level.infect_botsToSpawn;i++)
{
spawn_bot( "autoassign" );
wait 0.01;
}
}

Murder
Sort of like anonymouse Michael Myers. The murderer can kill anyone, but if a civilian kills another civilian they die as well.
    mrdr_init()
{
registernumlives( 1, 1 );
registerroundlimit( 5, 5 );

level.mrdr_gracePeriod = 15;
level.mrdr_hostMurderer = false;
level.mrdr_countdownColor = (0, 0.5, 1);

level.givecustomloadout = ::mrdr_givecustomloadout;
level.onplayerkilled = ::mrdr_onplayerkilled;
level.mrdr_murderer = undefined;
level.mrdr_graceEnded = false;

level thread mrdr_onPlayerConnect();
level thread mrdr_gameModeStart();
}

mrdr_onPlayerConnect()
{
for(;Winky Winky
{
level waittill("connected", player);
player thread mrdr_onPlayerSpawned();
}
}

mrdr_onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");
for(;Winky Winky
{
self waittill("spawned_player");


}
}

mrdr_givecustomloadout()
{
self takeAllWeapons();
if(level.mrdr_graceEnded)
{
self giveWeapon("knife_mp");
self giveWeapon("knife_held_mp");
self switchToWeapon("knife_held_mp");

self clearPerks();
self setperk("specialty_noname");
self setperk("specialty_fallheight");
self setperk("specialty_fastads");
self setperk("specialty_fastequipmentuse");
self setperk("specialty_fastladderclimb");
self setperk("specialty_fastmantle");
self setperk("specialty_fastmeleerecovery");
self setperk("specialty_fastreload");
self setperk("specialty_fasttoss");
self setperk("specialty_fastweaponswitch");
//self setperk("specialty_longersprint");
self setperk("specialty_unlimitedsprint");
}
}

mrdr_onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
{
if ( !isplayer( attacker ) || self == attacker )
{
return;
}
/*
attacker maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperkill );
self maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperdeath * -1 );
if ( smeansofdeath == "MOD_HEAD_SHOT" )
{
attacker maps/mp/gametypes/_globallogic_score::givepointstowin( level.teamscoreperheadshot );
}
*/
if(self != level.mrdr_murderer && attacker != level.mrdr_murderer)
{
//attacker notify("end_mrdr_buttonMonitoring");
attacker iprintlnbold("That was ^1NOT^7 the ^1murderer^7!");
attacker suicide();
}
else if(self == level.mrdr_murderer)
{
endgame(attacker.team, "^2" + attacker.name + " ^1killed the murderer^7!");
}

if(mrdr_murdererSucceeded())
{
endgame(level.mrdr_murderer.team, "^1" + level.mrdr_murderer.name + " killed everyone^7!");
}
}

mrdr_murdererSucceeded()
{
count = 0;
foreach(player in level.players)
{
if(isAlive(player) && player != level.mrdr_murderer)
count += 1;
}

if(count == 0)
return true;
else
return false;
}

mrdr_gameModeStart()
{
level waittill("prematch_over");

if(!isDefined(level.mrdr_levelhuds))
{
level.mrdr_levelhuds = [];
level.mrdr_levelhuds["graceText"] = level drawString(1, "Selecting Murderer in: 99", true, 3, (1,1,1), 1, level.mrdr_countdownColor, 1, 0, -141, "", "", 0, true);
}

for(i=level.mrdr_gracePeriod;i>-2;i--)
{
//allClientsPrint("^5Grace ^6" + i);
if(i != -1)
{
level.mrdr_levelhuds["graceText"] setString(1, "Selecting Murderer in: " + i, true);
level notify("end_mrdr_graceEffect");
level thread mrdr_graceEffect();
}
else
{
level.mrdr_levelhuds["graceText"] changeFontScaleOverTime(1);
level.mrdr_levelhuds["graceText"].fontscale = 6;
level.mrdr_levelhuds["graceText"] fadeOverTime(1);
level.mrdr_levelhuds["graceText"].alpha = 0;
}
wait 1;
}

level.mrdr_levelhuds["graceText"] destroyElem();

level.mrdr_murderer = mrdr_selectMurderer();

level.mrdr_graceEnded = true;

foreach(player in level.players)
{
player thread mrdr_buttonMonitoring();
}
}

mrdr_playerStatusEnd()
{
self endon("end_mrdr_playerStatusEnd");

if(!isDefined(self.mrdr_huds))
{
self.mrdr_huds = [];

if(self.name == level.mrdr_murderer.name)
{
text = "You are the murderer\n KILL THEM ALL";
glowcolor = (1,0,0);
}
else
{
text = " You are not the murderer \nFind the murderer and kill him";
glowcolor = (0,1,0);
}

self.mrdr_huds["displayStatus"] = self drawString(1, text, true, 5, (1,1,1), 1, glowcolor, 1, 0, -190, "", "", 0);

//self.mrdr_huds["displayStatus"].fontscale = 5;
self.mrdr_huds["displayStatus"].color = glowcolor;

self.mrdr_huds["displayStatus"] changeFontScaleOverTime(0.15);
self.mrdr_huds["displayStatus"].fontscale = 2.5;
self.mrdr_huds["displayStatus"] fadeOverTime(0.15);
self.mrdr_huds["displayStatus"].color = (1,1,1);
}

wait 3;

self.mrdr_huds["displayStatus"] changeFontScaleOverTime(1);
self.mrdr_huds["displayStatus"].fontscale = 6;
self.mrdr_huds["displayStatus"] fadeOverTime(1);
self.mrdr_huds["displayStatus"].alpha = 0;

wait 1;

self.mrdr_huds["displayStatus"] destroyElem();
self notify("end_mrdr_playerStatusEnd");
}

mrdr_buttonMonitoring()
{
self endon("disconnect");
self endon("game_ended");
self endon("death");
self endon("end_mrdr_buttonMonitoring");

self mrdr_givecustomloadout();
//self iprintlnbold("Button Monitor ^5ACTIVE");
self iprintlnbold("Press [{+frag}] to toggle knife");

self thread mrdr_playerStatusEnd();

for(;Winky Winky
{
if(self fragbuttonpressed())
{
self thread mrdr_toggleKnife();
wait 0.3;
}
wait 0.01;
}
}

mrdr_toggleKnife()
{
if(!self.mrdr_toggleKnife)
{
self.mrdr_toggleKnife = true;
self disableweapons();
self iprintln("Knife ^1Disabled");
}
else
{
self.mrdr_toggleKnife = false;
self enableweapons();
self iprintln("Knife ^2Enabled");
}
}

mrdr_selectMurderer()
{
if(level.mrdr_hostMurderer)
return gethostplayer();
else
{
player = level.players[randomIntRange(0, level.players.size)];

if(!isAlive(player))
return mrdr_selectMurderer();
else
return player;
}
}

mrdr_graceEffect()
{
level endon("end_mrdr_graceEffect");

level.mrdr_levelhuds["graceText"].fontscale = 6;
level.mrdr_levelhuds["graceText"].color = level.mrdr_countdownColor;

level.mrdr_levelhuds["graceText"] changeFontScaleOverTime(0.15);
level.mrdr_levelhuds["graceText"].fontscale = 3;
level.mrdr_levelhuds["graceText"] fadeOverTime(0.15);
level.mrdr_levelhuds["graceText"].color = (1,1,1);
}

VIP
A heavily edited version of my initial VIP gamemode. The VIP team can win by either killing the opposing team or extracting the VIP to the flag if the host has it enabled in init()
    vip_init()
{
registerroundlimit( 5, 5 );
registerroundwinlimit( 3, 3 );
registernumlives( 1, 1 );
registertimelimit( 3, 3 );

//Dont mess with these
//level.onplayerdisconnect = ::vip_onPlayerDisconnect;
level.onplayerkilled = ::vip_onPlayerKilled;
level.givecustomloadout = ::vip_giveCustomLoadout;
level.vip_selectedVip = undefined;
level.vip_evacFlag = undefined;
level.vip_vipSelected = false;
level.vip_gamemodeStarted = false;
level.vip_teamHuds = [];
//Mess with these
level.vip_VIPicon = "killiconheadshot";
level.vip_vipWeapon = "riotshield_mp";
level.vip_vipInfrared = true;
level.vip_disableHostVip = false;
level.vip_evacFlagsEnabled = true;

precacheShader(level.vip_VIPicon);
precacheModel("mp_flag_green");
precacheShader("compass_waypoint_target");

level thread vip_onPlayerConnect();
level thread vip_onGamemodeStarted();
}

vip_setupEvacFlags()
{
model = "mp_flag_green";
icon = "compass_waypoint_target";

if(getDvar("mapname") == "mp_nuketown_2020")
coords = (1969.32, 392.058, -60.625);
else if(getDvar("mapname") == "mp_hijacked")//hottub of boat
coords = (-3184.25, 30.9019, -211.875);
else if(getDvar("mapname") == "mp_express")
coords = (1232.74, 2453.61, -49.5704);
else if(getDvar("mapname") == "mp_meltdown")
coords = (863.466, 4520.57, -135.875);
else if(getDvar("mapname") == "mp_drone")
coords = (70.2106, 2907.18, 336.322);
else if(getDvar("mapname") == "mp_carrier")
coords = (-2512.06, -12.8688, 44.125);
else if(getDvar("mapname") == "mp_overflow")
coords = (2077.15, -1032.31, -7.875);
else if(getDvar("mapname") == "mp_slums")
coords = (567.461, -3328.27, 460.163);
else if(getDvar("mapname") == "mp_turbine")
coords = (476.985, 5101.5, -266.411);
else if(getDvar("mapname") == "mp_raid")
coords = (4434.07, 3038.27, 32.125);
else if(getDvar("mapname") == "mp_la")
coords = (-1567.53, -318.686, -267.875);

//spawnEvacFlag(coords, model, icon)
level.vip_evacFlag = level spawnEvacFlag(coords, model, icon);
wait 1;
level thread vip_evacMonitor();
}

vip_evacMonitor()
{
level endon("game_ended");
level endon("end_vip_evacMonitor");

for(;Winky Winky
{
if(distance(level.vip_selectedVip.origin, level.vip_evacFlag.origin) <= 50 && level.vip_selectedVip != undefined)
{
level.vip_selectedVip maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( level.vip_selectedVip.pers["team"], 1 );

/*
foreach(player in level.players)
{
if(player.pers["team"] != level.vip_selectedVip.pers["team"])
player suicide();
}
*/

thread maps/mp/gametypes/_globallogic::endgame(level.vip_selectedVip.pers["team"], "^5" + level.vip_selectedVip.name + "^7 was evacuated");
level notify("end_vip_evacMonitor");
}
wait 0.1;
}
}

spawnEvacFlag(coords, model, icon)
{
mod = spawn("script_model", coords);
mod setModel(model);
Objective_Add(0, "active", coords);
Objective_Icon(0, icon);
return mod;
}

vip_onGamemodeStarted()
{
level endon("game_ended");
level endon("end_vip_onGamemodeStarted");

level waittill("prematch_over");

level.vip_selectedVip = vip_selectVip();
//allClientsPrint("^6" + level.vip_selectedVip.name);
level.vip_vipSelected = true;

level.vip_selectedVip vip_giveCustomLoadout();
level.vip_selectedVip oldnotifymessage("You are the ^2VIP^7", "^1Survive^7 to earn your team a point", level.vip_VIPicon, (0,0,1), undefined, 5);

level notify("end_vip_teamHuds");
level thread vip_teamHuds();

if(level.vip_evacFlagsEnabled)
level thread vip_setupEvacFlags();

level.vip_gamemodeStarted = true;
}

vip_onPlayerDisconnect()
{
if(level.vip_vipSelected)
{
if(self == level.vip_selectedVip)
{
level.vip_selectedVip = vip_selectVip();
//allClientsPrint("^6" + level.vip_selectedVip.name);
level.vip_vipSelected = true;

level.vip_selectedVip vip_giveCustomLoadout();
level.vip_selectedVip oldnotifymessage("You are the ^2VIP^7", "^1Survive^7 to earn your team a point", level.vip_VIPicon, (0,0,1), undefined, 5);

level notify("end_vip_teamHuds");
level thread vip_teamHuds();
}
}
}

vip_giveCustomLoadout()
{
if(level.vip_vipSelected && self == level.vip_selectedVip)
{
self takeAllWeapons();
self giveWeapon(level.vip_vipWeapon);
self switchToWeapon(level.vip_vipWeapon);
if(level.vip_vipInfrared)
self setinfraredvision(true);
self clearPerks();
self setPerk("specialty_unlimitedsprint");
self setPerk("specialty_stalker");
self setperk("specialty_scavenger");
self setperk("specialty_loudenemies");
self setperk("specialty_fastreload");
}
}

vip_onPlayerKilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
{
maps/mp/gametypes/_globallogic_score::_setplayermomentum( attacker, 0 );
if(self == level.vip_selectedVip)
{
maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( level.vip_selectedVip vip_returnOppositeTeam(), 1 );
maps/mp/gametypes/_globallogic::endgame(level.vip_selectedVip vip_returnOppositeTeam(), "^5" + level.vip_selectedVip.name + "^7 was killed by ^1" + attacker.name);
}

if(getteamplayersalive(level.vip_selectedVip vip_returnOppositeTeam()) == 0)
{
maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( level.vip_selectedVip.pers["team"], 1 );
maps/mp/gametypes/_globallogic::endgame(level.vip_selectedVip.pers["team"], "^5" + level.vip_selectedVip.name + "^7 survived");
}
}

vip_returnOppositeTeam()
{
if(self.pers["team"] == "allies")
return "axis";
else
return "allies";
}

vip_teamHuds()
{
level endon("game_ended");
level endon("end_vip_teamHuds");
if(!isDefined(level.vip_teamHuds["defendersName"]))
{
level.vip_teamHuds["defendersName"] = level drawString(1, "-^2Save^7-\n" + level.vip_selectedVip.name, true, 3, (1,1,1), 1, (0,1,0), 1, 340, -210, "RIGHT", "RIGHT", 0, true, level.vip_selectedVip.pers["team"]);
level.vip_teamHuds["attackersName"] = level drawString(1, "-^1Kill^7-\n" + level.vip_selectedVip.name, true, 3, (1,1,1), 1, (1,0,0), 1, 340, -210, "RIGHT", "RIGHT", 0, true, level.vip_selectedVip vip_returnOppositeTeam());
}

if(level.vip_teamHuds["defendersName"].text != "-^2Save^7-\n" + level.vip_selectedVip.name)
level.vip_teamHuds["defendersName"] setString(1, "-^2Save^7-\n" + level.vip_selectedVip.name, true);
if(level.vip_teamHuds["attackersName"].text != "-^1Kill^7-\n" + level.vip_selectedVip.name)
level.vip_teamHuds["attackersName"] setString(1, "-^1Kill^7-\n" + level.vip_selectedVip.name, true);

level.vip_teamHuds["defendersName"] moveOverTime(0.25);
level.vip_teamHuds["attackersName"] moveOverTime(0.25);
level.vip_teamHuds["defendersName"].x = 50;
level.vip_teamHuds["attackersName"].x = 50;
wait 3.5;
level.vip_teamHuds["defendersName"] changeFontScaleOverTime(0.15);
level.vip_teamHuds["attackersName"] changeFontScaleOverTime(0.15);
level.vip_teamHuds["defendersName"].fontscale = 2;
level.vip_teamHuds["attackersName"].fontscale = 2;
}

vip_selectVip()
{
player = level.players[randomIntRange(0, level.players.size)];
if(isAlive(player) && player.pers["team"] == game[ "defenders" ])
{
if(level.vip_disableHostVip && player isHost())
return vip_selectVip();
else
return player;
}
else
return vip_selectVip();
}

vip_onPlayerConnect()
{
for(;Winky Winky
{
level waittill("connected", player);
player thread vip_onPlayerSpawned();
}
}

vip_onPlayerSpawned()
{
self endon("disconnect");
level endon("game_ended");
for(;Winky Winky
{
self waittill("spawned_player");


}
}

/*
vip_init()
{
registerroundlimit( 5, 5 );
registerroundwinlimit( 3, 3 );
registernumlives( 1, 1 );
registertimelimit( 3, 3 );

//Leave these alone
level.givecustomloadout = ::vip_givecustomloadout;
level.onplayerkilled = ::vip_onplayerkilled;
level.teamscoreperkill = 1;
level.vip_VIPSelected = false;
level.vip_selectedVIP = undefined;

//These can be changed
//Always select the host as the VIP
level.vip_selectHostVIP = false;
//The weapon the VIP will get
level.vip_VIPWeapon = "riotshield_mp";
//Maximum health of the VIP
level.vip_VIPmaxhealth = 150;
//Icon that shows up when the VIP is selected
level.vip_VIPicon = "killiconheadshot";
//Enable twitter banter
level.vip_adsEnabled = true;
level.vip_adCooldown = 78;
//Give VIP infrared
level.vip_VIPinfrared = true;

precacheShader(level.vip_VIPicon);
precacheShader("menu_lobby_icon_twitter");

level thread vip_startVIPgamemode();
if(level.vip_adsEnabled)
level thread vip_startAds();
level thread vip_onplayerconnect();
}

vip_onplayerconnect()
{
for(;Winky Winky
{
level waittill("connected", player);

player.vip_isVIP = false;

player thread vip_onplayerspawned();
}
}

vip_onplayerspawned()
{
self endon("disconnect");
level endon("game_ended");
for(;Winky Winky
{
self waittill("spawned_player");

maps/mp/gametypes/_globallogic_score::_setplayermomentum(self, 0);
}
}

vip_startAds()
{
level endon("game_ended");
level endon("end_startAds");

level waittill("prematch_over");

for(;Winky Winky
{
wait level.vip_adCooldown;
//level thread twitterPopup(5, "@thehiddenhour");
level thread vip_twitterBanner(10, "Wanna check out how I make these?\nFollow me on ^5twitter^7 @thehiddenhour");
}
}

vip_onplayerkilled( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
{
if(level.vip_selectedVIP.pers["team"] == "allies")
enemyteam = "axis";
else
enemyteam = "allies";

maps/mp/gametypes/_globallogic_score::_setplayermomentum( attacker, 0 );
if(self.name == level.vip_selectedVIP.name)
{
level.vip_VIPHP setString(2, 0);
level.vip_VIPHP.glowColor = (1,0,0);
attacker maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( attacker.team, level.teamscoreperkill );
endgame(attacker.team, "^2" + level.vip_selectedVIP.name + "^7 was killed by ^1" + attacker.name);
}
else if(vip_getSurvivorCount(enemyteam) == 0)
{
attacker maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective( attacker.team, level.teamscoreperkill );
endgame(attacker.team, "^2" + level.vip_selectedVIP.name + " survived^7!");
}
}

vip_getSurvivorCount(team)
{
count = 0;
foreach(player in level.players)
{
if(player.pers["team"]== team && isAlive(player))
count += 1;
}
return count;
}

vip_startVIPgamemode()
{
level endon("game_ended");
level endon("end_startVIPgamemode");

level waittill("prematch_over");

allClientsPrint("^2Save^7 or ^1Kill^7 the ^5VIP^7 to win");

foreach(player in level.players)
player.vip_isVIP = false;
level.vip_selectedVIP = vip_randomPlayerVIP();
level.vip_selectedVIP.vip_isVIP = true;
level.vip_selectedVIP oldnotifymessage("You are the ^2VIP^7", "^1Survive^7 to earn your team a point", level.vip_VIPicon, (0,0,1), undefined, 5);
level.vip_selectedVIP vip_VIPLoadout();
level thread vip_loadTeamHUDs();

level.vip_VIPSelected = true;

for(;Winky Winky
{
if(gettimeremaining() == 1 && isAlive(level.vip_selectedVIP))
{
level.vip_selectedVIP maps/mp/gametypes/_globallogic_score::giveteamscoreforobjective(level.vip_selectedVIP.pers["team"], level.teamscoreperkill );
}

if(isDefined(level.vip_VIPHP))
{
if(level.vip_VIPHP.text != level.vip_selectedVIP.health)
level.vip_VIPHP setString(2, level.vip_selectedVIP.health);
if(level.vip_selectedVIP.health >= 100)
level.vip_VIPHP.glowColor = (0,0,1);
else if(level.vip_selectedVIP.health <= level.vip_selectedVIP.maxhealth / 2 && level.vip_selectedVIP.health >= 30)
level.vip_VIPHP.glowColor = (1,1,0);
else if(level.vip_selectedVIP.health <= 30)
level.vip_VIPHP.glowColor = (1,0,0);

}
wait 0.01;
}
}

vip_givecustomloadout()
{
if(self.vip_isVIP == true && level.vip_VIPSelected)
{
self takeAllWeapons();
self giveWeapon(level.vip_VIPWeapon);
self giveWeapon("knife_held_mp");
self switchToWeapon(level.vip_VIPWeapon);
self setspawnweapon(level.vip_VIPWeapon);
self clearPerks();
self setPerk("specialty_unlimitedsprint");
self setPerk("specialty_stalker");
self setperk("specialty_scavenger");
self setperk("specialty_loudenemies");
self setperk("specialty_fastreload");
self.maxhealth = level.vip_VIPmaxhealth;
self.health = self.maxhealth;
if(level.vip_VIPinfrared)
self setinfraredvision(1);
}
//self vip_VIPLoadout();
}

vip_VIPLoadout()
{
self takeAllWeapons();
self giveWeapon(level.vip_VIPWeapon);
self giveWeapon("knife_held_mp");
self switchToWeapon(level.vip_VIPWeapon);
self setspawnweapon(level.vip_VIPWeapon);
self clearPerks();
self setPerk("specialty_unlimitedsprint");
self setPerk("specialty_stalker");
self setperk("specialty_scavenger");
self setperk("specialty_loudenemies");
self setperk("specialty_fastreload");
self.maxhealth = level.vip_VIPmaxhealth;
self.health = self.maxhealth;
if(level.vip_VIPinfrared)
self setinfraredvision(1);
}

vip_loadTeamHUDs()
{
//drawString(type, text, disableOverflowCount, scale, color, alpha, glowcolor, glowalpha, x, y, xa, ya, sort, client, team)
if(level.vip_selectedVIP.pers["team"]=="allies")
enemyteam = "axis";
else
enemyteam = "allies";

level.vip_VIPHPtext = level drawString(1, "VIP HP: ", true, 2, (1,1,1), 0, (0,0,1), 0, -328, -210, "", "", 0, true);
level.vip_VIPHP = level drawString(2, level.vip_selectedVIP.health, true, 2, (1,1,1), 0, (0,0,1), 0, 60, -210, "LEFT", "LEFT", 0, true);
level.vip_defendersName = level drawString(1, "-^2Save^7-\n" + level.vip_selectedVIP.name, true, 3, (1,1,1), 1, (0,1,0), 1, 340, -210, "RIGHT", "RIGHT", 0, true, level.vip_selectedVIP.pers["team"]);
level.vip_attackersName = level drawString(1, "-^1Kill^7-\n" + level.vip_selectedVIP.name, true, 3, (1,1,1), 1, (1,0,0), 1, 340, -210, "RIGHT", "RIGHT", 0, true, enemyteam);

level.vip_defendersName moveOverTime(0.25);
level.vip_attackersName moveOverTime(0.25);
level.vip_defendersName.x = 50;
level.vip_attackersName.x = 50;
wait 3.5;
level.vip_defendersName changeFontScaleOverTime(0.15);
level.vip_attackersName changeFontScaleOverTime(0.15);
level.vip_defendersName.fontscale = 2;
level.vip_attackersName.fontscale = 2;
level.vip_VIPHPtext fadeOverTime(0.1);
level.vip_VIPHPtext.alpha = 1;
level.vip_VIPHPtext.glowAlpha = 1;
level.vip_VIPHP fadeOverTime(0.1);
level.vip_VIPHP.alpha = 1;
level.vip_VIPHP.glowAlpha = 1;
}

vip_randomPlayerVIP()
{
if(level.vip_selectHostVIP)
{
return gethostplayer();
}
else
{
player = level.players[randomIntRange(0, level.players.size)];

if(isAlive(player) && player.pers["team"] == game[ "defenders" ] && player != gethostplayer())
return player;
else
return vip_randomPlayerVIP();

}
}

vip_getHUDInfo(arg)
{
if(arg=="color")
return self.color;
else if(arg=="alpha")
return self.alpha;
else if(arg=="x")
return self.x;
else if(arg=="y")
return self.y;
else if(arg=="text")
return self.text;
else if(arg=="sort")
return self.sort;
else if(arg=="width")
return self.width;
else if(arg=="height")
return self.height;
}

setString(type, text, disableOverflowCount)
{
if(!disableOverflowCount)
{
if(!isDefined(level.overflowfix_result))
level.overflowfix_result = 0;
else
level.overflowfix_result += 1;

level notify("overflow_result");
}

self.text = text;
if(type==1)
self setText(text);
else if(type==2)
self setValue(text);
}

vip_twitterBanner(time, name, name2, name3)
{
//drawShader(shader, width, height, x, y, xa, ya, color, alpha, sort, client, team)
//drawString(type, text, disableOverflowCount, scale, color, alpha, glowcolor, glowalpha, x, y, xa, ya, sort, client, team)
if(!isDefined(level.vip_twitterBanner))
{
level.vip_twitterBanner = [];
level.vip_twitterBanner["bar"] = drawShader("white", 0, 50, 205, -210, "LEFT", "LEFT", (0, 0, 0), 0, 0, true);
level.vip_twitterBanner["icon"] = drawShader("menu_lobby_icon_twitter", 50, 50, -125, -210, "", "", (0.01, 1.28, 2.55), 0, 0, true);
level.vip_twitterBanner["icon"].foreground = true;
if(isDefined(name) && !isDefined(name2) && !isDefined(name3))
twitterText = name;
else
twitterText = "Follow me on ^5Twitter^7? " + name + "\nCheck my buds " + name2 + " and " + name3;
level.vip_twitterBanner["text"] = drawString(1, twitterText, true, 1.5, (1, 1, 1), 0, (0,0,0), 0, 15, -220, "", "", 1, true);
level.vip_twitterBanner["text"].foreground = true;
}

level.vip_twitterBanner["icon"] fadeOverTime(0.2);
level.vip_twitterBanner["icon"].alpha = 1;
level.vip_twitterBanner["bar"] fadeOverTime(0.1);
level.vip_twitterBanner["bar"].alpha = 0.65;
level.vip_twitterBanner["bar"] scaleOverTime(0.2, 300, 50);
wait 0.2;
level.vip_twitterBanner["text"] fadeOverTime(0.2);
level.vip_twitterBanner["text"].alpha = 1;

wait time;

level.vip_twitterBanner["text"] fadeOverTime(0.3);
level.vip_twitterBanner["text"].alpha = 0;
wait 0.3;
level.vip_twitterBanner["icon"] fadeOverTime(0.1);
level.vip_twitterBanner["icon"].alpha = 0;
level.vip_twitterBanner["bar"] scaleOverTime(0.2, 0, 50);
level.vip_twitterBanner["bar"] fadeOverTime(0.3);
level.vip_twitterBanner["bar"].alpha = 0;
}
*/


CREDITS
Nobody really helped make these, but I did get a lot of my knowledge from various people. As I remember them all, I'll be posting their names here.
Shark - getting me interested in messing with HUD elements and making making it easy to learn with his projects
xTurntUpLobbies
DF_AUS
BossamBemass
OfficialCoolJay
Skonafid
coolmankiller
Stroudy
seanhellen
/SneakerStreet/
TehMerkMods
TheFallen
tsLollo1000
Dj33dj33
MCabCon
Exelo
Extinct

Let me know if you have any problems with these old things and I'll do my best to fix them. If this is gunna be one of my last threads I might as well put a little effort into it Beachington
(adsbygoogle = window.adsbygoogle || []).push({});

The following 15 users say thank you to HiddenHour for this useful post:

/SneakerStreet/, anthonything, BlueeHasSwag, DF_AUS, gοd, H-A-X-O, iRnZ, LegitBruh, Nothingbutbread, ODLeslie, OfficialCoolJay, Patrick, Pink Guy, sandro oliveira, xSynthmodz
05-28-2016, 02:05 AM #2
DF_AUS
NextGenUpdate Elite
Great work dude,will try these soon Smile

The following user thanked DF_AUS for this useful post:

HiddenHour
05-28-2016, 02:30 AM #3
Looks good, will definitely try these out later

The following user thanked LegitBruh for this useful post:

HiddenHour
05-28-2016, 02:35 AM #4
HiddenHour
I defeated!
Originally posted by AUS View Post
Great work dude,will try these soon Smile


Originally posted by LegitBruh View Post
Looks good, will definitely try these out later


Thanks you two. I would be grateful if you guys could get just one picture of any of these so I can have something to show in the thread.
05-28-2016, 02:42 AM #5
Originally posted by TheHiddenHour View Post
Thanks you two. I would be grateful if you guys could get just one picture of any of these so I can have something to show in the thread.


I can probably get pictures and a video up later on today
05-28-2016, 03:11 AM #6
Damn Hate to see you Go Thanks man great release

do i cal those like a function in my menu? or is there more to it
05-28-2016, 04:28 AM #7
HiddenHour
I defeated!
Originally posted by TVFilthyFrank View Post
Damn Hate to see you Go Thanks man great release

do i cal those like a function in my menu? or is there more to it


PM me your skype and I'll show you how to do it.
05-28-2016, 09:04 AM #8
ODLeslie
Do a barrel roll!
Nice release mate, best of luck with whatever you decide to do if you do quit modding for good. Smile

The following user thanked ODLeslie for this useful post:

HiddenHour
05-28-2016, 12:06 PM #9
Might add these to my menu , good release
05-28-2016, 02:15 PM #10
/SneakerStreet/
At least I can fight
Nice gamemodes

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo