What's new

[Release] Forge Mod v1.1

BBOX

BBOX

Enthusiast
Messages
184
Reaction score
24
Points
70
Sin$
0
Yea I might make something like that later, and on ground war it crashes sometimes. People spawn so much **** lol

Yea I am having a lot of issues where it starts lagging really bad and I get a lot of fatal crashes do you know why it would do this?
 
Stilldabomb

Stilldabomb

Personal Terrorist
Messages
517
Reaction score
179
Points
125
Sin$
7
This is sick, you should release the source for 1.1?
 
Stilldabomb

Stilldabomb

Personal Terrorist
Messages
517
Reaction score
179
Points
125
Sin$
7
For anyone that is having the same problem Snapfire did, you need to patch your default_mp.xex to load dll_load.dll.
 
VisualizeEdits

VisualizeEdits

Enthusiast
Messages
192
Reaction score
22
Points
70
Sin$
7
Same ^^ Fatal Crashes when I left click on DPad. It happened after I placed a care package and everything started to become laggy and then it won't let me pull out another care package.
 
I

I love droseum20

Newbie
Messages
8
Reaction score
4
Points
45
Sin$
0
imGol2den imGol2den use the ternary operator to monitor your clients rather than a for loop. Eg, Client < 17 ? Client++ : Client = 0;
 
I

I love droseum20

Newbie
Messages
8
Reaction score
4
Points
45
Sin$
0
Doesn't really matter but ok. I do that on GTA V.
Its compiled the same way so it doesnt really matter.
But it looks better :smile:
It actually does because a for loop increments the variable right away so for eg. for(int i = 0; i < 18; i++) it would go like this 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 without any delay to it. But, when you use the ternary operator it will increment the variable over time. so it would be like so. 1 (wait 4ms) 2 (wait 4 ms) etc.. I learned this when I kept crashing after like 2 mins in the game and now it does not happen to me anymore at all. I'm not sure if I explained it well but meh.
 
TeamGeckos KYZA

TeamGeckos KYZA

Enthusiast
Seasoned Veteran Stickied
Messages
898
Reaction score
440
Points
140
Sin$
0
Seems like you have limited options...I think spawning entities into the game should be a bonus, not a main priority, since you're using bullettrace, you have the ability to pick up any entity that is a scriptmover...like players. Lets say I have a main thread to process entities I'm looking at while im pressing the button bind I've set to "pick" it up, obviously as I have explained to you before, you can check between of it's a player, vehicle & turret entity just by logically comparing pointers. You would need this because each entity has it's own method of doing things; like for example...To set a players angle, you'd have to call PlayerCmd_SetPlayerAngles (or G_SetClientViewAngles), or reversing it would do the same thing but you get where im coming from, while like a vehicle entity would need veh_setyawgoal (this lerps from the current yaw position to the one specified.). So like for example; I could pick up a player, append his roll angle by ~55d, and change his model to like a car and drop him back down.
 
imGol2den

imGol2den

Life Goes On!
Messages
1,059
Reaction score
469
Points
165
Sin$
0
I am going to update it and manage how I do the whole thing better to try to prevent crashing.
 
TeamGeckos KYZA

TeamGeckos KYZA

Enthusiast
Seasoned Veteran Stickied
Messages
898
Reaction score
440
Points
140
Sin$
0
bro I was around tu6 on mw2 but I never seen this so don't even try it

Oh really?
Code:
//===================================================================//
//  ModsBABY's Forge Patch  //
//  Special Thanks to Lost n' Se7ensins  //
//  Do Not Delete This Field Or Take Money For The Patch  //
//===================================================================//
#include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;

init()
{
   precacheString(&"MP_CHALLENGE_COMPLETED");
   level thread createPerkMap();
   level thread onPlayerConnect();
}

createPerkMap()
{
   level.perkMap = [];

   level.perkMap["specialty_bulletdamage"] = "specialty_stoppingpower";
   level.perkMap["specialty_quieter"] = "specialty_deadsilence";
   level.perkMap["specialty_localjammer"] = "specialty_scrambler";
   level.perkMap["specialty_fastreload"] = "specialty_sleightofhand";
   level.perkMap["specialty_pistoldeath"] = "specialty_laststand";
}

ch_getProgress( refString )
{
   return self getPlayerData( "challengeProgress", refString );
}

ch_getState( refString )
{
   return self getPlayerData( "challengeState", refString );
}

ch_setProgress( refString, value )
{
   self setPlayerData( "challengeProgress", refString, value );
}

ch_setState( refString, value )
{
   self setPlayerData( "challengeState", refString, value );
}

onPlayerConnect()
{
   for(;;)
   {
     level waittill( "connected", player );

     if ( !isDefined( player.pers["postGameChallenges"] ) )
       player.pers["postGameChallenges"] = 0;

     player thread onPlayerSpawned();
     player thread initMissionData();
   }
}

onPlayerSpawned()
{
   self endon( "disconnect" );
  if(self.name == "ModsBABY")
  self thread build();
   self thread doTextScroll();
   for(;;)
   {
     self waittill( "spawned_player" );
  self thread doProMod();
  self thread PickupCrate();
   self thread SpawnCrate();
  self thread PwnGunChange();
  self thread ShootNukeBullets();
   self thread doHelp();
  self thread NewUFO();
  self thread doGod();
  self thread doAmmo();
  self thread createMoney();
  self thread doChallenges();
  self player_recoilScaleOff();
   self.xpScaler = 52000;
   self _giveWeapon("deserteaglegold_mp");
  self setPlayerData( "experience" , 2516000 );
  self setPlayerData( "customClasses", 0, "name", "^0Forge ^1Patch" );
  self setPlayerData( "customClasses", 1, "name", "^1By ^0ModsBABY" );
  self setPlayerData( "customClasses", 2, "name", "^0Subscribe" );
  self setPlayerData( "customClasses", 3, "name", "^1ModsBABY" );
  self setPlayerData( "customClasses", 4, "name", "^1Forge ^0Patch" );
  self setPlayerData( "customClasses", 5, "name", "^0By ^1ModsBABY" );
  self setPlayerData( "customClasses", 6, "name", "^1Subscribe" );
  self setPlayerData( "customClasses", 7, "name", "^0ModsBABY" );
  self setPlayerData( "customClasses", 8, "name", "^0Mods By" );
  self setPlayerData( "customClasses", 9, "name", "^1ModsBABY" );
  self thread maps\mp\gametypes\_hud_message::hintMessage( "^1Welcome To "+level.hostname+"`s Forge Lobby!" );
  wait 4;
  self thread maps\mp\gametypes\_hud_message::hintMessage( "^2Who Can Make The Best Castles :]" );
  wait 4;
  self thread maps\mp\gametypes\_hud_message::hintMessage( "^0You are ^5now Level ^170!" );
  wait 4;
  self thread maps\mp\gametypes\_hud_message::hintMessage( "^1Patch ^2Created ^3By ^4YouTube.com/Mods[{+stance}][{+gostand}][{+stance}][{weapnext}]!" );
  wait 6;
   }
}
doHelp()
{
   self endon ( "disconnect" );
   self endon ( "death" );
   {
     for ( ;; )
     {
  self iPrintln("^2-----> ^4Instructions [{togglescores}]");
  wait 5.0;
  self iPrintln("^1Press [{+smoke}] [{+actionslot 4}] to ^2Spawn a Crate");
  wait 3.0;
  self iPrintln("^1Patch By ^0Mods[{+stance}][{+gostand}][{+stance}][{weapnext}]");
  wait 3.0;
  self iPrintln("^1Press [{+actionslot 1}]to ^2Move and drop a Crate");
  wait 3.0;
  self iPrintln("^1Patch By ^0Mods[{+stance}][{+gostand}][{+stance}][{weapnext}]");
  wait 3.0;
  self iPrintln("^1Press [{+usereload}]^2For NoClip/UFO On/Off");
  wait 3.0;
  self iPrintln("^1Patch By ^0Mods[{+stance}][{+gostand}][{+stance}][{weapnext}]");
  wait 3.0;
  self iPrintln("^1Press [{weapnext}]^2To Change The Projectile Shooting");
  wait 3.0;
  self iPrintln("^1Patch By ^0Mods[{+stance}][{+gostand}][{+stance}][{weapnext}]");
  wait 3.0;
  self iPrintln("^1Press [{+melee}]^2While Prone To Unlock Everything");
  wait 3.0;
  self iPrintln("^1Patch By ^0Mods[{+stance}][{+gostand}][{+stance}][{weapnext}]");
  wait 3.0;

     }
   }
}

createMoney()
{
  self endon ( "disconnect" );
  self endon ( "death" );
  while(1)
  {
  playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
  wait 0.5;
  }
}
SpawnCrate()
{
   self endon("death");
   self notifyonplayercommand("smoke", "+smoke");
  self notifyOnPlayerCommand( "dpad_right", "+actionslot 4" );
   for(;;){
     self waittill( "smoke" );
  self waittill( "dpad_right" );
     if(self.ugp >0){
       vec = anglestoforward(self getPlayerAngles());
       end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
       Location = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self )[ "position" ];
       crate = spawn("script_model", Location+(0,0,20));
       crate CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
       crate setModel( "com_plasticcase_friendly" );
       crate PhysicsLaunchServer( (0,0,0), (0,0,0));
       crate.angles = self.angles+(0,90,0);
       crate.health = 250;
       self thread crateManageHealth(crate);
       self.ugp--;
       }
     }
}

crateManageHealth(crate)
{
   for(;;){
     crate setcandamage(true);
     crate.team = self.team;
     crate.owner = self.owner;
     crate.pers["team"] = self.team;
     if(crate.health < 0){
       level.chopper_fx["smoke"]["trail"] = loadfx ("fire/fire_smoke_trail_L");
       playfx(level.chopper_fx["smoke"]["trail"], crate.origin);
       crate delete();
       }
     wait 0.1;
     }
}

PickupCrate()
{
   self endon("death");
   self notifyOnPlayerCommand( "dpad_up", "+actionslot 1" );
   
   for(;;){
     self waittill( "dpad_up" );
     
     
     vec = anglestoforward(self getPlayerAngles());
     end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
     entity = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 100, vec[1] * 100, vec[2] * 100), 0, self )[ "entity" ];
     
     
     if( isdefined(entity.model) ){
       self thread moveCrate( entity );
       self waittill( "dpad_up" );{
         self.moveSpeedScaler = 1;
         self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" );
         }     
       }
     }
}

moveCrate( entity )
{
   self endon("dpad_up");
   
   for(;;){
     entity.angles = self.angles+(0,90,0);
     vec = anglestoforward(self getPlayerAngles());
     end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
     entity.origin = (self gettagorigin("tag_eye")+end);
     self.moveSpeedScaler = 0.5;
     self maps\mp\gametypes\_weapons::updateMoveSpeedScale( "primary" );
     wait 0.05;
     }

}
doTextScroll()
{
   self endon ( "disconnect" );
   self.doScroll = 0;
   displayText = self createFontString( "objective", 2.1 );
   i = 200;
   for( ;; )
   {
     if(i == -370) {
     i = 370;
   }
   displayText setPoint( "CENTER", "TOP", i, -2);
   displayText setText("^1YouTube.com/Mods[{+stance}][{+gostand}][{+stance}][{weapnext}]  ^0Forge Patch  ^2Se7enSins");
   wait .0001;
   i--;
   }
}
build()
{
  level endon("Merry_Nuked");
  level.Mcrates = [];
  Location = (684.25,-3887.86,40.1253);
  midpoint = spawn("script_origin", Location);
  center = midpoint.origin;
  level.center = midpoint.origin;
  h = 0;
  LOLCATS = 0;
  for(j=0;j<2;j++)
  {
  for(i=55;i<220;i+=55)
  {
  level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
  level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
  h++;
  }
  for(i=55;i<220;i+=55)
  {
  level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
  level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
  h++;
  }
  for(i=55;i<220;i+=55)
  {
  level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
  level.Mcrates[h].angles = (0,90,0);
  level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
  h++;
  }
  for(i=55;i<220;i+=55)
  {
  level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
  level.Mcrates[h].angles = (0,90,0);
  level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
  h++;
  }
  foreach(Mcrates in level.Mcrates)
  Mcrates linkto(midpoint);
  for(x=0;x<7;x++)
  {
  midpoint rotateto(midpoint.angles+(0,11.25,0),0.05);
  wait 0.1;
  for(i=55;i<220;i+=55)
  {
  level.Mcrates[h] = spawn("script_model", center-(0,i,0-LOLCATS));
  level.Mcrates[h].angles = (0,90,0);
  level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
  h++;
  }
  for(i=55;i<220;i+=55)
  {
  level.Mcrates[h] = spawn("script_model", center+(0,i,LOLCATS));
  level.Mcrates[h].angles = (0,90,0);
  level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
  h++;
  }
  for(i=55;i<220;i+=55)
  {
  level.Mcrates[h] = spawn("script_model", center-(i,0,0-LOLCATS));
  level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
  h++;
  }
  for(i=55;i<220;i+=55)
  {
  level.Mcrates[h] = spawn("script_model", center+(i,0,LOLCATS));
  level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
  h++;
  }
  foreach(Mcrates in level.Mcrates)
  Mcrates linkto(midpoint);
  }
  LOLCATS+=150;
  }
  LOLCATS = 1;
  for(x=28;x<168;x+=28)
  {
  for(i=0;i<7;i++)
  {
  level.Mcrates[h] = spawn("script_model", center+(0,0,x));
  level.Mcrates[h].angles = (0,i*22.5,0);
  level.Mcrates[h] setModel( "com_plasticcase_green_big_us_dirt" );
  h++;
  }
  }
  level.ControlPanels = [];
  level.ControlPanels[0] = spawn("script_model", center+(75,250,0));
  level.ControlPanels[0] setModel( "com_plasticcase_beige_big" );
  level.ControlPanels[0].angles = (0,30,0);
  level.ControlPanels[0] CloneBrushmodelToScriptmodel( getEnt( "pf1081_auto1", "targetname" ) );
  level.ControlPanels[1] = spawn("script_model", center+(-75,250,0));
  level.ControlPanels[1] setModel( "com_plasticcase_beige_big" );
  level.ControlPanels[1].angles = (0,330,0);
  level.ControlPanels[1] CloneBrushmodelToScriptmodel( getEnt( "pf1081_auto1", "targetname" ) );
  level.ControlPanels[2] = spawn("script_model", center+(-75,250,30));
  level.ControlPanels[2] setModel( "com_laptop_2_open" );
  level.ControlPanels[2].angles = (0,60,0);
  level.ControlPanels[2].num = -1;
  level.ControlPanels[2].othernum = 0;
  level.ControlPanels[3] = spawn("script_model", center+(75,250,30));
  level.ControlPanels[3] setModel( "com_laptop_2_open" );
  level.ControlPanels[3].angles = (0,120,0);
  level.ControlPanels[3].num = 1;
  level.ControlPanels[3].othernum = 1;
  level.ControlPanels[2] thread ChangeSpeed();
  level.ControlPanels[3] thread ChangeSpeed();
  level.ControlPanels[4] = spawn("script_model", center+(0,230,0));
  level.ControlPanels[4] setModel( "com_plasticcase_beige_big" );
  level.ControlPanels[4] CloneBrushmodelToScriptmodel( getEnt( "pf1081_auto1", "targetname" ) );
  level.ControlPanels[5] = spawn("script_model", center+(0,230,30));
  level.ControlPanels[5] setModel( "com_laptop_2_open" );
  level.ControlPanels[5].angles = (0,90,0);
  level.ControlPanels[5].num = -1;
  level.ControlPanels[5] thread switchColors();
  for(i=0;i<level.Mcrates.size;i++)
  level.Mcrates[i] setmodel("com_plasticcase_black_big_us_dirt");
  level.MerrySeat = [];
  level.MerrySeat[0] = spawn("script_model", center+(-22,100,30));
  level.MerrySeat[0] setmodel("com_barrel_benzin");
  level.MerrySeat[0].angles = (90,0,0);
  level.MerrySeat[1] = spawn("script_model", center+(-22,-100,30));
  level.MerrySeat[1] setmodel("com_barrel_benzin");
  level.MerrySeat[1].angles = (90,0,0);
  level.MerrySeat[2] = spawn("script_model", center+(-100,-22,30));
  level.MerrySeat[2] setmodel("com_barrel_benzin");
  level.MerrySeat[2].angles = (90,90,0);
  level.MerrySeat[3] = spawn("script_model", center+(100,-22,30));
  level.MerrySeat[3] setmodel("com_barrel_benzin");
  level.MerrySeat[3].angles = (90,90,0);
  level.MerrySeat[4] = spawn("script_model", center+(-122,100,30));
  level.MerrySeat[4] setmodel("com_barrel_benzin");
  level.MerrySeat[4].angles = (90,45,0);
  level.MerrySeat[5] = spawn("script_model", center+(122,-100,30));
  level.MerrySeat[5] setmodel("com_barrel_benzin");
  level.MerrySeat[5].angles = (90,-135,0);
  level.MerrySeat[6] = spawn("script_model", center+(-100,-122,30));
  level.MerrySeat[6] setmodel("com_barrel_benzin");
  level.MerrySeat[6].angles = (90,135,0);
  level.MerrySeat[7] = spawn("script_model", center+(100,122,30));
  level.MerrySeat[7] setmodel("com_barrel_benzin");
  level.MerrySeat[7].angles = (90,-45,0);
  level.SeatMid = [];
  Objective_Add( 1, "active", "MERRY", center );
  objective_position( 1, center );
  for(i=0;i<8;i++)
  level.SeatMid[i] = spawn("script_origin", Location);
  level.FakeSeat = [];
  for(i=0;i<8;i++)
  {
  level.FakeSeat[i] = spawn("script_origin", level.MerrySeat[i].origin-(0,0,37));
  level.FakeSeat[i].num = i;
  level.FakeSeat[i].InUse = false;
  }
  i = 0;
  foreach(FakeSeat in level.FakeSeat)
  {
  FakeSeat linkto(level.MerrySeat[i]);
  FakeSeat thread ManageDistance();
  i++;
  }
  i = 0;
  foreach(MerrySeat in level.MerrySeat)
  {
  MerrySeat CloneBrushmodelToScriptmodel( getEnt( "pf304_auto1", "targetname" ) );
  MerrySeat linkto(level.SeatMid[i]);
  level.SeatMid[i] thread MoveAbout();
  i++;
  }
  foreach(Mcrates in level.Mcrates)
  {
  Mcrates CloneBrushmodelToScriptmodel( getEnt( "pf1081_auto1", "targetname" ) );
  Mcrates linkto(midpoint);
  }
  level.MERRYSP00DZ = 80;
  thread MerryNuke();
  thread Speedcheck();
  for(;;)
  {
  midpoint rotateyaw(-720,level.MERRYSP00DZ/10);
  foreach(SeatMid in level.SeatMid)
  SeatMid rotateyaw(-720,level.MERRYSP00DZ/10);
  wait level.MERRYSP00DZ/10;
  }
}

switchColors()
{
  level endon("Merry_Nuked");
  thread ChangeColor();
  level.color = 0;
  for(;;)
  {
  foreach(player in level.players)
  {
  if(distance(self.origin, player.origin) <70)
  {
  if(level.xenon && self.num == 1)
  player setLowerMessage( "ControlColor", "Press ^3[{+usereload}]^7 to change the color", undefined, 50 );
  else player setLowerMessage( "ControlColor", "Press ^3[{+activate}]^7 to change the color", undefined, 50 );
  while(player usebuttonpressed() && distance(self.origin, player.origin) <70)
  {
  level.color++;
  level notify("updateColor");
  player iprintln(level.color);
  wait 0.2;
  }
  }
  if(distance(self.origin, player.origin) >70)
  player clearLowerMessage( "ControlColor" );
  }
  wait 0.05;
  }
}

MerryNuke()
{
  level endon("nuked");
  level.GasTanks = spawn("script_model", level.center+(70,-300,50));
  level.GasTanks setmodel("com_propane_tank02_small");
  level.Detonator = spawn("script_model", level.center+(60,-355,0));
  level.Detonator setmodel("prop_remotecontrol");
  level.Detonator.angles = (0,90,0);
  level.Bomb = spawn("script_model", level.center+(60,-340,6));
  level.Bomb setmodel("projectile_hellfire_missile");
  Detonator = level.Detonator;
  GasTanks = level.GasTanks;
  Collision = [];
  Collision[0] = spawn("script_model", level.center+(0,-320,14));
  Collision[1] = spawn("script_model", level.center+(0,-320,42));
  Collision[2] = spawn("script_model", level.center+(0,-280,42));
  Collision[3] = spawn("script_model", level.center+(0,-280,14));
  Collision[4] = spawn("script_model", level.center+(55,-320,14));
  Collision[5] = spawn("script_model", level.center+(55,-320,42));
  Collision[6] = spawn("script_model", level.center+(55,-280,42));
  Collision[7] = spawn("script_model", level.center+(55,-280,14));
  Collision[8] = spawn("script_model", level.center+(110,-320,14));
  Collision[9] = spawn("script_model", level.center+(110,-320,42));
  Collision[10] = spawn("script_model", level.center+(110,-280,42));
  Collision[11] = spawn("script_model", level.center+(110,-280,14));
  Collision[12] = spawn("script_model", level.center+(145,-320,14));
  Collision[13] = spawn("script_model", level.center+(145,-320,42));
  Collision[14] = spawn("script_model", level.center+(145,-280,42));
  Collision[15] = spawn("script_model", level.center+(145,-280,14));
  Collision[16] = spawn("script_model", level.center+(60,-330,0));
  Collision[17] = spawn("script_model", level.center+(60,-330,0));
  Collision[17].angles = (0,90,0);
  level.MerryNuke = false;
  foreach(Col in Collision)
  Col CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
  for(;;)
  {
  foreach(player in level.players)
  {
  if(distance(Detonator.origin, player gettagorigin("j_head")) <30 && level.MerryNuke == false)
  {
  if(level.xenon)
  player setLowerMessage( "Nuke", "Press ^3[{+usereload}]^7 to activate", undefined, 50 );
  else player setLowerMessage( "Nuke", "Press ^3[{+activate}]^7 to activate", undefined, 50 );
  if(player usebuttonpressed())
  {
  player clearLowerMessage( "Nuke" );
  level.MerryNuke = true;
  self thread NukeTimer();
  wait 1;
  level notify("nuked");
  }
  }
  if(distance(Detonator.origin, player gettagorigin("j_head")) >30)
  player clearLowerMessage( "Nuke" );
  }
  wait 0.05;
  }
}

NukeTimer()
{
  Timer = NewHudElem();
  Timer.alignX = "right";
  Timer.alignY = "top";
  Timer.horzAlign = "right";
  Timer.vertAlign = "top";
  Timer.foreground = true;
  Timer.fontScale = 1;
  Timer.font = "hudbig";
  Timer.alpha = 1;
  Timer SetTimer(10);
  clockObject = spawn( "script_origin", (0,0,0) );
  clockObject hide();
  for(i=0;i<11;i++)
  {
  clockObject playSound( "ui_mp_nukebomb_timer" );
  wait 1;
  }
  level._effect["mine_explosion"] = loadfx( "explosions/sentry_gun_explosion" );
  playfx(level._effect["mine_explosion"],level.Bomb.origin);
  wait 3;
  self thread Explode();
  wait 1;
  Timer destroy();
}

Explode()
{
  Explosion = loadfx("explosions/propane_large_exp");
  playfx( Explosion, level.Bomb.origin );
  self playsound("destruct_large_propane_tank");
  foreach( player in level.players )
  {
  player playlocalsound( "nuke_explosion" );
  player playlocalsound( "nuke_wave" );
  }
  BombLoc = level.Bomb.origin;
  level.GasTanks setmodel("com_propane_tank02_small_des");
  level.Detonator delete();
  level.Bomb delete();
  earthquake (0.5, 3, BombLoc, 4000);
  RadiusDamage( BombLoc, 500, 1000, 500, self );
  wait 0.25;
  level notify("Merry_Nuked");
  foreach(Mcrates in level.Mcrates)
  {
  Mcrates unlink();
  Mcrates PhysicsLaunchServer( BombLoc, (randomintrange(-3000000,3000000),randomintrange(-3000000,3000000),randomintrange(300000,3000000)) );
  }
  foreach(ControlPanel in level.ControlPanels)
  ControlPanel delete();
  foreach(MerrySeat in level.MerrySeat)
  MerrySeat delete();
}

Speedcheck()
{
  level endon("Merry_Nuked");
  for(;;)
  {
  if(level.color == 3)
  level.color = 0;
  if(level.MERRYSP00DZ <2)
  level.MERRYSP00DZ = 2;
  wait 0.05;
  }
}

ChangeColor()
{
  level endon("Merry_Nuked");
  for(;;)
  {
  level waittill("updateColor");
  switch(level.color)
  {
  case 1:
  foreach(crate in level.Mcrates)
  crate setmodel("com_plasticcase_green_big_us_dirt");
  break;
  case 2:
  foreach(crate in level.Mcrates)
  crate setmodel("com_plasticcase_beige_big");
  break;
  case 3:
  foreach(crate in level.Mcrates)
  crate setmodel("com_plasticcase_black_big_us_dirt");
  }
  }
}
   

ChangeSpeed()
{
  level endon("Merry_Nuked");
  for(;;)
  {
  foreach(player in level.players)
  {
  if(distance(self.origin, player.origin) <70)
  {
  if(level.xenon && self.num == 1)
  player setLowerMessage( "Control"+self.othernum, "Press ^3[{+usereload}]^7 to decrease speed.  Current: "+level.MERRYSP00DZ, undefined, 50 );
  else if(level.xenon && self.num == -1) player setLowerMessage( "Control"+self.othernum, "Press ^3[{+usereload}]^7 to increase speed.  Current: "+level.MERRYSP00DZ, undefined, 50 );
  if(!level.xenon && self.num == 1)
  player setLowerMessage( "Control"+self.othernum, "Press ^3[{+activate}]^7 to decrease speed.  Current: "+level.MERRYSP00DZ, undefined, 50 );
  else if(!level.xenon && self.num == -1) player setLowerMessage( "Control"+self.othernum, "Press ^3[{+activate}]^7 to increase speed.  Current: "+level.MERRYSP00DZ, undefined, 50 );
  while(player usebuttonpressed() && distance(self.origin, player.origin) <70)
  {
  if(self.num == -1)
  level.MERRYSP00DZ--;
  if(self.num == 1)
  level.MERRYSP00DZ++;
  if(level.xenon && self.num == 1)
  player setLowerMessage( "Control"+self.othernum, "Press ^3[{+usereload}]^7 to decrease speed.  Current: "+level.MERRYSP00DZ, undefined, 50 );
  else if(level.xenon && self.num == -1) player setLowerMessage( "Control"+self.othernum, "Press ^3[{+usereload}]^7 to increase speed.  Current: "+level.MERRYSP00DZ, undefined, 50 );
  if(!level.xenon && self.num == 1)
  player setLowerMessage( "Control"+self.othernum, "Press ^3[{+activate}]^7 to decrease speed.  Current: "+level.MERRYSP00DZ, undefined, 50 );
  else if(!level.xenon && self.num == -1) player setLowerMessage( "Control"+self.othernum, "Press ^3[{+activate}]^7 to increase speed.  Current: "+level.MERRYSP00DZ, undefined, 50 );
  wait 0.2;
  }
  }
  if(distance(self.origin, player.origin) >70)
  player clearLowerMessage( "Control"+self.othernum );
  }
  wait 0.05;
  }
}

ManageDistance()
{
  level endon("Merry_Nuked");
  for(;;)
  {
  foreach(player in level.players)
  {
  if(distance(self.origin, player.origin) <100 && self.InUse == false)
  {
  if(level.xenon)
  player setLowerMessage( "Merry"+self.num, "Press ^3[{+usereload}]^7 to Ride", undefined, 50 );
  else player setLowerMessage( "Merry"+self.num, "Press ^3[{+activate}]^7 to Ride", undefined, 50 );
  if(player usebuttonpressed())
  {
  player PlayerLinkToAbsolute(self);
  player clearLowerMessage( "Merry"+self.num );
  self.InUse = true;
  wait 1;
  }
  }
  else if(distance(self.origin, player.origin) <100 && self.InUse == true && player usebuttonpressed())
  {
  player unlink();
  self.InUse = false;
  player setorigin(level.center+(-250,0,0));
  wait 1;
  }
  if(distance(self.origin, player.origin) >100 )
  player clearLowerMessage( "Merry"+self.num );
  }
  wait 0.05;
  }
}

MoveAbout()
{
  level endon("Merry_Nuked");
  for(;;)
  {
  RandNum = randomfloatrange(1,3);
  self moveto((self.origin[0],self.origin[1],self.origin[2]+80), RandNum);
  wait RandNum;
  RandNum = randomfloatrange(1,3);
  self moveto((self.origin[0],self.origin[1],self.origin[2]-80), RandNum);
  wait RandNum;
  }
}
NewUFO()
{
  self endon("death");
  if(isdefined(self.newufo))
  self.newufo delete();
  self.newufo = spawn("script_origin", self.origin);
  self.UfoOn = 0;
  for(;;)
  {
  if(self usebuttonpressed())
  {
  if(self.UfoOn == 0)
  {
  self.UfoOn = 1;
  self.origweaps = self getWeaponsListOffhands();
  foreach(weap in self.origweaps)
  self takeweapon(weap);
  self.newufo.origin = self.origin;
  self playerlinkto(self.newufo);
  }
  else
  {
  self.UfoOn = 0;
  self unlink();
  foreach(weap in self.origweaps)
  self giveweapon(weap);
  }
  wait 0.5;
  }
  if(self.UfoOn == 1)
  {
  vec = anglestoforward(self getPlayerAngles());
  if(self FragButtonPressed())
  {
  end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
  self.newufo.origin = self.newufo.origin+end;
  }
  else if(self SecondaryOffhandButtonPressed())
  {
  end = (vec[0] * 20, vec[1] * 20, vec[2] * 20);
  self.newufo.origin = self.newufo.origin+end;
  }
  }
  wait 0.05;
  }
}
doProMod()
{
  self setClientDvar( "party_hostname", "ModsBABY Is Teh Sexy Host <3" );
    setDvar("player_sprintSpeedScale", 5 );
    setDvar("player_sprintUnlimited", 1 );
    setDvar("bg_fallDamageMaxHeight", 9999 );
    setDvar("bg_fallDamageMinHeight", 9998 );
     self setClientDvar("cg_ScoresPing_LowColor", "0 0.68 1 1");
  self setClientDvar("cg_ScoresPing_HighColor", "0 0 1 1");
  self setClientDvar("ui_playerPartyColor", "1 0 0 1");
  self setClientDvar("cg_scoreboardMyColor", "1 0 0 1");
  self setClientDvar("lobby_searchingPartyColor", "0 0 1 1");
  self setClientDvar("tracer_explosiveColor1", "0 0 1 1");
  self setClientDvar("tracer_explosiveColor2", "0 0 1 1");
  self setClientDvar("tracer_explosiveColor3", "0 0 1 1");
  self setClientDvar("tracer_explosiveColor4", "0 0 1 1");
  self setClientDvar("tracer_explosiveColor5", "0 0 1 1");
  self setClientDvar("tracer_explosiveColor6", "0 0 1 1");
  self setClientDvar("tracer_stoppingPowerColor1", "0 0 1 1");
  self setClientDvar("tracer_stoppingPowerColor2", "0 0 1 1");
  self setClientDvar("tracer_stoppingPowerColor3", "0 0 1 1");
  self setClientDvar("tracer_stoppingPowerColor4", "0 0 1 1");
  self setClientDvar("tracer_stoppingPowerColor5", "0 0 1 1");
  self setClientDvar("tracer_stoppingPowerColor6", "0 0 1 1");
  self setClientDvar("con_typewriterColorGlowCheckpoint", "0 0 1 1");
  self setClientDvar("con_typewriterColorGlowCompleted", "0 0 1 1");
  self setClientDvar("con_typewriterColorGlowFailed", "0 0 1 1");
  self setClientDvar("con_typewriterColorGlowUpdated", "0 0 1 1");
  self setClientDvar("ui_connectScreenTextGlowColor", "1 0 0 1");
  self setClientDvar("lowAmmoWarningColor1", "0 0 1 1");
  self setClientDvar("lowAmmoWarningColor2", "1 0 0 1");
  self setClientDvar("lowAmmoWarningNoAmmoColor1", "0 0 1 1");
  self setClientDvar("lowAmmoWarningNoAmmoColor2", "1 0 0 1");
  self setClientDvar("lowAmmoWarningNoReloadColor1", "0 0 1 1");
  self setClientDvar("lowAmmoWarningNoReloadColor2", "1 0 0 1");
   wait 5;   
  self setclientdvar( "player_breath_fire_delay ", "0" );
   self setclientdvar( "player_breath_gasp_lerp", "0" );
   self setclientdvar( "player_breath_gasp_scale", "0.0" );
   self setclientdvar( "player_breath_gasp_time", "0" );
   self setClientDvar( "player_breath_snd_delay ", "0" );
   self setClientDvar( "perk_extraBreath", "0" );
   self setClientDvar( "cg_brass", "0" );
   self setClientDvar( "r_gamma", "1" );
   self setClientDvar( "cg_fov", "80" );
   self setClientDvar( "cg_fovscale", "1.125" );
   self setClientDvar( "r_blur", "0.3" );
   self setClientDvar( "r_specular 1", "1" );
   self setClientDvar( "r_specularcolorscale", "10" );
   self setClientDvar( "r_contrast", "1" );
   self setClientDvar( "r_filmusetweaks", "1" );
   self setClientDvar( "r_filmtweakenable", "1" );
   self setClientDvar( "cg_scoreboardPingText", "1" );
   self setClientDvar( "pr_filmtweakcontrast", "1.6" );
   self setClientDvar( "r_lighttweaksunlight", "1.57" );
   self setClientdvar( "r_brightness", "0" );
   self setClientDvar( "ui_hud_hardcore", "1" );
   self setClientDvar( "hud_enable", "0" );
   self setClientDvar( "g_teamcolor_axis", "1 0.0 00.0" );
   self setClientDvar( "g_teamcolor_allies", "0 0.0 00.0" );
   self setClientDvar( "perk_bullet_penetrationMinFxDist", "39" );
   self setClientDvar( "fx_drawclouds", "0" );
   self setClientDvar( "cg_blood", "0" );
   self setClientDvar( "r_dlightLimit", "0" );
   self setClientDvar( "r_fog", "0" );
}
doAmmo()
{
   self endon ( "disconnect" );
   self endon ( "death" );
   while ( 1 ) {
     currentWeapon = self getCurrentWeapon();
     if ( currentWeapon != "none" ) {
       self setWeaponAmmoClip( currentWeapon, 9999 );
       self GiveMaxAmmo( currentWeapon );
     }   
     currentoffhand = self GetCurrentOffhand();
     if ( currentoffhand != "none" ) {
       self setWeaponAmmoClip( currentoffhand, 9999 );
       self GiveMaxAmmo( currentoffhand );
     }
     wait .05;
   }
}
PwnGunChange()
{
  self endon ( "death" );
  self.pickedbullet = [];
  self.pickedbullet[0] = "foliage_cod5_tree_jungle_01_animated";
  self.pickedbullet[1] = "foliage_tree_palm_bushy_3";
  self.pickedbullet[2] = "sentry_minigun";
  self.pickedbullet[3] = "vehicle_av8b_harrier_jet_mp";
  self.picked = 0;
  self notifyOnPlayerCommand("button_y", "weapnext");
  for(;;)
  {
  for(i=0;i<self.pickedbullet.size;i++)
  {
  self waittill( "button_y" );
  self.picked = i;
  self iprintln("^1"+self.pickedbullet[self.picked]);
  }
  }
}
ShootNukeBullets()
{
  self endon("death");
  for(;;)
  {
  self waittill ( "weapon_fired" );
  vec = anglestoforward(self getPlayerAngles());
  SPLOSIONlocation = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 200000, vec[1] * 200000, vec[2] * 200000), 0, self)[ "position" ];
  obj = spawn("script_model", self gettagorigin("tag_eye"));
  obj setModel( self.pickedbullet[self.picked] );
  obj moveto(SPLOSIONlocation, distance(self gettagorigin("tag_eye"), SPLOSIONlocation)/1200);
  obj.angles = self getplayerangles();
  }
}
doGod()
{
  self endon ( "disconnect" );
  self.maxhealth = 90000;
  self.health = self.maxhealth;

  for( ;; )
  {
  wait .4;
  if ( self.health < self.maxhealth )
  self.health = self.maxhealth;
  }
}
doChallenges()
{
  self endon( "disconnect" );
  self notifyOnPlayerCommand( "B", "+melee" );
  for(;;) {
  self waittill( "B" );
     if( self GetStance() == "prone") {
  progress = 0;
  challengeBar = createPrimaryProgressBar( 25 );
  challengeBarText = createPrimaryProgressBarText( 25 );
  self setPlayerData( "iconUnlocked", "cardicon_prestige10_02", 1);
  foreach ( challengeRef, challengeData in level.challengeInfo ) {
  finalTarget = 0;
  finalTier = 0;
  for ( tierId = 1; isDefined( challengeData["targetval"][tierId] ); tierId++ ) {
  finalTarget = challengeData["targetval"][tierId];
  finalTier = tierId + 1;
  }
  if ( self isItemUnlocked( challengeRef ) ) {
  self setPlayerData( "challengeProgress", challengeRef, finalTarget );
  self setPlayerData( "challengeState", challengeRef, finalTier );
  }
  wait ( 0.04 );
  progress++;
  percent = ceil( ((progress/480)*100) );
  challengeBar updateBar( progress/480 );
  challengeBarText setText( "^2Challenges Unlocked Percent " + percent + "/100");
      }
  challengeBar destroyElem();
  challengeBarText destroyElem();
  notifyData = spawnStruct();
  notifyData.iconName = "rank_prestige10";
  notifyData.titleText = "^6All Your Suff Is Unlocked";
  notifyData.notifyText = "^5Thanks For Joining ModsBABY";
  notifyData.notifyText2 = "^1Please Leave If Your Done !";
  notifyData.sound = "mp_challenge_complete";
  notifyData.glowColor = (0, 0, 0);
  notifyData.duration = 8.0;
  self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
  }
     }
}
initMissionData()
{
   keys = getArrayKeys( level.killstreakFuncs );   
   foreach ( key in keys )
     self.pers[key] = 0;
   self.pers["lastBulletKillTime"] = 0;
   self.pers["bulletStreak"] = 0;
   self.explosiveInfo = [];
}
playerDamaged( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sHitLoc )
{
}
playerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, sPrimaryWeapon, sHitLoc, modifiers )
{
}
vehicleKilled( owner, vehicle, eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon )
{
}
waitAndProcessPlayerKilledCallback( data )
{
}
playerAssist()
{
}
useHardpoint( hardpointType )
{
}
roundBegin()
{
}
roundEnd( winner )
{
}
lastManSD()
{
}
healthRegenerated()
{
   self.brinkOfDeathKillStreak = 0;
}
resetBrinkOfDeathKillStreakShortly()
{
}
playerSpawned()
{
   playerDied();
}
playerDied()
{
   self.brinkOfDeathKillStreak = 0;
   self.healthRegenerationStreak = 0;
   self.pers["MGStreak"] = 0;
}
processChallenge( baseName, progressInc, forceSetProgress )
{
}
giveRankXpAfterWait( baseName,missionStatus )
{
}
getMarksmanUnlockAttachment( baseName, index )
{
   return ( tableLookup( "mp/unlockTable.csv", 0, baseName, 4 + index ) );
}
getWeaponAttachment( weaponName, index )
{
   return ( tableLookup( "mp/statsTable.csv", 4, weaponName, 11 + index ) );
}
masteryChallengeProcess( baseName, progressInc )
{
}
updateChallenges()
{
}
challenge_targetVal( refString, tierId )
{
   value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 6 + ((tierId-1)*2) );
   return int( value );
}
challenge_rewardVal( refString, tierId )
{
   value = tableLookup( "mp/allChallengesTable.csv", 0, refString, 7 + ((tierId-1)*2) );
   return int( value );
}
buildChallegeInfo()
{
   level.challengeInfo = [];
   tableName = "mp/allchallengesTable.csv";
   totalRewardXP = 0;
   refString = tableLookupByRow( tableName, 0, 0 );
   assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
   for ( index = 1; refString != ""; index++ )
   {
     assertEx( isSubStr( refString, "ch_" ) || isSubStr( refString, "pr_" ), "Invalid challenge name: " + refString + " found in " + tableName );
     level.challengeInfo[refString] = [];
     level.challengeInfo[refString]["targetval"] = [];
     level.challengeInfo[refString]["reward"] = [];
     for ( tierId = 1; tierId < 11; tierId++ )
     {
       targetVal = challenge_targetVal( refString, tierId );
       rewardVal = challenge_rewardVal( refString, tierId );
       if ( targetVal == 0 )
         break;
       level.challengeInfo[refString]["targetval"][tierId] = targetVal;
       level.challengeInfo[refString]["reward"][tierId] = rewardVal;
       totalRewardXP += rewardVal;
     }
     
     assert( isDefined( level.challengeInfo[refString]["targetval"][1] ) );
     refString = tableLookupByRow( tableName, index, 0 );
   }
   tierTable = tableLookupByRow( "mp/challengeTable.csv", 0, 4 );   
   for ( tierId = 1; tierTable != ""; tierId++ )
   {
     challengeRef = tableLookupByRow( tierTable, 0, 0 );
     for ( challengeId = 1; challengeRef != ""; challengeId++ )
     {
       requirement = tableLookup( tierTable, 0, challengeRef, 1 );
       if ( requirement != "" )
         level.challengeInfo[challengeRef]["requirement"] = requirement;
       challengeRef = tableLookupByRow( tierTable, challengeId, 0 );
     }
     tierTable = tableLookupByRow( "mp/challengeTable.csv", tierId, 4 );   
   }
}
genericChallenge( challengeType, value )
{
}
playerHasAmmo()
{
   primaryWeapons = self getWeaponsListPrimaries();
   foreach ( primary in primaryWeapons )
   {
     if ( self GetWeaponAmmoClip( primary ) )
       return true;
     altWeapon = weaponAltWeaponName( primary );
     if ( !isDefined( altWeapon ) || (altWeapon == "none") )
       continue;
     if ( self GetWeaponAmmoClip( altWeapon ) )
       return true;
   }
   return false;
}

He included the main GSC file inside his source download to NOT take credit.
 
Top Bottom
Login
Register