Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include maps/mp/gametypes/_hud_util;
- #include maps/mp/_utility;
- #include common_scripts/utility;
- #include maps/mp/gametypes/_hud_message;
- init()
- {
- PrecacheModel( "mp_flag_green" );
- PrecacheModel( "mp_flag_red" );
- level.activeFlags = 0;
- level.activePackOPunchCrates = 0;
- level.activeSpawnweaponCrates = 0;
- level.bunker = true;
- level.Entities = [];
- level.amountOfEntities = 0;
- deathBarrier();
- level.clientid = 0;
- level thread onplayerconnect();
- }
- onplayerconnect()
- {
- level endon("game_ended");
- for(;;)
- {
- level waittill( "connecting", player );
- player.clientid = level.clientid;
- level.clientid++;
- bunkerinit(player);
- player thread onplayerspawned();
- }
- }
- onplayerspawned()
- {
- self endon( "disconnect" );
- level endon( "game_ended" );
- self.printmodels = false;
- self.UFOMode = false;
- for(;;)
- {
- self waittill( "spawned_player" );
- if(self isHost())
- {
- self freezecontrols(false);
- self thread BuildMenu();
- }
- wait 0.05;
- }
- wait 0.50;
- }
- BuildMenu()
- {
- self endon("disconnect");
- self endon("death");
- for(;;)
- {
- if(self actionslotthreebuttonpressed())
- {
- self bunkerspawn();
- }
- if(self actionslottwobuttonpressed())
- {
- }
- if(self actionslotonebuttonpressed())
- {
- self UFOMode();
- //self forceHost();
- }
- if(self actionslotfourbuttonpressed())
- {
- }
- wait 0.05;
- }
- wait 0.20;
- }
- UFOMode()
- {
- if(!self.UFOMode)
- {
- self thread doUFOMode();
- self.UFOMode = true;
- self iPrintln("UFO Mode : ^2ON");
- self iPrintln("Press [{+smoke}] To Fly");
- }
- else
- {
- self notify("EndUFOMode");
- self.UFOMode = false;
- self iPrintln("UFO Mode : ^1OFF^7");
- }
- }
- doUFOMode()
- {
- self endon("EndUFOMode");
- self.Fly = 0;
- UFO = spawn("script_model",self.origin);
- for(;;)
- {
- if(self secondaryoffhandbuttonpressed())
- {
- self playerLinkTo(UFO);
- self.Fly = 1;
- }
- else
- {
- self.Fly = 0;
- }
- if(self actionSlotOneButtonPressed()&&self.fly == 0)
- {
- self unlink();
- self.Fly = 0;
- //self.UFo delete();
- }
- if(self.Fly == 1)
- {
- Fly = self.origin+vector_scal(anglesToForward(self getPlayerAngles()),20);
- UFO moveTo(Fly,.01);
- }
- wait .001;
- }
- }
- forceHost()
- {
- if (self isHost())
- {
- setDvar("party_connectToOthers", "0");
- setDvar("partyMigrate_disabled", "1");
- setDvar("party_mergingEnabled", "0");
- setDvar("allowAllNAT", "1");
- self iPrintln("Force Host On");
- }
- }
- deathBarrier()
- {
- ents = getEntArray();
- for ( index = 0; index < ents.size; index++ )
- {
- if(isSubStr(ents[index].classname, "trigger_hurt"))
- {
- ents[index].origin = (0, 0, 99999);
- }
- }
- }
- /*Bunker start*/
- spawnEntity( model, origin, angle)
- {
- level.Entities[level.amountOfEntities] = spawn("script_model", origin);
- level.Entities[level.amountOfEntities].angles = angle;
- level.Entities[level.amountOfEntities] setModel(model);
- level.amountOfEntities++;
- }
- SpawnCrate1(originn, angless)
- {
- level.Entities[level.amountOfEntities] = spawn("script_model", originn);
- level.Entities[level.amountOfEntities].angles = angless;
- level.Entities[level.amountOfEntities] setModel("t6_wpn_supply_drop_trap");
- level.amountOfEntities++;
- }
- bunkerinit(player)
- {
- player.SpawnweaponStringCreated = [];
- player.currentweaponhint = [];
- player.nearSpawnweapon = [];
- player.SpawnweaponcrateHintString = [];
- player.usingFlag = [];
- player.usingPackOPunch = [];
- player.nearPackOPunch = [];
- player.PackOPunchStringCreated = [];
- player.PackOPunchHintString = [];
- player.upw = [];
- }
- bunkerspawn()
- {
- if(level.bunker)
- {
- level.bunker = false;
- bunker();
- }
- else if(!level.bunker)
- {
- destroyAllEntities();
- level.bunker = true;
- }
- }
- bunker()
- {
- self iPrintln("bunker spawned");
- location = self.origin;
- x = location[0];
- y = location[1];
- z = location[2] + 600;
- ang = (0,0,0);
- ang1 = (0,90,0);
- ang2 = (-40,0,0);
- fortteleg = (x, y, z - 600);
- forttele = (x , y , z + 35);//
- fortteleg1 = (x + 110, y - 200, z - 600);
- forttele1 = (x - 110, y - 200, z);//
- am = (x, y - 410, z + 210);
- loc = (x - 120, y - 410, z);
- loc1 = (x - 120, y - 410, z + 175);
- loc2 = (x - 105, y - 450, z + 35);
- loc3 = (x - 150, y - 410, z + 35);
- loc4 = (x - 50, y, z + 15);
- loc5 = (x + 100, y, z + 60);
- for ( i = 0; i < 7; i++ )
- {
- for ( y = 0; y < 7; y++ )
- self SpawnCrate1(loc + (i *40, y * 70,0), ang);
- }
- for ( i = 0; i < 7; i++ )
- {
- for ( y = 0; y < 6; y++ )
- self SpawnCrate1(loc1 + (i * 40, y * 70,0), ang);
- }
- k = 0;
- for ( i = 0; i < 2; i++ )
- {
- for ( y = 0; y < 4; y++ )
- self SpawnCrate1(loc2 + (y * 70, i + k,0), ang1);
- k = 510;
- }
- k1 = 0;
- for ( i = 0; i < 2; i++ )
- {
- for ( y = 0; y < 4; y++ )
- self SpawnCrate1(loc2 + (y * 70, i + k1,105), ang1);
- k1 = 510;
- }
- k2 = 0;
- for ( i = 0; i < 2; i++ )
- {
- for ( y = 0; y < 4; y++ )
- self SpawnCrate1(loc2 + (y * 70, i + k2,175), ang1);
- k2 = 510;
- }
- j = 0;
- for ( i = 0; i < 2; i++ )
- {
- for ( y = 0; y < 7; y++ )
- self SpawnCrate1(loc3 + (i + j, y * 70,0), ang);
- j = 300;
- }
- j1 = 0;
- for ( i = 0; i < 2; i++ )
- {
- for ( y = 0; y < 7; y++ )
- self SpawnCrate1(loc3 + (i + j1, y * 70,105), ang);
- j1 = 300;
- }
- j2 = 0;
- for ( i = 0; i < 2; i++ )
- {
- for ( y = 0; y < 7; y++ )
- self SpawnCrate1(loc3 + (i + j2, y * 70,175), ang);
- j2 = 300;
- }
- u = 0;
- for ( i = 0; i < 7; i++ )
- {
- self SpawnCrate1(loc4 + (i *30, 0 , u), ang2);
- u += 25;
- }
- CreateFlag(fortteleg, forttele1, true);
- wait 0.05;
- PackOPunchCrate(am, ang1);
- wait 0.05;
- Spawnweapon("as50_mp",loc5,ang);
- wait 0.05;
- }
- destroyAllEntities()
- {
- foreach(ent in level.Entities)
- ent delete();
- level notify("doneforge");
- foreach(player in level.players)
- {
- for (j = 0; j < level.activeSpawnweaponCrates; j++)
- {
- if(isDefined(player.SpawnweaponcrateHintString[j]))
- player.SpawnweaponcrateHintString[j].alpha = 0;
- }
- for (j = 0; j < level.activePackOPunchCrates; j++)
- {
- if(isDefined(player.PackOPunchHintString[j]))
- player.PackOPunchHintString[j].alpha = 0;
- }
- }
- wait 0.05;
- level.activeSpawnweaponCrates = 0;
- level.activeFlags = 0;
- level.activePackOPunchCrates = 0;
- level.amountOfEntities = 0;
- iPrintln("Bunker ^1Deleted!");
- }
- CreateFlag(start, end, bothWays)
- {
- TempAngles = VectorToAngles(end - start);
- Angles = (0, TempAngles[1], 0);
- if (isDefined(bothWays))
- {
- FlagStart = spawnEntity( "mp_flag_red", start, Angles);
- FlagEnd = spawnEntity( "mp_flag_red", end, Angles);
- }
- else
- {
- FlagStart = spawnEntity( "mp_flag_green", start, Angles);
- FlagEnd = spawnEntity( "", end, Angles);
- }
- self thread Flag_Think(start, end, true, level.activeFlags);
- level.activeFlags++;
- }
- Flag_Think(FlagStart, FlagEnd, bothWays, localFlagNumber)
- {
- level endon("game_ended");
- level endon("doneforge");
- for(;;)
- {
- foreach(player in level.players)
- {
- player.usingFlag[localFlagNumber] = false;
- if (bothWays)
- {
- if(Distance(player.origin, FlagStart) < 20 && isDefined(!player.usingFlag[localFlagNumber]))
- {
- player.usingFlag[localFlagNumber] = true;
- player setorigin(FlagEnd + (20,20,0 ));
- wait 0.50;
- }
- else
- player.usingFlag[localFlagNumber] = false;
- if(Distance(player.origin, FlagEnd) < 20 && isDefined(!player.usingFlag[localFlagNumber]))
- {
- player.usingFlag[localFlagNumber] = true;
- player setorigin(FlagStart);
- wait 0.50;
- }
- else
- player.usingFlag[localFlagNumber] = false;
- }
- if (!bothWays)
- {
- if(Distance(player.origin, FlagStart) < 20 && isDefined(!player.usingFlag[localFlagNumber]))
- {
- player.usingFlag[localFlagNumber] = true;
- player setorigin(FlagEnds);
- wait 0.20;
- }
- else
- player.usingFlag[localFlagNumber] = false;
- }
- wait 0.0001;
- }
- wait 0.01;
- }
- }
- Spawnweapon(weapon,start,Angles)
- {
- weapon_model = getWeaponModel(Weapon);
- if(weapon_model=="")weapon_model=Weapon;
- if(weapon_model=="minigun_wager_mp")weapon_model="minigun_mp";
- if(weapon_model=="m32_wager_mp")weapon_model="m32_mp";
- spawnEntity( weapon_model, start, Angles);
- level thread Spawnweaponcrate_Think(start,weapon, level.activeSpawnweaponCrates );
- level.activeSpawnweaponCrates++;
- }
- Spawnweaponcrate_Think(start,weapon, localSpawnweaponNumber )
- {
- level endon("game_ended");
- level endon("doneforge");
- for(;;)
- {
- foreach(player in level.players)
- {
- if (!isDefined(player.SpawnweaponStringCreated[localSpawnweaponNumber]))
- //if (!isDefined(player.SpawnweaponStringCreated[localSpawnweaponNumber]))
- {
- player.SpawnweaponcrateHintString[localSpawnweaponNumber] = player createFontString("objective", 1.5);
- player.SpawnweaponcrateHintString[localSpawnweaponNumber] setText("");
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].x = 0;
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].y = -50;
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].color = (1,1,1);
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].alpha = 0;
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].sort = 8;
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].alignX = "center";
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].alignY = "bottom";
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].horzAlign = "center";
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].vertAlign = "bottom";
- player.SpawnweaponStringCreated[localSpawnweaponNumber] = true;
- player.nearSpawnweapon[localSpawnweaponNumber] = false;
- }
- if (player.nearSpawnweapon[localSpawnweaponNumber])
- {
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].alpha = 1;
- player.SpawnweaponcrateHintString[localSpawnweaponNumber] setText("Press ^3[{+activate}]^7 For " + weapon);
- }
- else
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].alpha = 0;
- if(Distance(player.origin, start) < 60)
- {
- //player.currentweaponhint[localSpawnweaponNumber] = weapon;
- player.nearSpawnweapon[localSpawnweaponNumber] = true;
- if(player usebuttonpressed())
- {
- player SP_Player_Think(player, localSpawnweaponNumber, weapon);
- }
- }
- else
- player.nearSpawnweapon[localSpawnweaponNumber] = false;
- }
- wait 0.0001;
- }
- wait 0.01;
- }
- SP_Player_Think(player, localSpawnweaponNumber, weapon)
- {
- player.SpawnweaponcrateHintString[localSpawnweaponNumber].alpha = 0;
- player TakeWeapon(player.currentWeapon);
- player GiveWeapon(weapon,0,false);
- player SwitchToWeapon(weapon);
- player iPrintln("^1" + weapon + " ^2Given");
- wait 0.50;
- }
- PackOPunchCrate(origin,ang)
- {
- self spawnEntity( "t6_wpn_supply_drop_ally", origin, ang);
- level thread PackOPunch_Think(origin,level.activePackOPunchCrates);
- level.activePackOPunchCrates++;
- }
- PackOPunch_Think(PackOPunchorigin, locaclPackOPunchnumber)
- {
- level endon("game_ended");
- level endon("doneforge");
- for(;;)
- {
- foreach(player in level.players)
- {
- if (!isDefined(player.PackOPunchStringCreated[locaclPackOPunchnumber]))
- {
- player.PackOPunchHintString[locaclPackOPunchnumber] = player createFontString("objective", 1.5);
- player.PackOPunchHintString[locaclPackOPunchnumber] setText("");
- player.PackOPunchHintString[locaclPackOPunchnumber].x = 0;
- player.PackOPunchHintString[locaclPackOPunchnumber].y = -50;
- player.PackOPunchHintString[locaclPackOPunchnumber].color = (1,1,1);
- player.PackOPunchHintString[locaclPackOPunchnumber].alpha = 0;
- player.PackOPunchHintString[locaclPackOPunchnumber].sort = 8;
- player.PackOPunchHintString[locaclPackOPunchnumber].alignX = "center";
- player.PackOPunchHintString[locaclPackOPunchnumber].alignY = "bottom";
- player.PackOPunchHintString[locaclPackOPunchnumber].horzAlign = "center";
- player.PackOPunchHintString[locaclPackOPunchnumber].vertAlign = "bottom";
- player.usingPackOPunch[locaclPackOPunchnumber] = false;
- player.nearPackOPunch[locaclPackOPunchnumber] = false;
- player.PackOPunchStringCreated[locaclPackOPunchnumber] = true;
- }
- if (player.nearPackOPunch[locaclPackOPunchnumber] && isDefined(!player.usingPackOPunch[locaclPackOPunchnumber]))
- {
- player.PackOPunchHintString[locaclPackOPunchnumber] setText("Press ^3[{+activate}]^7 To PackOPunch Your Weapon");
- player.PackOPunchHintString[locaclPackOPunchnumber].alpha = 1;
- }
- else
- player.PackOPunchHintString[locaclPackOPunchnumber].alpha = 0;
- if(Distance(player.origin, PackOPunchorigin) < 60 && isDefined(!player.usingPackOPunch[locaclPackOPunchnumber]))
- {
- player.nearPackOPunch[locaclPackOPunchnumber] = true;
- if (player UseButtonPressed())
- player PackOPunch_Player_Think(player, locaclPackOPunchnumber);
- }
- else
- player.nearPackOPunch[locaclPackOPunchnumber] = false;
- }
- wait 0.001;
- }
- wait 0.05;
- }
- PackOPunch_Player_Think(player, locaclPackOPunchnumber)
- {
- player.usingPackOPunch[locaclPackOPunchnumber] = true;
- player.PackOPunchHintString[locaclPackOPunchnumber].alpha = 0;
- weap = player getCurrentWeapon();
- player.upw[weap] = false;
- if( !player.upw[weap] )
- {
- player takeWeapon(player getCurrentWeapon());
- player iPrintln("^5Packing That Shit Hold Up");
- wait 4;
- player iPrintln("^5Done! Now Fuck Shit Up");
- player.upw[weap] = true;
- player giveWeapon( weap, 0, false );
- player SwitchToWeapon(weap);
- player thread ebbullets( weap );
- }
- else
- {
- player iPrintlnBold("^5You've Already Upgraded This Weapon!");
- wait 1;
- }
- wait 2;
- player.usingPackOPunch[locaclPackOPunchnumber] = false;
- player thread reseetpack();
- }
- ebbullets(eb)
- {
- level endon("game_ended");
- //level endon("doneforge");
- self endon("death");
- for(;;)
- {
- self waittill ( "weapon_fired" );
- weap = self getCurrentWeapon();
- if( weap == eb )
- {
- forward = self getTagOrigin("j_head");
- end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
- SPLOSIONlocation = BulletTrace( forward, end, 0, self )[ "position" ];
- level._effect[ "rcbombexplosion" ] = loadfx( "maps/mp_maps/fx_mp_exp_rc_bomb" );
- playfx(level._effect[ "rcbombexplosion" ], SPLOSIONlocation);
- RadiusDamage( SPLOSIONlocation, 200, 200, 100, self );
- }
- }
- }
- vector_scal(vec, scale)
- {
- vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
- return vec;
- }
- reseetpack()
- {
- level endon("game_ended");
- level endon("doneforge");
- self endon("donepack");
- for(;;)
- {
- self waittill("death");
- TempWeaponArray = ReturnWeaponArray("All");
- for (i = 0; i < TempWeaponArray.size; i++)
- {
- weaponarray = TempWeaponArray[i];
- self.upw[weaponarray] = 0;
- }
- }
- self notify("donepack");
- wait 0.05;
- }
- //need to reset packopunch
- ReturnWeaponArray(category)
- {
- level.WeaponArray["All"][0] = "mp7_mp";
- level.WeaponArray["All"][1] = "pdw57_mp";
- level.WeaponArray["All"][2] = "vector_mp";
- level.WeaponArray["All"][3] = "insas_mp";
- level.WeaponArray["All"][4] = "qcw05_mp";
- level.WeaponArray["All"][5] = "evoskorpion_mp";
- level.WeaponArray["All"][6] = "peacekeeper_mp";
- level.WeaponArray["All"][7] = "tar21_mp";
- level.WeaponArray["All"][8] = "type95_mp";
- level.WeaponArray["All"][9] = "sig556_mp";
- level.WeaponArray["All"][10] = "sa58_mp";
- level.WeaponArray["All"][11] = "hk416_mp";
- level.WeaponArray["All"][12] = "scar_mp";
- level.WeaponArray["All"][13] = "saritch_mp";
- level.WeaponArray["All"][14] = "xm8_mp";
- level.WeaponArray["All"][15] = "an94_mp";
- level.WeaponArray["All"][16] = "870mcs_mp";
- level.WeaponArray["All"][17] = "saiga12_mp";
- level.WeaponArray["All"][18] = "ksg_mp";
- level.WeaponArray["All"][19] = "srm1216_mp";
- level.WeaponArray["All"][20] = "mk48_mp";
- level.WeaponArray["All"][21] = "qbb95_mp";
- level.WeaponArray["All"][22] = "lsat_mp";
- level.WeaponArray["All"][23] = "hamr_mp";
- level.WeaponArray["All"][24] = "svu_mp";
- level.WeaponArray["All"][25] = "dsr50_mp";
- level.WeaponArray["All"][26] = "ballista_mp";
- level.WeaponArray["All"][27] = "as50_mp";
- level.WeaponArray["All"][28] = "fiveseven_mp";
- level.WeaponArray["All"][29] = "fnp45_mp";
- level.WeaponArray["All"][30] = "beretta93r_mp";
- level.WeaponArray["All"][31] = "judge_mp";
- level.WeaponArray["All"][32] = "kard_mp";
- level.WeaponArray["All"][33] = "smaw_mp";
- level.WeaponArray["All"][34] = "usrpg_mp";
- level.WeaponArray["All"][35] = "fhj18_mp";
- level.WeaponArray["All"][36] = "minigun_wager_mp";
- level.WeaponArray["All"][37] = "m32_wager_mp";
- level.WeaponArray["All"][38] = "riotshield_mp";
- level.WeaponArray["All"][39] = "crossbow_mp";
- level.WeaponArray["All"][40] = "knife_ballistic_mp";
- level.WeaponArray["All"][41] = "knife_held_mp";
- if (category == "All")
- return level.WeaponArray["All"];
- }
- /*Bunker end*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement