Jump Pads - Doom Legacy Wiki

Jump Pads

From Doom Legacy Wiki

Jump to: navigation, search
Editing Tutorials

Using Fragglescript you can create jump pads in Legacy.


The jump pad will be triggered when you cross the lindef onto the jump pad. So its not the sector that causes the jump pad to work, its the lindef's around it.

Here is how to make a jump pad:


1. Make a sector for your jump pad. (You will want to change the floor texture so that the player knows its something special.)

2. Give the Lindef(s) which the player will cross to activate the jump pad line type 273 WR FS Start Script, 1-way trigger.

3. Then give the linedef(s) a tag.

4. Next, create a FS script. You need to give the script the same number as that of the tag you gave the linedef.

5. Use the following script, editing where necessary.


script 11 //This script is for the jump pad
{
     startsound(trigger, "DSJUMP"); //triggers the jump sound
     objmomx(trigger,10); //how far along the x-axis (left-right)
     objmomy(trigger,10); //how far along the y-axis (north-south)
     objmomz(trigger,75); //how far along the z-axis (up-down)
}


  • Positive numbers move the player north,right,up. Negative move the player left,right,down(theoretically, the player can't really go down if he is on a solid jump pad.)
  • If you want your player to go directly along an axis, you can leave off either the x or y axis script, but you will need both to make your player go at an angle.
  • You will probably have to mess around with the height and distance numbers to find the right trajectory to get your player to land in the right location.
  • The script will be triggered regardless of how high the player is. Thus, it is often required to add a height check to the script so that it isn't triggered in midair. In case the jump pad is at height zero and you want player to be at that height something like this will work:
script 11 //This script is for the jump pad with previous height check.
{
if(objz(playerobj(trigger)) == 0) // Checks if the player who triggered is at height 0.
    {
     startsound(trigger, "DSJUMP"); //triggers the jump sound
     objmomx(trigger,10); //how far along the x-axis (left-right)
     objmomy(trigger,10); //how far along the y-axis (north-south)
     objmomz(trigger,75); //how far along the z-axis (up-down)
    }
}
Personal tools