Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #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()
- {
- for(i = 30; i > 0; i--)
- {
- level.TimerText destroy();
- level.TimerText = level createServerFontString( "objective", 1.5 );
- level.TimerText setPoint( "CENTER", "CENTER", 0, -100 );
- level.TimerText setText("^3Wait for the map to be created: " + 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"] );
- wait 0.01;
- flag = spawn( "script_model", exit );
- flag setModel( level.elevator_model["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);
- center thread DoorUse();
- 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;
- }
- 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;
- }
- }
- 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);
- }
- }
- wait .25;
- }
- }
- DoorThink(open, close)
- {
- while(1)
- {
- if(self.hp > 0){
- 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"){
- self.hp--;
- player iPrintlnBold("HIT");
- wait 1;
- continue;
- }
- }
- } else {
- if(self.state == "close"){
- self MoveTo(open, level.doorwait);
- }
- self.state = "broken";
- wait .5;
- }
- }
- }
- DoorUse(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";
- }
- if(self.state == "close"){
- player.hint = "Press ^3[{+activate}] ^7to ^2Open ^7the door";
- }
- if(self.state == "broken"){
- player.hint = "^1Door is Broken";
- }
- }
- 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 .045;
- }
- }
- 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();
- }
- roundUp( floatVal )
- {
- if ( int( floatVal ) != floatVal )
- return int( floatVal+1 );
- else
- return int( floatVal );
- }
- Afghan()
- {
- // Your Content here!
- }
- Derail()
- {
- // Your Content here!
- }
- Estate()
- {
- self thread Tank();
- }
- Tank(pos, angle)
- {
- tank = spawn("script_model", pos );
- tank setModel("vehicle_m1a1_abrams_dmg");
- tank.angles = angle;
- tank Solid();
- tank CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
- tank.headIcon = newHudElem();
- tank.headIcon.x = tank.origin[0];
- tank.headIcon.y = tank.origin[1];
- tank.headIcon.z = tank.origin[2] + 50;
- tank.headIcon.alpha = 0.85;
- tank.headIcon setShader( "cardicon_tank_01", 2,2 );
- tank.headIcon setWaypoint( true, true, false );
- trigger = spawn( "trigger_radius", pos, 0, 50, 50 );
- trigger.angles = angle;
- trigger thread TankThink(pos, angle);
- wait 0.01;
- }
- TankThink(pos, angle)
- {
- self endon("disconnect");
- tank = spawn("script_model", pos );
- tank setModel("vehicle_m1a1_abrams_dmg");
- tank.angles = angle;
- tank Solid();
- tank CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
- while(1)
- {
- self waittill( "trigger", player );
- if(player.tank != 1)
- if(Distance(pos, Player.origin) <= 75){
- Player setLowerMessage("activate", "Press ^3[{+activate}]^7 to Drive Tank [^31750^7]" );}
- if(Distance(pos, Player.origin) >50){
- Player ClearLowerMessage("activate", 1);}
- if(Distance(pos, Player.origin) <= 75 && player.tank != 1 && player.cash >= 1750 && player useButtonPressed())
- {
- player ClearLowerMessage("activate", 1);
- player.cash -= 1750;
- tank delete();
- player thread Tanker();
- wait 60;
- player thread Exitted();
- wait 1;
- }
- else if(Distance(pos, Player.origin) <= 75 && player.tank != 1 && player.cash <= 1750 && player useButtonPressed())
- {
- player iPrintln("You do not have enough points!");
- wait 1;
- }
- wait .25;
- }
- }
- Tanker()
- {
- self endon ("death");
- self endon ("exitTank");
- self setModel("vehicle_m1a1_abrams_dmg");
- self _clearPerks();
- self allowJump(false);
- self DisableWeaponSwitch();
- self _disableUsability();
- self.moveSpeedScaler = 0.6;
- self setClientDvar("cg_thirdPerson", 1);
- self setClientDvar("cg_thirdPersonRange", "1024");
- self thread TankAims();
- self thread Turret();
- self maps\mp\perks\_perks::givePerk("specialty_quieter");
- }
- TankAims()
- {
- self endon ( "disconnect" );
- self endon ( "death" );
- self endon ("exitTank");
- self notifyOnPlayerCommand("[{+toggleads_throw}]", "+toggleads_throw");
- while(1)
- {
- self takeAllWeapons();
- self waittill("[{+toggleads_throw}]");
- wait 0.3;
- self setClientDvar("cg_thirdPerson", 0);
- self giveWeapon("ac130_40mm_mp", 0, false);
- self switchToWeapon("ac130_40mm_mp");
- self waittill( "weapon_fired" );
- self playSound( "bmp_fire" );
- self setClientDvar("cg_thirdPerson", 1);
- self takeAllWeapons();
- self giveWeapon("ac130_40mm_mp", 0, false);
- self switchToWeapon("ac130_40mm_mp");
- wait 0.0005;
- }
- }
- Turret()
- {
- self endon ( "disconnect" );
- self endon ( "death" );
- self endon ("exitTank");
- self EnableLinkTo();
- self notifyOnPlayerCommand( "T", "+reload");
- for (;;)
- {
- self waittill( "T" );
- Turret = spawnTurret( "misc_turret", self.origin+(50,0,50), "pavelow_minigun_mp" );
- Turret LinkTo("self");
- Turret setModel( "weapon_minigun" );
- Turret.angles = self.angles;
- Turret MakeUsable();
- Turret useby(self);
- Turret EnableLinkTo();
- self PlayerLinkTo( Turret, 0.5 );
- wait 7;
- Turret delete();
- self Unlink(Turret);
- }
- }
- ChangeAppearance(Type,MyTeam)
- {
- ModelType=[];
- ModelType[0]="GHILLIE";
- ModelType[1]="SNIPER";
- ModelType[2]="LMG";
- ModelType[3]="ASSAULT";
- ModelType[4]="SHOTGUN";
- ModelType[5]="SMG";
- ModelType[6]="RIOT";
- if(Type==7){MyTeam=randomint(2);Type=randomint(7);}
- team=get_enemy_team(self.team);if(MyTeam)team=self.team;
- self detachAll();
- [[game[team+"_model"][ModelType[Type]]]]();
- }
- Exitted()
- {
- self thread ChangeAppearance(5,1);
- self setClientDvar("cg_thirdPerson", 0);
- self giveWeapon("ump45_mp");
- self giveWeapon("spas12_mp");
- self switchToWeapon("ump45_mp");
- self.moveSpeedScaler = 1;
- self allowJump(true);
- self allowSprint(true);
- self notify ("exitTank");
- }
- }
- Favela()
- {
- // Your Content here!
- }
- HighRise()
- {
- // Your Content here!
- }
- Invasion()
- {
- // Your Content here!
- }
- Karachi()
- {
- // Your Content here!
- }
- Quarry()
- {
- // Your Content here!
- }
- Rundown()
- {
- // Your Content here!
- }
- Rust()
- {
- // Your Content here!
- }
- Scrapyard()
- {
- // Your Content here!
- }
- Skidrow()
- {
- CreateElevator((-750, -1340, 136), (-737, -1751, 280), (0, 180, 0));
- CreateRamps((-1000, -1688, 260), (-888, -1688, 260));
- CreateElevator((-1089, -1774, 280), (-275, -1783, 448), (0, 270, 0));
- CreateElevator((-448, -2649, 448), (-190, -2400, 624), (0, 180, 0));
- CreateElevator((369, -2605, 624), (1480, 1174, 120), (0, 180, 0));
- CreateRamps((2215, 1020, 160), (2215, 1350, 160));
- CreateWalls((-2605, 1040, 68), (-2605, 1312, 290));
- CreateRamps((-2297, 1310, 115), (-2585, 1310, 220));
- CreateRamps((-2297, 1043, 115), (-2585, 1043, 220));
- CreateGrids((-2580, 1095, 225), (-2285, 1260, 225), (0, 0, 0));
- CreateDoors((-2280, 1173, 245), (-2280, 1173, 120), (90, 0, 0), 10, 2, 5, 50);
- CreateElevator((-2575, 1047, 100), (-1900, 1288, 465), (0, 0, 0));
- CreateElevator((-2575, 1304, 100), (-1900, 1065, 465), (0, 0, 0));
- CreateRamps((-1606, 377, 330), (-1430, 377, 417));
- CreateRamps((-1032, 244, 436), (-900, 244, 447));
- CreateElevator((-451, 753, 372), (336, 681, 576), (0, 180, 0));
- CreateRamps((-2008, 213, 322), (-1890, 213, 322));
- CreateRamps((-2008, 213, 190), (-1890, 213, 190));
- CreateRamps((-1132, 685, 440), (-1410, 685, 440));
- CreateRamps((625, 378, 615), (625, 266, 615));
- CreateRamps((-2585, 1250, 105), (-2365, 1250, 105));
- CreateRamps((-2585, 1105, 105), (-2365, 1105, 105));
- mgTurret1 = spawnTurret( "misc_turret", (102, 951, 620), "pavelow_minigun_mp" );
- mgTurret1 setModel( "weapon_minigun" );
- mgTurret1.angles = (0, 180, 0);
- mgTurret1 = spawnTurret( "misc_turret", (-1606, 1179, 565), "pavelow_minigun_mp" );
- mgTurret1 setModel( "weapon_minigun" );
- mgTurret1.angles = (0, 0, 0);
- }
- SubBase()
- {
- // Your Content here!
- }
- Terminal()
- {
- // Your Content here!
- }
- Underpass()
- {
- // Your Content here!
- }
- Wasteland()
- {
- // Your Content here!
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement