Page 1 of 17 12311 ... LastLast
Results 1 to 10 of 168
  1. #1
    Wii Modder
    I AM BEAST
    JellyInjector's Avatar
    Join Date
    Apr 2011
    Posts
    598
    Points
    1,088
         User Info     Contact     Gamer ID
    Join Date
    Apr 2011
    Posts
    598
    Points
    1,088

    Default [SC7E52] CODBO - CHAOS DOGS

    CHAOS DOGS by JellyInjector and Kylaii

    What This Mod Includes:

    Play in Team Deathmatch

    The features are spread out throughout the map, so take some time to find them and get used to the map layout... but dont get eaten ....

    Maps:
    Firing Range
    More to come in later releases

    Basic Gameplay:
    Defend yourself against waves of dogs, and buy things to help you survive.

    Power:
    The power switch must be turned on before some features can be used (it is an RC CAR)

    Perks:
    Juggernaut: Increased health
    Speed: Faster reloading, speed, knifing, etc...
    Overkill: Can hold 3 weapons instead of 2

    Weapons:
    Olympia, M14, and Dragunov to buy off the wall
    A mystery box with multiple weapons

    Pack-a-Punch:
    A teleporter teleports you to the Pack-a-Punch room where you can upgrade your weapons

    Powerups:
    Double Points: Twice as many points from killing a dog
    Insta-Kill: Dogs are a one hit kill
    Death Machine: Everyone recieves a death machine
    Max Ammo: Max ammo for everybody!

    Code:
    #include common_scripts\utility;
    
    #include maps\mp\_airsupport;
    #include maps\mp\_utility;
    
    #include maps\mp\gametypes\_hud_util;
    
    
    init()
    {
    	thread onPlayerConnect();
    	thread onPlayerConnected();
    
    	level.casSpot = -110;
    	level.casColor = 1;
    	level.prematchPeriod = 23;
    	level.doublePoints = 0;
    	level.instaKill = 0;
    	level.powerOn = 0;
    	level.lastPowerup = 99;
    
    	thread doMap();
    	thread powerDisplay();
    	thread cleanUpSystem();
    	thread summonDogs();
    	thread roundCount();
    	thread secret();
    
    	game["icons"]["allies"] = "compass_objpoint_dogs";
    	setdvar( "g_TeamIcon_Allies", game["icons"]["allies"] );
    
    	precacheModel( "prop_suitcase_bomb" );
    	PrecacheShader( "perk_times_two" );
    	PrecacheShader( "hud_ammo_refill_drop" );
    	PrecacheShader( "hud_ks_minigun" );
    	PrecacheShader( "headicon_dead" );
    
    	wait 2;
    
    	level.fx_tabun_0 = level._effect["fx_fire_player_sm_smk_2sec"];
    	level.fx_tabun_1 = level._effect["character_fire_death_sm"];
    	level.fx_tabun_2 = level._effect["character_fire_death_torso"];
    	level.fx_tabun_3 = "napalmground_sm_mp";
    	level.fx_tabun_single = "napalmground_lg_mp";
    	PreCacheItem( level.fx_tabun_0 );
    	PreCacheItem( level.fx_tabun_1 );
    	PreCacheItem( level.fx_tabun_2 );
    	PreCacheItem( level.fx_tabun_3 );
    	PreCacheItem( level.fx_tabun_single );
    }
    
    onPlayerConnect()
    {
    	for(;;)
    	{
    		level waittill( "connecting", player );
    
    		player thread playerTeams();
    	}
    }
    
    onPlayerConnected()
    {
    	for(;;)
    	{
    		level waittill( "connected", player );
    
    		player thread onPlayerSpawned();
    		if( level.powerOn == 0 )
    			player thread doMapThinkPOff();
    		player thread doMapThinkPOn();
    		player thread perkDisplay();
    		player thread cash();
    		player thread globalVars();
    		player thread setupTeam();
    		player thread reset();
    		//player thread doVision();
    	}
    }
    
    onPlayerSpawned()
    {
    	for(;;)
    	{
    		self waittill( "spawned_player" );
    
    		self thread spawnStuff();
    	}
    }
    
    spawnStuff()
    {
    	self clearPerks();
    	self takeAllWeapons();
    	self giveWeapon( "knife_mp" );
    	self giveWeapon( "cz75_mp" );
    	self giveMaxAmmo( "cz75_mp" );
    	self giveWeapon( "m1911_mp" );
    	self giveMaxAmmo( "m1911_mp" );
    	self giveWeapon( "tabun_gas_mp" );
    	self switchToWeapon( "m1911_mp" );
    
    	self.maxhealth = 400;
    	self.health = self.maxhealth;
    }
    
    doVision()
    {
    	self setClientDvar( "r_filmTweakInvert", "0" );
    	self setClientDvar( "r_filmUseTweaks", "1" );
    	self setClientDvar( "r_filmTweakEnable", "1" );
    	self setClientDvar( "r_filmTweakLightTint", "0 0 0" );
    	self setClientDvar( "r_filmTweakSaturation", "1 1 1" );
    	self setClientDvar( "r_filmTweakHue", "0 0 0" );
    }
    
    createGreen( pos, angle ) // Crate for Miscellanious
    {
    	crateG = spawn( "script_model", pos );
    	crateG setModel( "mp_supplydrop_ally" );
    	crateG.angles = angle;
    }
    
    createPerk( pos, angle, num ) // Crate for Machines
    {
    	level.crateR[num] = spawn( "script_model", pos );
    	level.crateR[num] setModel( "mp_supplydrop_axis" );
    	level.crateR[num].angles = angle;
    }
    
    createRed( pos, angle ) // Crate for Red
    {
    	cratered = spawn( "script_model", pos );
    	cratered setModel( "mp_supplydrop_axis" );
    	cratered.angles = angle;
    }
    
    createBlack( pos, angle ) // Crate for Boundaries
    {
    	crateB = spawn( "script_model", pos );
    	crateB setModel( "mp_supplydrop_boobytrapped" );
    	crateB.angles = angle;
    }
    
    createPower( pos, angle ) // RCXD for Power Box
    {
    	level.xdcar = spawn( "script_model", pos );
    	level.xdcar setModel( "t5_veh_rcbomb_allies" );
    	level.xdcar.angles = angle;
    }
    
    createDoor( pos, angle, num ) // Crate for Moving Doors
    {
    	level.crateD[num] = spawn( "script_model", pos );
    	level.crateD[num] setModel( "mp_supplydrop_ally" );
    	level.crateD[num].angles = angle;
    }
    
    createGun( pos, angle, gun )
    {
    	level.gun[gun] = spawn( "script_model", pos );
    	level.gun[gun] setModel( getWeaponModel( gun + "_mp" ) );
    	level.gun[gun].angles = angle;
    } 
    
    createSpot( pos )
    {
    	level.teleSpot = spawn( "script_model", pos );
    }
    
    createTur( pos, angle, num )
    {
    	level.tur[num] = spawn( "script_model", pos );
    	level.tur[num] setModel( "t5_weapon_sam_turret_red" );
    	level.tur[num].angles = angle;
    }
    
    createSuitcase( pos, angle )
    {
    	suitcase = spawn( "script_model", pos );
    	suitcase setModel( "prop_suitcase_bomb" );
    	suitcase.angles = angle;
    	suitcase thread suitcaseThink();
    }
    
    doMap()
    {
    	// Perk Machines
    	level.bunkers[1] = createPerk( ( -315.008, 1952.55, 25.882 ), ( -180, 290, -90 ), 1 ); //Near TV's
    	level.bunkers[2] = createPerk( ( 859.595, 963.868, 128.458 ), ( 0, 150, 90 ), 2 ); //Second Floor of Flag A (domination) building
    	level.bunkers[3] = createPerk( ( -721.493, -562.177, -92.2126 ), ( 0, 0, 90 ), 3 ); //Near Firing Range
    	level.bunkers[54] = createPerk( ( 817.5, -167.711, 14.0216 ), ( 0, 90, 90 ), 4 ); // Secret
    
    	// Boundaries
    	level.bunkers[4] = createBlack( ( 990.525, -35.2952, 14.8994 ), ( 0, 0, -90 ) );
    	level.bunkers[5] = createBlack( ( 810.81, -64.7341, 43.6618 ), ( 0, 270, 90 ) );
    	level.bunkers[19] = createBlack( ( 482.302, 1145.52, 274.153 ), ( 0, 60, 0 ) );
    	level.bunkers[20] = createBlack( ( 542.941, 1108.32, 272.515 ), ( 0, 240, 0 ) );
    	level.bunkers[21] = createBlack( ( 339.211, 878.935, 276.697 ), ( 0, 60, 0 ) );
    	level.bunkers[22] = createBlack( ( 397.409, 843.727, 278.233 ), ( 0, 60, 0 ) );
    	level.bunkers[42] = createBlack( ( 1435.73, 1314.05, 121 ), ( 0, 60, 90 ) );
    	level.bunkers[43] = createBlack( ( 1460.95, 1354.71, 121 ), ( 0, 60, 90 ) );
    	level.bunkers[44] = createBlack( ( 1485.36, 1396.48, 121 ), ( 0, 60, 90 ) );
    	level.bunkers[45] = createBlack( ( 1509.71, 1437.27, 121 ), ( 0, 60, 90 ) );
    	level.bunkers[49] = createBlack( ( 255.877, 742.799, 46.0719 ), ( 90, 160, 160 ) );
    	level.bunkers[50] = createBlack( ( 4.797353, 962.675, 161.722 ), ( 90, 170, -180 ) );
    	level.bunkers[51] = createBlack( ( 521.737, 1123.51, -9.96467 ), ( 0, 330, 90 ) );
    	level.bunkers[52] = createBlack( ( 1462.63, 1364.3, 120.987 ), ( 0, 240, -90 ) );
    	level.bunkers[53] = createBlack( ( -373.212, 1925.54, 37.2405 ), ( 90, 170, -180 ) );
    	level.bunkers[55] = createBlack( ( 19.474, 911.499, 46.4463 ), ( 90, 0, -70 ) );
    	level.bunkers[56] = createBlack( ( 380.987, 1077.38, 267.14 ), ( 0, 60, -90 ) );
    	level.bunkers[57] = createBlack( ( 389.834, 1020.67, 167.443 ), ( 90, 350, 20 ) );
    	level.bunkers[58] = createBlack( ( 414.224, 1011.39, 168.265 ), ( 90, 350, 20 ) );
    
    	// Teleporter
    	level.bunkers[7] = createGreen( ( 1541.09, 1437.8, -13.8212 ), ( 0, 150, 90 ) );
    	level.bunkers[8] = createGreen( ( 1511.5, 1455.28, -13 ), ( -180, 160, 90 ) );
    	level.bunkers[9] = createGreen( ( 1574.41, 1421.62, -13.5092 ), ( 0, 150, 90 ) );
    	level.bunkers[10] = createGreen( ( 1519.63, 1444.48, 39.2482 ), ( 0, 60, 0 ) );
    	level.bunkers[11] = createGreen( ( 1580.14, 1412.93, 42.395 ), ( 0, 60, 0 ) );
    	level.bunkers[12] = createDoor( ( 1602.33, 1398.83, 62.9695 ), ( 0, 150, 90 ), 1 );
    	level.bunkers[13] = createDoor( ( 1632.57, 1378.02, 64.6112 ), ( 0, 150, 90 ), 2 );
    	level.bunkers[14] = createGreen( ( 1654.02, 1372.95, -11.8996 ), ( 0, 240, -90 ) );
    	level.bunkers[16] = createGreen( ( 1637.93, 1379.34, 42.3871 ), ( 0, 60, 0 ) );
    	level.bunkers[17] = createGreen( ( 1650.83, 1374.77, -12.0637 ), ( 0, 330, -90 ) );
    	level.bunkers[18] = createSpot( ( 1531.69, 1335.03, -47.875 ) );
    	level.bunkers[24] = createGreen( ( 1636.58, 1337.78, -12.0023 ), ( 0, 60, 90 ) );
    	level.bunkers[25] = createGreen( ( 1619.59, 1310.5, -12.4566 ), ( 0, 60, 90 ) );
    	level.bunkers[26] = createGreen( ( 1604.19, 1284.2, -11.5834 ), ( 0, 60, 90 ) );
    	level.bunkers[27] = createGreen( ( 1590.46, 1259.8, -11.9353 ), ( 0, 60, 90 ) );
    	level.bunkers[28] = createGreen( ( 1576.98, 1238.55, -12.175 ), ( 0, 60, 90 ) );
    	level.bunkers[29] = createGreen( ( 1644.78, 1354.06, 41.259 ), ( 90, 330, 0 ) );
    	level.bunkers[30] = createGreen( ( 1609.37, 1292.61, 40.6795 ), ( -90, 150, 0 ) );
    	level.bunkers[31] = createGreen( ( 1586.44, 1252.25, 40.7318 ), ( 90, 330, 0 ) );
    
    	// Power Box
    	level.bunkers[15] = createPower( ( -25.8445, 1420.01, -6.53421 ), ( 90, 40, 150 ) );
    
    	// Guns
    	level.bunkers[32] = createGun( ( 876.456, -21.6794, -54.1622 ), ( 0, 0, 0 ), "rottweil72" );
    	level.bunkers[32] = createGun( ( -952.034, 1153.49, -4.41626 ), ( 0, 340, 0 ), "m14" );
    	level.bunkers[32] = createGun( ( 1357.96, 2492.9, 5.32343 ), ( 0, 90, 0 ), "dragunov" );
    
    	wait 0.5;
    
    	// Mystery Box
    	level.oldMysBox = 99;
    	level.mBoxSpot = [];
    	level.mBoxAngle = [];
    	level.mBoxSpot[0] = ( -1025.25, 1869.83, -41.7079 );
    	level.mBoxAngle[0] = ( 0, 160, 0 );
    	level.mBoxSpot[1] = ( 2109.52, 2243.94, -27.6325 );
    	level.mBoxAngle[1] = ( 0, 180, 0 );
    	level.mBoxSpot[2] = ( 985.453, 1427.71, -35.1813 );
    	level.mBoxAngle[2] = ( 0, 10, 0 );
    	level.mBoxSpot[3] = ( -388.802, -306.542, -107.276 );
    	level.mBoxAngle[3] = ( 0, 180, 0 );
    	thread newMysterybox();
    
    	wait 0.5;
    
    	// Pack-a-Punch
    	level.bunkers[39] = createPack( ( 396.196, 1027.78, 208.911 ), ( 0, 150, 0 ) );
    	level.bunkers[40] = createTur( ( 403.812, 1025.83, 175.409 ), ( 0, 240, 0 ), 1 );
    	level.bunkers[41] = createTur( ( 395.818, 1026.79, 234.521 ), ( 0, 180, -180 ), 2 );
    
    	wait 0.5;
    
    	// Suitcases
    	level.bunkers[46] = createSuitcase( ( 2046.35, 1772.14, -49.6505 ), ( 0, 10, 0 ) );
    	level.bunkers[47] = createSuitcase( ( -1272.38, 1444.92, -55.4007 ), ( 0, 130, 0 ) );
    	level.bunkers[48] = createSuitcase( ( -9.16544, 182.944, -39.0787 ), ( 0, 320, 20 ) );
    }
    
    doMapThinkPOff()
    {
    	self endon( "disconnect" );
    	level endon( "power_on" );
    	level endon("game_wasover");
    
    	for(;;)
    	{
    		if( distance( self.origin, level.xdcar.origin ) < 75 )
    		{
    			if( self.cash >= 200 )
    			{
    				self setLowerMessage( "Press [{+activate}] to turn the power on (^2200^7)" );
    				while( distance( self.origin, level.xdcar.origin ) < 75 )
    				{
    					if( self useButtonPressed() == true )
    					{
    						self playSoundToPlayer( "mpl_turret_alert", self );
    						self thread moreCash( -200 );
    						level.powerOn = 1;
    						level notify( "power_on" );
    					}
    					wait 0.05;
    				}
    			}
    			else
    			{
    				self setLowerMessage( "Not enough money (^2200^7)" );
    				while( distance( self.origin, level.xdcar.origin ) < 75 )
    					wait 0.05;
    			}
    		}
    
    		if( distance( self.origin, level.gun["rottweil72"].origin ) < 75 )
    		{
    			if( self.cash >= 100 )
    			{
    				self setLowerMessage( "Press [{+activate}] to buy the Olympia (^2100^7)" );
    				while( distance( self.origin, level.gun["rottweil72"].origin ) < 75 )
    				{
    					if( self useButtonPressed() == true )
    					{
    						self playSoundToPlayer( "mpl_turret_alert", self );
    						selfWepSize = self GetWeaponsList();
    						if( self HasWeapon( "tabun_gas_mp" ) )
    							wepSizeLimit = 4;
    						else
    							wepSizeLimit = 3;
    						if( selfWepSize.size >= wepSizeLimit && self.weaponPerk == 0 || selfWepSize.size >= (wepSizeLimit+1) && self.weaponPerk == 1 )
    							self takeWeapon(self getCurrentWeapon());
    						self giveWeapon( "rottweil72_mp" );
    						self switchToWeapon( "rottweil72_mp" );
    						self thread moreCash( -100 );
    						break;
    					}
    					wait 0.05;
    				}
    			}
    			else
    			{
    				self setLowerMessage( "Not Enough Money (^2100^7)" );
    				while( distance( self.origin, level.gun["rottweil72"].origin ) < 75 )
    					wait 0.05;
    			}
    		}
    
    		if( distance( self.origin, level.gun["m14"].origin ) < 75 )
    		{
    			if( self.cash >= 100 )
    			{
    				self setLowerMessage( "Press [{+activate}] to buy the M14 (^2100^7)" );
    				while( distance( self.origin, level.gun["m14"].origin ) < 75 )
    				{
    					if( self useButtonPressed() == true )
    					{
    						self playSoundToPlayer( "mpl_turret_alert", self );
    						selfWepSize = self GetWeaponsList();
    						if( self HasWeapon( "tabun_gas_mp" ) )
    							wepSizeLimit = 4;
    						else
    							wepSizeLimit = 3;
    						if( selfWepSize.size >= wepSizeLimit && self.weaponPerk == 0 || selfWepSize.size >= (wepSizeLimit+1) && self.weaponPerk == 1 )
    							self takeWeapon(self getCurrentWeapon());
    						self giveWeapon( "m14_mp" );
    						self switchToWeapon( "m14_mp" );
    						self thread moreCash( -100 );
    						break;
    					}
    					wait 0.05;
    				}
    			}
    			else
    			{
    				self setLowerMessage( "Not Enough Money (^2100^7)" );
    				while( distance( self.origin, level.gun["m14"].origin ) < 75 )
    					wait 0.05;
    			}
    		}
    
    		if( distance( self.origin, level.gun["dragunov"].origin ) < 75 )
    		{
    			if( self.cash >= 100 )
    			{
    				self setLowerMessage( "Press [{+activate}] to buy the Dragunov (^2100^7)" );
    				while( distance( self.origin, level.gun["dragunov"].origin ) < 75 )
    				{
    					if( self useButtonPressed() == true )
    					{
    						self playSoundToPlayer( "mpl_turret_alert", self );
    						selfWepSize = self GetWeaponsList();
    						if( self HasWeapon( "tabun_gas_mp" ) )
    							wepSizeLimit = 4;
    						else
    							wepSizeLimit = 3;
    						if( selfWepSize.size >= wepSizeLimit && self.weaponPerk == 0 || selfWepSize.size >= (wepSizeLimit+1) && self.weaponPerk == 1 )
    							self takeWeapon(self getCurrentWeapon());
    						self giveWeapon( "dragunov_mp" );
    						self switchToWeapon( "rottweil72_mp" );
    						self thread moreCash( -100 );
    						break;
    					}
    					wait 0.05;
    				}
    			}
    			else
    			{
    				self setLowerMessage( "Not Enough Money (^2100^7)" );
    				while( distance( self.origin, level.gun["dragunov"].origin ) < 75 )
    					wait 0.05;
    			}
    		}
    
    		if( distance( self.origin, level.crateR[1].origin ) < 75 || distance( self.origin, level.crateR[2].origin ) < 75 || distance( self.origin, level.teleSpot.origin ) < 100 || distance( self.origin, level.crateR[3].origin ) < 75 || distance( self.origin, level.crateR[4].origin ) < 75 )
    		{
    			self setLowerMessage( "Turn the power on to use" );
    			while( distance( self.origin, level.crateR[1].origin ) < 75 || distance( self.origin, level.crateR[2].origin ) < 75 || distance( self.origin, level.teleSpot.origin ) < 100 )
    				wait 0.05;
    		}
    		else
    		{
    			self clearLowerMessage( 0.5 );
    		}
    		wait 0.05;
    	}
    }
    
    doMapThinkPOn()
    {
    	self endon( "disconnect" );
    	level endon("game_wasover");
    
    	self.speedPerk = 0;
    	self.healthPerk = 0;
    	self.weaponPerk = 0;
    	self.ghostPerk = 0;
    
    	level.teleInProg = 0;
    
    	if( level.powerOn == 0 )
    		level waittill( "power_on" );
    
    	for(;;)
    	{
    		if( distance( self.origin, level.crateR[1].origin ) < 75 && self.speedPerk == 0 )
    		{
    			if( self.cash >= 150 )
    			{
    				self setLowerMessage( "Press [{+activate}] to buy Speed (^2150^7)" );
    				while( distance( self.origin, level.crateR[1].origin ) < 75 )
    				{
    					if( self useButtonPressed() == true )
    					{
    						self playSoundToPlayer( "mpl_turret_alert", self );
    						self.speedPerk = 1;
    						self thread moreCash( -150 );
    						break;
    					}
    					wait 0.05;
    				}
    			}
    			else
    			{
    				self setLowerMessage( "Not Enough Money (^2150^7)" );
    				while( distance( self.origin, level.crateR[1].origin ) < 75 )
    					wait 0.05;
    			}
    		}
    
    		if( distance( self.origin, level.crateR[2].origin ) < 75 && self.healthPerk == 0 )
    		{
    			if( self.cash >= 150 )
    			{
    				self setLowerMessage( "Press [{+activate}] to buy Juggernaut (^2150^7)" );
    				while( distance( self.origin, level.crateR[2].origin ) < 75 )
    				{
    					if( self useButtonPressed() == true )
    					{
    						self playSoundToPlayer( "mpl_turret_alert", self );
    						self.healthPerk = 1;
    						self thread moreCash( -150 );
    						break;
    					}
    					wait 0.05;
    				}
    			}
    			else
    			{
    				self setLowerMessage( "Not Enough Money (^2150^7)" );
    				while( distance( self.origin, level.crateR[2].origin ) < 75 )
    					wait 0.05;
    			}
    		}
    
    		if( distance( self.origin, level.crateR[3].origin ) < 75 && self.weaponPerk == 0 )
    		{
    			if( self.cash >= 150 )
    			{
    				self setLowerMessage( "Press [{+activate}] to buy Overkill (^2150^7)" );
    				while( distance( self.origin, level.crateR[3].origin ) < 75 )
    				{
    					if( self useButtonPressed() == true )
    					{
    						self playSoundToPlayer( "mpl_turret_alert", self );
    						self.weaponPerk = 1;
    						self thread moreCash( -150 );
    						break;
    					}
    					wait 0.05;
    				}
    			}
    			else
    			{
    				self setLowerMessage( "Not Enough Money (^2150^7)" );
    				while( distance( self.origin, level.crateR[3].origin ) < 75 )
    					wait 0.05;
    			}
    		}
    
    		if( distance( self.origin, level.crateR[4].origin ) < 75 && self.ghostPerk == 0 )
    		{
    			if( self.cash >= 1000 )
    			{
    				self setLowerMessage( "Press [{+activate}] to buy Ghost (^21000^7)" );
    				while( distance( self.origin, level.crateR[4].origin ) < 75 )
    				{
    					if( self useButtonPressed() == true )
    					{
    						self playSoundToPlayer( "mpl_turret_alert", self );
    						self.ghostPerk = 1;
    						self thread doGhost();
    						self thread moreCash( -1000 );
    						break;
    					}
    					wait 0.05;
    				}
    			}
    			else
    			{
    				self setLowerMessage( "Not Enough Money (^21000^7)" );
    				while( distance( self.origin, level.crateR[4].origin ) < 75 )
    					wait 0.05;
    			}
    		}
    
    		if( distance( self.origin, level.gun["rottweil72"].origin ) < 75 )
    		{
    			if( self.cash >= 100 )
    			{
    				self setLowerMessage( "Press [{+activate}] to buy the Olympia (^2100^7)" );
    				while( distance( self.origin, level.gun["rottweil72"].origin ) < 75 )
    				{
    					if( self useButtonPressed() == true )
    					{
    						self playSoundToPlayer( "mpl_turret_alert", self );
    						selfWepSize = self GetWeaponsList();
    						if( self HasWeapon( "tabun_gas_mp" ) )
    							wepSizeLimit = 4;
    						else
    							wepSizeLimit = 3;
    						if( selfWepSize.size >= wepSizeLimit && self.weaponPerk == 0 || selfWepSize.size >= (wepSizeLimit+1) && self.weaponPerk == 1 )
    							self takeWeapon( self getCurrentWeapon() );
    						self giveWeapon( "rottweil72_mp" );
    						self switchToWeapon( "rottweil72_mp" );
    						self thread moreCash( -100 );
    						break;
    					}
    					wait 0.05;
    				}
    			}
    			else
    			{
    				self setLowerMessage( "Not Enough Money (^2100^7)" );
    				while( distance( self.origin, level.gun["rottweil72"].origin ) < 75 )
    					wait 0.05;
    			}
    		}
    
    		if( distance( self.origin, level.gun["m14"].origin ) < 75 )
    		{
    			if( self.cash >= 100 )
    			{
    				self setLowerMessage( "Press [{+activate}] to buy the M14 (^2100^7)" );
    				while( distance( self.origin, level.gun["m14"].origin ) < 75 )
    				{
    					if( self useButtonPressed() == true )
    					{
    						self playSoundToPlayer( "mpl_turret_alert", self );
    						selfWepSize = self GetWeaponsList();
    						if( self HasWeapon( "tabun_gas_mp" ) )
    							wepSizeLimit = 4;
    						else
    							wepSizeLimit = 3;
    						if( selfWepSize.size >= wepSizeLimit && self.weaponPerk == 0 || selfWepSize.size >= (wepSizeLimit+1) && self.weaponPerk == 1 )
    							self takeWeapon(self getCurrentWeapon());
    						self giveWeapon( "m14_mp" );
    						self switchToWeapon( "m14_mp" );
    						self thread moreCash( -100 );
    						break;
    					}
    					wait 0.05;
    				}
    			}
    			else
    			{
    				self setLowerMessage( "Not Enough Money (^2100^7)" );
    				while( distance( self.origin, level.gun["m14"].origin ) < 75 )
    					wait 0.05;
    			}
    		}
    
    		if( distance( self.origin, level.gun["dragunov"].origin ) < 75 )
    		{
    			if( self.cash >= 100 )
    			{
    				self setLowerMessage( "Press [{+activate}] to buy the Dragunov (^2100^7)" );
    				while( distance( self.origin, level.gun["dragunov"].origin ) < 75 )
    				{
    					if( self useButtonPressed() == true )
    					{
    						self playSoundToPlayer( "mpl_turret_alert", self );
    						selfWepSize = self GetWeaponsList();
    						if( self HasWeapon( "tabun_gas_mp" ) )
    							wepSizeLimit = 4;
    						else
    							wepSizeLimit = 3;
    						if( selfWepSize.size >= wepSizeLimit && self.weaponPerk == 0 || selfWepSize.size >= (wepSizeLimit+1) && self.weaponPerk == 1 )
    							self takeWeapon(self getCurrentWeapon());
    						self giveWeapon( "dragunov_mp" );
    						self switchToWeapon( "dragunov_mp" );
    						self thread moreCash( -100 );
    						break;
    					}
    					wait 0.05;
    				}
    			}
    			else
    			{
    				self setLowerMessage( "Not Enough Money (^2100^7)" );
    				while( distance( self.origin, level.gun["dragunov"].origin ) < 75 )
    					wait 0.05;
    			}
    		}
    
    		if( distance( self.origin, level.teleSpot.origin ) < 100 && level.teleInProg == 0 )
    		{
    			self setLowerMessage( "Press [{+activate}] to use the teleporter" );
    			while( distance( self.origin, level.teleSpot.origin ) < 100 )
    			{
    				if( self useButtonPressed() == true )
    				{
    					thread doTeleporter();
    					break;
    				}
    				wait 0.05;
    			}
    		}
    		else
    		{
    			self clearLowerMessage( 0.5 );
    		}
    		wait 0.05;
    	}
    }
    
    doTeleporter()
    {
    	level.teleInProg = 1;
    					
    	level.crateD[1] moveTo( ( 1606.79, 1404.26, -28.45 ), 1.5 );
    	level.crateD[2] moveTo( ( 1638.11, 1385.74, -28.45 ), 1.5 );
    
    	for(k=0;k<level.players.size;k++)
    	{
    		if( distance( level.players[k].origin, level.teleSpot.origin ) < 100 )
    		{
    			level.players[k] clearLowerMessage( 0.1 );
    			level.players[k] thread teleTimer();
    		}
    	}
    
    	wait 3;
    
    	for(i=0;i<level.players.size;i++)
    	{
    		if( distance( level.players[i].origin, level.teleSpot.origin ) < 100 )
    			level.players[i] setOrigin( ( 460.572, 1062.25, 193.125 ) );
    		wait 0.3;
    	}
    
    	level.crateD[1] moveTo( ( 1602.33, 1398.83, 62.9695 ), 180 );
    	level.crateD[2] moveTo( ( 1632.57, 1378.02, 64.6112 ), 180 );
    
    	wait 35;
    
    	for(i=0;i<level.players.size;i++)
    	{
    		if( distance( level.players[i].origin, level.packBox.origin ) <= 180 )
    			level.players[i] setOrigin( ( 2397.32, 1496.48, -55.8978 ) );
    		wait 0.3;
    	}
    
    	level.teleInProg = 0;
    }
    
    juggernaut()
    {
    	self.maxhealth = 700;
    	self.health = self.maxhealth;
    }
    
    speed()
    {
    	self setPerk( "specialty_unlimitedsprint" );
    	self setPerk( "specialty_sprintrecovery" );
    	self setPerk( "specialty_movefaster" );
    	self setPerk( "specialty_fastweaponswitch" );
    	self setPerk( "specialty_fastreload" );
    	self setPerk( "specialty_fastmeleerecovery" );
    	self setPerk( "specialty_fastmantle" );
    	self setPerk( "specialty_fastinteract" );
    	self setPerk( "specialty_fastads" );
    }
    
    teleTimer()
    {
    	timer1 = self createFontString( "objective", 2 );
    	timer1 setPoint( "CENTER", "CENTER", 0, -50 );
    	timer1 setText( "Teleporting in" );
    	timer1.foreground = true;
    	timer1.hidewheninmenu = true;
    
    	timer2 = self createFontString( "extrabig", 3 );
    	timer2 setPoint( "CENTER", "CENTER", 0, 0 );
    	timer2.foreground = true;
    	timer2.hidewheninmenu = true;
    
    	for(t=3;t>0;t--)
    	{
    		timer2 setText( "^2" + t );
    		wait 1;
    	}
    
    	timer1 destroy();
    	timer2 destroy();
    
    	wait 0.1;
    
    	timer3 = self createFontString( "extrabig", 2 );
    	timer3 setPoint( "CENTER", "CENTER", 0, -100 );
    	timer3.foreground = true;
    	timer3.hidewheninmenu = true;
    
    	for(t=35;t>0;t--)
    	{
    		timer3 setText( "Returning in: ^2" + t );
    		wait 1;
    	}
    
    	timer3 destroy();
    }
    
    powerDisplay()
    {
    	pow = createServerFontString( "objective", 1.5 );
    	pow setPoint( "CENTER", "RIGHT", -40, -190 );
    	pow setText( "Power: ^1OFF" );
    	pow.foreground = true;
    	pow.hidewheninmenu = true;
    
    	level waittill( "power_on" );
    
    	pow setText( "Power: ^2ON" );
    }
    
    perkDisplay()
    {
    	level endon("game_wasover");
    
    	self.perk = self createFontString( "objective", 1.8 );
    	self.perk setPoint( "CENTER", "RIGHT", -40, 40 );
    	self.perk.foreground = true;
    	self.perk.hidewheninmenu = true;
    
    	self.perks = "";
    	self.speedDisplay = 0;
    	self.healthDisplay = 0;
    	self.weaponDisplay = 0;
    
    	for(;;)
    	{
    		if( self.speedPerk == 1 && self.speedDisplay == 0 )
    		{
    			self thread speed();
    			self.perks += "^5Speed\n";
    			self.perk setText( self.perks );
    			self.speedDisplay = 1;
    		}
    		if( self.healthPerk == 1 && self.healthDisplay == 0 )
    		{
    			self thread juggernaut();
    			self.perks += "^1Juggernaut\n";
    			self.perk setText( self.perks );
    			self.healthDisplay = 1;
    		}
    		if( self.weaponPerk == 1 && self.weaponDisplay == 0 )
    		{
    			self.perks += "^2Overkill\n";
    			self.perk setText( self.perks );
    			self.weaponDisplay = 1;
    		}
    		if( self.healthPerk == 0 && self.speedPerk == 0 && self.weaponPerk == 0 )
    		{
    			self.perks = "";
    			self.perk setText( self.perks );
    			self.speedDisplay = 0;
    			self.healthDisplay = 0;
    			self.weaponDisplay = 0;
    		}
    		wait 0.05;
    	}
    }
    
    reset()
    {
    	self endon( "disconnect" );
    
    	for(;;)
    	{
    		self waittill( "death" );
    
    		self.playerStatus = "dead";
    		self notify( "menuresponse", game["menu_team"], "spectator" );
    
    		self.speedPerk = 0;
    		self.healthPerk = 0;
    		self.weaponPerk = 0;
    
    		if( self.cash > 100 )
    			self.cash = 100;
    		self.cas setText( self.casColor + self.cash );
    
    		level waittill( "round_up" );
    
    		self.playerStatus = "alive";
    		self notify( "menuresponse", game["menu_team"], "allies" );
    	}
    }
    
    CreateRandomBox( pos, angle )
    {
    	level.mBox = spawn( "script_model", pos );
    	level.mBox setModel( "mp_supplydrop_ally" );
    	level.mBox.angles = angle;
    
    	objective_add( 1, "active", level.mBox.origin );
    	objective_icon( 1, "compass_supply_drop_green" );
    
    	boxLid = spawn("script_model", pos);
    	boxLid.angles = angle;
    	boxLid thread RandomBoxThink();
    }
    
    RandomBoxThink()
    {
    	level endon( "newBox" );
    
            self.inUse = false;
            self endon("disconnect");
    	level endon("game_wasover");
    
            while(1)
    	{
                    if(isDefined(level.players))
    		{
                            for(i=0;i<level.players.size;i++)
    			{
                                    if(distance(self.origin, level.players[i].origin) <= 75 && isAlive(level.players[i]) && !self.inUse)
    				{
    					if( level.players[i].cash >= 250 )
    					{
    						level.players[i] setLowerMessage( "Press [{+activate}] to use the Mystery Box (^2250^7)" );
    						if(level.players[i] useButtonPressed()) 
    						{
    							self.inUse = true;
    							level.players[i] playSoundToPlayer("mpl_turret_alert", level.players[i]);
    							self thread doLidOpen(level.players[i]);
    							level.players[i] thread moreCash( -250 );
    						}
    					}
    					else
    						level.players[i] setLowerMessage( "Not Enough Money (^2250^7)" );
    				}
                    	}
    			wait 0.05;
    		}
    	}
    }
    
    doLidOpen(player)
    {
        	wait 0.5;
        	weaponModel = spawn("script_model", self.origin);
    	weaponModel.angles = self.angles - (0,90,0);
        	weaponModel moveTo(self.origin + (0, 0, 40), 2);
        	for(i = 20; i > 0; i--)
    	{
            	weapon = self thread weaponsLists();
            	weaponModel setModel(weapon);
            	wait 0.2;
        	}
        	weaponID = randomInt(self.weaponsList.size);
        	weapon = self thread weaponsLists(weaponID);
        	weaponModel setModel(weapon);
    
    	if( weaponID == 0 )
    	{
    		self playSound( "amb_end_nuke" );
    		t = 0;
    		while( t != 9 )
    		{
    			playFx( level._effect["character_fire_death_torso"], self.origin );
    			t++;
    			wait 0.5;
    		}
    		weaponModel delete();
    		self delete();
    		wait 0.5;
    		explosion = loadFx( "vehicle/vexplosion/fx_vexplode_helicopter_exp_mp" );
    		playFx( explosion, level.mBox.origin );
    		wait 0.2;
    		player thread moreCash( 250 );
    		level.mBox delete();
    		level notify( "newBox" );
    		wait 0.5;
    		level thread newMysteryBox();
    	}
    
    	else
    	{
        		playerWeaponSize = player getWeaponsList();
        		player endon("death");
        		player endon("disconnect");
    
        		self.timeOut = 0;
        		while(1)
    		{
            		if(distance(self.origin, player.origin) <= 100)
    			{
            	    		if(playerWeaponSize.size <= 2 || playerWeaponSize.size <= 3 && player.weaponPerk == 1)
    				{
    					player setLowerMessage( "Press [{+activate}] to take the weapon" );
            	    		} 
    				else
    				{
            	        		player setLowerMessage( "Press [{+activate}] to trade weapons" );
            	    		}
    
            	    		if(player UseButtonPressed()) 
    				{
            	            		level.players[i] playSoundToPlayer("mpl_turret_alert", level.players[i]);
    					if( self HasWeapon( "tabun_gas_mp" ) )
    						wepSizeLimit = 4;
    					else
    						wepSizeLimit = 3;
    					if( playerWeaponSize.size >= wepSizeLimit && player.weaponPerk == 0 || playerWeaponSize.size >= (wepSizeLimit+1) && player.weaponPerk == 1 )
            	                		player takeWeapon(player getCurrentWeapon());
            	            		player giveWeapon(self.weaponsList[weaponID]);
            	            		player giveMaxAmmo(self.weaponsList[weaponID]);
            	            		wait 0.1;
            	            		player switchToWeapon(self.weaponsList[weaponID]);
            	            		weaponModel delete();
            	            		wait 1;
            	            		self.inUse = false;
            	            		break;
            	    		}
    
            	    		if(!isAlive(player)) 
    				{
            	        		weaponModel delete();
            	        		wait 1;
            	        		self.inUse = false;
            	        		break;
            	    		}
            		} 
    			else 
    			{
            			player clearLowerMessage( 1.0 );
            		}
            	
            		if(self.timeOut >= 5) 
    			{
            	    		weaponModel delete();
            	    		wait 1;
            	    		self.inUse = false;
            	    		break;
            		}
    
            		self.timeOut += 0.05;
            		wait 0.05;
        		}
    	}
    }	
    
    weaponsLists(ID)
    {
    	self.weaponsList = [];
    	self.weaponsList[0] = "prop_suitcase_bomb";
    	self.weaponsList[1] = "galil_mp";
    	self.weaponsList[2] = "spas_mp";
    	self.weaponsList[3] = "rpk_mp";
    	self.weaponsList[4] = "famas_mp";
    	self.weaponsList[5] = "mp5k_mp";
    	self.weaponsList[6] = "knife_ballistic_mp";
    	self.weaponsList[7] = "ak74u_mp";
    	self.weaponsList[8] = "l96a1_mp";
    	self.weaponsList[9] = "python_mp";
    	self.weaponsList[10] = "m60_mp";
    	self.weaponsList[11] = "hk21_mp";
    	self.weaponsList[12] = "stoner63_mp";
        
    	if(isDefined(ID))
    	{
    		if( ID == 0 )
    			weaponModel = "prop_suitcase_bomb";
    		else
            		weaponModel = getWeaponModel(self.weaponsList[ID]);
        	}
    	else
    	{
    		r = randomInt(self.weaponsList.size);
    		if( r == 0 )
    			weaponModel = "prop_suitcase_bomb";
    		else
    			weaponModel = getWeaponModel(self.weaponsList[r]);
        	}
    
        	return weaponModel;
    }
    
    newMysteryBox()
    {
    	level.newMysBox = randomInt( level.mBoxSpot.size );
    	if( level.newMysbox == level.oldMysBox )
    		thread newMysteryBox();
    	else
    	{
    		level.bunkers[6] = CreateRandomBox( level.mBoxSpot[level.newMysBox], level.mBoxAngle[level.newMysBox] );
    		level.oldMysBox = level.newMysBox;
    	}
    }
    
    createPack(pos, angle)
    {
    	level.packBox = spawn( "script_model", pos );
    	level.packBox setModel( "mp_supplydrop_axis" );
    	level.packBox.angles = angle;
    
    	packBoxLid = spawn("script_model", pos);
    	packBoxLid.angles = angle;
    	packBoxLid thread packBoxThink();
    }
    
    packBoxThink()
    {
            self.inUse = false;
            self endon("disconnect");
    	level endon("game_wasover");
    
            while(1)
    	{
                    if(isDefined(level.players))
    		{
                            for(i = 0; i < level.players.size; i++)
    			{
                                    if(distance(self.origin, level.players[i].origin) <= 60 && isAlive(level.players[i]) && !self.inUse)
    				{
    					if( level.players[i].cash >= 400 )
    					{
    						level.players[i] setLowerMessage( "Press [{+activate}] to upgrade your weapon (^2400^7)" );
    						if(level.players[i] useButtonPressed()) 
    						{
    							wep = level.players[i] getCurrentWeapon();
    							if( wep == ("mp5k_mp"||"galil_mp"||"rpk_mp"||"spas_mp"||"famas_mp"||"m14_mp"||"rottweil72_mp"||"m1911_mp"||"knife_ballistic_mp"||"hk21_mp"||"m60_mp"||"l96a1_mp"||"python_mp"||"ak74u_mp"||"stoner63_mp"||"dragunov_mp") )
    							{
    								self.inUse = true;
    								level.players[i] playSoundToPlayer("mpl_turret_alert", level.players[i]);
    								self thread doPackLidOpen(level.players[i]);
    								level.players[i] thread moreCash( -400 );
    							}
    							else
    							{
    								level.players[i] iPrintlnBold( "Weapon can't be upgraded" );
    							}
    						}
    					}
    					else
    						level.players[i] setLowerMessage( "Not Enough Money (^2400^7)" );
    				}
                    	}
    			wait 0.05;
    		}
    	}
    }
    
    doPackLidOpen(player)
    {
        	weaponModel = spawn("script_model", self.origin);
    	weaponModel.angles = self.angles - (0,90,0);
        	weaponModel moveTo(self.origin + (0, 0, 40), 3.6);
    	weaponModel setModel( self thread packWeaponsList( player, 1 ) );
    
    	playerCurWep = player getCurrentWeapon();
    	playerPackWep = player thread packWeaponsList( player );
    	wait 0.01;
    	player takeWeapon( playerCurWep );
    
    	weps = player GetWeaponsList();
    	for(k=0;k<weps.size;k++)
    	{
    		if( weps[k] != "knife_mp" )
    		{
    			player switchToWeapon( weps[k] );
    			break;
    		}
    	}
    
    	for(i=72;i>0;i--)
    	{
    		level.tur[2].angles += ( 0, 10, 0 );
    		wait 0.05;
    	}
    
        	player endon("death");
        	player endon("disconnect");
    
        	self.timeOut = 0;
        	while(1)
    	{
            	if(distance(self.origin, player.origin) <= 100)
    		{
    			player setLowerMessage( "Press [{+activate}] to take the weapon" );
    
    			if(player UseButtonPressed())
    			{
    				level.players[i] playSoundToPlayer("mpl_turret_alert", level.players[i]);
                        		player giveWeapon(playerPackWep);
                        		player giveMaxAmmo(playerPackWep);
                        		wait 0.05;
                        		player switchToWeapon(playerPackWep);
    				if( playerPackWep == "knife_ballistic_mp" )
    					player thread infiniteKnives();
                        		weaponModel delete();
    				wait 1;
                        		self.inUse = false;
                        		break;
                		}
    
                		if(!isAlive(player)) 
    			{
                    		weaponModel delete();
    				wait 1;
                    		self.inUse = false;
                    		break;
                		}
            	} 
    		else 
    		{
            		player clearLowerMessage( 1.0 );
            	}
    
            	if(self.timeOut >= 5) 
    		{
                		weaponModel delete();
    			wait 1;
                		self.inUse = false;
                		break;
            	}
            
            	self.timeOut += 0.05;
            	wait 0.05;
        	}
    }
    
    packWeaponsList(player, model)
    {
        	playerWep = player getCurrentWeapon();
    
    	switch(playerWep)
    	{
    		case "mp5k_mp":
    			self.packWep = "mp5k_elbit_rf_silencer_mp";
    			break;
    		case "galil_mp":
    			self.packWep = "galil_elbit_extclip_silencer_mp";
    			break;
    		case "rpk_mp":
    			self.packWep = "rpk_elbit_extclip_mp";
    			break;
    		case "spas_mp":
    			self.packWep = "hs10dw_mp";
    			break;
    		case "famas_mp":
    			self.packWep = "famas_elbit_extclip_silencer_mp";
    			break;
    		case "m14_mp":
    			self.packWep = "fnfal_elbit_extclip_mp";
    			break;
    		case "rottweil72_mp":
    			self.packWep = "ithaca_grip_mp";
    			break;
    		case "m1911_mp":
    			self.packWep = "m1911_silencer_mp";
    			break;
    		case "knife_ballistic_mp":
    			self.packWep = "knife_ballistic_mp";
    			break;
    		case "cz75_mp":
    			self.packWep = "cz75dw_mp";
    			break;
    		case "ak74u_mp":
    			self.packWep = "ak74u_elbit_grip_rf_mp";
    			break;
    		case "l96a1_mp":
    			self.packWep = "l96a1_acog__extclip_mp";
    			break;
    		case "hk21_mp":
    			self.packWep = "hk21_reflex_extclip_mp";
    			break;
    		case "m60_mp":
    			self.packWep = "m60_grip_extclip_mp";
    			break;
    		case "stoner63_mp":
    			self.packWep = "stoner63_elbit_extclip_mp";
    			break;
    		case "dragunov_mp":
    			self.packWep = "psg1_acog_extclip_mp";
    			break;
    		default:
    			break;
    	}
    
    	packWep = self.packWep;
    
    	if(isDefined(model))
    	{
            	packModel = getWeaponModel(packWep);
    		return packModel;
        	}
    	else
    	{
    		return packWep;
    	}
    }
    
    infiniteKnives()
    {
    	self endon( "death" );
    
    	wep = "knife_ballistic_mp";
    	for(;;)
    	{
    		while( self getCurrentWeapon() == wep )
    		{
    			if( self getWeaponAmmoStock( wep ) != 1 )
    				self SetWeaponAmmoStock( wep, 1 );
    			wait 0.2;
    		}
    		wait 1;
    	}
    }
    
    cash()
    {
    	self.cash = 100;
    
    	self.casSpot = level.casSpot;
    	level.casSpot += 20;
    	if(level.casColor == 1)
    	{
    		self.casColor = "^2";
    		self.casColor2 = "Green";
    	}
    	else if(level.casColor == 2)
    	{
    		self.casColor = "^1";
    		self.casColor2 = "Red";
    	}
    	else if(level.casColor == 3)
    	{
    		self.casColor = "^5";
    		self.casColor2 = "Blue";
    	}
    	else if(level.casColor == 4)
    	{
    		self.casColor = "^3";
    		self.casColor2 = "Yellow";
    	}
    	else if(level.casColor == 5)
    	{
    		self.casColor = "";
    		self.casColor2 = "White";
    	}
    	else if(level.casColor == 6)
    	{
    		self.casColor = "^9";
    		self.casColor2 = "Orange";
    	}
    	else if(level.casColor == 7)
    	{
    		self.casColor = "^6";
    		self.casColor2 = "Purple";
    	}
    	else if(level.casColor == 8)
    	{
    		self.casColor = "^8";
    		self.casColor2 = "Grey";
    	}
    	else if(level.casColor == 9)
    	{
    		self.casColor = "^0";
    		self.casColor2 = "Black";
    	}
    	level.casColor++;
    
    	self.casID = self createFontString( "objective", 1.5 );
    	self.casID setPoint( "CENTER", "RIGHT", -40, -130 );
    	self.casID setText( "You are " + self.casColor + self.casColor2 );
    	self.casID.foreground = true;
    	self.casID.hidewheninmenu = true;
    
    	self.cas = createServerFontString( "objective", 2 );
    	self.cas setPoint( "CENTER", "RIGHT", -40, self.casSpot );
    	self.cas setText( self.casColor + self.cash );
    	self.cas.foreground = true;
    	self.cas.hidewheninmenu = true;
    
    	self thread casDelete();
    }
    
    casDelete()
    {
    	self waittill( "disconnect" );
    
    	self.cas delete();
    	level.casSpot -= 20;
    	level.casColor--;
    }
    
    moreCash( points )
    {
    	if( level.doublePoints == 1 && points > 0 && points != 250 )
    		points = points * 2;
    
    	self.cash += points;
    	self.cas setText( self.casColor + self.cash );
    
    	cash = createServerFontString( "objective", 1.5 );
    	cash setPoint( "CENTER", "RIGHT", -70, self.casSpot );
    	if(points > 0)
    		cash setText( "^3+" + points );
    	else
    		cash setText( "^3" + points );
    	cash.foreground = true;
    	cash.hidewheninmenu = true;
    
    	h = randomInt( 50 );
    	cash moveOverTime( 1.0 );
    	cash setPoint( "CENTER", "RIGHT", -170, (self.casSpot-25)+h );
    
    	wait 1;
    	cash destroy();
    }
    
    globalVars()
    {
    	setDvar( "ai_corpseCount", "5" );
    	setDvar( "scr_dog_count", "100" );
    	setDvar( "scr_dog_time", "65" );
    	setDvar( "scr_dog_max_at_once", "3" );
    	setDvar( "cg_spectateThirdPerson", "0" );
    	setDvar( "g_TeamName_Allies", "Humans" );
    	setDvar( "g_TeamName_Axis", "" );
    	setDvar( "g_deadChat", "1" );
    	setDvar( "g_allow_teamchange", 0 );
    	setDvar( "scr_game_killstreaks", 0 );
    	setDvar( "scr_disable_cac", 1 );
    }
    
    summonDogs()
    {
    	wait 20;
    
    	level thread maps\mp\_dogs::dog_manager_spawn_dogs( "axis", "allies", "0" );
    	level thread gameover();
    }
    
    roundCount()
    {
    	level.round = 1;
    	level.dogHealth = "65";
    	//level.dogNum = "4";
    
    	setDvar( "scr_dog_health", level.dogHealth );
    	//setDvar( "scr_dog_max_at_once", level.dogNum );
    
    	level.rnd = createServerFontString( "objective", 4.3 );
    	level.rnd setPoint( "TOPLEFT", "TOPLEFT", 10, 220 );
    	level.rnd setText( "\n^1" + level.round );
    	level.rnd.foreground = true;
    	level.rnd.hidewheninmenu = true;
    
    	for(;;)
    	{
    		level waittill( "round_up" );
    
    		level.round += 1;
    		level.rnd setText( "\n^1" + level.round );
    
    		level.dogHealthNum = int(level.dogHealth);
    		level.dogHealthNum += 7;
    		level.doghealth = level.dogHealthNum + "";
    		if( level.instaKill == 0 )
    			setDvar( "scr_dog_health", level.dogHealth );
    
    		//Untill we find a fix for less crashing, we might add this back in
    		//level.dogNumNum = int( level.dogNum );
    		//level.dogNumNum += 1;
    		//level.dogNum = level.dogNumNum + "";
    		//setDvar( "current_dogNum", level.dogNum );
    
    		level thread maps\mp\_dogs::dog_manager_spawn_dogs( "axis", "allies", "0" );
    	}
    }
    
    cleanUpSystem()
    {
    	level endon( "game_wasover" );
    
    	rndTimer = createServerFontString( "objective", 1.5 );
    	rndTimer setPoint( "CENTER", "TOP", 0, 10 );
    
    	for(i=60;i>0;i--)
    	{
    		rndTimer setText( "Next round in: ^3"+ i );
    		wait 1.0;
    	}
    	rndTimer destroy();
    
    	for(i=0;i<level.dogs.size;i++)
    	{
    		if(!isdefined(level.dogs[i]))
    		{
    			continue;
    		}
    		level.dogs[i] delete();
    		wait 0.01;
    	}
    	level notify("dogs done");
    	level notify( "round_up" );
    	level thread cleanUpSystem();
    }
    
    setupTeam()
    {
    	if( self.team == ( "axis" || "spectator" || "none" || undefined ) )
    	{
    		wait 0.2;
    		self notify( "menuresponse", game["menu_team"], "allies" );
    	}
    	self.playerStatus = "alive";
    }
    
    gameover()
    {
    	for(;;)
    	{
    		wait 1.0;
    		if( level.playerCount["allies"] == 0 )
    		{
    			level notify( "game_wasover" );
    			for(i=0;i<level.players.size;i++)
    			{
    				level.players[i] notify( "menuresponse", game["menu_team"], "allies" );
    			}
    			wait 0.5;
    			thread maps\mp\gametypes\_globallogic::endGame( "axis", "You survived ^1"+level.round+"^7 rounds!" );
    			break;
    		}
    	}
    }
    
    playerTeams()
    {
    	level endon( "game_wasover" );
    
    	for(;;)
    	{
    		wait 1.0;
    		if( self.playerStatus == "alive" && self.team == "allies" )
    		{
    			self.playerStatus = "alive";
    		}
    		else if( self.playerStatus == "alive" && self.team == ( "axis" || "spectator" || "none" || undefined ) )
    		{
    			self.playerStatus = "alive";
    			self notify( "menuresponse", game["menu_team"], "allies" );
    		}
    		else if( self.playerStatus == "dead" && self.team == ( "axis" || "allies" || "none" || undefined ) )
    		{
    			self.playerStatus = "dead";
    			self notify( "menuresponse", game["menu_team"], "spectator" );
    		}
    	}
    }
    
    powerup( dogOrigin )
    {
    	level.powerup = randomInt(40);
    	if( level.powerup == level.lastPowerup )
    	{
    		while( level.powerup == level.lastPowerup )
    			level.powerup = randomInt(3);
    		level.lastPowerup = level.powerup;
    	}
    
    	if( level.powerup == 0 )
    		thread doPowerup( "double_points", dogOrigin, "perk_times_two", 35, -200 );
    	if( level.powerup == 1 )
    		thread doPowerup( "insta_kill", dogOrigin, "headicon_dead", 35, -150 );
    	if( level.powerup == 2 )
    		thread doPowerup( "max_ammo", dogOrigin, "hud_ammo_refill_drop", 0, 0 );
    	if( level.powerup == 3 )
    		thread doPowerup( "death_machine", dogOrigin, "hud_ks_minigun", 20, -100 );
    }
    
    doPowerup( powerup, origin, icon, time, Xspot )
    {
    	powerupIcon = newTeamHudElem( "allies" );
    	powerupIcon.x = origin[0];
    	powerupIcon.y = origin[1];
    	powerupIcon.z = origin[2] + 35;
    	powerupIcon.alpha = 1;
    	powerupIcon.archived = true;
    	powerupIcon setShader( icon, 20, 20 );
    	powerupIcon setwaypoint( false );
    
    	powerupSpot = spawn( "script_model", origin );
    
    	p = 0;
    	while( isDefined(powerupSpot) && p != 300 )
    	{
    		wait 0.1;
    		for(i=0;i<level.players.size;i++)
    		{
    			if( distance( powerupSpot.origin, level.players[i].origin ) < 50 )
    			{
    				powerupIcon destroy();
    				powerupSpot delete();
    				break;
    			}
    			wait 0.01;
    		}
    		p++;
    	}
    
    	if( p == 300 )
    	{
    		powerupIcon destroy();
    		powerupSpot delete();
    	}
    	else
    	{
    		switch( powerup )
    		{
    			case "double_points":
    				thread doublePoints();
    				break;
    			case "insta_kill":
    				thread instaKill();
    				break;
    			case "max_ammo":
    				thread maxAmmo();
    				break;
    			case "death_machine":
    				thread deathMachine();
    				break;
    		}
    		thread doPowerupDisplay( icon, Xspot, time, powerup );
    	}
    }
    
    doPowerupDisplay( icon, Xspot, time, powerup )
    {
    	if( powerup != "max_ammo" )
    	{
    		screenIcon = createServerIcon( icon, 50, 50, "allies" );
    		screenIcon.x = Xspot;
    		screenIcon.y = -120;
    		screenIcon.horzAlign = "center";
    		screenIcon.vertAlign = "bottom";
    		screenIcon.alpha = 0.85;
    	
    		wait (time-5);
    
    		for(i=5;i>0;i--)
    		{
    			screenIcon.alpha = 0;
    			wait 0.3;
    			screenIcon.alpha = 0.85;
    			wait 0.8;
    		}
    
    		level notify( powerup );
    		screenIcon destroy();
    	}
    	else
    		iPrintlnBold( "^1M^3A^1X ^3A^1M^3M^1O" );
    }
    
    deathMachine()
    {
    	iPrintlnBold( "Death Machines For Everyone" );
    	for(i=0;i<level.players.size;i++)
    	{
    		level.players[i]._curWep = level.players[i] getCurrentWeapon();
    		level.players[i] giveWeapon( "minigun_mp" );
    		level.players[i] giveMaxAmmo( "minigun_mp" );
    		level.players[i] switchToWeapon( "minigun_mp" );
    		wait 0.01;
    	}
    
    	level waittill( "death_machine" );
    
    	for(i=0;i<level.players.size;i++)
    	{
    		level.players[i] takeWeapon( "minigun_mp" );
    		level.players[i] switchToWeapon( level.players[i]._curWep );
    	}
    }
    
    maxAmmo()
    {
    	iPrintlnBold( "Max Ammo For Everyone" );
    	for(i=0;i<level.players.size;i++)
    	{
    		weps = level.players[i] GetWeaponsList();
    		for(k=0;k<weps.size;k++)
    		{
    			level.players[i] giveMaxAmmo( weps[k] );
    			wait 0.01;
    		}
    	}
    }
    
    doublePoints()
    {
    	iPrintlnBold( "Double Points for Everyone" );
    	if( level.doublePoints == 0 )
    	{
    		level.doublePoints = 1;
    	}
    	else
    	{
    		level notify( "double_points" );
    		wait 0.1;
    		level.doublePoints = 1;
    	}
    	level waittill( "double_points" );
    	level.doublePoints = 0;
    }
    
    instaKill()
    {
    	iPrintlnBold( "Insta Kill for Everyone" );
    	if( level.instaKill == 0 )
    	{
    		level.instaKill = 1;
    		setDvar( "scr_dog_health", "1" );
    		for(i=0;i<level.dogs.size;i++)
    		{
    			if(!isdefined(level.dogs[i]))
    				continue;
    			level.dogs[i].health = 1;
    			wait 0.01;
    		}
    	}
    	else
    	{
    		level notify( "insta_kill" );
    		wait 0.1;
    		level.instaKill = 1;
    		setDvar( "scr_dog_health", "1" );
    		for(i=0;i<level.dogs.size;i++)
    		{
    			if(!isdefined(level.dogs[i]))
    				continue;
    			level.dogs[i].health = 1;
    			wait 0.01;
    		}
    	}
    	level waittill( "insta_kill" );
    	setDvar( "scr_dog_health", level.dogHealth );
    	for(i=0;i<level.dogs.size;i++)
    	{
    		if(!isdefined(level.dogs[i]))
    			continue;
    		level.dogs[i].health = level.dogHealth;
    		wait 0.01;
    	}
    	level.instaKill = 0;
    }
    
    secret()
    {
    	for(i=1;i<4;i++)
    	{
    		level waittill( "suitcase_found" );
    		iPrintlnBold( "Suitcase ^2" + i + "^7 Has Been Found!" );
    	}
    	wait 1;
    	secretText = createServerFontString( "objective", 1.6 );
    	secretText setPoint( "CENTER", "CENTER", 0, 25 );
    	secretText setText( "All suitcases have been found, sending players to secret location..." );
    	wait 2.5;
    	for(i=0;i<level.players.size;i++)
    	{
    		level.players[i].spot = level.players[i].origin;
    		level.players[i] setOrigin( ( 986.581, -151.928, -21.875 ) );
    		wait 0.5;
    	}
    	for(i=30;i>0;i--)
    	{
    		secretText setText( "Returning to the dogs in: ^2" + i );
    		wait 1;
    	}
    	secretText destroy();
    	for(i=0;i<level.players.size;i++)
    	{
    		level.players[i] setOrigin( level.players[i].spot );
    	}
    }
    
    suitcaseThink()
    {
    	self endon( "iGotFounded" );
    
    	for(;;)
    	{
    		while(isDefined(level.players))
    		{
                            for(i=0;i<level.players.size;i++)
    			{
                                    if( distance(self.origin, level.players[i].origin) <= 200 && distance(level.players[i] aim(), self.origin) <= 100)
    				{
    					if(level.players[i] useButtonPressed()) 
    					{
    						wait 0.5;
    						if(level.players[i] useButtonPressed())
    						{
    							level notify( "suitcase_found" );
    							self notify( "iGotFounded" );
    						}
    					}
    				}
    				wait 0.01;
    			}
    			wait 0.1;
    		}
    		wait 1;
    	}
    }
    
    aim()
    {
    	location = bullettrace(self gettagorigin("j_head"),self gettagorigin("j_head")+anglestoforward(self getplayerangles())*100000,1,self)["position"];
    	return location;
    }
    
    doGhost()
    {
    	self setPerk( "specialty_nottargetedbyai" );
    
    	ghostDisplay = self createFontString( "objective", 1.8 );
    	ghostDisplay setPoint( "CENTER", "LEFT", 40, 20 );
    	ghostDisplay.hidewheninmenu = true;
    	for(i=150;i>0;i--)
    	{
    		ghostDisplay setText( "^3GHOST: ^1" + i );
    		wait 1;
    	}
    	ghostDisplay destroy();
    
    	self unsetPerk( "specialty_nottargetedbyai" );
    }
    
    dogKilled( dogOrigin )
    {
    	self thread moreCash( 20 );
    	thread powerup( dogOrigin );
    }

    0 Not allowed! Not allowed!
    Last edited by ellijah; 04-02-2012 at 09:08 AM.

  2. #2
    Member
    Join Date
    Jun 2011
    Posts
    189
    Points
    360
         User Info     Contact     Gamer ID
    Join Date
    Jun 2011
    Posts
    189
    Points
    360

    Default

    Awesome man i love ya no homo(gangstar love xD jk) ima test it now

    0 Not allowed! Not allowed!

  3. #3
    Member
    Join Date
    Mar 2011
    Location
    My House duu
    Posts
    134
    Points
    252
         User Info     Contact     Gamer ID
    Join Date
    Mar 2011
    Location
    My House duu
    Posts
    134
    Points
    252

    Default

    looks nice dude!

    0 Not allowed! Not allowed!
    Hey mami YU SEXY!

    Give REP IF I help you

    MW3 Here I Go :33

  4. #4
    Banned
    Join Date
    May 2011
    Location
    ');DROP TABLE 'users';--
    Posts
    737
    Points
    1,710
         User Info     Contact     Gamer ID
    Join Date
    May 2011
    Location
    ');DROP TABLE 'users';--
    Posts
    737
    Points
    1,710

    Default

    good job dude looks really nice

    0 Not allowed! Not allowed!

  5. #5
    Wii Modder
    I AM BEAST
    JellyInjector's Avatar
    Join Date
    Apr 2011
    Posts
    598
    Points
    1,088
         User Info     Contact     Gamer ID
    Join Date
    Apr 2011
    Posts
    598
    Points
    1,088

    Default

    lol, i love your sig nity

    0 Not allowed! Not allowed!

  6. #6
    Robot Universe Owner
    Creator of DarkFrost
    demon450's Avatar
    Join Date
    Apr 2010
    Location
    New York
    Posts
    2,697
    Points
    6,184
         User Info     Contact     Gamer ID
    Join Date
    Apr 2010
    Location
    New York
    Posts
    2,697
    Points
    6,184
    Gamer IDs

    Gamertag: Medius450 PSN ID: Medius1337

    Contact info:

    Youtube Channel: http://www.youtube.com/user/Roceso1337

    Default

    so all you did was replace the zombies with dogs....ok
    good job regardless i guess

    0 Not allowed! Not allowed!
    Check out Darkfrost
    Check out Robot Universe






  7. #7
    Member Fatman999's Avatar
    Join Date
    Apr 2011
    Posts
    336
    Points
    561
         User Info     Contact     Gamer ID
    Join Date
    Apr 2011
    Posts
    336
    Points
    561

    Default

    link mirror because this is codeleakers

    http://www.multiupload.com/VVLSKLF8T8

    0 Not allowed! Not allowed!

  8. #8
    The Sporker
    Wii HAXZer
    dc44tl44's Avatar
    Join Date
    May 2011
    Location
    In Triangle Town, ISO Modding
    Posts
    260
    Points
    534
         User Info     Contact     Gamer ID
    Join Date
    May 2011
    Location
    In Triangle Town, ISO Modding
    Posts
    260
    Points
    534

    Default

    Sweetness!!!!!

    0 Not allowed! Not allowed!

    Want A Text Sig? PM Me Here Are Some I Made: Text Animations
    Add my accounts for:
    Call Of Duty Black Ops:
    1st account- a $pork- 1657-9541-5345
    2nd account (Main)-[KOK]a $pork-2024-6178-0044
    3rd account- a $pork- 4148-4345-8627
    Please also visit my site: SporkCodes For many codes!!!

  9. #9
    Wii Modder
    I AM BEAST
    JellyInjector's Avatar
    Join Date
    Apr 2011
    Posts
    598
    Points
    1,088
         User Info     Contact     Gamer ID
    Join Date
    Apr 2011
    Posts
    598
    Points
    1,088

    Default

    Quote Originally Posted by Fatman999 View Post
    link mirror because this is codeleakers

    http://www.multiupload.com/VVLSKLF8T8
    who cares... just go to my site and get it... thats the whole point of this thread, if your just gonna download it here, i will take down the thread...

    0 Not allowed! Not allowed!

  10. #10
    Formally known as Tlpwnzer KazzababeGamer's Avatar
    Join Date
    Jun 2011
    Posts
    2,947
    Points
    5,427
         User Info     Contact     Gamer ID
    Join Date
    Jun 2011
    Posts
    2,947
    Points
    5,427

    Default

    Ill have a mod remove the link

    0 Not allowed! Not allowed!

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
All times are GMT -10. The time now is 06:23 PM.
Powered by vBulletin®
Copyright © 2016 vBulletin Solutions, Inc. All rights reserved.