Call of Duty 4: Jumppads

From COD Modding & Mapping Wiki
Share/Save/Bookmark
Jump to: navigation, search
Attention 256.png
This tutorial assumes that you already know how to create, compile & create GSCs,CSVs & FastFiles for your maps

Marshall2006 show you how to make 'Quake III style' jump pads

Rgn warning.png

Create your landing zone

Jump1.jpg

Create the trigger

  • Texture it with Trigger. Filter settings: Usage > Tools
  • Right click your brush, Trigger > Multiple
  • Press the N key twice and enter the following Values:
Key: targetname
Value: jump

Jump2.jpg


Origins

  • Rightclick, script > origin
  • Place it where you want to jump from.

Jump3.jpg

  • Make sure it's 4 units off the ground. (effect purposes)
  • Give it the following Values:


Key: targetname
Value: glow
  • Copy and Paste the origin 4 times.
  • Place them like below:


Jump4.jpg


Start adding Values to each origin, starting from the closest to the ..

.. parent origin, moving to the furthest.

Pasted Origin #1

Key: targetname
Value: air1
Key: target
Value: air2

Pasted Origin #2

Key: targetname
Value: air2
Key: target
Value: air3

Pasted Origin #3

Key: targetname
Value: air3
Key: target
Value: air4

Pasted Origin #4

Key: targetname
Value: air4


The origins with the values of, for example air1, represent the flight path. The more you add, the smoother the flight is.

Warning.png Keep note of the height difference between the jumpad and the landing.


Scripting GSC

Copy the following into your .GSC file:

main()
{
	maps\mp\_load::main();

	game["allies"] = "sas";
	game["axis"] = "russian";
	game["attackers"] = "axis";
	game["defenders"] = "allies";
	game["allies_soldiertype"] = "woodland";
	game["axis_soldiertype"] = "woodland";

	setdvar( "r_specularcolorscale", "1" );
	thread jumper();
}

jumper()
{
	jumpx = getent ("jump","targetname");
	glow = getent ("glow","targetname");
	air1 = getent ("air1","targetname");
	air2 = getent ("air2","targetname");
	air3 = getent ("air3","targetname");
	air4 = getent ("air4","targetname");

	level._effect[ "beacon_glow" ] = loadfx( "misc/ui_pickup_available" );
	maps\mp\_fx::loopfx("beacon_glow", (glow.origin), 3, (glow.origin) + (0, 0, 90));

	time = 1;
	for(;;)
	{
		jumpx waittill ("trigger",user);
		if (user istouching(jumpx))
		{
			//throw = user.origin + (100, 100, 0);
			air = spawn ("script_model",(0,0,0));
			air.origin = user.origin;
			air.angles = user.angles;
			user linkto (air);
			air moveto (air1.origin, time);
			wait 1;
			air moveto (air2.origin, time);
			wait .5;
			air moveto (air3.origin, time);
			wait .5;
			air moveto (air4.origin, time);
			wait 1;
			user unlink();
			wait 1;
		}
	}
}


Here's the finishing product:

Jumpfinished.jpg