Shootable teleport


(huPoo) #1

I’d like to know how to make one. Shoot some brush -> get teleported.


(huPoo) #2

And I posted this to wrong category, how nice.


(Mateos) #3

And you double-posted, even better \o/

Well, logically, maybe try to make a func_mover, and when it is destroyed (The death subtable in script), you can teleport the player, which would be in a trigger area… Maybe a trigger_multiple would be needed, I don’t have enough knowledge for that :confused:


(stealth6) #4

Here’s a tutorial by Erik-Ftn on bullet sensors: http://user.tninet.se/~fzo823r/how_to_make_a_bulletsensor.htm

Here’s an example.
Map:




// entity 0
{
"classname" "worldspawn"
// brush 0
{
( 64 -320 128 ) ( -64 -320 128 ) ( 64 -192 128 ) common/caulk -0 64 -90 0.5 0.5 0 0 0
( 128 -96 152 ) ( 128 32 152 ) ( 128 -96 24 ) common/caulk -0 48 0 -0.5 0.5 0 0 0
( 64 -136 152 ) ( 64 -136 24 ) ( -64 -136 152 ) common/caulk 0 48 0 0.5 0.5 0 0 0
( -64 32 0 ) ( -64 -96 0 ) ( 64 32 0 ) common/caulk -0 64 -90 0.5 0.5 0 0 0
( -128 32 24 ) ( -128 32 152 ) ( -128 -96 24 ) common/caulk -0 48 0 -0.5 0.5 0 0 0
( -64 -128 24 ) ( 64 -128 24 ) ( -64 -128 152 ) battery_wall/wall03_mid 0 0 0 0.5 0.5 0 0 0
}
// brush 1
{
( 320 64 128 ) ( 320 -64 128 ) ( 192 64 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 136 56 0 ) ( 136 56 128 ) ( 128 64 128 ) common/caulk 48 48 0 0.5 0.5 0 0 0
( 136 56 128 ) ( 136 56 0 ) ( 136 -128 0 ) common/caulk 0 48 0 0.5 0.5 0 0 0
( -32 -64 0 ) ( 96 -64 0 ) ( -32 64 0 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( -32 -128 24 ) ( -32 -128 152 ) ( 96 -128 24 ) common/caulk -0 48 0 0.5 0.5 0 0 0
( 128 -64 24 ) ( 128 64 24 ) ( 128 -64 152 ) battery_wall/wall03_mid 0 0 0 0.5 0.5 0 0 0
}
// brush 2
{
( 56 64 128 ) ( 56 -64 128 ) ( -72 64 128 ) common/caulk 16 0 0 0.5 0.5 0 0 0
( -168 128 152 ) ( -296 128 152 ) ( -168 128 24 ) common/caulk 16 48 0 0.5 0.5 0 0 0
( -128 64 152 ) ( -128 64 24 ) ( -128 -64 152 ) battery_wall/wall03_mid 0 0 0 0.5 0.5 0 0 0
( -296 -64 0 ) ( -168 -64 0 ) ( -296 64 0 ) common/caulk 16 0 0 0.5 0.5 0 0 0
( -296 -128 24 ) ( -296 -128 152 ) ( -168 -128 24 ) common/caulk 16 48 0 0.5 0.5 0 0 0
( -136 -64 24 ) ( -136 64 24 ) ( -136 -64 152 ) common/caulk 0 48 0 0.5 0.5 0 0 0
}
// brush 3
{
( 64 -56 128 ) ( -64 -56 128 ) ( 64 72 128 ) common/caulk 16 0 -90 0.5 0.5 0 0 0
( 56 136 128 ) ( 56 136 0 ) ( 64 128 0 ) common/caulk 16 48 0 -0.5 0.5 0 0 0
( 64 128 152 ) ( 64 128 24 ) ( -64 128 152 ) battery_wall/wall03_mid 0 0 0 0.5 0.5 0 0 0
( -64 296 0 ) ( -64 168 0 ) ( 64 296 0 ) common/caulk 16 0 -90 0.5 0.5 0 0 0
( -128 296 24 ) ( -128 296 152 ) ( -128 168 24 ) common/caulk 16 48 0 -0.5 0.5 0 0 0
( 56 136 0 ) ( 56 136 128 ) ( -128 136 128 ) common/caulk -0 48 0 0.5 0.5 0 0 0
}
// brush 4
{
( 64 64 136 ) ( 64 -64 136 ) ( -64 64 136 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 64 128 256 ) ( -64 128 256 ) ( 64 128 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 128 64 256 ) ( 128 64 128 ) ( 128 -64 256 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( -64 -64 128 ) ( 64 -64 128 ) ( -64 64 128 ) skies_sd/sd_siwasky 0 0 0 0.5 0.5 0 0 0
( -64 -128 128 ) ( -64 -128 256 ) ( 64 -128 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( -128 -64 128 ) ( -128 64 128 ) ( -128 -64 256 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 128 64 64 ) ( 64 128 -64 ) ( 128 64 -64 ) common/caulk 0 0 0 0.5 0.5 0 0 0
}
// brush 5
{
( 64 64 0 ) ( 64 -64 0 ) ( -64 64 0 ) assault/afloor_m01 0 0 0 0.5 0.5 0 0 0
( 64 128 120 ) ( -64 128 120 ) ( 64 128 -8 ) common/caulk 0 48 0 0.5 0.5 0 0 0
( 128 64 120 ) ( 128 64 -8 ) ( 128 -64 120 ) common/caulk 0 48 0 0.5 0.5 0 0 0
( -64 -64 -8 ) ( 64 -64 -8 ) ( -64 64 -8 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( -64 -128 -8 ) ( -64 -128 120 ) ( 64 -128 -8 ) common/caulk 0 48 0 0.5 0.5 0 0 0
( -128 -64 -8 ) ( -128 64 -8 ) ( -128 -64 120 ) common/caulk 0 48 0 0.5 0.5 0 0 0
( 128 64 64 ) ( 64 128 -64 ) ( 128 64 -64 ) common/caulk 0 0 0 0.5 0.5 0 0 0
}
// brush 6
{
( 136 128 136 ) ( 136 64 136 ) ( 64 128 136 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 192 128 136 ) ( 192 128 128 ) ( 192 64 136 ) common/caulk 0 16 0 0.5 0.5 0 0 0
( 64 64 128 ) ( 136 64 128 ) ( 64 128 128 ) skies_sd/sd_siwasky 0 0 0 0.5 0.5 0 0 0
( 128 64 128 ) ( 128 64 136 ) ( 192 64 136 ) common/caulk 0 16 0 0.5 0.5 0 0 0
( 128 64 136 ) ( 128 64 128 ) ( 64 128 128 ) common/caulk 0 16 0 0.5 0.5 0 0 0
( 136 192 136 ) ( 64 192 136 ) ( 136 192 128 ) common/caulk 0 16 0 0.5 0.5 0 0 0
( 64 128 128 ) ( 64 192 128 ) ( 64 128 136 ) common/caulk 0 16 0 0.5 0.5 0 0 0
}
// brush 7
{
( 136 128 0 ) ( 136 64 0 ) ( 64 128 0 ) assault/afloor_m01 0 0 0 0.5 0.5 0 0 0
( 192 128 0 ) ( 192 128 -8 ) ( 192 64 0 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 64 64 -8 ) ( 136 64 -8 ) ( 64 128 -8 ) common/caulk 0 -0 0 0.5 0.5 0 0 0
( 128 64 -8 ) ( 128 64 0 ) ( 192 64 0 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 128 64 0 ) ( 128 64 -8 ) ( 64 128 -8 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 136 192 0 ) ( 64 192 0 ) ( 136 192 -8 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 64 128 -8 ) ( 64 192 -8 ) ( 64 128 0 ) common/caulk 0 0 0 0.5 0.5 0 0 0
}
// brush 8
{
( 64 192 128 ) ( 64 136 128 ) ( 56 192 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 56 200 128 ) ( 56 200 0 ) ( 64 192 0 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 64 128 0 ) ( 64 128 128 ) ( 64 192 128 ) battery_wall/wall03_mid 0 0 0 0.5 0.5 0 0 0
( 56 136 0 ) ( 64 136 0 ) ( 56 192 0 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 64 128 128 ) ( 64 128 0 ) ( 56 136 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 56 200 0 ) ( 56 200 128 ) ( 56 136 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
}
// brush 9
{
( 192 64 128 ) ( 192 56 128 ) ( 136 64 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 128 64 128 ) ( 128 64 0 ) ( 192 64 0 ) battery_wall/wall03_mid 0 0 0 0.5 0.5 0 0 0
( 200 56 0 ) ( 200 56 128 ) ( 192 64 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 136 56 0 ) ( 192 56 0 ) ( 136 64 0 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 200 56 128 ) ( 200 56 0 ) ( 136 56 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 128 64 0 ) ( 128 64 128 ) ( 136 56 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
}
// brush 10
{
( 200 192 128 ) ( 200 64 128 ) ( 192 192 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 200 192 128 ) ( 192 192 128 ) ( 200 192 0 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 200 192 128 ) ( 200 192 0 ) ( 200 64 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 192 64 0 ) ( 200 64 0 ) ( 192 192 0 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 192 64 0 ) ( 192 64 128 ) ( 200 64 0 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 192 64 0 ) ( 192 192 0 ) ( 192 64 128 ) battery_wall/wall03_mid 0 0 0 0.5 0.5 0 0 0
}
// brush 11
{
( 192 200 128 ) ( 192 192 128 ) ( 64 200 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 192 200 128 ) ( 64 200 128 ) ( 192 200 0 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 192 200 128 ) ( 192 200 0 ) ( 192 192 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 64 192 0 ) ( 192 192 0 ) ( 64 200 0 ) common/caulk 0 0 0 0.5 0.5 0 0 0
( 64 192 0 ) ( 64 192 128 ) ( 192 192 0 ) battery_wall/wall03_mid 0 0 0 0.5 0.5 0 0 0
( 64 192 0 ) ( 64 200 0 ) ( 64 192 128 ) common/caulk 0 0 0 0.5 0.5 0 0 0
}
}
// entity 1
{
"classname" "script_multiplayer"
"scriptname" "game_manager"
"origin" "-46.000000 -16.000000 56.000000"
}
// entity 2
{
"classname" "info_player_deathmatch"
"origin" "-94.000000 -16.000000 24.000000"
}
// entity 3
{
"classname" "team_WOLF_objective"
"spawnflags" "1"
"origin" "-48.000000 64.000000 72.000000"
"description" "Axis Spawn"
"targetname" "Axis_wobj1"
}
// entity 4
{
"classname" "team_WOLF_objective"
"origin" "-48.000000 -96.000000 72.000000"
"spawnflags" "2"
"description" "Allied Spawn"
"targetname" "Allied_wobj1"
}
// entity 5
{
"classname" "team_CTF_bluespawn"
"spawnflags" "3"
"origin" "-94.000000 -94.000000 24.000000"
}
// entity 6
{
"classname" "team_CTF_redspawn"
"origin" "-94.000000 62.000000 24.000000"
"spawnflags" "3"
}
// entity 7
{
"classname" "trigger_teleport"
"target" "misc_teleporter_dest1"
"targetname" "teleport1"
// brush 0
{
( 192 184 128 ) ( 192 64 128 ) ( 64 184 128 ) common/trigger 0 0 0 0.5 0.5 0 0 0
( 192 192 72 ) ( 64 192 72 ) ( 192 192 56 ) common/trigger 0 0 0 0.5 0.5 0 0 0
( 192 184 72 ) ( 192 184 56 ) ( 192 64 72 ) common/trigger 0 0 0 0.5 0.5 0 0 0
( 64 64 0 ) ( 192 64 0 ) ( 64 184 0 ) common/trigger 0 0 0 0.5 0.5 0 0 0
( 64 64 56 ) ( 64 64 72 ) ( 192 64 56 ) common/trigger 0 0 0 0.5 0.5 0 0 0
( 64 64 56 ) ( 64 184 56 ) ( 64 64 72 ) common/trigger 0 0 0 0.5 0.5 0 0 0
( 64 128 64 ) ( 128 64 -64 ) ( 64 128 -64 ) common/trigger 0 0 0 0.5 0.5 0 0 0
}
}
// entity 8
{
"classname" "misc_teleporter_dest"
"origin" "72.000000 -80.000000 32.000000"
"angle" "-179.999985"
"targetname" "misc_teleporter_dest1"
}
// entity 9
{
"classname" "script_mover"
"spawnflags" "10"
"health" "1"
"scriptname" "bulletsensor1"
"targetname" "bulletsensor_1"
// brush 0
{
( -112 -112 128 ) ( -112 -128 128 ) ( -128 -112 128 ) common/trigger 0 0 0 0.5 0.5 0 0 0
( -112 -112 128 ) ( -128 -112 128 ) ( -112 -112 120 ) common/trigger 0 48 0 0.5 0.5 0 0 0
( -112 -112 128 ) ( -112 -112 120 ) ( -112 -128 128 ) common/trigger 0 48 0 0.5 0.5 0 0 0
( -128 -128 96 ) ( -112 -128 96 ) ( -128 -112 96 ) common/trigger 0 0 0 0.5 0.5 0 0 0
( -128 -128 120 ) ( -128 -128 128 ) ( -112 -128 120 ) common/trigger 0 48 0 0.5 0.5 0 0 0
( -128 -128 120 ) ( -128 -112 120 ) ( -128 -128 128 ) common/trigger 0 48 0 0.5 0.5 0 0 0
}
}


Script:


game_manager
{
	spawn
	{
		wait 200
		wm_axis_respawntime 2
		wm_allied_respawntime 2
		wm_set_round_timelimit 15
		
		setstate teleport1 invisible
	}
}

bulletsensor1
{
   death
   {
		setstate teleport1 default
		wait 500
		setstate teleport1 invisible
		alertentity bulletsensor_1
   }
}

As mentioned by Erik-Ftn you can’t make the trigger non-solid if you want it to detect bullets. (I also tried with the no draw / non-solid texture, but that doesn’t work either)

The rest is quite straight forward: Shoot script_mover, when it dies it triggers the on death event. That setstates the teleport for 500 ms then it all goes back to before.

… Hupo making a map? … interesting…


(PasaKuningas) #5

func_door -> target_teleporter -> misc_teleporter_dest

func_door
key: health
value: 1


(huPoo) #6

Thanks all. The thing with that scripted one, is that every player teleports who is within the range of the trigger, so we can’t have that. We’re going to use func_button->target_teleport->misc_teleporter_dest as it teleports only the player who activates it.

As a sidenote to stealth: Yes, tutorialjump3.