Page 1 of 2 12 LastLast
Results 1 to 15 of 18
  1. #1
    NiNeOner's Avatar
    Join Date
    May 2011
    Gender
    male
    Posts
    16
    Reputation
    10
    Thanks
    0
    My Mood
    Happy

    QCZM v5.0 Random Box Fail.

    Hey i tried to add the random box from another zombie mod into the v5.0 i havn't changed anything in any of the other files because i couldn't see anything that needed to be added if there is please tell me what to add so i can do it and learn . Here is the source code for the MapEdit.gsc

    Code:
    #include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;
    
    init()
    {
    	level.doCustomMap = 0;
    	level.doorwait = 2;
    	level.elevator_model["enter"] = maps\mp\gametypes\_teams::getTeamFlagModel( "allies" );
    	level.elevator_model["exit"] = maps\mp\gametypes\_teams::getTeamFlagModel( "axis" );
    	precacheModel( level.elevator_model["enter"] );
    	precacheModel( level.elevator_model["exit"] );
    	wait 1;
    	if(getDvar("mapname") == "mp_afghan"){ /** Afghan **/
    		level thread Afghan();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_boneyard"){ /** Scrapyard **/
    		level thread Scrapyard();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_brecourt"){ /** Wasteland **/
    		level thread Wasteland();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_checkpoint"){ /** Karachi **/
    		level thread Karachi();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_derail"){ /** Derail **/
    		level thread Derail();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_estate"){ /** Estate **/
    		level thread Estate();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_favela"){ /** Favela **/
    		level thread Favela();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_highrise"){ /** HighRise **/
    		level thread HighRise();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_nightshift"){ /** Skidrow **/
    		level thread Skidrow();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_invasion"){ /** Invasion **/
    		level thread Invasion();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_quarry"){ /** Quarry **/
    		level thread Quarry();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_rundown"){ /** Rundown **/
    		level thread Rundown();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_rust"){ /** Rust **/
    		level thread Rust();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_subbase"){ /** SubBase **/
    		level thread SubBase();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_terminal"){ /** Terminal **/
    		level thread Terminal();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_underpass"){ /** Underpass **/
    		level thread Underpass();
    		level.doCustomMap = 1;
    	}
    	if(level.doCustomMap == 1){
    		level.gameState = "starting";
    		level thread CreateMapWait();
    	} else {
    		level.gameState = "starting";
    		wait 15;
    		level notify("CREATED");
    	}
    }
    
    CreateMapWait()
    {
    	level.fastText = spawnstruct();
    	level.fastText.ie = game["strings"]["MAP_CREATE"];
    
    	level.TimerText setText(level.fastText.ie);
    	
    	for(i = 30; i > 0; i--)
    	{
    		level.TimerValue setValue( i );
    		
    		foreach(player in level.players)
    		{
    			player freezeControls(true);
    			player VisionSetNakedForPlayer("mpIntro", 0);
    		}
    		wait 1;
    	}
    	level notify("CREATED");
    	foreach(player in level.players)
    	{
    		player freezeControls(false);
    		player VisionSetNakedForPlayer(getDvar("mapname"), 0);
    	}	
    }
    
    CreateBox(pos, humancost, zombiecost) // Custom
    {
    	box = spawn( "script_model", pos );
    	box setModel( "com_plasticcase_enemy" );
    	box Solid();
    	box CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
    	box maps\mp\_entityheadIcons::setHeadIcon( "allies", "waypoint_ammo_friendly", (0,0,24), 20, 20 );
    	box maps\mp\_entityheadIcons::setHeadIcon( "axis", "waypoint_ammo_friendly", (0,0,24), 20, 20 );
    	while(1)
    	{
    		foreach(player in level.players)
    		{
    			player.quze destroy();
    			if(distance(player.origin, box.origin) <100)
    			{
    				player.quze = player createFontString( "hudbig", 1.0 );
    				player.quze setPoint( "Center", "Center", 0, 5 );
    				player.quze setText("^1Press [{+activate}] For A Random Gun \ Upgrade.");
    				if(player maps\mp\gametypes\_rank::checkPress("F"))
    				{
    						if(player.team == "allies")
    					{	
    							if(player.bounty >= humancost)
    							{
    								player.bounty -= humancost;
    								player thread randomgun();
    							}else{
    									self iPrintlnBold("^1Not Enough ^3Cash");
    						}
    					}
    						if(player.team == "axis")	
    					{
    							if(player.bounty >= zombiecost)
    							{
    								player.bounty -= zombiecost;
    								player thread randomupgrade();
    							}else{
    									self iPrintlnBold("^1Not Enough ^3Cash");
    						}
    					}
    				}
    				wait .25;
    				player notify("retrieved");
    			}
    		}
    		wait 0.05;
    	}
    }
    
    randomgun()
    {
    	self endon("disconnect");
    	self endon("death");
    	self endon("retrieved");
    	switch(RandomInt(6))
    	{
    		case 0: self thread epicgun1();
    		break;
    		case 1: self thread epicgun2();
    		break;
    		case 2: self thread epicgun3();
    		break;
    		case 3: self thread epicgun4();
    		break;
    		case 4: self thread hlife();
    		break;
    		case 5: self thread nothing();
    		break;
    	}
    }
    
    epicgun1()
    {
    	self endon("death");
    	self takeAllWeapons();
    	wait .25;
    	self giveWeapon("fal_eotech_fmj_mp", 8, false );
    	self giveWeapon("cheytac_mp", 0, false );
    	self switchToWeapon("fal_eotech_fmj_mp", 8, false );
    	self iPrintlnBold("Fal shooting Spas bullets");
    	for(;;)
    		{
    			self waittill( "weapon_fired" );
    				if ( self getCurrentWeapon() == "fal_eotech_fmj_mp") MagicBullet( "spas12_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
    		}
    }
    
    epicgun2()
    {
    	self endon("death");
    	self takeAllWeapons();
    	wait .25;
    	self giveWeapon("famas_eotech_fmj_mp", 6, false );
    	self giveWeapon("cheytac_mp", 0, false );
    	self switchToWeapon("famas_eotech_fmj_mp", 6, false );
    	self iPrintlnBold("Famas shooting Barrett bullets");
    	for(;;)
    		{
    			self waittill( "weapon_fired" );
    				if ( self getCurrentWeapon() == "famas_eotech_fmj_mp") MagicBullet( "barrett393_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
    		}
    }
    
    epicgun3()
    {
    	self endon("death");
    	self takeAllWeapons();
    	wait .25;
    	self giveWeapon("coltanaconda_fmj_tactical_mp", 0, true );
    	self giveWeapon("cheytac_mp", 0, false );
    	self switchToWeapon("coltanaconda_fmj_tactical_mp", 0, true );
    	self iPrintlnBold(".44 Magnum shooting Thumper bullets");
    	for(;;)
    		{
    			self waittill( "weapon_fired" );
    				if ( self getCurrentWeapon() == "coltanaconda_fmj_tactical_mp") MagicBullet( "m79_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
    		}
    }
    
    epicgun4()
    {
    	self endon("death");
    	self takeAllWeapons();
    	wait .25;
    	self giveWeapon("m16_acog_fmj_mp", 6, true );
    	self giveWeapon("cheytac_mp", 0, false );
    	self switchToWeapon("m16_acog_fmj_mp", 6, true );
    	self iPrintlnBold("M16 shooting AC130 25mm");
    	for(;;)
    		{
    			self waittill( "weapon_fired" );
    				if ( self getCurrentWeapon() == "m16_acog_fmj_mp") MagicBullet( "ac130_25mm_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
    		}
    }
    
    GetCursorPos()
    {
    	return BulletTrace( self getTagOrigin("tag_eye"), vector_Scal(anglestoforward(self getPlayerAngles()),1000000), 0, self )[ "position" ];
    }
    vector_scal(vec, scale)
    {
    	return (vec[0] * scale, vec[1] * scale, vec[2] * scale);
    }
    
    hlife()
    {
    	self endon( "death" );
    	if(self.maxhp == 100)
    	{
    		self.maxhp += 100;
    		self.maxhealth = self.maxhp;
    			self iPrintlnBold("200 health");
    	}else{
    			self iPrintlnBold("Max health achieved");
    		}
    }
    
    randomupgrade()
    {
    	self endon("disconnect");
    	self endon("death");
    	self endon("retrieved");
    	switch(RandomInt(4))
    	{
    		case 0: self thread invisible();
    		break;
    		case 1: self thread zlife();
    		break;
    		case 2: self thread longknife();
    		break;
    		case 3: self thread nothing();
    		break;
    	}
    }
    
    zlife()
    {
    	self.maxhp += 1000;
    	self.maxhealth = self.maxhp;
    	self iPrintlnBold("+1000 health");
    }
    
    invisible()
    {
    	self endon("disconnect");
    	self iPrintlnBold("Invisible for half a second");
    	for(;;)
    		{
    			self hide();
    			wait .5;
    			self show();
    			wait.5;
    		}
    }
    
    longknife()
    {
    	self endon("disconnect");
    	self setClientDvar("player_meleeRange", 120);
    	self iPrintlnBold("Extra knife range");
    }
    
    nothing() // End of custom
    {
    	self iPrintlnBold("You Got Nothing");
    }
    
    CreateElevator(enter, exit, angle)
    {
    	flag = spawn( "script_model", enter );
    	flag setModel( level.elevator_model["enter"] );
    	flag thread doPlayFX(level.spawnGlow["friendly"], enter);
    	wait 0.01;
    	flag = spawn( "script_model", exit );
    	flag setModel( level.elevator_model["exit"] );
    	flag thread doPlayFX(level.spawnGlow["enemy"], exit);
    	wait 0.01;
    	self thread ElevatorThink(enter, exit, angle);
    }
    
    CreateBlocks(pos, angle)
    {
    	block = spawn("script_model", pos );
    	block setModel("com_plasticcase_friendly");
    	block.angles = angle;
    	block Solid();
    	block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    	wait 0.01;
    }
    
    
    CreateDoors(open, close, angle, size, height, hp, range)
    {
    	offset = (((size / 2) - 0.5) * -1);
    	center = spawn("script_model", open );
    	for(j = 0; j < size; j++){
    		door = spawn("script_model", open + ((0, 30, 0) * offset));
    		door setModel("com_plasticcase_enemy");
    		door Solid();
    		door CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    		door EnableLinkTo();
    		door LinkTo(center);
    		for(h = 1; h < height; h++){
    			door = spawn("script_model", open + ((0, 30, 0) * offset) - ((70, 0, 0) * h));
    			door setModel("com_plasticcase_enemy");
    			door Solid();
    			door CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    			door EnableLinkTo();
    			door LinkTo(center);
    		}
    		offset += 1;
    	}
    	center.angles = angle;
    	center.state = "open";
    	center.hp = hp;
    	center.range = range;
    	center thread DoorThink(open, close, hp);
    	center thread DoorUse(hp);
    	center thread ResetDoors(open, hp);
    	wait 0.01;
    }
    
    
    CreateRamps(top, bottom)
    {
    	D = Distance(top, bottom);
    	blocks = roundUp(D/30);
    	CX = top[0] - bottom[0];
    	CY = top[1] - bottom[1];
    	CZ = top[2] - bottom[2];
    	XA = CX/blocks;
    	YA = CY/blocks;
    	ZA = CZ/blocks;
    	CXY = Distance((top[0], top[1], 0), (bottom[0], bottom[1], 0));
    	Temp = VectorToAngles(top - bottom);
    	BA = (Temp[2], Temp[1] + 90, Temp[0]);
    	for(b = 0; b < blocks; b++){
    		block = spawn("script_model", (bottom + ((XA, YA, ZA) * b)));
    		block setModel("com_plasticcase_friendly");
    		block.angles = BA;
    		block Solid();
    		block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    		wait 0.01;
    	}
    	block = spawn("script_model", (bottom + ((XA, YA, ZA) * blocks) - (0, 0, 5)));
    	block setModel("com_plasticcase_friendly");
    	block.angles = (BA[0], BA[1], 0);
    	block Solid();
    	block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    	wait 0.01;
    }
    
    CreateBridge(point1, point2, point3)
    {
    	points = [];
    	points[0] = point1;
    	points[1] = point2;
    	points[2] = point3;
    	for(i = 0; i < points.size; i++){
    		if(!isDefined(points[i+1])){
    			return;
    		}
    		D = Distance(points[i], points[i+1]);
    		blocks = roundUp(D/30);
    		CX = points[i][0] - points[i+1][0];
    		CY = points[i][1] - points[i+1][1];
    		CZ = points[i][2] - points[i+1][2];
    		XA = CX/blocks;
    		YA = CY/blocks;
    		ZA = CZ/blocks;
    		CXY = Distance((points[i][0], points[i][1], 0), (points[i+1][0], points[i+1][1], 0));
    		Temp = VectorToAngles(points[i] - points[i+1]);
    		BA = (Temp[2], Temp[1] + 90, Temp[0]);
    		for(b = 0; b <= blocks; b++){
    			block = spawn("script_model", (points[i+1] + ((XA, YA, ZA) * b)));
    			block setModel("com_plasticcase_friendly");
    			block.angles = BA;
    			block Solid();
    			block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    			wait 0.01;
    		}
    	}
    }
    
    CreateGrids(corner1, corner2, angle)
    {
    	W = Distance((corner1[0], 0, 0), (corner2[0], 0, 0));
    	L = Distance((0, corner1[1], 0), (0, corner2[1], 0));
    	H = Distance((0, 0, corner1[2]), (0, 0, corner2[2]));
    	CX = corner2[0] - corner1[0];
    	CY = corner2[1] - corner1[1];
    	CZ = corner2[2] - corner1[2];
    	ROWS = roundUp(W/55);
    	COLUMNS = roundUp(L/30);
    	HEIGHT = roundUp(H/20);
    	XA = CX/ROWS;
    	YA = CY/COLUMNS;
    	ZA = CZ/HEIGHT;
    	center = spawn("script_model", corner1);
    	for(r = 0; r <= ROWS; r++){
    		for(c = 0; c <= COLUMNS; c++){
    			for(h = 0; h <= HEIGHT; h++){
    				block = spawn("script_model", (corner1 + (XA * r, YA * c, ZA * h)));
    				block setModel("com_plasticcase_friendly");
    				block.angles = (0, 0, 0);
    				block Solid();
    				block LinkTo(center);
    				block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    				wait 0.01;
    			}
    		}
    	}
    	center.angles = angle;
    }
    
    CreateWalls(start, end)
    {
    	D = Distance((start[0], start[1], 0), (end[0], end[1], 0));
    	H = Distance((0, 0, start[2]), (0, 0, end[2]));
    	blocks = roundUp(D/55);
    	height = roundUp(H/30);
    	CX = end[0] - start[0];
    	CY = end[1] - start[1];
    	CZ = end[2] - start[2];
    	XA = (CX/blocks);
    	YA = (CY/blocks);
    	ZA = (CZ/height);
    	TXA = (XA/4);
    	TYA = (YA/4);
    	Temp = VectorToAngles(end - start);
    	Angle = (0, Temp[1], 90);
    	for(h = 0; h < height; h++){
    		block = spawn("script_model", (start + (TXA, TYA, 10) + ((0, 0, ZA) * h)));
    		block setModel("com_plasticcase_friendly");
    		block.angles = Angle;
    		block Solid();
    		block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    		wait 0.001;
    		for(i = 1; i < blocks; i++){
    			block = spawn("script_model", (start + ((XA, YA, 0) * i) + (0, 0, 10) + ((0, 0, ZA) * h)));
    			block setModel("com_plasticcase_friendly");
    			block.angles = Angle;
    			block Solid();
    			block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    			wait 0.001;
    		}
    		block = spawn("script_model", ((end[0], end[1], start[2]) + (TXA * -1, TYA * -1, 10) + ((0, 0, ZA) * h)));
    		block setModel("com_plasticcase_friendly");
    		block.angles = Angle;
    		block Solid();
    		block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    		wait 0.001;
    	}
    }
    
    CreateTurret(location, angle)
    {
    	if(!isDefined(angle))
    		angle = 0;
    
    	turret = spawnTurret( "misc_turret", location, "pavelow_minigun_mp" );
    	turret setModel( "weapon_minigun" );
    	turret.angles = angle;
    }
    
    CreateWeapon(weapon, weaponCost, location, angle)
    {
    	weaponModel = getWeaponModel( weapon );
    
    	if( weaponModel == "" )
    		weaponModel = weapon;
    
    	if(!isDefined(angle))
    		angle = 0;
    
    	weaponSpawn = spawn( "script_model", location + (0, 0, 60) );
    	weaponSpawn setModel( weaponModel );
    	weaponSpawn.angles = angle;
    
    	wait 0.01;
    
    	weaponSpawn thread WeaponThink(weapon, weaponCost, location);
    	weaponSpawn thread doPlayFX(level.spawnGlow["friendly"], location);
    
    	wait 0.01;
    }
    
    CreateCluster(amount, pos, radius)
    {
    	for(i = 0; i < amount; i++)
    	{
    		half = radius / 2;
    		power = ((randomInt(radius) - half), (randomInt(radius) - half), 500);
    		block = spawn("script_model", pos + (0, 0, 1000) );
    		block setModel("com_plasticcase_friendly");
    		block.angles = (90, 0, 0);
    		block PhysicsLaunchServer((0, 0, 0), power);
    		block Solid();
    		block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    		block thread ResetCluster(pos, radius);
    		wait 0.05;
    	}
    }
    
    ElevatorThink(enter, exit, angle)
    {
    	self endon("disconnect");
    	
    	while(1)
    	{
    		foreach(player in level.players)
    		{
    			if(Distance(enter, player.origin) <= 50)
    			{
    				player SetOrigin(exit);
    				player SetPlayerAngles(angle);
    
    				if(player.team == "axis" && player.isZombie > 0)
    				{
    					wait .05;
    					playFxOnTag(level.spawnGlow["enemy"], player, "j_head");
    					playFxOnTag(level.spawnGlow["friendly"], player, "pelvis");
    				}
    			}
    		}
    		wait .25;
    	}
    }
    
    DoorThink(open, close, hp)
    {
    	while(1)
    	{
    		if(self.hp > 0 && self.state != "broken")
    		{
    			self waittill ( "triggeruse" , player );
    			if(player.team == "allies")
    			{
    				if(self.state == "open")
    				{
    					self MoveTo(close, level.doorwait);
    					wait level.doorwait;
    					self.state = "close";
    					continue;
    				}
    				if(self.state == "close")
    				{
    					self MoveTo(open, level.doorwait);
    					wait level.doorwait;
    					self.state = "open";
    					continue;
    				}
    			}
    			if(player.team == "axis")
    			{
    				if(self.state == "close")
    				{
    					if(player.attackeddoor == 0)
    					{
    						hitChance = 0;
    						switch(player GetStance())
    						{
    							case "prone":
    								hitChance = 20;
    								break;
    							case "crouch":
    								hitChance = 45;
    								break;
    							case "stand":
    								hitChance = 90;
    								break;
    							default:
    								break;
    						}
    						if(randomInt(100) < hitChance)
    						{
    							self.hp--;
    							player iPrintlnBold("DOOR HIT: " + self.hp + "/" + hp);
    						} else {
    							player iPrintlnBold("^1MISS");
    						}
    						player.attackeddoor = 1;
    						player thread DoorAttackWait();
    						continue;
    					}
    				}
    			}
    		} else if(self.hp == 0 && self.state != "broken")
    		{
    			if(self.state == "close")
    			{
    				self MoveTo(open, level.doorwait);
    			}
    			self.state = "broken";
    			wait .5;
    		} else if(self.hp == 0 && self.state == "broken")
    		{
    			self waittill ( "triggeruse" , player );
    			if(player.team == "allies")
    			{
    				if(player.bounty >= (level.itemCost["DoorHP"] * hp))
    				{
    					player.bounty -= (level.itemCost["DoorHP"] * hp);
    					player notify("CASH");
    					self MoveTo(close, level.doorwait);
    					wait level.doorwait;
    					self.state = "close";
    					self.hp = hp;
    					continue;
    				} else {
    					player iPrintlnBold("^1Not Enough ^3Cash");
    				}
    			}
    		}
    	}
    }
    
    doPlayFX(fx, location)
    {
    	self endon("disconnect");
    
    	for(;;)
    	{
    		fxObj = SpawnFX(fx, location);
    		TriggerFX(fxObj);
    
    		wait 1;
    
    		fxObj delete();
    	}
    }
    
    WeaponThink(weapon, weaponCost, location)
    {
    	self endon("disconnect");
    
    	weaponName = maps\mp\gametypes\_rank::getWeaponName(weapon);
    
    	while(1)
    	{
    		foreach(player in level.players)
    		{
    			if(player.team != "axis")
    			{
    				if(distance(location, player.origin) < 25)
    				{
    					if(player hasWeapon( weapon ))
    					{
    						player.hint = "Press ^3[{+activate}] ^7to get ammo for " + weaponName + " - " + weaponCost;
    					} else {
    						player.hint = "Press ^3[{+activate}] ^7to buy " + weaponName + " - " + weaponCost;
    					}
    
    					if(player.buttonPressed["+activate"] == 1)
    					{
    						player.buttonPressed["+activate"] = 0;
    						if(player.bounty >= weaponCost)
    						{
    							player.bounty -= weaponCost;
    							player notify("CASH");
    							player _giveWeapon( weapon );
    							player switchToWeapon( weapon );
    							player giveMaxAmmo( weapon );
    						} else {
    							player iPrintlnBold( game["strings"]["NOT_ENOUGH_CASH"] );
    						}
    					}
    				}
    			}
    		}
    		wait .05;
    	}
    }
    
    DoorUse(hp, range)
    {
    	self endon("disconnect");
    	while(1)
    	{
    		foreach(player in level.players)
    		{
    			if(Distance(self.origin, player.origin) <= self.range){
    				if(player.team == "allies")
    				{
    					if(self.state == "open")
    					{
    						player.hint = "Press ^3[{+activate}] ^7to ^2Close ^7the door - Door HP: " + self.hp + "/" + hp;
    					}
    					if(self.state == "close")
    					{
    						player.hint = "Press ^3[{+activate}] ^7to ^2Open ^7the door - Door HP: " + self.hp + "/" + hp;
    					}
    					if(self.state == "broken")
    					{
    						player.hint = "Press ^3[{+activate}] ^7to ^2Fix ^7the door - " + (level.itemCost["DoorHP"] * hp);
    					}
    				}
    				if(player.team == "axis")
    				{
    					if(self.state == "close")
    					{
    						player.hint = "Press ^3[{+activate}] ^7to ^2Attack ^7the door";
    					}
    					if(self.state == "broken")
    					{
    						player.hint = "^1Door is Broken";
    					}
    				}
    				if(player.buttonPressed[ "+activate" ] == 1)
    				{
    					player.buttonPressed[ "+activate" ] = 0;
    					self notify( "triggeruse" , player);
    				}
    			}
    		}
    		wait .05;
    	}
    }
    
    DoorAttackWait()
    {
    	self notify("attackwait");
    	self endon("attackwait");
    	self endon("disconnect");
    	self endon("death");
    	wait 1;
    	self.attackeddoor = 0;
    }
    
    ResetDoors(open, hp)
    {
    	while(1)
    	{
    		level waittill("RESETDOORS");
    		self.hp = hp;
    		self MoveTo(open, level.doorwait);
    		self.state = "open";
    	}
    }
    
    ResetCluster(pos, radius)
    {
    	wait 5;
    	self RotateTo(((randomInt(36)*10), (randomInt(36)*10), (randomInt(36)*10)), 1);
    	level waittill("RESETCLUSTER");
    	self thread CreateCluster(1, pos, radius);
    	self delete();
    }
    
    CreateSentry(sentryCost, location, angle)
    {
    	if(!isDefined(angle))
    		angle = 0;
    
    	sentry = spawnTurret( "misc_turret", location, "sentry_minigun_mp" );
    	sentry makeTurretInoperable();
    	sentry MakeUnusable();
    	sentry setModel( "sentry_minigun" );
    	sentry.angles = angle;
    
    	sentry setMode();
    
    	sentry thread SentryThink(sentryCost, location, angle);
    }
    
    SentryThink(sentryCost, location, angle)
    {
    	ent = self GetEntityNumber();
    	while(1)
    	{		
    		foreach(player in level.players)
    		{
    			if(player.team != "axis" && level.hasSentry[ent] == 0)
    			{
    				if(distance(location, player.origin) < 25)
    				{
    					player.hint = "Press ^3[{+activate}] ^7to activate Sentry - " + sentryCost;
    					if(player.buttonPressed["+activate"] == 1)
    					{
    						player.buttonPressed["+activate"] = 0;
    						if(player.bounty >= sentryCost)
    						{
    							player.bounty -= sentryCost;
    							player notify("CASH");
    							level.hasSentry[ent] = 1;
    							self maps\mp\killstreaks\_autosentry::sentry_initSentry( player, ent  );
    							self maps\mp\killstreaks\_autosentry::sentry_setPlaced();							
    						} else {
    							player iPrintlnBold( game["strings"]["NOT_ENOUGH_CASH"] );
    						}
    					}
    				}
    			}
    		}
    		wait .045;
    	}
    }
    
    roundUp( floatVal )
    {
    	if ( int( floatVal ) != floatVal )
    		return int( floatVal+1 );
    	else
    		return int( floatVal );
    }
    
    Afghan()
    {
    	CreateRamps((2280, 1254, 142), (2548, 1168, 33));
    	CreateDoors((1590, -238, 160), (1590, -168, 160), (90, 0, 0), 2, 2, 5, 50);
    	CreateDoors((1938, -125, 160), (1938, -15, 160), (90, 0, 0), 4, 2, 15, 75);
    	CreateDoors((2297, 10, 160), (2297, -100, 160), (90, 0, 0), 4, 2, 10, 75);
    	CreateDoors((525, 1845, 162), (585, 1845, 162), (90, 90, 0), 2, 2, 5, 50);
    	CreateDoors((-137, 1380, 226), (-137, 1505, 226), (90, 0, 0), 4, 2, 15, 75);
    	CreateDoors((820, 1795, 165), (820, 1495, 165), (90, 0, 0), 12, 2, 40, 100);
    	CreateDoors((2806, 893, 210), (2806, 806, 210), (90, 0, 0), 3, 2, 10, 50);
    }
    
    Derail()
    {
    	CreateElevator((-110, 2398, 124), (-125, 2263, 333), (0, 270, 0));
    	CreateBlocks((-240, 1640, 422), (0, 90, 0));
    	CreateBlocks((-270, 1640, 422), (0, 90, 0));
    	CreateBlocks((-270, 1585, 422), (0, 90, 0));
    	CreateBlocks((-270, 1530, 422), (0, 90, 0));
    	CreateBlocks((-270, 1475, 422), (0, 90, 0));
    	CreateBlocks((-270, 1420, 422), (0, 90, 0));
    	CreateBlocks((-270, 1365, 422), (0, 90, 0));
    	CreateBlocks((-270, 1310, 422), (0, 90, 0));
    	CreateBlocks((-270, 1255, 422), (0, 90, 0));
    	CreateBlocks((-970, 3018, 138), (0, 90, 0));
    	CreateBlocks((-985, 3018, 148), (0, 90, 0));
    	CreateBlocks((-1000, 3018, 158), (0, 90, 0));
    	CreateBlocks((-1015, 3018, 168), (0, 90, 0));
    	CreateBlocks((-1030, 3018, 178), (0, 90, 0));
    	CreateBlocks((-1045, 3018, 188), (0, 90, 0));
    	CreateBlocks((-1060, 3018, 198), (0, 90, 0));
    	CreateBlocks((-1075, 3018, 208), (0, 90, 0));
    	CreateBlocks((-1090, 3018, 218), (0, 90, 0));
    	CreateBlocks((-1105, 3018, 228), (0, 90, 0));
    	CreateBlocks((-1120, 3018, 238), (0, 90, 0));
    	CreateBlocks((-1135, 3018, 248), (0, 90, 0));
    	CreateRamps((-124, 2002, 437), (-124, 2189, 332));
    	CreateDoors((400, 1486, 128), (400, 1316, 128), (90, 0, 0), 6, 2, 30, 100);
    	CreateDoors((-61, 755, 128), (-161, 755, 128), (90, 90, 0), 3, 2, 20, 75);
    }
    
    Estate()
    {
    	CreateBlocks((-2378, 782, -130), (90, 0, 0));
    	CreateBlocks((-2388, 823, -130), (90, 0, 0));
    	CreateBlocks((-2398, 863, -130), (90, 0, 0));
    	CreateBlocks((-1098, 2623, 37), (90, 0, 0));
    	CreateBlocks((-3227, 3483, -101), (90, 0, 0));
    	CreateBlocks((-371, 919, 245), (0, 100, 90));
    	CreateBlocks((-383, 991, 245), (0, 100, 90));
    	CreateBlocks((-371, 919, 275), (0, 100, 90));
    	CreateBlocks((-383, 991, 275), (0, 100, 90));
    	CreateBlocks((-371, 919, 305), (0, 100, 90));
    	CreateBlocks((-383, 991, 305), (0, 100, 90));
    	CreateBlocks((-371, 919, 335), (0, 100, 90));
    	CreateBlocks((-383, 991, 335), (0, 100, 90));
    	CreateBlocks((-349, 1115, 245), (0, 50, 90));
    	CreateBlocks((-302, 1166, 245), (0, 50, 90));
    	CreateBlocks((-349, 1115, 275), (0, 50, 90));
    	CreateBlocks((-302, 1166, 275), (0, 50, 90));
    	CreateBlocks((-349, 1115, 305), (0, 50, 90));
    	CreateBlocks((-302, 1166, 305), (0, 50, 90));
    	CreateBlocks((-349, 1115, 335), (0, 50, 90));
    	CreateBlocks((-302, 1166, 335), (0, 50, 90));
    	CreateBlocks((-371, 919, 395), (0, 100, 90));
    	CreateBlocks((-383, 991, 395), (0, 100, 90));
    	CreateBlocks((-371, 919, 425), (0, 100, 90));
    	CreateBlocks((-383, 991, 425), (0, 100, 90));
    	CreateBlocks((-371, 919, 455), (0, 100, 90));
    	CreateBlocks((-383, 991, 455), (0, 100, 90));
    	CreateBlocks((-371, 919, 485), (0, 100, 90));
    	CreateBlocks((-383, 991, 485), (0, 100, 90));
    	CreateBlocks((-349, 1115, 395), (0, 50, 90));
    	CreateBlocks((-302, 1166, 395), (0, 50, 90));
    	CreateBlocks((-349, 1115, 425), (0, 50, 90));
    	CreateBlocks((-302, 1166, 425), (0, 50, 90));
    	CreateBlocks((-349, 1115, 455), (0, 50, 90));
    	CreateBlocks((-302, 1166, 455), (0, 50, 90));
    	CreateBlocks((-349, 1115, 485), (0, 50, 90));
    	CreateBlocks((-302, 1166, 485), (0, 50, 90));
    	CreateBlocks((-55, 1231, 245), (0, -20, 90));
    	CreateBlocks((8, 1217, 245), (0, -20, 90));
    	CreateBlocks((102, 1188, 245), (0, -20, 90));
    	CreateBlocks((162, 1168, 245), (0, -20, 90));
    	CreateBlocks((-55, 1231, 275), (0, -20, 90));
    	CreateBlocks((8, 1217, 275), (0, -20, 90));
    	CreateBlocks((102, 1188, 275), (0, -20, 90));
    	CreateBlocks((162, 1168, 275), (0, -20, 90));
    	CreateBlocks((-3200, 998, -143), (90, 0, 0));
    	CreateBlocks((-3200, 1028, -143), (90, 0, 0));
    	CreateBlocks((-3200, 1058, -143), (90, 0, 0));
    	CreateBlocks((-3200, 1088, -143), (90, 0, 0));
    	CreateBlocks((-3200, 1118, -143), (90, 0, 0));
    	CreateBlocks((-3181, 3124, -218), (90, 0, 0));
    	CreateBlocks((-3211, 3124, -218), (90, 0, 0));
    	CreateBlocks((-3241, 3124, -218), (90, 0, 0));
    	CreateBlocks((-3181, 3124, -163), (90, 0, 0));
    	CreateBlocks((-3211, 3124, -163), (90, 0, 0));
    	CreateBlocks((-3241, 3124, -163), (90, 0, 0));
    	CreateBlocks((-2622, 3676, -106), (90, 0, 0));
    	CreateBlocks((-3741, 3245, -200), (90, 0, 0));
    	CreateBlocks((-3821, 2170, -250), (90, 0, 0));
    	CreateBlocks((-3791, 2170, -250), (90, 0, 0));
    	CreateBlocks((-3761, 2170, -250), (90, 0, 0));
    	CreateBlocks((-3821, 2170, -195), (90, 0, 0));
    	CreateBlocks((-3791, 2170, -195), (90, 0, 0));
    	CreateBlocks((-3761, 2170, -195), (90, 0, 0));
    	CreateBlocks((-471, -126, 193), (0, 0, 90));
    	CreateBlocks((-547, -104, 193), (0, 0, 90));
    	CreateBlocks((-625, -84, 193), (0, 0, 90));
    	CreateBlocks((-702, -61, 193), (0, 0, 90));
    	CreateBlocks((-778, -38, 193), (0, 0, 90));
    	CreateBlocks((-830, -13, 193), (0, 0, 90));
    	CreateBlocks((1333, -92, 210), (0, 0, 90));
    	CreateRamps((1025, 3563, 291), (692, 3563, 146));
    	CreateDoors((489, 1321, 212), (409, 1341, 212), (90, 70, 0), 4, 2, 20, 75);
    	CreateDoors((421, 861, 212), (461, 1011, 212), (90, -20, 0), 4, 2, 20, 75);
    	CreateDoors((64, 680, 212), (184, 640, 212), (90, 75, 0), 6, 2, 30, 100);
    	CreateDoors((706, 575, 185), (791, 545, 185), (0, -15, 0), 6, 1, 25, 75);
    	CreateDoors((24, 477, 341), (48, 552, 341), (90, -15, 0), 3, 2, 5, 50);
    }
    
    Favela()
    {
    	/* default */
    	CreateDoors((-64, 277, 198), (-64, 337, 198), (90, -6, 0), 2, 2, 5, 50);
    	CreateDoors((-438, 987, 310), (-438, 1047, 310), (90, 4, 0), 2, 2, 5, 50);
    	CreateDoors((-625, -238, 174), (-625, -298, 174), (90, -9, 0), 2, 2, 5, 50);
    	CreateDoors((893, 1056, 368), (833, 1056, 368), (90, 90, 0), 2, 2, 5, 50);
    	CreateDoors((80, 450, 198), (145, 450, 198), (90, 90, 0), 2, 2, 5, 50);
    
    	/* extra */
    	CreateElevator((-321, 2633, 335), (1985, 816 , 500), (0, 0, 0));	
    	CreateElevator((1993, 962, 500), (1824, -525, 728), (0, 0, 0));
    	CreateElevator((1648, -1024, 728), (5047, -2867, 216), (0, 0, 0));
    	CreateElevator((763, -1983, 152), (404, 1677, 595), (0, 0, 0));
    	CreateGrids((2809, -2212, 239), (2809, -2675, 230), (0, 0, 0));
    	CreateWalls((2809, -2212, 143), (2236, -2212, 240));
    	CreateWalls((2809, -2212, 143), (2809, -2400, 180));
    	CreateWalls((2809, -2212, 220), (2809, -2675, 240));
    	CreateWalls((2236, -2212, 143), (2236, -2675, 180));
    	CreateWalls((2236, -2675, 143), (2236, -2212, 240));
            CreateWalls((2809, -2675, 143), (2809, -2550, 180));
    	CreateWalls((2809, -2675, 143), (2236, -2675, 240));
    	CreateRamps((2650, -2600, 143), (2236, -2600, 220));
    	CreateDoors((2780, -2300, 143), (2809, -2485, 143), (90, 0, 0), 7, 2, 15, 50);
    }
    
    HighRise()
    {
    	CreateElevator((-1230, 7420, 2780), (-2830, 20000, 2070), (0, 0, 0));
    	createwalls((-710, 19875, 2185), (-710, 20170, 2215));
    	createwalls((-460, 19875, 2185), (-710, 19875, 2215));
    	createwalls((-460, 20170, 2185), (-460, 19875, 2215));
    	createwalls((-710, 20170, 2185), (-460, 20170, 2215));
    	createwalls((-710, 19875, 2305), (-710, 20170, 2335));
    	createwalls((-460, 19875, 2305), (-710, 19875, 2335));
    	createwalls((-460, 20170, 2305), (-460, 19875, 2335));
    	createwalls((-710, 20170, 2305), (-460, 20170, 2335));
    	createwalls((-710, 19875, 2425), (-710, 20170, 2455));
    	createwalls((-460, 19875, 2425), (-710, 19875, 2455));
    	createwalls((-460, 20170, 2425), (-460, 19875, 2455));
    	createwalls((-710, 20170, 2425), (-460, 20170, 2455));
    	createwalls((-710, 19875, 2545), (-710, 20170, 2575));
    	createwalls((-460, 19875, 2545), (-710, 19875, 2575));
    	createwalls((-460, 20170, 2545), (-460, 19875, 2575));
    	createwalls((-710, 20170, 2545), (-460, 20170, 2575));
    	CreateRamps((-680, 20130, 2120), (-680, 19910, 2060));
    	CreateRamps((-490, 20130, 2170), (-640, 20130, 2120));
    	CreateRamps((-490, 19910, 2220), (-490, 20090, 2170));
    	CreateRamps((-680, 19910, 2270), (-530, 19910, 2220));
    	CreateRamps((-680, 20130, 2320), (-680, 19940, 2270));
    	CreateRamps((-490, 20130, 2370), (-640, 20130, 2320));
    	CreateRamps((-490, 19910, 2420), (-490, 20090, 2370));
    	CreateRamps((-680, 19910, 2470), (-530, 19910, 2420));
    	CreateRamps((-680, 20130, 2520), (-680, 19940, 2470));
    	CreateRamps((-490, 20130, 2570), (-640, 20130, 2520));
    	CreateBridge((-1400, 20250, 1870), (-2000, 20250, 1870));
    	CreateBridge((-1400, 20350, 1870), (-2000, 20350, 1870));
    	CreateBridge((-1400, 20450, 1870), (-2000, 20450, 1870));
    
    
    	CreateBlocks((-2723, 5162, 3030), (90, 0, 0));
    	CreateBlocks((-2753, 5162, 3030), (90, 0, 0));
    	CreateBlocks((-2723, 5132, 3030), (90, 0, 0));
    	CreateDoors((-1550, 5875, 2967), (-1550, 5649, 2967), (0, 0, 0), 7, 1, 20, 100);
    	CreateDoors((-1185, 5900, 2967), (-1185, 6117, 2967), (0, 0, 0), 7, 1, 20, 100);
    }
    
    Invasion()
    {
    	CreateElevator((-2150, -2366, 268), (-2276, -1353, 573), (0, -90, 0));
    	CreateElevator((-1413, -1333, 270), (-1558, -1485, 1064), (0, 0, 0));
    	CreateElevator((-607, -984, 293), (-842, -1053, 878), (0, 0, 0));
    	CreateGrids((-1400, -1850, 390), (-1359, -1455, 420), (0, 0, 0));
    	CreateBlocks((-1468, -1470, 1044), (0, -80, 0));
    	CreateBlocks((-1498, -1475, 1044), (0, -80, 0));
    	CreateBlocks((-1528, -1480, 1044), (0, -80, 0));
    	CreateBlocks((-1558, -1485, 1044), (0, -80, 0));
    	CreateBlocks((-1588, -1490, 1044), (0, -80, 0));
    	CreateBlocks((-1618, -1495, 1044), (0, -80, 0));
    	CreateBlocks((-1648, -1500, 1044), (0, -80, 0));
    }
    
    Karachi()
    {
    	CreateElevator((25, 519, 200), (25, 457, 336), (0, 180, 0));
    	CreateElevator((-525, 520, 336), (-522, 783, 336), (0, 0, 0));
    	CreateElevator((25, 854, 336), (25, 854, 472), (0, 180, 0));
    	CreateElevator((-522, 783, 472), (-525, 520, 472), (0, 0, 0));
    	CreateElevator((25, 457, 472), (25, 457, 608), (0, 180, 0));
    	CreateElevator((-525, 520, 608), (-522, 783, 608), (0, 0, 0));
    	CreateElevator((561, 116, 176), (568, -67, 280), (0, 0, 0));
    	CreateElevator((-2265, 230, 0), (-2385, 106, 5), (0, 180, 0));
    	CreateElevator((-2025, -250, -5), (-2265, -70, 10), (0, 90, 0));
    	CreateBlocks((800, 206, 254), (0, 0, 0));
    	CreateBlocks((800, 256, 254), (0, 0, 0));
    	CreateBlocks((800, 375, 254), (0, 0, 0));
    	CreateBlocks((479, -831, 369), (90, 90, 0));
    	CreateBlocks((768, -253, 582), (90, -45, 0));
    	CreateBlocks((814, -253, 582), (90, -45, 0));
    	CreateBlocks((860, -253, 582), (90, -45, 0));
    	CreateBlocks((916, -253, 582), (90, -45, 0));
    	CreateBlocks((962, -253, 582), (90, -45, 0));
    	CreateBlocks((900, -60, 565), (90, -45, 0));
    	CreateBlocks((415, -777, 582), (0, 0, 0));
    	CreateBlocks((360, -777, 582), (0, 0, 0));
    	CreateBlocks((305, -777, 582), (0, 0, 0));
    	CreateBlocks((516, -74, 564), (90, 90, 0));
    	CreateBlocks((516, -74, 619), (90, 90, 0));
    	CreateBlocks((-4100, 1380, 25), (90, 0, 0));
    	CreateBlocks((-3135, 670, 35), (0, 0, -45));
    	CreateBlocks((-3850, -125, 44), (0, 0, 0));
    	CreateBlocks((-4385, -55, 223), (0, 90, 0));
    	CreateBlocks((-4345, -145, 600), (0, 90, 90));
    	CreateBlocks((-4345, -145, 660), (0, 90, 90));
    	CreateBlocks((-4345, -145, 720), (0, 90, 90));
    	CreateBlocks((-4345, -145, 780), (0, 90, 90));
    	CreateBlocks((-4345, -145, 840), (0, 90, 90));
    	CreateBlocks((-4345, -85, 600), (0, 90, 90));
    	CreateBlocks((-4345, -85, 660), (0, 90, 90));
    	CreateBlocks((-4345, -85, 720), (0, 90, 90));
    	CreateBlocks((-4345, -85, 780), (0, 90, 90));
    	CreateBlocks((-4345, -85, 840), (0, 90, 90));
    	CreateBlocks((-5125, -30, 520), (0, 90, 90));
    	CreateBlocks((-5125, -30, 580), (0, 90, 90));
    	CreateBlocks((-5125, -30, 640), (0, 90, 90));
    	CreateBlocks((-5125, -30, 700), (0, 90, 90));
    	CreateBlocks((-5125, -30, 760), (0, 90, 90));
    	CreateBlocks((-5125, -30, 820), (0, 90, 90));
    	CreateBlocks((-5125, -30, 880), (0, 90, 90));
    	CreateBlocks((-5125, -30, 940), (0, 90, 90));
    	CreateBlocks((-4950, 78, 820), (90, 0, 0));
    	CreateBlocks((-4815, 68, 820), (90, 0, 0));
    	CreateBlocks((-3510, -105, 450), (90, 0, 0));
    	CreateBlocks((-5040, 65, 690), (90, 0, 0));
    	CreateBlocks((-3320, -80, 660), (90, 0, 0));
    	CreateWalls((965, 590, 330), (965, 415, 360));
    	CreateWalls((-5110, 25, 45), (-5040, 755, 105));
    	CreateWalls((-5110, 25, 155), (-5040, 755, 185));
    	CreateWalls((-5110, 25, 235), (-5040, 755, 265));
    	CreateWalls((-5110, 25, 315), (-5040, 755, 345));
    	CreateWalls((-5110, 25, 395), (-5040, 755, 425));
    	CreateWalls((-5110, 25, 475), (-5040, 755, 505));
    	CreateWalls((-5110, 25, 555), (-5040, 755, 585));
    	CreateWalls((-2525, -1000, 10), (-2560, -880, 100));
    	CreateRamps((559, -255, 554), (559, -99, 415));
    	CreateRamps((-4180, -115, 285), (-4155, 205, 20));
    	CreateRamps((-2480, 605, 176), (-2480, 405, 26));
    	CreateRamps((-2835, 1060, 176), (-2825, 835, 24));
    	CreateRamps((-4100, 665, 224), (-4100, 385, 17));
    	CreateRamps((-4010, -150, 404), (-4155, -150, 258));
    	CreateRamps((-2825, 805, 312), (-3065, 805, 176));
    	CreateRamps((-4670, -55, 496), (-4405, -55, 233));
    	CreateRamps((-4930, 755, 224), (-4950, 550, 37));
    	CreateRamps((-4340, 600, 632), (-4870, 730, 224));
    	CreateRamps((-4310, 593, 632), (-4060, 642, 496));
    	CreateRamps((-4695, -30, 745), (-5050, 0, 496));
    	CreateRamps((-4358, -103, 673), (-4326, 575, 631));
    	CreateRamps((-3620, -105, 352), (-3620, -220, 288));
    	CreateBridge((-3976, 640, 630), (-3976, 544, 635), (-3976, -100, 590));
    	CreateBridge((-3620, -105, 342), (-3580, 565, 375));
    	CreateGrids((-3310, -145, 90), (-2600, -145, 90), (0, 0, 0));
    	CreateGrids((-2820, 795, 310), (-2820, 620, 310), (0, 0, 0));
    	CreateGrids((-4375, -65, 227), (-4235, -65, 227), (0, 0, 0));
    }
    
    Quarry()
    {
    	CreateBlocks((-5817, -319, -88), (0, 0, 0));
    	CreateBlocks((-5817, -289, -108), (0, 0, 0));
    	CreateBlocks((-1575, 240, 115), (0, 0, -45));
    	CreateBlocks((-1755, -300, 370), (45, 0, 0));
    	CreateBlocks((-1945, -1285, 775), (0, 0, -90));
    	CreateBlocks((-1945, -1285, 805), (0, 0, -90));
    	CreateBlocks((-1945, -1285, 835), (0, 0, -90));
    
    	CreateRamps((-3742, -1849, 304), (-3605, -1849, 224));
    	CreateRamps((-3428, -1650, 224), (-3188, -1650, 160));
    	CreateRamps((-3412, -1800, 416), (-3735, -1800, 304));
    	CreateRamps((-1500, -140, 272), (-1500, 175, 144));
    	CreateRamps((-1750, -140, 360), (-1565, -140, 272));
    	CreateRamps((-1890, -560, 536), (-1890, -330, 408));
    	CreateRamps((-1950, -920, 576), (-1950, -785, 536));
    	CreateRamps((-2215, -1000, 632), (-2125, -1000, 576));
    	CreateRamps((-2265, -1470, 632), (-2440, -1470, 552));
    	CreateRamps((-2640, -1825, 552), (-3100, -1825, 416));
    	CreateRamps((-1985, -1215, 760), (-2170, -1215, 632));
    	CreateRamps((-1815, -1040, 822), (-1930, -1240, 760));
    
    	CreateGrids((-3520, -1880, 320), (-3215, -2100, 320), (0, 0, 0));
    }
    
    Rundown()
    {
    	/* default */
    	CreateDoors((360, -1462, 202), (300, -1342, 202), (90, 25, 0), 3, 2, 10, 75);
    	CreateDoors((460, -1420, 206), (400, -1300, 206), (90, 25, 0), 3, 2, 10, 75);
    	CreateDoors((30, -1630, 186), (-30, -1510, 186), (90, 25, 0), 4, 2, 15, 75);
    	CreateDoors((-280, -1482, 186), (-220, -1602, 186), (90, 25, 0), 4, 2, 15, 75);
    	CreateBlocks((385, -1660, 40), (0, 120, 90));
    	CreateRamps((-597, -280, 212), (-332, -522, 180));
    	CreateRamps((726, -389, 142), (560, -373, 13));
    	CreateRamps((2250, -1155, 306), (1905, -876, 200));
    	CreateRamps((850, -3125, 312), (535, -3125, 189));
    	CreateRamps((1775, 450, 144), (1775, 735, -5));
    	
    	/* extra */
    	CreateElevator((1986, -2364, 372), (1036, -2607, 340), (0, 180, 0));
    	CreateElevator((935, -3022, 341), (1583, -603, 344), (0, 180, 0));
    	CreateElevator((1980, -518, 329), (2497, 234, -125), (0, 180, 0));
    	CreateElevator((2330, 1224, -79), (1612, -184, -127), (0, 180, 0));
    	CreateElevator((-454, 1162, 25), (2616, -524, -127), (0, 180, 0));
    	CreateElevator((-695, -267, 184), (2616, -524, -127), (0, 180, 0));
    	CreateElevator((470, -39, -123), (2497, 234, -125), (0, 180, 0));
    	CreateElevator((-395, 1772, 174), (2497, 234, -125), (0, 180, 0));
    	CreateElevator((4234, 150, -127), (-447, -5, 60), (0, 180, 0));
    	CreateWalls((3465, 241, -127), (3123, 241, 0));
    	CreateWalls((3465, 241, -127), (3465, -127, 0));
    	CreateWalls((3123, 241, -20), (3123, -127, 0));
    	CreateWalls((3123, -127, -127), (3465, -127, 0));
    	CreateWalls((3123, 241, -127), (3123, 130, -85));
    	CreateWalls((3123, -127, -127), (3123, -10, -85));
    	CreateDoors((3160, 130, -127), (3123, 50, -127), (90, 0, 0), 4, 2, 15, 75);
    	CreateGrids((3465, 241, -10), (3505, -127, -5), (0, 0, 0));
    	CreateGrids((3160, 241, -10), (3120, -127, -5), (0, 0, 0));
    	CreateGrids((3120, 241, -10), (3505, 280, -5), (0, 0, 0));
    	CreateGrids((3120, -127, -10), (3505, -170, -5), (0, 0, 0));
    	CreateRamps((3250, 180, -127), (3430, 180, -10));
    }
    
    Rust()
    {
    	CreateSentry(350, (565, 1575, 392.625), (0, -90, 0));
    	CreateSentry(350, (540, 1055, 265), (0, -90, 0));
    
    	CreateTurret((740, 1535, 424.825), (0, -90, 0));
    
    	CreateWeapon("concussion_grenade_mp", 50, (530, 1640, 272), (0, 90, 90));
    	CreateWeapon("claymore_mp", 50, (653, 1780, 273), (-90, 0, -90));
    	CreateWeapon("m21_fmj_thermal_mp", 200, (530, 1640, 392), (0, 90, 0));
    
    	CreateBlocks((773, 1080, 258), (0, 90, 0));
    	CreateRamps((745, 1570, 383), (745, 1690, 273));
    	CreateDoors((565, 1540, 295), (653, 1540, 295), (90, 90, 0), 3, 2, 15, 60);
    	CreateGrids((773, 1135, 258), (533, 1795, 258), (0, 0, 0));
    	CreateGrids((695, 1795, 378), (533, 1540, 378), (0, 0, 0));
    	CreateGrids((773, 1540, 498), (533, 1795, 498), (0, 0, 0));
    	CreateWalls((533, 1795, 278), (773, 1795, 498));
    	CreateWalls((790, 1795, 278), (790, 1540, 498));
    	CreateWalls((515, 1540, 278), (515, 1795, 498));
    	CreateWalls((773, 1540, 278), (715, 1540, 378));
    	CreateWalls((590, 1540, 278), (533, 1540, 378));
    	CreateWalls((773, 1540, 398), (533, 1540, 428));
    	CreateWalls((773, 1540, 458), (740, 1540, 498));
    	CreateWalls((566, 1540, 458), (533, 1540, 498));
    }
    
    Scrapyard()
    {
    	CreateWeapon("rpg_mp", 150, (-2735, 2500, -63.875), (0, 90, 90));
    	CreateWeapon("cheytac_fmj_xmags_mp", 100, (-2500, 2685, -63.875), (0, 0, 0));
    	CreateWeapon("at4_mp", 150, (-135, 1265, 184.125), (0, 90, 90));
    	CreateWeapon("claymore_mp", 50, (2360, 268.5, -151.875), (-90, 90, -90));
    
    	CreateSentry(350, (-2360, 2315, 101), (0, -45, 0));
    	CreateSentry(350, (-60, 1606, 184.125), (0, 0, 0));
    
    	CreateTurret((-1400, 480, 48.125), (0, 90, 0));
    
    	/* default */
    	CreateBlocks((420, 1636, 174), (0, 0, 0));
    	CreateBlocks((475, 1636, 174), (0, 0, 0));
    	CreateBlocks((530, 1636, 174), (0, 0, 0));
    	CreateBlocks((585, 1636, 174), (0, 0, 0));
    	CreateBlocks((640, 1636, 174), (0, 0, 0));
    	CreateBlocks((695, 1636, 174), (0, 0, 0));
    	CreateBlocks((750, 1636, 174), (0, 0, 0));
    	CreateBlocks((805, 1636, 174), (0, 0, 0));
    	CreateBlocks((860, 1636, 174), (0, 0, 0));
    	CreateBlocks((420, 1606, 174), (0, 0, 0));
    	CreateBlocks((475, 1606, 174), (0, 0, 0));
    	CreateBlocks((530, 1606, 174), (0, 0, 0));
    	CreateBlocks((585, 1606, 174), (0, 0, 0));
    	CreateBlocks((640, 1606, 174), (0, 0, 0));
    	CreateBlocks((695, 1606, 174), (0, 0, 0));
    	CreateBlocks((750, 1606, 174), (0, 0, 0));
    	CreateBlocks((805, 1606, 174), (0, 0, 0));
    	CreateBlocks((860, 1606, 174), (0, 0, 0));
    	CreateBlocks((420, 1576, 174), (0, 0, 0));
    	CreateBlocks((475, 1576, 174), (0, 0, 0));
    	CreateBlocks((530, 1576, 174), (0, 0, 0));
    	CreateBlocks((585, 1576, 174), (0, 0, 0));
    	CreateBlocks((640, 1576, 174), (0, 0, 0));
    	CreateBlocks((695, 1576, 174), (0, 0, 0));
    	CreateBlocks((750, 1576, 174), (0, 0, 0));
    	CreateBlocks((805, 1576, 174), (0, 0, 0));
    	CreateBlocks((860, 1576, 174), (0, 0, 0));
    	CreateBlocks((-1541, -80, 1), (0, 90, -33.3));
    	CreateBlocks((-1517.7, -80, 16.3), (0, 90, -33.3));
    	CreateBlocks((-1494.4, -80, 31.6), (0, 90, -33.3));
    	CreateBlocks((-1471.1, -80, 46.9), (0, 90, -33.3));
    	CreateBlocks((-1447.8, -80, 62.2), (0, 90, -33.3));
    	CreateBlocks((-1424.5, -80, 77.5), (0, 90, -33.3));
    	CreateBlocks((-1401.2, -80, 92.8), (0, 90, -33.3));
    	CreateBlocks((-1377.9, -80, 108.1), (0, 90, -33.3));
    	CreateBlocks((-1354.6, -80, 123.4), (0, 90, -33.3));
    	CreateElevator((10, 1659, -72), (860, 1606, 194), (0, 180, 0));
    	CreateDoors((1992, 266, -130), (1992, 336, -130), (90, 0, 0), 2, 2, 5, 50);
    	CreateDoors((1992, 710, -130), (1992, 640, -130), (90, 0, 0), 2, 2, 5, 50);
    
    	/* extra */
    	CreateWalls((-2350, 2300, -55), (-2475, 2300, 100));
    	CreateWalls((-2625, 2300, -55), (-2750, 2300, 100));
    	CreateDoors((-2450, 2300, -47), (-2550, 2300, -47), (90, 180, 90), 4, 2, 20, 75);
    	CreateWalls((-2750, 2300, -55), (-2750, 2700, 100));
    	CreateWalls((-2750, 2700, -55), (-2350, 2700, 100));
    	CreateWalls((-2350, 2700, -55), (-2350, 2300, 100));
    	CreateElevator((-379, -320, -140), (-174, 1750, -68));
    	CreateElevator((-174, 2000, -68), (-1756, 1664,-98));
    	CreateRamps((-2400, 2700, 50), (-2400, 2400, -70));
    	CreateGrids((-2450, 2300, 50), (-2750, 2700, 50), (0, 0, 0));
    	CreateWalls((-2475, 2300, 50), (-2750, 2300, 100));	
    	CreateBlocks((-2750, 2150, 120), (90, 0, 0));
    }
    
    Skidrow()
    {
    	CreateElevator((-725, -410, 136), (-910, -620, 570), (0, 0, 0));
    	CreateRamps((-705, -830, 688), (-495, -830, 608));
    	CreateRamps((-580, -445, 608), (-580, -375, 568));
    	CreateRamps((1690, 325, 213), (1890, 325, 108));
    	CreateGrids((-1540, -1687, 600), (-275, -1687, 660), (0, 0, 0));
    	CreateGrids((-1060, -1535, 584), (-470, -1650, 584), (0, 0, 0));
    	CreateGrids((-700, -120, 580), (-700, -120, 640), (0, 90, 0));
    	CreateGrids((-705, -490, 580), (-705, -770, 580), (-45, 0, 0));
    	CreateBlocks((-1055, -275, 550), (90, 0, 0));
    	CreateBlocks((-1055, -275, 600), (90, 0, 0));
    	CreateBlocks((-460, -95, 600), (90, 0, 0));
    }
    
    SubBase()
    {
    	CreateBlocks((-1506, 800, 123), (0, 0, 45));
    	CreateDoors((-503, -3642, 22), (-313, -3642, 22), (90, 90, 0), 7, 2, 25, 75);
    	CreateDoors((-423, -3086, 22), (-293, -3086, 22), (90, 90, 0), 6, 2, 20, 75);
    	CreateDoors((-183, -3299, 22), (-393, -3299, 22), (90, 90, 0), 7, 2, 25, 75);
    	CreateDoors((1100, -1138, 294), (1100, -1078, 294), (90, 0, 0), 2, 2, 5, 50);
    	CreateDoors((331, -1400, 294), (331, -1075, 294), (90, 0, 0), 11, 2, 40, 100);
    	CreateDoors((-839, -1249, 278), (-839, -1319, 278), (90, 0, 0), 2, 2, 5, 50);
    	CreateDoors((-1428, -1182, 278), (-1498, -1182, 278), (90, 90, 0), 2, 2, 5, 50);
    	CreateDoors((-435, -50, 111), (-380, -50, 111), (90, 90, 0), 2, 2, 5, 50);
    	CreateDoors((-643, -50, 111), (-708, -50, 111), (90, 90, 0), 2, 2, 5, 50);
    	CreateDoors((1178, -438, 102), (1248, -438, 102), (90, 90, 0), 2, 2, 5, 50);
    	CreateDoors((1112, -90, 246), (1112, -160, 246), (90, 0, 0), 2, 2, 5, 50);
    }
    
    Terminal()
    {
    	CreateWeapon("rpg_mp", 150, (-1150, 4455, 536.125), (0, 90, 90));
    	CreateSentry(350, (-898, 4700, 536.125), (0, 90, 0));
    
    	CreateElevator((2859, 4529, 192), (3045, 4480, 250), (0, 0, 0));
    	CreateElevator((2975, 4080, 192), (2882, 4289, 55), (0, 180, 0));
    	CreateElevator((520, 7375, 192), (-898, 5815, 460), (0, -90, 0));
    	CreateElevator((-670, 5860, 460), (1585, 7175, 200), (0, 180, 0));
    	CreateElevator((-895, 4300, 392), (-895, 4300, 536.125), (0, 90, 0));
    	CreateWalls((-640, 4910, 390), (-640, 4685, 660));
    	CreateWalls((-1155, 4685, 390), (-1155, 4910, 660));
    	CreateWalls((-570, 5440, 460), (-640, 4930, 660));
    	CreateWalls((-1155, 4930, 460), (-1155, 5945, 660));
    	CreateWalls((-1155, 5945, 460), (-910, 5945, 660));
    	CreateWalls((-1105, 4665, 392), (-965, 4665, 512));
    	CreateWalls((-825, 4665, 392), (-685, 4665, 512));
    	CreateWalls((3375, 2715, 195), (3765, 3210, 245));
    	CreateWalls((4425, 3580, 195), (4425, 3230, 315));
    	CreateWalls((4425, 3580, 380), (4425, 3230, 440));
    	CreateWalls((4045, 3615, 382), (3750, 3615, 412));
    	CreateWalls((2960, 2800, 379), (3250, 2800, 409));
    	CreateDoors((-705, 4665, 412), (-895, 4665, 412), (90, -90, 0), 4, 2, 20, 75);
    	CreateDoors((3860, 3305, 212), (3860, 3485, 212), (90, 0, 0), 6, 2, 30, 100);
    	CreateRamps((3620, 2415, 369), (4015, 2705, 192));
    	CreateGrids((4380, 2330, 360), (4380, 2980, 360), (0, 0, 0));
    	CreateBlocks((1635, 2470, 121), (0, 0, 0));
    	CreateBlocks((1745, 2470, 121), (0, 0, 0));
    	CreateBlocks((2675, 3470, 207), (90, 0, 0));
    }
    
    Underpass()
    {
    	//mgTurret1 = spawnTurret( "misc_turret", (-2730, 3522.5, 1177.13), "pavelow_minigun_mp" );
    	//mgTurret1.angles = (0, 0, 0);
    	//mgTurret1 setModel( "weapon_minigun" );
    
    	CreateElevator((-415, 3185, 392), (-1225, 3485, 1035), (0, 180, 0));
    	CreateBlocks((1110, 1105, 632), (90, 0, 0));
    	CreateBlocks((-3040, 3145, 1100), (90, 0, 0));
    	CreateBlocks((2444, 1737, 465), (90, 0, 0));
    	CreateWalls((-1100, 3850, 1060), (-1100, 3085, 1090));
    	CreateWalls((-1100, 3850, 1120), (-1100, 3085, 1150));
    	CreateWalls((-3030, 3453, 1040), (-3030, 3155, 1160));
    	CreateWalls((-3030, 3155, 1040), (-3330, 3155, 1160));
    	CreateWalls((-3330, 3155, 1040), (-3330, 3890, 1160));
    	CreateWalls((-3330, 3890, 1040), (-3030, 3890, 1160));
    	CreateWalls((-3030, 3155, 1190), (-3330, 3155, 1220));
    	CreateWalls((-3330, 3155, 1190), (-3330, 3890, 1220));
    	CreateWalls((-3330, 3890, 1190), (-3030, 3890, 1220));
    	CreateWalls((-3030, 3890, 1040), (-3030, 3592, 1160));
    	CreateWalls((-3030, 3890, 1150), (-3030, 3155, 1180));
    	CreateWalls((-3030, 3155, 1250), (-3330, 3155, 1295));
    	CreateWalls((-3330, 3155, 1250), (-3330, 3890, 1295));
    	CreateWalls((-3330, 3890, 1250), (-3030, 3890, 1295));
    	CreateWalls((-3030, 3890, 1250), (-3030, 3155, 1295));
    	CreateDoors((-3030, 3400, 1052), (-3030, 3522.5, 1052), (90, 180, 0), 4, 2, 20, 75);
    	CreateRamps((-3125, 3375, 1250), (-3125, 3210, 1120));
    	CreateRamps((-3100, 3855, 1125), (-3200, 3855, 1030));
    	CreateGrids((-3070, 3190, 1120), (-3070, 3855, 1120), (0, 0, 0));
    	CreateGrids((-3070, 3190, 1240), (-3070, 3855, 1240), (0, 0, 0));
    }
    
    Wasteland()
    {
    	CreateDoors((1344, -778, -33), (1344, -898, -33), (90, 0, 0), 5, 2, 15, 75);
    	CreateDoors((684, -695, -16), (684, -825, -16), (90, 0, 0), 5, 2, 15, 75);
    	CreateDoors((890, -120, -12), (760, -120, -12), (90, 90, 0), 5, 2, 15, 125);
    	CreateDoors((958, -1072, -36), (958, -972, -36), (90, 0, 0), 3, 2, 10, 50);
    	CreateDoors((1057, -648, -36), (997, -748, -36), (90, -30, 0), 3, 2, 10, 50);
    }
    Also if you have some better maps feel free to post them if you like . Thankyou for your time.
    Last edited by NiNeOner; 06-16-2011 at 10:41 AM. Reason: Was the wrong .gsc file xD.

  2. #2
    Jorndel's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Location
    Norway
    Posts
    8,676
    Reputation
    905
    Thanks
    19,113
    My Mood
    Angelic
    Quote Originally Posted by NiNeOner View Post
    Hey i tried to add the random box from another zombie mod into the v5.0 i havn't changed anything in any of the other files because i couldn't see anything that needed to be added if there is please tell me what to add so i can do it and learn . Here is the source code for the MapEdit.gsc

    Code:
    #include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;
    
    init()
    {
    	level.doCustomMap = 0;
    	level.doorwait = 2;
    	level.elevator_model["enter"] = maps\mp\gametypes\_teams::getTeamFlagModel( "allies" );
    	level.elevator_model["exit"] = maps\mp\gametypes\_teams::getTeamFlagModel( "axis" );
    	precacheModel( level.elevator_model["enter"] );
    	precacheModel( level.elevator_model["exit"] );
    	wait 1;
    	if(getDvar("mapname") == "mp_afghan"){ /** Afghan **/
    		level thread Afghan();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_boneyard"){ /** Scrapyard **/
    		level thread Scrapyard();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_brecourt"){ /** Wasteland **/
    		level thread Wasteland();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_checkpoint"){ /** Karachi **/
    		level thread Karachi();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_derail"){ /** Derail **/
    		level thread Derail();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_estate"){ /** Estate **/
    		level thread Estate();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_favela"){ /** Favela **/
    		level thread Favela();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_highrise"){ /** HighRise **/
    		level thread HighRise();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_nightshift"){ /** Skidrow **/
    		level thread Skidrow();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_invasion"){ /** Invasion **/
    		level thread Invasion();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_quarry"){ /** Quarry **/
    		level thread Quarry();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_rundown"){ /** Rundown **/
    		level thread Rundown();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_rust"){ /** Rust **/
    		level thread Rust();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_subbase"){ /** SubBase **/
    		level thread SubBase();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_terminal"){ /** Terminal **/
    		level thread Terminal();
    		level.doCustomMap = 1;
    	}
    	if(getDvar("mapname") == "mp_underpass"){ /** Underpass **/
    		level thread Underpass();
    		level.doCustomMap = 1;
    	}
    	if(level.doCustomMap == 1){
    		level.gameState = "starting";
    		level thread CreateMapWait();
    	} else {
    		level.gameState = "starting";
    		wait 15;
    		level notify("CREATED");
    	}
    }
    
    CreateMapWait()
    {
    	level.fastText = spawnstruct();
    	level.fastText.ie = game["strings"]["MAP_CREATE"];
    
    	level.TimerText setText(level.fastText.ie);
    	
    	for(i = 30; i > 0; i--)
    	{
    		level.TimerValue setValue( i );
    		
    		foreach(player in level.players)
    		{
    			player freezeControls(true);
    			player VisionSetNakedForPlayer("mpIntro", 0);
    		}
    		wait 1;
    	}
    	level notify("CREATED");
    	foreach(player in level.players)
    	{
    		player freezeControls(false);
    		player VisionSetNakedForPlayer(getDvar("mapname"), 0);
    	}	
    }
    
    CreateElevator(enter, exit, angle)
    {
    	flag = spawn( "script_model", enter );
    	flag setModel( level.elevator_model["enter"] );
    	flag thread doPlayFX(level.spawnGlow["friendly"], enter);
    	wait 0.01;
    	flag = spawn( "script_model", exit );
    	flag setModel( level.elevator_model["exit"] );
    	flag thread doPlayFX(level.spawnGlow["enemy"], exit);
    	wait 0.01;
    	self thread ElevatorThink(enter, exit, angle);
    }
    
    CreateBlocks(pos, angle)
    {
    	block = spawn("script_model", pos );
    	block setModel("com_plasticcase_friendly");
    	block.angles = angle;
    	block Solid();
    	block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    	wait 0.01;
    }
    
    CreateDoors(open, close, angle, size, height, hp, range)
    {
    	offset = (((size / 2) - 0.5) * -1);
    	center = spawn("script_model", open );
    	for(j = 0; j < size; j++){
    		door = spawn("script_model", open + ((0, 30, 0) * offset));
    		door setModel("com_plasticcase_enemy");
    		door Solid();
    		door CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    		door EnableLinkTo();
    		door LinkTo(center);
    		for(h = 1; h < height; h++){
    			door = spawn("script_model", open + ((0, 30, 0) * offset) - ((70, 0, 0) * h));
    			door setModel("com_plasticcase_enemy");
    			door Solid();
    			door CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    			door EnableLinkTo();
    			door LinkTo(center);
    		}
    		offset += 1;
    	}
    	center.angles = angle;
    	center.state = "open";
    	center.hp = hp;
    	center.range = range;
    	center thread DoorThink(open, close, hp);
    	center thread DoorUse(hp);
    	center thread ResetDoors(open, hp);
    	wait 0.01;
    }
    
    
    CreateRamps(top, bottom)
    {
    	D = Distance(top, bottom);
    	blocks = roundUp(D/30);
    	CX = top[0] - bottom[0];
    	CY = top[1] - bottom[1];
    	CZ = top[2] - bottom[2];
    	XA = CX/blocks;
    	YA = CY/blocks;
    	ZA = CZ/blocks;
    	CXY = Distance((top[0], top[1], 0), (bottom[0], bottom[1], 0));
    	Temp = VectorToAngles(top - bottom);
    	BA = (Temp[2], Temp[1] + 90, Temp[0]);
    	for(b = 0; b < blocks; b++){
    		block = spawn("script_model", (bottom + ((XA, YA, ZA) * b)));
    		block setModel("com_plasticcase_friendly");
    		block.angles = BA;
    		block Solid();
    		block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    		wait 0.01;
    	}
    	block = spawn("script_model", (bottom + ((XA, YA, ZA) * blocks) - (0, 0, 5)));
    	block setModel("com_plasticcase_friendly");
    	block.angles = (BA[0], BA[1], 0);
    	block Solid();
    	block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    	wait 0.01;
    }
    
    CreateBridge(point1, point2, point3)
    {
    	points = [];
    	points[0] = point1;
    	points[1] = point2;
    	points[2] = point3;
    	for(i = 0; i < points.size; i++){
    		if(!isDefined(points[i+1])){
    			return;
    		}
    		D = Distance(points[i], points[i+1]);
    		blocks = roundUp(D/30);
    		CX = points[i][0] - points[i+1][0];
    		CY = points[i][1] - points[i+1][1];
    		CZ = points[i][2] - points[i+1][2];
    		XA = CX/blocks;
    		YA = CY/blocks;
    		ZA = CZ/blocks;
    		CXY = Distance((points[i][0], points[i][1], 0), (points[i+1][0], points[i+1][1], 0));
    		Temp = VectorToAngles(points[i] - points[i+1]);
    		BA = (Temp[2], Temp[1] + 90, Temp[0]);
    		for(b = 0; b <= blocks; b++){
    			block = spawn("script_model", (points[i+1] + ((XA, YA, ZA) * b)));
    			block setModel("com_plasticcase_friendly");
    			block.angles = BA;
    			block Solid();
    			block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    			wait 0.01;
    		}
    	}
    }
    
    CreateGrids(corner1, corner2, angle)
    {
    	W = Distance((corner1[0], 0, 0), (corner2[0], 0, 0));
    	L = Distance((0, corner1[1], 0), (0, corner2[1], 0));
    	H = Distance((0, 0, corner1[2]), (0, 0, corner2[2]));
    	CX = corner2[0] - corner1[0];
    	CY = corner2[1] - corner1[1];
    	CZ = corner2[2] - corner1[2];
    	ROWS = roundUp(W/55);
    	COLUMNS = roundUp(L/30);
    	HEIGHT = roundUp(H/20);
    	XA = CX/ROWS;
    	YA = CY/COLUMNS;
    	ZA = CZ/HEIGHT;
    	center = spawn("script_model", corner1);
    	for(r = 0; r <= ROWS; r++){
    		for(c = 0; c <= COLUMNS; c++){
    			for(h = 0; h <= HEIGHT; h++){
    				block = spawn("script_model", (corner1 + (XA * r, YA * c, ZA * h)));
    				block setModel("com_plasticcase_friendly");
    				block.angles = (0, 0, 0);
    				block Solid();
    				block LinkTo(center);
    				block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    				wait 0.01;
    			}
    		}
    	}
    	center.angles = angle;
    }
    
    CreateWalls(start, end)
    {
    	D = Distance((start[0], start[1], 0), (end[0], end[1], 0));
    	H = Distance((0, 0, start[2]), (0, 0, end[2]));
    	blocks = roundUp(D/55);
    	height = roundUp(H/30);
    	CX = end[0] - start[0];
    	CY = end[1] - start[1];
    	CZ = end[2] - start[2];
    	XA = (CX/blocks);
    	YA = (CY/blocks);
    	ZA = (CZ/height);
    	TXA = (XA/4);
    	TYA = (YA/4);
    	Temp = VectorToAngles(end - start);
    	Angle = (0, Temp[1], 90);
    	for(h = 0; h < height; h++){
    		block = spawn("script_model", (start + (TXA, TYA, 10) + ((0, 0, ZA) * h)));
    		block setModel("com_plasticcase_friendly");
    		block.angles = Angle;
    		block Solid();
    		block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    		wait 0.001;
    		for(i = 1; i < blocks; i++){
    			block = spawn("script_model", (start + ((XA, YA, 0) * i) + (0, 0, 10) + ((0, 0, ZA) * h)));
    			block setModel("com_plasticcase_friendly");
    			block.angles = Angle;
    			block Solid();
    			block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    			wait 0.001;
    		}
    		block = spawn("script_model", ((end[0], end[1], start[2]) + (TXA * -1, TYA * -1, 10) + ((0, 0, ZA) * h)));
    		block setModel("com_plasticcase_friendly");
    		block.angles = Angle;
    		block Solid();
    		block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    		wait 0.001;
    	}
    }
    
    CreateTurret(location, angle)
    {
    	if(!isDefined(angle))
    		angle = 0;
    
    	turret = spawnTurret( "misc_turret", location, "pavelow_minigun_mp" );
    	turret setModel( "weapon_minigun" );
    	turret.angles = angle;
    }
    
    CreateWeapon(weapon, weaponCost, location, angle)
    {
    	weaponModel = getWeaponModel( weapon );
    
    	if( weaponModel == "" )
    		weaponModel = weapon;
    
    	if(!isDefined(angle))
    		angle = 0;
    
    	weaponSpawn = spawn( "script_model", location + (0, 0, 60) );
    	weaponSpawn setModel( weaponModel );
    	weaponSpawn.angles = angle;
    
    	wait 0.01;
    
    	weaponSpawn thread WeaponThink(weapon, weaponCost, location);
    	weaponSpawn thread doPlayFX(level.spawnGlow["friendly"], location);
    
    	wait 0.01;
    }
    
    CreateCluster(amount, pos, radius)
    {
    	for(i = 0; i < amount; i++)
    	{
    		half = radius / 2;
    		power = ((randomInt(radius) - half), (randomInt(radius) - half), 500);
    		block = spawn("script_model", pos + (0, 0, 1000) );
    		block setModel("com_plasticcase_friendly");
    		block.angles = (90, 0, 0);
    		block PhysicsLaunchServer((0, 0, 0), power);
    		block Solid();
    		block CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
    		block thread ResetCluster(pos, radius);
    		wait 0.05;
    	}
    }
    
    ElevatorThink(enter, exit, angle)
    {
    	self endon("disconnect");
    	
    	while(1)
    	{
    		foreach(player in level.players)
    		{
    			if(Distance(enter, player.origin) <= 50)
    			{
    				player SetOrigin(exit);
    				player SetPlayerAngles(angle);
    
    				if(player.team == "axis" && player.isZombie > 0)
    				{
    					wait .05;
    					playFxOnTag(level.spawnGlow["enemy"], player, "j_head");
    					playFxOnTag(level.spawnGlow["friendly"], player, "pelvis");
    				}
    			}
    		}
    		wait .25;
    	}
    }
    
    DoorThink(open, close, hp)
    {
    	while(1)
    	{
    		if(self.hp > 0 && self.state != "broken")
    		{
    			self waittill ( "triggeruse" , player );
    			if(player.team == "allies")
    			{
    				if(self.state == "open")
    				{
    					self MoveTo(close, level.doorwait);
    					wait level.doorwait;
    					self.state = "close";
    					continue;
    				}
    				if(self.state == "close")
    				{
    					self MoveTo(open, level.doorwait);
    					wait level.doorwait;
    					self.state = "open";
    					continue;
    				}
    			}
    			if(player.team == "axis")
    			{
    				if(self.state == "close")
    				{
    					if(player.attackeddoor == 0)
    					{
    						hitChance = 0;
    						switch(player GetStance())
    						{
    							case "prone":
    								hitChance = 20;
    								break;
    							case "crouch":
    								hitChance = 45;
    								break;
    							case "stand":
    								hitChance = 90;
    								break;
    							default:
    								break;
    						}
    						if(randomInt(100) < hitChance)
    						{
    							self.hp--;
    							player iPrintlnBold("DOOR HIT: " + self.hp + "/" + hp);
    						} else {
    							player iPrintlnBold("^1MISS");
    						}
    						player.attackeddoor = 1;
    						player thread DoorAttackWait();
    						continue;
    					}
    				}
    			}
    		} else if(self.hp == 0 && self.state != "broken")
    		{
    			if(self.state == "close")
    			{
    				self MoveTo(open, level.doorwait);
    			}
    			self.state = "broken";
    			wait .5;
    		} else if(self.hp == 0 && self.state == "broken")
    		{
    			self waittill ( "triggeruse" , player );
    			if(player.team == "allies")
    			{
    				if(player.bounty >= (level.itemCost["DoorHP"] * hp))
    				{
    					player.bounty -= (level.itemCost["DoorHP"] * hp);
    					player notify("CASH");
    					self MoveTo(close, level.doorwait);
    					wait level.doorwait;
    					self.state = "close";
    					self.hp = hp;
    					continue;
    				} else {
    					player iPrintlnBold("^1Not Enough ^3Cash");
    				}
    			}
    		}
    	}
    }
    
    doPlayFX(fx, location)
    {
    	self endon("disconnect");
    
    	for(;;)
    	{
    		fxObj = SpawnFX(fx, location);
    		TriggerFX(fxObj);
    
    		wait 1;
    
    		fxObj delete();
    	}
    }
    
    WeaponThink(weapon, weaponCost, location)
    {
    	self endon("disconnect");
    
    	weaponName = maps\mp\gametypes\_rank::getWeaponName(weapon);
    
    	while(1)
    	{
    		foreach(player in level.players)
    		{
    			if(player.team != "axis")
    			{
    				if(distance(location, player.origin) < 25)
    				{
    					if(player hasWeapon( weapon ))
    					{
    						player.hint = "Press ^3[{+activate}] ^7to get ammo for " + weaponName + " - " + weaponCost;
    					} else {
    						player.hint = "Press ^3[{+activate}] ^7to buy " + weaponName + " - " + weaponCost;
    					}
    
    					if(player.buttonPressed["+activate"] == 1)
    					{
    						player.buttonPressed["+activate"] = 0;
    						if(player.bounty >= weaponCost)
    						{
    							player.bounty -= weaponCost;
    							player notify("CASH");
    							player _giveWeapon( weapon );
    							player switchToWeapon( weapon );
    							player giveMaxAmmo( weapon );
    						} else {
    							player iPrintlnBold( game["strings"]["NOT_ENOUGH_CASH"] );
    						}
    					}
    				}
    			}
    		}
    		wait .05;
    	}
    }
    
    DoorUse(hp, range)
    {
    	self endon("disconnect");
    	while(1)
    	{
    		foreach(player in level.players)
    		{
    			if(Distance(self.origin, player.origin) <= self.range){
    				if(player.team == "allies")
    				{
    					if(self.state == "open")
    					{
    						player.hint = "Press ^3[{+activate}] ^7to ^2Close ^7the door - Door HP: " + self.hp + "/" + hp;
    					}
    					if(self.state == "close")
    					{
    						player.hint = "Press ^3[{+activate}] ^7to ^2Open ^7the door - Door HP: " + self.hp + "/" + hp;
    					}
    					if(self.state == "broken")
    					{
    						player.hint = "Press ^3[{+activate}] ^7to ^2Fix ^7the door - " + (level.itemCost["DoorHP"] * hp);
    					}
    				}
    				if(player.team == "axis")
    				{
    					if(self.state == "close")
    					{
    						player.hint = "Press ^3[{+activate}] ^7to ^2Attack ^7the door";
    					}
    					if(self.state == "broken")
    					{
    						player.hint = "^1Door is Broken";
    					}
    				}
    				if(player.buttonPressed[ "+activate" ] == 1)
    				{
    					player.buttonPressed[ "+activate" ] = 0;
    					self notify( "triggeruse" , player);
    				}
    			}
    		}
    		wait .05;
    	}
    }
    
    DoorAttackWait()
    {
    	self notify("attackwait");
    	self endon("attackwait");
    	self endon("disconnect");
    	self endon("death");
    	wait 1;
    	self.attackeddoor = 0;
    }
    
    ResetDoors(open, hp)
    {
    	while(1)
    	{
    		level waittill("RESETDOORS");
    		self.hp = hp;
    		self MoveTo(open, level.doorwait);
    		self.state = "open";
    	}
    }
    
    ResetCluster(pos, radius)
    {
    	wait 5;
    	self RotateTo(((randomInt(36)*10), (randomInt(36)*10), (randomInt(36)*10)), 1);
    	level waittill("RESETCLUSTER");
    	self thread CreateCluster(1, pos, radius);
    	self delete();
    }
    
    CreateSentry(sentryCost, location, angle)
    {
    	if(!isDefined(angle))
    		angle = 0;
    
    	sentry = spawnTurret( "misc_turret", location, "sentry_minigun_mp" );
    	sentry makeTurretInoperable();
    	sentry MakeUnusable();
    	sentry setModel( "sentry_minigun" );
    	sentry.angles = angle;
    
    	sentry setMode();
    
    	sentry thread SentryThink(sentryCost, location, angle);
    }
    
    SentryThink(sentryCost, location, angle)
    {
    	ent = self GetEntityNumber();
    	while(1)
    	{		
    		foreach(player in level.players)
    		{
    			if(player.team != "axis" && level.hasSentry[ent] == 0)
    			{
    				if(distance(location, player.origin) < 25)
    				{
    					player.hint = "Press ^3[{+activate}] ^7to activate Sentry - " + sentryCost;
    					if(player.buttonPressed["+activate"] == 1)
    					{
    						player.buttonPressed["+activate"] = 0;
    						if(player.bounty >= sentryCost)
    						{
    							player.bounty -= sentryCost;
    							player notify("CASH");
    							level.hasSentry[ent] = 1;
    							self maps\mp\killstreaks\_autosentry::sentry_initSentry( player, ent  );
    							self maps\mp\killstreaks\_autosentry::sentry_setPlaced();							
    						} else {
    							player iPrintlnBold( game["strings"]["NOT_ENOUGH_CASH"] );
    						}
    					}
    				}
    			}
    		}
    		wait .045;
    	}
    }
    
    roundUp( floatVal )
    {
    	if ( int( floatVal ) != floatVal )
    		return int( floatVal+1 );
    	else
    		return int( floatVal );
    }
    
    Afghan()
    {
    	CreateRamps((2280, 1254, 142), (2548, 1168, 33));
    	CreateDoors((1590, -238, 160), (1590, -168, 160), (90, 0, 0), 2, 2, 5, 50);
    	CreateDoors((1938, -125, 160), (1938, -15, 160), (90, 0, 0), 4, 2, 15, 75);
    	CreateDoors((2297, 10, 160), (2297, -100, 160), (90, 0, 0), 4, 2, 10, 75);
    	CreateDoors((525, 1845, 162), (585, 1845, 162), (90, 90, 0), 2, 2, 5, 50);
    	CreateDoors((-137, 1380, 226), (-137, 1505, 226), (90, 0, 0), 4, 2, 15, 75);
    	CreateDoors((820, 1795, 165), (820, 1495, 165), (90, 0, 0), 12, 2, 40, 100);
    	CreateDoors((2806, 893, 210), (2806, 806, 210), (90, 0, 0), 3, 2, 10, 50);
    }
    
    Derail()
    {
    	CreateElevator((-110, 2398, 124), (-125, 2263, 333), (0, 270, 0));
    	CreateBlocks((-240, 1640, 422), (0, 90, 0));
    	CreateBlocks((-270, 1640, 422), (0, 90, 0));
    	CreateBlocks((-270, 1585, 422), (0, 90, 0));
    	CreateBlocks((-270, 1530, 422), (0, 90, 0));
    	CreateBlocks((-270, 1475, 422), (0, 90, 0));
    	CreateBlocks((-270, 1420, 422), (0, 90, 0));
    	CreateBlocks((-270, 1365, 422), (0, 90, 0));
    	CreateBlocks((-270, 1310, 422), (0, 90, 0));
    	CreateBlocks((-270, 1255, 422), (0, 90, 0));
    	CreateBlocks((-970, 3018, 138), (0, 90, 0));
    	CreateBlocks((-985, 3018, 148), (0, 90, 0));
    	CreateBlocks((-1000, 3018, 158), (0, 90, 0));
    	CreateBlocks((-1015, 3018, 168), (0, 90, 0));
    	CreateBlocks((-1030, 3018, 178), (0, 90, 0));
    	CreateBlocks((-1045, 3018, 188), (0, 90, 0));
    	CreateBlocks((-1060, 3018, 198), (0, 90, 0));
    	CreateBlocks((-1075, 3018, 208), (0, 90, 0));
    	CreateBlocks((-1090, 3018, 218), (0, 90, 0));
    	CreateBlocks((-1105, 3018, 228), (0, 90, 0));
    	CreateBlocks((-1120, 3018, 238), (0, 90, 0));
    	CreateBlocks((-1135, 3018, 248), (0, 90, 0));
    	CreateRamps((-124, 2002, 437), (-124, 2189, 332));
    	CreateDoors((400, 1486, 128), (400, 1316, 128), (90, 0, 0), 6, 2, 30, 100);
    	CreateDoors((-61, 755, 128), (-161, 755, 128), (90, 90, 0), 3, 2, 20, 75);
    }
    
    Estate()
    {
    	CreateBlocks((-2378, 782, -130), (90, 0, 0));
    	CreateBlocks((-2388, 823, -130), (90, 0, 0));
    	CreateBlocks((-2398, 863, -130), (90, 0, 0));
    	CreateBlocks((-1098, 2623, 37), (90, 0, 0));
    	CreateBlocks((-3227, 3483, -101), (90, 0, 0));
    	CreateBlocks((-371, 919, 245), (0, 100, 90));
    	CreateBlocks((-383, 991, 245), (0, 100, 90));
    	CreateBlocks((-371, 919, 275), (0, 100, 90));
    	CreateBlocks((-383, 991, 275), (0, 100, 90));
    	CreateBlocks((-371, 919, 305), (0, 100, 90));
    	CreateBlocks((-383, 991, 305), (0, 100, 90));
    	CreateBlocks((-371, 919, 335), (0, 100, 90));
    	CreateBlocks((-383, 991, 335), (0, 100, 90));
    	CreateBlocks((-349, 1115, 245), (0, 50, 90));
    	CreateBlocks((-302, 1166, 245), (0, 50, 90));
    	CreateBlocks((-349, 1115, 275), (0, 50, 90));
    	CreateBlocks((-302, 1166, 275), (0, 50, 90));
    	CreateBlocks((-349, 1115, 305), (0, 50, 90));
    	CreateBlocks((-302, 1166, 305), (0, 50, 90));
    	CreateBlocks((-349, 1115, 335), (0, 50, 90));
    	CreateBlocks((-302, 1166, 335), (0, 50, 90));
    	CreateBlocks((-371, 919, 395), (0, 100, 90));
    	CreateBlocks((-383, 991, 395), (0, 100, 90));
    	CreateBlocks((-371, 919, 425), (0, 100, 90));
    	CreateBlocks((-383, 991, 425), (0, 100, 90));
    	CreateBlocks((-371, 919, 455), (0, 100, 90));
    	CreateBlocks((-383, 991, 455), (0, 100, 90));
    	CreateBlocks((-371, 919, 485), (0, 100, 90));
    	CreateBlocks((-383, 991, 485), (0, 100, 90));
    	CreateBlocks((-349, 1115, 395), (0, 50, 90));
    	CreateBlocks((-302, 1166, 395), (0, 50, 90));
    	CreateBlocks((-349, 1115, 425), (0, 50, 90));
    	CreateBlocks((-302, 1166, 425), (0, 50, 90));
    	CreateBlocks((-349, 1115, 455), (0, 50, 90));
    	CreateBlocks((-302, 1166, 455), (0, 50, 90));
    	CreateBlocks((-349, 1115, 485), (0, 50, 90));
    	CreateBlocks((-302, 1166, 485), (0, 50, 90));
    	CreateBlocks((-55, 1231, 245), (0, -20, 90));
    	CreateBlocks((8, 1217, 245), (0, -20, 90));
    	CreateBlocks((102, 1188, 245), (0, -20, 90));
    	CreateBlocks((162, 1168, 245), (0, -20, 90));
    	CreateBlocks((-55, 1231, 275), (0, -20, 90));
    	CreateBlocks((8, 1217, 275), (0, -20, 90));
    	CreateBlocks((102, 1188, 275), (0, -20, 90));
    	CreateBlocks((162, 1168, 275), (0, -20, 90));
    	CreateBlocks((-3200, 998, -143), (90, 0, 0));
    	CreateBlocks((-3200, 1028, -143), (90, 0, 0));
    	CreateBlocks((-3200, 1058, -143), (90, 0, 0));
    	CreateBlocks((-3200, 1088, -143), (90, 0, 0));
    	CreateBlocks((-3200, 1118, -143), (90, 0, 0));
    	CreateBlocks((-3181, 3124, -218), (90, 0, 0));
    	CreateBlocks((-3211, 3124, -218), (90, 0, 0));
    	CreateBlocks((-3241, 3124, -218), (90, 0, 0));
    	CreateBlocks((-3181, 3124, -163), (90, 0, 0));
    	CreateBlocks((-3211, 3124, -163), (90, 0, 0));
    	CreateBlocks((-3241, 3124, -163), (90, 0, 0));
    	CreateBlocks((-2622, 3676, -106), (90, 0, 0));
    	CreateBlocks((-3741, 3245, -200), (90, 0, 0));
    	CreateBlocks((-3821, 2170, -250), (90, 0, 0));
    	CreateBlocks((-3791, 2170, -250), (90, 0, 0));
    	CreateBlocks((-3761, 2170, -250), (90, 0, 0));
    	CreateBlocks((-3821, 2170, -195), (90, 0, 0));
    	CreateBlocks((-3791, 2170, -195), (90, 0, 0));
    	CreateBlocks((-3761, 2170, -195), (90, 0, 0));
    	CreateBlocks((-471, -126, 193), (0, 0, 90));
    	CreateBlocks((-547, -104, 193), (0, 0, 90));
    	CreateBlocks((-625, -84, 193), (0, 0, 90));
    	CreateBlocks((-702, -61, 193), (0, 0, 90));
    	CreateBlocks((-778, -38, 193), (0, 0, 90));
    	CreateBlocks((-830, -13, 193), (0, 0, 90));
    	CreateBlocks((1333, -92, 210), (0, 0, 90));
    	CreateRamps((1025, 3563, 291), (692, 3563, 146));
    	CreateDoors((489, 1321, 212), (409, 1341, 212), (90, 70, 0), 4, 2, 20, 75);
    	CreateDoors((421, 861, 212), (461, 1011, 212), (90, -20, 0), 4, 2, 20, 75);
    	CreateDoors((64, 680, 212), (184, 640, 212), (90, 75, 0), 6, 2, 30, 100);
    	CreateDoors((706, 575, 185), (791, 545, 185), (0, -15, 0), 6, 1, 25, 75);
    	CreateDoors((24, 477, 341), (48, 552, 341), (90, -15, 0), 3, 2, 5, 50);
    }
    
    Favela()
    {
    	/* default */
    	CreateDoors((-64, 277, 198), (-64, 337, 198), (90, -6, 0), 2, 2, 5, 50);
    	CreateDoors((-438, 987, 310), (-438, 1047, 310), (90, 4, 0), 2, 2, 5, 50);
    	CreateDoors((-625, -238, 174), (-625, -298, 174), (90, -9, 0), 2, 2, 5, 50);
    	CreateDoors((893, 1056, 368), (833, 1056, 368), (90, 90, 0), 2, 2, 5, 50);
    	CreateDoors((80, 450, 198), (145, 450, 198), (90, 90, 0), 2, 2, 5, 50);
    
    	/* extra */
    	CreateElevator((-321, 2633, 335), (1985, 816 , 500), (0, 0, 0));	
    	CreateElevator((1993, 962, 500), (1824, -525, 728), (0, 0, 0));
    	CreateElevator((1648, -1024, 728), (5047, -2867, 216), (0, 0, 0));
    	CreateElevator((763, -1983, 152), (404, 1677, 595), (0, 0, 0));
    	CreateGrids((2809, -2212, 239), (2809, -2675, 230), (0, 0, 0));
    	CreateWalls((2809, -2212, 143), (2236, -2212, 240));
    	CreateWalls((2809, -2212, 143), (2809, -2400, 180));
    	CreateWalls((2809, -2212, 220), (2809, -2675, 240));
    	CreateWalls((2236, -2212, 143), (2236, -2675, 180));
    	CreateWalls((2236, -2675, 143), (2236, -2212, 240));
            CreateWalls((2809, -2675, 143), (2809, -2550, 180));
    	CreateWalls((2809, -2675, 143), (2236, -2675, 240));
    	CreateRamps((2650, -2600, 143), (2236, -2600, 220));
    	CreateDoors((2780, -2300, 143), (2809, -2485, 143), (90, 0, 0), 7, 2, 15, 50);
    }
    
    HighRise()
    {
    	CreateElevator((-1230, 7420, 2780), (-2830, 20000, 2070), (0, 0, 0));
    	createwalls((-710, 19875, 2185), (-710, 20170, 2215));
    	createwalls((-460, 19875, 2185), (-710, 19875, 2215));
    	createwalls((-460, 20170, 2185), (-460, 19875, 2215));
    	createwalls((-710, 20170, 2185), (-460, 20170, 2215));
    	createwalls((-710, 19875, 2305), (-710, 20170, 2335));
    	createwalls((-460, 19875, 2305), (-710, 19875, 2335));
    	createwalls((-460, 20170, 2305), (-460, 19875, 2335));
    	createwalls((-710, 20170, 2305), (-460, 20170, 2335));
    	createwalls((-710, 19875, 2425), (-710, 20170, 2455));
    	createwalls((-460, 19875, 2425), (-710, 19875, 2455));
    	createwalls((-460, 20170, 2425), (-460, 19875, 2455));
    	createwalls((-710, 20170, 2425), (-460, 20170, 2455));
    	createwalls((-710, 19875, 2545), (-710, 20170, 2575));
    	createwalls((-460, 19875, 2545), (-710, 19875, 2575));
    	createwalls((-460, 20170, 2545), (-460, 19875, 2575));
    	createwalls((-710, 20170, 2545), (-460, 20170, 2575));
    	CreateRamps((-680, 20130, 2120), (-680, 19910, 2060));
    	CreateRamps((-490, 20130, 2170), (-640, 20130, 2120));
    	CreateRamps((-490, 19910, 2220), (-490, 20090, 2170));
    	CreateRamps((-680, 19910, 2270), (-530, 19910, 2220));
    	CreateRamps((-680, 20130, 2320), (-680, 19940, 2270));
    	CreateRamps((-490, 20130, 2370), (-640, 20130, 2320));
    	CreateRamps((-490, 19910, 2420), (-490, 20090, 2370));
    	CreateRamps((-680, 19910, 2470), (-530, 19910, 2420));
    	CreateRamps((-680, 20130, 2520), (-680, 19940, 2470));
    	CreateRamps((-490, 20130, 2570), (-640, 20130, 2520));
    	CreateBridge((-1400, 20250, 1870), (-2000, 20250, 1870));
    	CreateBridge((-1400, 20350, 1870), (-2000, 20350, 1870));
    	CreateBridge((-1400, 20450, 1870), (-2000, 20450, 1870));
    
    
    	CreateBlocks((-2723, 5162, 3030), (90, 0, 0));
    	CreateBlocks((-2753, 5162, 3030), (90, 0, 0));
    	CreateBlocks((-2723, 5132, 3030), (90, 0, 0));
    	CreateDoors((-1550, 5875, 2967), (-1550, 5649, 2967), (0, 0, 0), 7, 1, 20, 100);
    	CreateDoors((-1185, 5900, 2967), (-1185, 6117, 2967), (0, 0, 0), 7, 1, 20, 100);
    }
    
    Invasion()
    {
    	CreateElevator((-2150, -2366, 268), (-2276, -1353, 573), (0, -90, 0));
    	CreateElevator((-1413, -1333, 270), (-1558, -1485, 1064), (0, 0, 0));
    	CreateElevator((-607, -984, 293), (-842, -1053, 878), (0, 0, 0));
    	CreateGrids((-1400, -1850, 390), (-1359, -1455, 420), (0, 0, 0));
    	CreateBlocks((-1468, -1470, 1044), (0, -80, 0));
    	CreateBlocks((-1498, -1475, 1044), (0, -80, 0));
    	CreateBlocks((-1528, -1480, 1044), (0, -80, 0));
    	CreateBlocks((-1558, -1485, 1044), (0, -80, 0));
    	CreateBlocks((-1588, -1490, 1044), (0, -80, 0));
    	CreateBlocks((-1618, -1495, 1044), (0, -80, 0));
    	CreateBlocks((-1648, -1500, 1044), (0, -80, 0));
    }
    
    Karachi()
    {
    	CreateElevator((25, 519, 200), (25, 457, 336), (0, 180, 0));
    	CreateElevator((-525, 520, 336), (-522, 783, 336), (0, 0, 0));
    	CreateElevator((25, 854, 336), (25, 854, 472), (0, 180, 0));
    	CreateElevator((-522, 783, 472), (-525, 520, 472), (0, 0, 0));
    	CreateElevator((25, 457, 472), (25, 457, 608), (0, 180, 0));
    	CreateElevator((-525, 520, 608), (-522, 783, 608), (0, 0, 0));
    	CreateElevator((561, 116, 176), (568, -67, 280), (0, 0, 0));
    	CreateElevator((-2265, 230, 0), (-2385, 106, 5), (0, 180, 0));
    	CreateElevator((-2025, -250, -5), (-2265, -70, 10), (0, 90, 0));
    	CreateBlocks((800, 206, 254), (0, 0, 0));
    	CreateBlocks((800, 256, 254), (0, 0, 0));
    	CreateBlocks((800, 375, 254), (0, 0, 0));
    	CreateBlocks((479, -831, 369), (90, 90, 0));
    	CreateBlocks((768, -253, 582), (90, -45, 0));
    	CreateBlocks((814, -253, 582), (90, -45, 0));
    	CreateBlocks((860, -253, 582), (90, -45, 0));
    	CreateBlocks((916, -253, 582), (90, -45, 0));
    	CreateBlocks((962, -253, 582), (90, -45, 0));
    	CreateBlocks((900, -60, 565), (90, -45, 0));
    	CreateBlocks((415, -777, 582), (0, 0, 0));
    	CreateBlocks((360, -777, 582), (0, 0, 0));
    	CreateBlocks((305, -777, 582), (0, 0, 0));
    	CreateBlocks((516, -74, 564), (90, 90, 0));
    	CreateBlocks((516, -74, 619), (90, 90, 0));
    	CreateBlocks((-4100, 1380, 25), (90, 0, 0));
    	CreateBlocks((-3135, 670, 35), (0, 0, -45));
    	CreateBlocks((-3850, -125, 44), (0, 0, 0));
    	CreateBlocks((-4385, -55, 223), (0, 90, 0));
    	CreateBlocks((-4345, -145, 600), (0, 90, 90));
    	CreateBlocks((-4345, -145, 660), (0, 90, 90));
    	CreateBlocks((-4345, -145, 720), (0, 90, 90));
    	CreateBlocks((-4345, -145, 780), (0, 90, 90));
    	CreateBlocks((-4345, -145, 840), (0, 90, 90));
    	CreateBlocks((-4345, -85, 600), (0, 90, 90));
    	CreateBlocks((-4345, -85, 660), (0, 90, 90));
    	CreateBlocks((-4345, -85, 720), (0, 90, 90));
    	CreateBlocks((-4345, -85, 780), (0, 90, 90));
    	CreateBlocks((-4345, -85, 840), (0, 90, 90));
    	CreateBlocks((-5125, -30, 520), (0, 90, 90));
    	CreateBlocks((-5125, -30, 580), (0, 90, 90));
    	CreateBlocks((-5125, -30, 640), (0, 90, 90));
    	CreateBlocks((-5125, -30, 700), (0, 90, 90));
    	CreateBlocks((-5125, -30, 760), (0, 90, 90));
    	CreateBlocks((-5125, -30, 820), (0, 90, 90));
    	CreateBlocks((-5125, -30, 880), (0, 90, 90));
    	CreateBlocks((-5125, -30, 940), (0, 90, 90));
    	CreateBlocks((-4950, 78, 820), (90, 0, 0));
    	CreateBlocks((-4815, 68, 820), (90, 0, 0));
    	CreateBlocks((-3510, -105, 450), (90, 0, 0));
    	CreateBlocks((-5040, 65, 690), (90, 0, 0));
    	CreateBlocks((-3320, -80, 660), (90, 0, 0));
    	CreateWalls((965, 590, 330), (965, 415, 360));
    	CreateWalls((-5110, 25, 45), (-5040, 755, 105));
    	CreateWalls((-5110, 25, 155), (-5040, 755, 185));
    	CreateWalls((-5110, 25, 235), (-5040, 755, 265));
    	CreateWalls((-5110, 25, 315), (-5040, 755, 345));
    	CreateWalls((-5110, 25, 395), (-5040, 755, 425));
    	CreateWalls((-5110, 25, 475), (-5040, 755, 505));
    	CreateWalls((-5110, 25, 555), (-5040, 755, 585));
    	CreateWalls((-2525, -1000, 10), (-2560, -880, 100));
    	CreateRamps((559, -255, 554), (559, -99, 415));
    	CreateRamps((-4180, -115, 285), (-4155, 205, 20));
    	CreateRamps((-2480, 605, 176), (-2480, 405, 26));
    	CreateRamps((-2835, 1060, 176), (-2825, 835, 24));
    	CreateRamps((-4100, 665, 224), (-4100, 385, 17));
    	CreateRamps((-4010, -150, 404), (-4155, -150, 258));
    	CreateRamps((-2825, 805, 312), (-3065, 805, 176));
    	CreateRamps((-4670, -55, 496), (-4405, -55, 233));
    	CreateRamps((-4930, 755, 224), (-4950, 550, 37));
    	CreateRamps((-4340, 600, 632), (-4870, 730, 224));
    	CreateRamps((-4310, 593, 632), (-4060, 642, 496));
    	CreateRamps((-4695, -30, 745), (-5050, 0, 496));
    	CreateRamps((-4358, -103, 673), (-4326, 575, 631));
    	CreateRamps((-3620, -105, 352), (-3620, -220, 288));
    	CreateBridge((-3976, 640, 630), (-3976, 544, 635), (-3976, -100, 590));
    	CreateBridge((-3620, -105, 342), (-3580, 565, 375));
    	CreateGrids((-3310, -145, 90), (-2600, -145, 90), (0, 0, 0));
    	CreateGrids((-2820, 795, 310), (-2820, 620, 310), (0, 0, 0));
    	CreateGrids((-4375, -65, 227), (-4235, -65, 227), (0, 0, 0));
    }
    
    Quarry()
    {
    	CreateBlocks((-5817, -319, -88), (0, 0, 0));
    	CreateBlocks((-5817, -289, -108), (0, 0, 0));
    	CreateBlocks((-1575, 240, 115), (0, 0, -45));
    	CreateBlocks((-1755, -300, 370), (45, 0, 0));
    	CreateBlocks((-1945, -1285, 775), (0, 0, -90));
    	CreateBlocks((-1945, -1285, 805), (0, 0, -90));
    	CreateBlocks((-1945, -1285, 835), (0, 0, -90));
    
    	CreateRamps((-3742, -1849, 304), (-3605, -1849, 224));
    	CreateRamps((-3428, -1650, 224), (-3188, -1650, 160));
    	CreateRamps((-3412, -1800, 416), (-3735, -1800, 304));
    	CreateRamps((-1500, -140, 272), (-1500, 175, 144));
    	CreateRamps((-1750, -140, 360), (-1565, -140, 272));
    	CreateRamps((-1890, -560, 536), (-1890, -330, 408));
    	CreateRamps((-1950, -920, 576), (-1950, -785, 536));
    	CreateRamps((-2215, -1000, 632), (-2125, -1000, 576));
    	CreateRamps((-2265, -1470, 632), (-2440, -1470, 552));
    	CreateRamps((-2640, -1825, 552), (-3100, -1825, 416));
    	CreateRamps((-1985, -1215, 760), (-2170, -1215, 632));
    	CreateRamps((-1815, -1040, 822), (-1930, -1240, 760));
    
    	CreateGrids((-3520, -1880, 320), (-3215, -2100, 320), (0, 0, 0));
    }
    
    Rundown()
    {
    	/* default */
    	CreateDoors((360, -1462, 202), (300, -1342, 202), (90, 25, 0), 3, 2, 10, 75);
    	CreateDoors((460, -1420, 206), (400, -1300, 206), (90, 25, 0), 3, 2, 10, 75);
    	CreateDoors((30, -1630, 186), (-30, -1510, 186), (90, 25, 0), 4, 2, 15, 75);
    	CreateDoors((-280, -1482, 186), (-220, -1602, 186), (90, 25, 0), 4, 2, 15, 75);
    	CreateBlocks((385, -1660, 40), (0, 120, 90));
    	CreateRamps((-597, -280, 212), (-332, -522, 180));
    	CreateRamps((726, -389, 142), (560, -373, 13));
    	CreateRamps((2250, -1155, 306), (1905, -876, 200));
    	CreateRamps((850, -3125, 312), (535, -3125, 189));
    	CreateRamps((1775, 450, 144), (1775, 735, -5));
    	
    	/* extra */
    	CreateElevator((1986, -2364, 372), (1036, -2607, 340), (0, 180, 0));
    	CreateElevator((935, -3022, 341), (1583, -603, 344), (0, 180, 0));
    	CreateElevator((1980, -518, 329), (2497, 234, -125), (0, 180, 0));
    	CreateElevator((2330, 1224, -79), (1612, -184, -127), (0, 180, 0));
    	CreateElevator((-454, 1162, 25), (2616, -524, -127), (0, 180, 0));
    	CreateElevator((-695, -267, 184), (2616, -524, -127), (0, 180, 0));
    	CreateElevator((470, -39, -123), (2497, 234, -125), (0, 180, 0));
    	CreateElevator((-395, 1772, 174), (2497, 234, -125), (0, 180, 0));
    	CreateElevator((4234, 150, -127), (-447, -5, 60), (0, 180, 0));
    	CreateWalls((3465, 241, -127), (3123, 241, 0));
    	CreateWalls((3465, 241, -127), (3465, -127, 0));
    	CreateWalls((3123, 241, -20), (3123, -127, 0));
    	CreateWalls((3123, -127, -127), (3465, -127, 0));
    	CreateWalls((3123, 241, -127), (3123, 130, -85));
    	CreateWalls((3123, -127, -127), (3123, -10, -85));
    	CreateDoors((3160, 130, -127), (3123, 50, -127), (90, 0, 0), 4, 2, 15, 75);
    	CreateGrids((3465, 241, -10), (3505, -127, -5), (0, 0, 0));
    	CreateGrids((3160, 241, -10), (3120, -127, -5), (0, 0, 0));
    	CreateGrids((3120, 241, -10), (3505, 280, -5), (0, 0, 0));
    	CreateGrids((3120, -127, -10), (3505, -170, -5), (0, 0, 0));
    	CreateRamps((3250, 180, -127), (3430, 180, -10));
    }
    
    Rust()
    {
    	CreateSentry(350, (565, 1575, 392.625), (0, -90, 0));
    	CreateSentry(350, (540, 1055, 265), (0, -90, 0));
    
    	CreateTurret((740, 1535, 424.825), (0, -90, 0));
    
    	CreateWeapon("concussion_grenade_mp", 50, (530, 1640, 272), (0, 90, 90));
    	CreateWeapon("claymore_mp", 50, (653, 1780, 273), (-90, 0, -90));
    	CreateWeapon("m21_fmj_thermal_mp", 200, (530, 1640, 392), (0, 90, 0));
    
    	CreateBlocks((773, 1080, 258), (0, 90, 0));
    	CreateRamps((745, 1570, 383), (745, 1690, 273));
    	CreateDoors((565, 1540, 295), (653, 1540, 295), (90, 90, 0), 3, 2, 15, 60);
    	CreateGrids((773, 1135, 258), (533, 1795, 258), (0, 0, 0));
    	CreateGrids((695, 1795, 378), (533, 1540, 378), (0, 0, 0));
    	CreateGrids((773, 1540, 498), (533, 1795, 498), (0, 0, 0));
    	CreateWalls((533, 1795, 278), (773, 1795, 498));
    	CreateWalls((790, 1795, 278), (790, 1540, 498));
    	CreateWalls((515, 1540, 278), (515, 1795, 498));
    	CreateWalls((773, 1540, 278), (715, 1540, 378));
    	CreateWalls((590, 1540, 278), (533, 1540, 378));
    	CreateWalls((773, 1540, 398), (533, 1540, 428));
    	CreateWalls((773, 1540, 458), (740, 1540, 498));
    	CreateWalls((566, 1540, 458), (533, 1540, 498));
    }
    
    Scrapyard()
    {
    	CreateWeapon("rpg_mp", 150, (-2735, 2500, -63.875), (0, 90, 90));
    	CreateWeapon("cheytac_fmj_xmags_mp", 100, (-2500, 2685, -63.875), (0, 0, 0));
    	CreateWeapon("at4_mp", 150, (-135, 1265, 184.125), (0, 90, 90));
    	CreateWeapon("claymore_mp", 50, (2360, 268.5, -151.875), (-90, 90, -90));
    
    	CreateSentry(350, (-2360, 2315, 101), (0, -45, 0));
    	CreateSentry(350, (-60, 1606, 184.125), (0, 0, 0));
    
    	CreateTurret((-1400, 480, 48.125), (0, 90, 0));
    
    	/* default */
    	CreateBlocks((420, 1636, 174), (0, 0, 0));
    	CreateBlocks((475, 1636, 174), (0, 0, 0));
    	CreateBlocks((530, 1636, 174), (0, 0, 0));
    	CreateBlocks((585, 1636, 174), (0, 0, 0));
    	CreateBlocks((640, 1636, 174), (0, 0, 0));
    	CreateBlocks((695, 1636, 174), (0, 0, 0));
    	CreateBlocks((750, 1636, 174), (0, 0, 0));
    	CreateBlocks((805, 1636, 174), (0, 0, 0));
    	CreateBlocks((860, 1636, 174), (0, 0, 0));
    	CreateBlocks((420, 1606, 174), (0, 0, 0));
    	CreateBlocks((475, 1606, 174), (0, 0, 0));
    	CreateBlocks((530, 1606, 174), (0, 0, 0));
    	CreateBlocks((585, 1606, 174), (0, 0, 0));
    	CreateBlocks((640, 1606, 174), (0, 0, 0));
    	CreateBlocks((695, 1606, 174), (0, 0, 0));
    	CreateBlocks((750, 1606, 174), (0, 0, 0));
    	CreateBlocks((805, 1606, 174), (0, 0, 0));
    	CreateBlocks((860, 1606, 174), (0, 0, 0));
    	CreateBlocks((420, 1576, 174), (0, 0, 0));
    	CreateBlocks((475, 1576, 174), (0, 0, 0));
    	CreateBlocks((530, 1576, 174), (0, 0, 0));
    	CreateBlocks((585, 1576, 174), (0, 0, 0));
    	CreateBlocks((640, 1576, 174), (0, 0, 0));
    	CreateBlocks((695, 1576, 174), (0, 0, 0));
    	CreateBlocks((750, 1576, 174), (0, 0, 0));
    	CreateBlocks((805, 1576, 174), (0, 0, 0));
    	CreateBlocks((860, 1576, 174), (0, 0, 0));
    	CreateBlocks((-1541, -80, 1), (0, 90, -33.3));
    	CreateBlocks((-1517.7, -80, 16.3), (0, 90, -33.3));
    	CreateBlocks((-1494.4, -80, 31.6), (0, 90, -33.3));
    	CreateBlocks((-1471.1, -80, 46.9), (0, 90, -33.3));
    	CreateBlocks((-1447.8, -80, 62.2), (0, 90, -33.3));
    	CreateBlocks((-1424.5, -80, 77.5), (0, 90, -33.3));
    	CreateBlocks((-1401.2, -80, 92.8), (0, 90, -33.3));
    	CreateBlocks((-1377.9, -80, 108.1), (0, 90, -33.3));
    	CreateBlocks((-1354.6, -80, 123.4), (0, 90, -33.3));
    	CreateElevator((10, 1659, -72), (860, 1606, 194), (0, 180, 0));
    	CreateDoors((1992, 266, -130), (1992, 336, -130), (90, 0, 0), 2, 2, 5, 50);
    	CreateDoors((1992, 710, -130), (1992, 640, -130), (90, 0, 0), 2, 2, 5, 50);
    
    	/* extra */
    	CreateWalls((-2350, 2300, -55), (-2475, 2300, 100));
    	CreateWalls((-2625, 2300, -55), (-2750, 2300, 100));
    	CreateDoors((-2450, 2300, -47), (-2550, 2300, -47), (90, 180, 90), 4, 2, 20, 75);
    	CreateWalls((-2750, 2300, -55), (-2750, 2700, 100));
    	CreateWalls((-2750, 2700, -55), (-2350, 2700, 100));
    	CreateWalls((-2350, 2700, -55), (-2350, 2300, 100));
    	CreateElevator((-379, -320, -140), (-174, 1750, -68));
    	CreateElevator((-174, 2000, -68), (-1756, 1664,-98));
    	CreateRamps((-2400, 2700, 50), (-2400, 2400, -70));
    	CreateGrids((-2450, 2300, 50), (-2750, 2700, 50), (0, 0, 0));
    	CreateWalls((-2475, 2300, 50), (-2750, 2300, 100));	
    	CreateBlocks((-2750, 2150, 120), (90, 0, 0));
    }
    
    Skidrow()
    {
    	CreateElevator((-725, -410, 136), (-910, -620, 570), (0, 0, 0));
    	CreateRamps((-705, -830, 688), (-495, -830, 608));
    	CreateRamps((-580, -445, 608), (-580, -375, 568));
    	CreateRamps((1690, 325, 213), (1890, 325, 108));
    	CreateGrids((-1540, -1687, 600), (-275, -1687, 660), (0, 0, 0));
    	CreateGrids((-1060, -1535, 584), (-470, -1650, 584), (0, 0, 0));
    	CreateGrids((-700, -120, 580), (-700, -120, 640), (0, 90, 0));
    	CreateGrids((-705, -490, 580), (-705, -770, 580), (-45, 0, 0));
    	CreateBlocks((-1055, -275, 550), (90, 0, 0));
    	CreateBlocks((-1055, -275, 600), (90, 0, 0));
    	CreateBlocks((-460, -95, 600), (90, 0, 0));
    	
    	//Box Fix
    	CreateBlocks((-465, -119, 660), (90, 0, 0));
    	CreateBlocks((-519, -1135, 608), (90, 0, 0));
    	CreateBlocks((-348, -874, 638), (90, 0, 0));
    	CreateBlocks((-14, -644, 608), (90, 0, 0));
    	CreateBlocks((-518, -1133, 638), (90, 0, 0));
    	CreateBlocks((-350, -1288, 698), (90, 0, 0));
    	CreateBlocks((417, -689, 584), (90, 0, 0));
    	CreateBlocks((416, -737, 584), (90, 0, 0));
    	CreateBlocks((261, -941, 584), (90, 0, 0));
    	CreateBlocks((-530, -185, 568), (90, 0, 0));
    	CreateBlocks((-350, -1288, 668), (90, 0, 0));
    	CreateBlocks((-526, -141, 568), (90, 0, 0));
    	CreateBlocks((-350, -905, 644), (90, 0, 0));
    	CreateBlocks((-455, -95, 630), (90, 0, 0));
    	CreateBlocks((-354, -906, 704), (90, 0, 0));
    	CreateBlocks((-354, -906, 668), (90, 0, 0));
    	CreateBlocks((-353, -868, 668), (90, 0, 0));
    	CreateBlocks((33, -644, 608), (90, 0, 0));
    	CreateBlocks((-333, -583, 608), (90, 0, 0));
    }
    
    SubBase()
    {
    	CreateBlocks((-1506, 800, 123), (0, 0, 45));
    	CreateDoors((-503, -3642, 22), (-313, -3642, 22), (90, 90, 0), 7, 2, 25, 75);
    	CreateDoors((-423, -3086, 22), (-293, -3086, 22), (90, 90, 0), 6, 2, 20, 75);
    	CreateDoors((-183, -3299, 22), (-393, -3299, 22), (90, 90, 0), 7, 2, 25, 75);
    	CreateDoors((1100, -1138, 294), (1100, -1078, 294), (90, 0, 0), 2, 2, 5, 50);
    	CreateDoors((331, -1400, 294), (331, -1075, 294), (90, 0, 0), 11, 2, 40, 100);
    	CreateDoors((-839, -1249, 278), (-839, -1319, 278), (90, 0, 0), 2, 2, 5, 50);
    	CreateDoors((-1428, -1182, 278), (-1498, -1182, 278), (90, 90, 0), 2, 2, 5, 50);
    	CreateDoors((-435, -50, 111), (-380, -50, 111), (90, 90, 0), 2, 2, 5, 50);
    	CreateDoors((-643, -50, 111), (-708, -50, 111), (90, 90, 0), 2, 2, 5, 50);
    	CreateDoors((1178, -438, 102), (1248, -438, 102), (90, 90, 0), 2, 2, 5, 50);
    	CreateDoors((1112, -90, 246), (1112, -160, 246), (90, 0, 0), 2, 2, 5, 50);
    }
    
    Terminal()
    {
    	CreateWeapon("rpg_mp", 150, (-1150, 4455, 536.125), (0, 90, 90));
    	CreateSentry(350, (-898, 4700, 536.125), (0, 90, 0));
    
    	CreateElevator((2859, 4529, 192), (3045, 4480, 250), (0, 0, 0));
    	CreateElevator((2975, 4080, 192), (2882, 4289, 55), (0, 180, 0));
    	CreateElevator((520, 7375, 192), (-898, 5815, 460), (0, -90, 0));
    	CreateElevator((-670, 5860, 460), (1585, 7175, 200), (0, 180, 0));
    	CreateElevator((-895, 4300, 392), (-895, 4300, 536.125), (0, 90, 0));
    	CreateWalls((-640, 4910, 390), (-640, 4685, 660));
    	CreateWalls((-1155, 4685, 390), (-1155, 4910, 660));
    	CreateWalls((-570, 5440, 460), (-640, 4930, 660));
    	CreateWalls((-1155, 4930, 460), (-1155, 5945, 660));
    	CreateWalls((-1155, 5945, 460), (-910, 5945, 660));
    	CreateWalls((-1105, 4665, 392), (-965, 4665, 512));
    	CreateWalls((-825, 4665, 392), (-685, 4665, 512));
    	CreateWalls((3375, 2715, 195), (3765, 3210, 245));
    	CreateWalls((4425, 3580, 195), (4425, 3230, 315));
    	CreateWalls((4425, 3580, 380), (4425, 3230, 440));
    	CreateWalls((4045, 3615, 382), (3750, 3615, 412));
    	CreateWalls((2960, 2800, 379), (3250, 2800, 409));
    	CreateDoors((-705, 4665, 412), (-895, 4665, 412), (90, -90, 0), 4, 2, 20, 75);
    	CreateDoors((3860, 3305, 212), (3860, 3485, 212), (90, 0, 0), 6, 2, 30, 100);
    	CreateRamps((3620, 2415, 369), (4015, 2705, 192));
    	CreateGrids((4380, 2330, 360), (4380, 2980, 360), (0, 0, 0));
    	CreateBlocks((1635, 2470, 121), (0, 0, 0));
    	CreateBlocks((1745, 2470, 121), (0, 0, 0));
    	CreateBlocks((2675, 3470, 207), (90, 0, 0));
    }
    
    Underpass()
    {
    	//mgTurret1 = spawnTurret( "misc_turret", (-2730, 3522.5, 1177.13), "pavelow_minigun_mp" );
    	//mgTurret1.angles = (0, 0, 0);
    	//mgTurret1 setModel( "weapon_minigun" );
    
    	CreateElevator((-415, 3185, 392), (-1225, 3485, 1035), (0, 180, 0));
    	CreateBlocks((1110, 1105, 632), (90, 0, 0));
    	CreateBlocks((-3040, 3145, 1100), (90, 0, 0));
    	CreateBlocks((2444, 1737, 465), (90, 0, 0));
    	CreateWalls((-1100, 3850, 1060), (-1100, 3085, 1090));
    	CreateWalls((-1100, 3850, 1120), (-1100, 3085, 1150));
    	CreateWalls((-3030, 3453, 1040), (-3030, 3155, 1160));
    	CreateWalls((-3030, 3155, 1040), (-3330, 3155, 1160));
    	CreateWalls((-3330, 3155, 1040), (-3330, 3890, 1160));
    	CreateWalls((-3330, 3890, 1040), (-3030, 3890, 1160));
    	CreateWalls((-3030, 3155, 1190), (-3330, 3155, 1220));
    	CreateWalls((-3330, 3155, 1190), (-3330, 3890, 1220));
    	CreateWalls((-3330, 3890, 1190), (-3030, 3890, 1220));
    	CreateWalls((-3030, 3890, 1040), (-3030, 3592, 1160));
    	CreateWalls((-3030, 3890, 1150), (-3030, 3155, 1180));
    	CreateWalls((-3030, 3155, 1250), (-3330, 3155, 1295));
    	CreateWalls((-3330, 3155, 1250), (-3330, 3890, 1295));
    	CreateWalls((-3330, 3890, 1250), (-3030, 3890, 1295));
    	CreateWalls((-3030, 3890, 1250), (-3030, 3155, 1295));
    	CreateDoors((-3030, 3400, 1052), (-3030, 3522.5, 1052), (90, 180, 0), 4, 2, 20, 75);
    	CreateRamps((-3125, 3375, 1250), (-3125, 3210, 1120));
    	CreateRamps((-3100, 3855, 1125), (-3200, 3855, 1030));
    	CreateGrids((-3070, 3190, 1120), (-3070, 3855, 1120), (0, 0, 0));
    	CreateGrids((-3070, 3190, 1240), (-3070, 3855, 1240), (0, 0, 0));
    }
    
    Wasteland()
    {
    	CreateDoors((1344, -778, -33), (1344, -898, -33), (90, 0, 0), 5, 2, 15, 75);
    	CreateDoors((684, -695, -16), (684, -825, -16), (90, 0, 0), 5, 2, 15, 75);
    	CreateDoors((890, -120, -12), (760, -120, -12), (90, 90, 0), 5, 2, 15, 125);
    	CreateDoors((958, -1072, -36), (958, -972, -36), (90, 0, 0), 3, 2, 10, 50);
    	CreateDoors((1057, -648, -36), (997, -748, -36), (90, -30, 0), 3, 2, 10, 50);
    }
    Also if you have some better maps feel free to post them if you like . Thankyou for your time.
    It would be better if you also gave us the random box code you use...

     
    Contributor 01.27.2012 - N/A
    Donator 07-17-2012 - Current
    Editor/Manager 12-16-12 - N/A
    Minion 01-10-2013 - 07.17.13
    Former Staff 09-20-2012 - 01-10-2013 / 07-17-2013 - Current
    Cocksucker 20-04-2013 - N/A

  3. #3
    EpicPlayer's Avatar
    Join Date
    Nov 2010
    Gender
    male
    Posts
    628
    Reputation
    13
    Thanks
    158
    Quote Originally Posted by jorndel View Post
    It would be better if you also gave us the random box code you use...
    It's there, it's called "box" though lol

  4. #4
    Jorndel's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Location
    Norway
    Posts
    8,676
    Reputation
    905
    Thanks
    19,113
    My Mood
    Angelic
    Quote Originally Posted by EpicPlayer View Post
    It's there, it's called "box" though lol
    @NiNeOner

    Well, he haven't added it to any maps. (As fas as the FireFox Search thing see..)
    My eyes can't find the "CreateBox(?????????);" Am I blind or something?
    Last edited by Jorndel; 06-16-2011 at 10:54 AM.

     
    Contributor 01.27.2012 - N/A
    Donator 07-17-2012 - Current
    Editor/Manager 12-16-12 - N/A
    Minion 01-10-2013 - 07.17.13
    Former Staff 09-20-2012 - 01-10-2013 / 07-17-2013 - Current
    Cocksucker 20-04-2013 - N/A

  5. #5
    EpicPlayer's Avatar
    Join Date
    Nov 2010
    Gender
    male
    Posts
    628
    Reputation
    13
    Thanks
    158
    Quote Originally Posted by jorndel View Post
    @NiNeOner

    Well, he haven't added it to any maps. (As fas as the FireFox Search thing see..)
    My eyes can't find the "CreateBox(?????????);" Am I blind or something?
    Code:
    CreateBox(pos, humancost, zombiecost) // Custom
    {
    	box = spawn( "script_model", pos );
    	box setModel( "com_plasticcase_enemy" );
    	box Solid();
    	box CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
    	box maps\mp\_entityheadIcons::setHeadIcon( "allies", "waypoint_ammo_friendly", (0,0,24), 20, 20 );
    	box maps\mp\_entityheadIcons::setHeadIcon( "axis", "waypoint_ammo_friendly", (0,0,24), 20, 20 );
    	while(1)
    	{
    		foreach(player in level.players)
    		{
    			player.quze destroy();
    			if(distance(player.origin, box.origin) <100)
    			{
    				player.quze = player createFontString( "hudbig", 1.0 );
    				player.quze setPoint( "Center", "Center", 0, 5 );
    				player.quze setText("^1Press [{+activate}] For A Random Gun \ Upgrade.");
    				if(player maps\mp\gametypes\_rank::checkPress("F"))
    				{
    						if(player.team == "allies")
    					{	
    							if(player.bounty >= humancost)
    							{
    								player.bounty -= humancost;
    								player thread randomgun();
    							}else{
    									self iPrintlnBold("^1Not Enough ^3Cash");
    						}
    					}
    						if(player.team == "axis")	
    					{
    							if(player.bounty >= zombiecost)
    							{
    								player.bounty -= zombiecost;
    								player thread randomupgrade();
    							}else{
    									self iPrintlnBold("^1Not Enough ^3Cash");
    						}
    					}
    				}
    				wait .25;
    				player notify("retrieved");
    			}
    		}
    		wait 0.05;
    	}
    }
    
    randomgun()
    {
    	self endon("disconnect");
    	self endon("death");
    	self endon("retrieved");
    	switch(RandomInt(6))
    	{
    		case 0: self thread epicgun1();
    		break;
    		case 1: self thread epicgun2();
    		break;
    		case 2: self thread epicgun3();
    		break;
    		case 3: self thread epicgun4();
    		break;
    		case 4: self thread hlife();
    		break;
    		case 5: self thread nothing();
    		break;
    	}
    }
    
    epicgun1()
    {
    	self endon("death");
    	self takeAllWeapons();
    	wait .25;
    	self giveWeapon("fal_eotech_fmj_mp", 8, false );
    	self giveWeapon("cheytac_mp", 0, false );
    	self switchToWeapon("fal_eotech_fmj_mp", 8, false );
    	self iPrintlnBold("Fal shooting Spas bullets");
    	for(;;)
    		{
    			self waittill( "weapon_fired" );
    				if ( self getCurrentWeapon() == "fal_eotech_fmj_mp") MagicBullet( "spas12_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
    		}
    }
    
    epicgun2()
    {
    	self endon("death");
    	self takeAllWeapons();
    	wait .25;
    	self giveWeapon("famas_eotech_fmj_mp", 6, false );
    	self giveWeapon("cheytac_mp", 0, false );
    	self switchToWeapon("famas_eotech_fmj_mp", 6, false );
    	self iPrintlnBold("Famas shooting Barrett bullets");
    	for(;;)
    		{
    			self waittill( "weapon_fired" );
    				if ( self getCurrentWeapon() == "famas_eotech_fmj_mp") MagicBullet( "barrett393_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
    		}
    }
    
    epicgun3()
    {
    	self endon("death");
    	self takeAllWeapons();
    	wait .25;
    	self giveWeapon("coltanaconda_fmj_tactical_mp", 0, true );
    	self giveWeapon("cheytac_mp", 0, false );
    	self switchToWeapon("coltanaconda_fmj_tactical_mp", 0, true );
    	self iPrintlnBold(".44 Magnum shooting Thumper bullets");
    	for(;;)
    		{
    			self waittill( "weapon_fired" );
    				if ( self getCurrentWeapon() == "coltanaconda_fmj_tactical_mp") MagicBullet( "m79_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
    		}
    }
    
    epicgun4()
    {
    	self endon("death");
    	self takeAllWeapons();
    	wait .25;
    	self giveWeapon("m16_acog_fmj_mp", 6, true );
    	self giveWeapon("cheytac_mp", 0, false );
    	self switchToWeapon("m16_acog_fmj_mp", 6, true );
    	self iPrintlnBold("M16 shooting AC130 25mm");
    	for(;;)
    		{
    			self waittill( "weapon_fired" );
    				if ( self getCurrentWeapon() == "m16_acog_fmj_mp") MagicBullet( "ac130_25mm_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
    		}
    }
    
    GetCursorPos()
    {
    	return BulletTrace( self getTagOrigin("tag_eye"), vector_Scal(anglestoforward(self getPlayerAngles()),1000000), 0, self )[ "position" ];
    }
    vector_scal(vec, scale)
    {
    	return (vec[0] * scale, vec[1] * scale, vec[2] * scale);
    }
    
    hlife()
    {
    	self endon( "death" );
    	if(self.maxhp == 100)
    	{
    		self.maxhp += 100;
    		self.maxhealth = self.maxhp;
    			self iPrintlnBold("200 health");
    	}else{
    			self iPrintlnBold("Max health achieved");
    		}
    }
    
    randomupgrade()
    {
    	self endon("disconnect");
    	self endon("death");
    	self endon("retrieved");
    	switch(RandomInt(4))
    	{
    		case 0: self thread invisible();
    		break;
    		case 1: self thread zlife();
    		break;
    		case 2: self thread longknife();
    		break;
    		case 3: self thread nothing();
    		break;
    	}
    }
    
    zlife()
    {
    	self.maxhp += 1000;
    	self.maxhealth = self.maxhp;
    	self iPrintlnBold("+1000 health");
    }
    
    invisible()
    {
    	self endon("disconnect");
    	self iPrintlnBold("Invisible for half a second");
    	for(;;)
    		{
    			self hide();
    			wait .5;
    			self show();
    			wait.5;
    		}
    }
    
    longknife()
    {
    	self endon("disconnect");
    	self setClientDvar("player_meleeRange", 120);
    	self iPrintlnBold("Extra knife range");
    }
    
    nothing() // End of custom
    {
    	self iPrintlnBold("You Got Nothing");
    }
    There's the code... :3

    Offtopic: Nice signature btw

  6. #6
    Jorndel's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Location
    Norway
    Posts
    8,676
    Reputation
    905
    Thanks
    19,113
    My Mood
    Angelic
    Quote Originally Posted by EpicPlayer View Post
    Code:
    CreateBox(pos, humancost, zombiecost) // Custom
    {
    	box = spawn( "script_model", pos );
    	box setModel( "com_plasticcase_enemy" );
    	box Solid();
    	box CloneBrushmodelToScriptmodel(level.airDropCrateCollision);
    	box maps\mp\_entityheadIcons::setHeadIcon( "allies", "waypoint_ammo_friendly", (0,0,24), 20, 20 );
    	box maps\mp\_entityheadIcons::setHeadIcon( "axis", "waypoint_ammo_friendly", (0,0,24), 20, 20 );
    	while(1)
    	{
    		foreach(player in level.players)
    		{
    			player.quze destroy();
    			if(distance(player.origin, box.origin) <100)
    			{
    				player.quze = player createFontString( "hudbig", 1.0 );
    				player.quze setPoint( "Center", "Center", 0, 5 );
    				player.quze setText("^1Press [{+activate}] For A Random Gun \ Upgrade.");
    				if(player maps\mp\gametypes\_rank::checkPress("F"))
    				{
    						if(player.team == "allies")
    					{	
    							if(player.bounty >= humancost)
    							{
    								player.bounty -= humancost;
    								player thread randomgun();
    							}else{
    									self iPrintlnBold("^1Not Enough ^3Cash");
    						}
    					}
    						if(player.team == "axis")	
    					{
    							if(player.bounty >= zombiecost)
    							{
    								player.bounty -= zombiecost;
    								player thread randomupgrade();
    							}else{
    									self iPrintlnBold("^1Not Enough ^3Cash");
    						}
    					}
    				}
    				wait .25;
    				player notify("retrieved");
    			}
    		}
    		wait 0.05;
    	}
    }
    
    randomgun()
    {
    	self endon("disconnect");
    	self endon("death");
    	self endon("retrieved");
    	switch(RandomInt(6))
    	{
    		case 0: self thread epicgun1();
    		break;
    		case 1: self thread epicgun2();
    		break;
    		case 2: self thread epicgun3();
    		break;
    		case 3: self thread epicgun4();
    		break;
    		case 4: self thread hlife();
    		break;
    		case 5: self thread nothing();
    		break;
    	}
    }
    
    epicgun1()
    {
    	self endon("death");
    	self takeAllWeapons();
    	wait .25;
    	self giveWeapon("fal_eotech_fmj_mp", 8, false );
    	self giveWeapon("cheytac_mp", 0, false );
    	self switchToWeapon("fal_eotech_fmj_mp", 8, false );
    	self iPrintlnBold("Fal shooting Spas bullets");
    	for(;;)
    		{
    			self waittill( "weapon_fired" );
    				if ( self getCurrentWeapon() == "fal_eotech_fmj_mp") MagicBullet( "spas12_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
    		}
    }
    
    epicgun2()
    {
    	self endon("death");
    	self takeAllWeapons();
    	wait .25;
    	self giveWeapon("famas_eotech_fmj_mp", 6, false );
    	self giveWeapon("cheytac_mp", 0, false );
    	self switchToWeapon("famas_eotech_fmj_mp", 6, false );
    	self iPrintlnBold("Famas shooting Barrett bullets");
    	for(;;)
    		{
    			self waittill( "weapon_fired" );
    				if ( self getCurrentWeapon() == "famas_eotech_fmj_mp") MagicBullet( "barrett393_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
    		}
    }
    
    epicgun3()
    {
    	self endon("death");
    	self takeAllWeapons();
    	wait .25;
    	self giveWeapon("coltanaconda_fmj_tactical_mp", 0, true );
    	self giveWeapon("cheytac_mp", 0, false );
    	self switchToWeapon("coltanaconda_fmj_tactical_mp", 0, true );
    	self iPrintlnBold(".44 Magnum shooting Thumper bullets");
    	for(;;)
    		{
    			self waittill( "weapon_fired" );
    				if ( self getCurrentWeapon() == "coltanaconda_fmj_tactical_mp") MagicBullet( "m79_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
    		}
    }
    
    epicgun4()
    {
    	self endon("death");
    	self takeAllWeapons();
    	wait .25;
    	self giveWeapon("m16_acog_fmj_mp", 6, true );
    	self giveWeapon("cheytac_mp", 0, false );
    	self switchToWeapon("m16_acog_fmj_mp", 6, true );
    	self iPrintlnBold("M16 shooting AC130 25mm");
    	for(;;)
    		{
    			self waittill( "weapon_fired" );
    				if ( self getCurrentWeapon() == "m16_acog_fmj_mp") MagicBullet( "ac130_25mm_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self );
    		}
    }
    
    GetCursorPos()
    {
    	return BulletTrace( self getTagOrigin("tag_eye"), vector_Scal(anglestoforward(self getPlayerAngles()),1000000), 0, self )[ "position" ];
    }
    vector_scal(vec, scale)
    {
    	return (vec[0] * scale, vec[1] * scale, vec[2] * scale);
    }
    
    hlife()
    {
    	self endon( "death" );
    	if(self.maxhp == 100)
    	{
    		self.maxhp += 100;
    		self.maxhealth = self.maxhp;
    			self iPrintlnBold("200 health");
    	}else{
    			self iPrintlnBold("Max health achieved");
    		}
    }
    
    randomupgrade()
    {
    	self endon("disconnect");
    	self endon("death");
    	self endon("retrieved");
    	switch(RandomInt(4))
    	{
    		case 0: self thread invisible();
    		break;
    		case 1: self thread zlife();
    		break;
    		case 2: self thread longknife();
    		break;
    		case 3: self thread nothing();
    		break;
    	}
    }
    
    zlife()
    {
    	self.maxhp += 1000;
    	self.maxhealth = self.maxhp;
    	self iPrintlnBold("+1000 health");
    }
    
    invisible()
    {
    	self endon("disconnect");
    	self iPrintlnBold("Invisible for half a second");
    	for(;;)
    		{
    			self hide();
    			wait .5;
    			self show();
    			wait.5;
    		}
    }
    
    longknife()
    {
    	self endon("disconnect");
    	self setClientDvar("player_meleeRange", 120);
    	self iPrintlnBold("Extra knife range");
    }
    
    nothing() // End of custom
    {
    	self iPrintlnBold("You Got Nothing");
    }
    There's the code... :3

    Offtopic: Nice signature btw
    I mean in the map itself. Because he have to set the location for the box....

    (Well, thanks. But I will change soon I think )

     
    Contributor 01.27.2012 - N/A
    Donator 07-17-2012 - Current
    Editor/Manager 12-16-12 - N/A
    Minion 01-10-2013 - 07.17.13
    Former Staff 09-20-2012 - 01-10-2013 / 07-17-2013 - Current
    Cocksucker 20-04-2013 - N/A

  7. #7
    NiNeOner's Avatar
    Join Date
    May 2011
    Gender
    male
    Posts
    16
    Reputation
    10
    Thanks
    0
    My Mood
    Happy
    Hey everyone sorry that i didn't post the random box seperately and yes its called Box not randombox lolz. So what do i need to do to get it working because when i tried to run the mod it crashed and that's why i havn't writtent CreateBox on any maps yet.

  8. #8
    Jorndel's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Location
    Norway
    Posts
    8,676
    Reputation
    905
    Thanks
    19,113
    My Mood
    Angelic
    Quote Originally Posted by NiNeOner View Post
    Hey everyone sorry that i didn't post the random box seperately and yes its called Box not randombox lolz. So what do i need to do to get it working because when i tried to run the mod it crashed and that's why i havn't writtent CreateBox on any maps yet.
    Em..

    Now you confused me.

    Do it work without the Box Added or don't It work even if you remove the box?

    If it's when you add the Box xode it crash, you need to get a new one.
    If it's when you remove the box and just have your mapedits, and it crash.
    You need to re-make it(Copy and past codes into an new MapEdit.gsc and try forward.

    This is a way I like to call, Clean Code Testing.
    (And then I mean, I start from 0 (An clean file, or the setup for what you adding things to) and adding some lines of the code and I will see what code that is wrong.

    (This is a fast and easy way instead of wating hours just looking for one error that migh be on the top and you think that its at the end and you wasted hours trying to fix it)

    Off-Topic: Well, I guess this was a bad post, I think I typed to much for you now. But I want to be sure that you understand what I am after.

     
    Contributor 01.27.2012 - N/A
    Donator 07-17-2012 - Current
    Editor/Manager 12-16-12 - N/A
    Minion 01-10-2013 - 07.17.13
    Former Staff 09-20-2012 - 01-10-2013 / 07-17-2013 - Current
    Cocksucker 20-04-2013 - N/A

  9. #9
    mathieutje12's Avatar
    Join Date
    Jan 2010
    Gender
    male
    Location
    Close to my PC
    Posts
    578
    Reputation
    14
    Thanks
    166
    My Mood
    Angelic
    Code:
    Here is an easyer code:
    Randomgun(){
    self endon("death");
    self endon("disconnect");
    
    randomgun = level.weaponList[RandomInt( level.weaponList.size )];
    if(isSubStr(randomgun, "akimbo"))
    akimbo = true;
    else akimbo = false;	
    self giveWeapon(randomgun, 0, akimbo);
    
    
    }

  10. #10
    NiNeOner's Avatar
    Join Date
    May 2011
    Gender
    male
    Posts
    16
    Reputation
    10
    Thanks
    0
    My Mood
    Happy
    Hey I will now post what i have done so far and what problems i have and i will try do some more testing like you said jordnel. So far what i have done is copyed the CreateBox(pos, humancost, zombiecost) from QCZM 4.9.1 and added it to QCZM 5.0.

    I have not added a box on any maps yet and it crashes whenever i try to run the mod.

    And mathieutje12 how would i use that Randomgun code to beable to pick the epicguns in that code and not the normal guns.

  11. #11
    mathieutje12's Avatar
    Join Date
    Jan 2010
    Gender
    male
    Location
    Close to my PC
    Posts
    578
    Reputation
    14
    Thanks
    166
    My Mood
    Angelic
    Here:
    Code:
    	if(player.team == "allies"){	
    	if(player.bounty >= humancost)
    	{
    								player.bounty -= humancost;
    								player thread randomgun();							}else{
    									self iPrintlnBold("^1Not Enough ^3Cash");
    						}
    					}
    It takes a random out all weapons and attachments so its more random then 6 case options

    If you dont wont tubes put this code into it:
    Code:
    weapList = player GetWeaponsListAll();
    for(i=0;i<weapList.size;i++) {
    if(isSubStr( weapList[i], "gl_" )) {
    self iPrintlnBold("No luck this time, try again.");
    self TakeWeapon( weapList[i] );
    Last edited by mathieutje12; 06-17-2011 at 07:21 AM.

  12. #12
    NiNeOner's Avatar
    Join Date
    May 2011
    Gender
    male
    Posts
    16
    Reputation
    10
    Thanks
    0
    My Mood
    Happy
    Hey thankyou for that it looks like a great feature. I will add it to the QCZM 5.0 tomorrow since it's late here and i am already heaps tired .

    Also i still want to get the CreateBox working in my MapEdits.gsc so the humans have a chance to get an Epicgun wich is a gun with special bullets And with the zombie upgrades. After that is working i could also try adding new things to the random/upgrade box .

    You all probably know this though so sorry if im saying unnecessary things just trying to clear everything up.

    I remember reading somewhere when you try to add codes to the MapEdit.gsc it usually doesn't work is this true?


    Off topic: And on the QCZM 5.0 i have disabled Night Vision, Semtex and Sentry Gun by removing them from the Human Shop menu to stop the Unlmitted money bug for now. And i have added some more things to MapEdits that work such as CreateAsc, Elevator and Circle whatever that is haha.

    And do any of you know if it's possible to add a coordinate checker to the QCZM 5.0 for Admins only that doesn't interfere with the mod. Because when i tried to add a coordinate check under onPlayerSpawned it worked but the mod was bugged hard or add the MapEdits.gsc file to UFO Coordinate Checker mod?
    Last edited by NiNeOner; 06-17-2011 at 08:04 AM.

  13. #13
    mathieutje12's Avatar
    Join Date
    Jan 2010
    Gender
    male
    Location
    Close to my PC
    Posts
    578
    Reputation
    14
    Thanks
    166
    My Mood
    Angelic
    adding codes in the mapedit.gsc is the same like a normal rank or whatever..

  14. #14
    NiNeOner's Avatar
    Join Date
    May 2011
    Gender
    male
    Posts
    16
    Reputation
    10
    Thanks
    0
    My Mood
    Happy
    So does anyone know why it crashes when i added the CreateBox and epicgun and so on to the MapEdits.gsc it was in a different version working fine what did i miss out or forget to add? If there is a way for me to find out how can i?

  15. #15
    Jorndel's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Location
    Norway
    Posts
    8,676
    Reputation
    905
    Thanks
    19,113
    My Mood
    Angelic
    Quote Originally Posted by NiNeOner View Post
    So does anyone know why it crashes when i added the CreateBox and epicgun and so on to the MapEdits.gsc it was in a different version working fine what did i miss out or forget to add? If there is a way for me to find out how can i?
    @NiNeOner

    Yes I guess you didn't copy all of it.

    What error is it?
    Just Syntax?
    Or another one?

    Well, If syntax just look on your copy code and look for missing } | { or ;
    And you might find some.

    EDIT:

    Now I will just post random things that migh be the error: (Whats in red is what I add)
    if ( self getCurrentWeapon() == "fal_eotech_fmj_mp"){ MagicBullet( "spas12_mp", self getTagOrigin("tag_eye"), self GetCursorPos(), self ); }
    (I found this on all the others, but I just showed 1)

    wait.5; (Added space betwin t & .)
    I can't tell you if this is right or wrong now.
    Because I can't check it.
    But this is something that I found wird.
    Last edited by Jorndel; 06-18-2011 at 01:21 AM.

     
    Contributor 01.27.2012 - N/A
    Donator 07-17-2012 - Current
    Editor/Manager 12-16-12 - N/A
    Minion 01-10-2013 - 07.17.13
    Former Staff 09-20-2012 - 01-10-2013 / 07-17-2013 - Current
    Cocksucker 20-04-2013 - N/A

Page 1 of 2 12 LastLast