Jump Pad


(Red RevYol) #1

Is there a way to make a jump pad in Enemy Territory? I have found a couple of links, but none of them help me. One says trigger_push and target it at target_position. I’m using the 1.4 version.


(Shaderman) #2

You need the target_push entity:

/*QUAKED target_push (.5 .5 .5) (-8 -8 -8) (8 8 8) BOUNCEPAD
-------- KEYS --------
"speed"	defaults to 1000
-------- SPAWNFLAGS --------
BOUNCEPAD play bounce noise instead of windfly
-------- NOTES --------
Pushes the activator in the direction.of angle, or towards a target apex.
*/

Here’s a sample map:

// entity 0
{
"classname" "worldspawn"
// brush 0
{
( -1792 -64 1408 ) ( -1792 0 1472 ) ( 2304 -64 1408 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 0 -64 ) ( -1792 -64 0 ) ( 2304 0 -64 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1728 -64 -64 ) ( -1792 0 -64 ) ( -1728 -64 704 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 2304 0 704 ) ( 2240 -64 704 ) ( 2304 0 1472 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 -64 704 ) ( 2304 -64 704 ) ( -1792 -64 -64 ) skies_sd/sd_siwasky 0 0 0 0.500000 0.500000 0 0 0
( 2304 0 1472 ) ( -1792 0 1472 ) ( -1792 0 704 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 1
{
( -1792 0 1472 ) ( -1728 0 1408 ) ( -1792 -4096 1472 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1728 0 0 ) ( -1792 0 -64 ) ( -1728 -4096 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 0 -64 ) ( -1728 -64 -64 ) ( -1792 0 704 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1728 -4032 704 ) ( -1792 -4096 704 ) ( -1728 -4032 1472 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1728 -3072 1472 ) ( -1728 0 1472 ) ( -1728 -3072 704 ) skies_sd/sd_siwasky 0 0 0 0.500000 0.500000 0 0 0
( -1792 0 704 ) ( -1792 -3072 704 ) ( -1792 -3072 -64 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 2
{
( 2240 0 0 ) ( 2304 0 -64 ) ( 2240 -4096 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 0 -64 ) ( -1728 0 0 ) ( -1792 -4096 -64 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 -4096 -64 ) ( -1792 -4032 0 ) ( 2304 -4096 -64 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 -64 0 ) ( -1792 0 -64 ) ( 2304 -64 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 0 0 ) ( 2304 0 0 ) ( -1792 -3072 0 ) goldrush/sandygrass_b_phong 0 0 0 0.500000 0.500000 0 0 0
( 2304 0 -64 ) ( -1792 0 -64 ) ( -1792 -3072 -64 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 3
{
( -1792 -4096 1472 ) ( -1792 -4032 1408 ) ( 2304 -4096 1472 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 -4032 0 ) ( -1792 -4096 -64 ) ( 2304 -4032 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 2240 -4032 -64 ) ( 2304 -4096 -64 ) ( 2240 -4032 704 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 -4096 704 ) ( -1728 -4032 704 ) ( -1792 -4096 1472 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 2304 -4032 704 ) ( -1792 -4032 704 ) ( 2304 -4032 -64 ) skies_sd/sd_siwasky 0 0 0 0.500000 0.500000 0 0 0
( -1792 -4096 704 ) ( 2304 -4096 704 ) ( 2304 -4096 -64 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 4
{
( 2304 0 -64 ) ( 2240 0 0 ) ( 2304 -4096 -64 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 2240 0 1408 ) ( 2304 0 1472 ) ( 2240 -4096 1408 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 2240 -64 704 ) ( 2304 0 704 ) ( 2240 -64 1472 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 2304 -4096 -64 ) ( 2240 -4032 -64 ) ( 2304 -4096 704 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 2240 0 1472 ) ( 2240 -3072 1472 ) ( 2240 0 704 ) skies_sd/sd_siwasky 0 0 0 0.500000 0.500000 0 0 0
( 2304 -3072 704 ) ( 2304 0 704 ) ( 2304 0 -64 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 5
{
( 2304 0 1472 ) ( 2240 0 1408 ) ( 2304 -4096 1472 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1728 0 1408 ) ( -1792 0 1472 ) ( -1728 -4096 1408 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 0 1472 ) ( -1792 -64 1408 ) ( 2304 0 1472 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 -4032 1408 ) ( -1792 -4096 1472 ) ( 2304 -4032 1408 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 0 1408 ) ( -1792 -3072 1408 ) ( 2304 0 1408 ) skies_sd/sd_siwasky 0 0 0 0.500000 0.500000 0 0 0
( -1792 -3072 1472 ) ( -1792 0 1472 ) ( 2304 0 1472 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
// brush 6
{
( -1528 -3584 8 ) ( -1528 -3712 8 ) ( -1544 -3712 0 ) battery/rock_graynoise 16 -240 0 0.500000 0.500000 0 0 0
( -1432 -3600 8 ) ( -1528 -3600 8 ) ( -1544 -3584 0 ) battery/rock_graynoise 16 -240 0 0.500000 0.500000 0 0 0
( -1432 -3712 8 ) ( -1432 -3584 8 ) ( -1416 -3584 0 ) battery/rock_graynoise 16 -240 0 0.500000 0.500000 0 0 0
( -1528 -3696 8 ) ( -1432 -3696 8 ) ( -1416 -3712 0 ) battery/rock_graynoise 16 -240 0 0.500000 0.500000 0 0 0
( -1528 -3600 8 ) ( -1432 -3600 8 ) ( -1432 -3696 8 ) battery/rock_graynoise 16 256 0 0.500000 0.500000 0 0 0
( -1416 -3584 0 ) ( -1544 -3584 0 ) ( -1544 -3712 0 ) battery/rock_graynoise 16 256 0 0.500000 0.500000 0 0 0
}
// brush 7
{
( 56 -2112 0 ) ( -72 -2112 0 ) ( -72 -2240 0 ) battery/rock_graynoise 144 128 0 0.500000 0.500000 0 0 0
( -56 -2128 8 ) ( 40 -2128 8 ) ( 40 -2224 8 ) battery/rock_graynoise 144 128 0 0.500000 0.500000 0 0 0
( -56 -2224 8 ) ( 40 -2224 8 ) ( 56 -2240 0 ) battery/rock_graynoise 144 144 0 0.500000 0.500000 0 0 0
( 40 -2240 8 ) ( 40 -2112 8 ) ( 56 -2112 0 ) battery/rock_graynoise 144 144 0 0.500000 0.500000 0 0 0
( 40 -2128 8 ) ( -56 -2128 8 ) ( -72 -2112 0 ) battery/rock_graynoise 144 144 0 0.500000 0.500000 0 0 0
( -56 -2112 8 ) ( -56 -2240 8 ) ( -72 -2240 0 ) battery/rock_graynoise 144 144 0 0.500000 0.500000 0 0 0
}
}
// entity 1
{
"classname" "info_player_deathmatch"
"origin" "-1600 -3232 32"
"angle" "270"
}
// entity 2
{
"classname" "team_CTF_bluespawn"
"origin" "-1600 -3488 32"
"angle" "270"
}
// entity 3
{
"classname" "team_CTF_redspawn"
"origin" "-1344 -3488 32"
"angle" "270"
}
// entity 4
{
"speed" "1000"
"target" "end_point"
"targetname" "bouncer"
"spawnflags" "1"
"classname" "target_push"
"origin" "-1480 -3648 24"
}
// entity 5
{
"targetname" "end_point"
"classname" "info_notnull"
"origin" "-680 -2848 312"
}
// entity 6
{
"target" "bouncer"
"classname" "trigger_multiple"
// brush 0
{
( -1512 -3616 16 ) ( -1512 -3712 16 ) ( -1512 -3712 8 ) common/trigger 0 48 0 0.500000 0.500000 0 7 0
( -1416 -3616 16 ) ( -1512 -3616 16 ) ( -1512 -3616 8 ) common/trigger 16 48 0 0.500000 0.500000 0 7 0
( -1448 -3680 16 ) ( -1448 -3584 16 ) ( -1448 -3584 8 ) common/trigger 0 48 0 0.500000 0.500000 0 7 0
( -1544 -3680 16 ) ( -1448 -3680 16 ) ( -1448 -3680 8 ) common/trigger 16 48 0 0.500000 0.500000 0 7 0
( -1512 -3712 16 ) ( -1512 -3616 16 ) ( -1416 -3616 16 ) common/trigger 16 0 0 0.500000 0.500000 0 7 0
( -1416 -3616 8 ) ( -1512 -3616 8 ) ( -1512 -3712 8 ) common/trigger 16 0 0 0.500000 0.500000 0 7 0
}
}
// entity 7
{
"targetname" "spln1"
"target" "spln2"
"origin" "-1480 -3648 24"
"classname" "info_train_spline_main"
}
// entity 8
{
"targetname" "spln2"
"origin" "-8 -2176 16"
"classname" "info_train_spline_main"
}


(C) #3

i use this method to push players:

create an info_notnull:
targetname = “to_here

create a target_push:
targetname = “from_here
target = “to_here
speed = 1000

create a trigger_multiple:
target = “from_here

Place the trigger_multiple over the jumppad so that players can touch it.
The direction a player will be pushed is given by the path “from_here” “to_here”.


(Red RevYol) #4

Where I put the trigger_push?


(Red RevYol) #5

I got it to work thx


(C) #6

i found out that is gets tricky if you want to push a player in a perfectly horizontal direction.

After positioning a target_push and an info_notnull on the exact same height (Z-coordinate in Radiant),
and setting them up as described earlier, along with a trigger_multiple,
i noticed the whole mechanism did not function at all… … … … :expressionless: :? :arrow: :expressionless: :? :arrow: :expressionless: :? :idea: :slight_smile:
In-game it is like the “jumppad” was non-existent. The trigger_multiple did not even stop me from passing through…

As to my knowledge, the apex of the trajectory of the pushed player, (the highest point in the curved path the player will follow when getting pushed), is marked with the info_notnull.
In other words, the info_notnull marks the point, at which the player will start falling downwards… (by gravity)

A clever friend of mine pointed me to the fact, that it should probably has to do with the sine/cosine function results at certain angles…
This makes sense to me… (result==0)

Anyway… for anybody’s information:
do not position the info_notnull and target_push at the same Z-coordinate in Radiant.
Place the info_notnull higher (or lower) than the target_push in Your map…

EDIT
I did a search, and found out that Flippy has allready made the point…
The other jump pads topic at this forum:
http://www.splashdamage.com/forums/viewtopic.php?t=14890&highlight=targetpush+infonotnull
/EDIT


(Flippy) #7

Don’t even remember we writing that :stuck_out_tongue:

But, while youre not able to push a player horizontal by using an info_notnull, it MIGHT be possible by setting the “angles” (or angle dont know) key in the target_push entity to a perfect horizontal push. I haven’t tried this.

But anyway, just place your info_notnull 1 unit higher than the target_push and you won’t notice the difference :slight_smile: