Taking the player on a tube ride
Quote from Wsterfury on May 26, 2011, 7:40 pmHello again!
Since all of my questions thus far have been answered quickly and efficiently, I'm starting to feel pretty good about coming here for advice and whatnot. Because of this, an Interesting Problem? follows.
I'd like to take the player on a short yet important ride between two different test chambers, using the pneumatic tubes. The idea is that they press a button and are whisked away to another portion of the level, fairly quickly. I know how to actually make a Pneumatic Diversity Vent, but...it doesn't seem like the player can actually fit into a tube.
Is there a way to allow a player to temporarily not abide by clipping and therefore be affected by the func_push to the point where they can move through the tubes with ease, or is there an even better solution to this predicament that I'm not thinking of?
Thanks!
Hello again!
Since all of my questions thus far have been answered quickly and efficiently, I'm starting to feel pretty good about coming here for advice and whatnot. Because of this, an Interesting Problem? follows.
I'd like to take the player on a short yet important ride between two different test chambers, using the pneumatic tubes. The idea is that they press a button and are whisked away to another portion of the level, fairly quickly. I know how to actually make a Pneumatic Diversity Vent, but...it doesn't seem like the player can actually fit into a tube.
Is there a way to allow a player to temporarily not abide by clipping and therefore be affected by the func_push to the point where they can move through the tubes with ease, or is there an even better solution to this predicament that I'm not thinking of?
Thanks!
Quote from WinstonSmith on May 26, 2011, 7:47 pmYou can use a point_clientcommand to send a command of "+crouch" (without the quotes) when the player hops in the PDV; this will cause the player to crouch and [hopefully] fit in the tube. Optional: use the point_clientcommand to send a command of "-crouch" when they exit to make them automatically uncrouch.
You can use a point_clientcommand to send a command of "+crouch" (without the quotes) when the player hops in the PDV; this will cause the player to crouch and [hopefully] fit in the tube. Optional: use the point_clientcommand to send a command of "-crouch" when they exit to make them automatically uncrouch.
Quote from CraigChrist on May 26, 2011, 7:49 pmI was trying to make Pneumatic Diversity Vent just for fun... I wanted to make it suck tiles of the wall. Which worked pretty well, but while testing it I accidentally got sucked into it and traveled all the way to the end.. so I guess it works fine. I used standard tube models (don't remember names right now) and func_push-es and point_push at the start of the tube.
but if somehow you can't get through the tube you can always disable the collision on it and make a larger tube with invisible brushes...
*edit
now that I think about it I might have crouched when I got sucked, not sure though...
I was trying to make Pneumatic Diversity Vent just for fun... I wanted to make it suck tiles of the wall. Which worked pretty well, but while testing it I accidentally got sucked into it and traveled all the way to the end.. so I guess it works fine. I used standard tube models (don't remember names right now) and func_push-es and point_push at the start of the tube.
but if somehow you can't get through the tube you can always disable the collision on it and make a larger tube with invisible brushes...
*edit
now that I think about it I might have crouched when I got sucked, not sure though...
Quote from WinstonSmith on May 26, 2011, 7:52 pmCraigChrist wrote:*editnow that I think about it I might have crouched when I got sucked, not sure though...
Heh, yeah, I can see this. Crouching at different times has become something of an involuntary reaction at times.
now that I think about it I might have crouched when I got sucked, not sure though...
Heh, yeah, I can see this. Crouching at different times has become something of an involuntary reaction at times.
Quote from CraigChrist on May 26, 2011, 8:21 pmI was passing through a portal, and there were some physics objects that haven't got sucked and I couldn't pass because of them so I probably crouched to wiggle through and that was it
back on topic..
I don't know if it exists in portal but in l4d there was a trigger that forced a player to crouch. maybe that could be used? if it exists in portal of course.
I was passing through a portal, and there were some physics objects that haven't got sucked and I couldn't pass because of them so I probably crouched to wiggle through and that was it ![]()
back on topic..
I don't know if it exists in portal but in l4d there was a trigger that forced a player to crouch. maybe that could be used? if it exists in portal of course.
Quote from Wsterfury on May 27, 2011, 12:20 amHello again.
I set up a trigger_push chain for the tubes, along with a point_push to push the player into it. There's a point_clientcommand set up to fire +crouch and +jump when User1 is fired, and that happens via a trigger_once (that also enables the point_push).
The problem is, it doesn't seem to be working. :< Upon touching the trigger, nothing happens whatsoever. I've tried a couple different chains, but so far I can't seem to make heads or tails of it.
- Code: Select all
transition_tube_trigger: OnTrigger -> transition_tube_push -> Enable
transition_tube_trigger: OnTrigger -> command_crouch -> FireUser1command_crouch: OnUser1 -> !Player -> Command -> +crouch
command_crouch: OnUser1 -> !Player -> Command -> +jump
Hello again.
I set up a trigger_push chain for the tubes, along with a point_push to push the player into it. There's a point_clientcommand set up to fire +crouch and +jump when User1 is fired, and that happens via a trigger_once (that also enables the point_push).
The problem is, it doesn't seem to be working. :< Upon touching the trigger, nothing happens whatsoever. I've tried a couple different chains, but so far I can't seem to make heads or tails of it.
- Code: Select all
transition_tube_trigger: OnTrigger -> transition_tube_push -> Enable
transition_tube_trigger: OnTrigger -> command_crouch -> FireUser1command_crouch: OnUser1 -> !Player -> Command -> +crouch
command_crouch: OnUser1 -> !Player -> Command -> +jump
Quote from WinstonSmith on May 27, 2011, 12:33 amWsterfury wrote:
- Code: Select all
transition_tube_trigger: OnTrigger -> transition_tube_push -> Enable
transition_tube_trigger: OnTrigger -> command_crouch -> FireUser1command_crouch: OnUser1 -> !Player -> Command -> +crouch
command_crouch: OnUser1 -> !Player -> Command -> +jumpAh, here's your issue--the point_clientcommand itself doesn't actually fire any outputs. Instead, put the following outputs on the trigger_once that the player touches just before entering the PDV:
- Code: Select all
OnStartTouch-->[name of point_clientcommand]-->Command-->+crouch
OnStartTouch-->[name of point_clientcommand]-->Command-->+jumpAnd on the trigger touched upon exiting:
- Code: Select all
OnStartTouch-->[name of point_clientcommand]-->Command-->-crouchThe point_clientcommand entity receives an output from other entities; it then runs what's in the output's "Parameter" field as though you had typed that into the console.
- Code: Select all
transition_tube_trigger: OnTrigger -> transition_tube_push -> Enable
transition_tube_trigger: OnTrigger -> command_crouch -> FireUser1command_crouch: OnUser1 -> !Player -> Command -> +crouch
command_crouch: OnUser1 -> !Player -> Command -> +jump
Ah, here's your issue--the point_clientcommand itself doesn't actually fire any outputs. Instead, put the following outputs on the trigger_once that the player touches just before entering the PDV:
- Code: Select all
OnStartTouch-->[name of point_clientcommand]-->Command-->+crouch
OnStartTouch-->[name of point_clientcommand]-->Command-->+jump
And on the trigger touched upon exiting:
- Code: Select all
OnStartTouch-->[name of point_clientcommand]-->Command-->-crouch
The point_clientcommand entity receives an output from other entities; it then runs what's in the output's "Parameter" field as though you had typed that into the console.
Quote from Wsterfury on May 27, 2011, 1:52 amOkay, here I am again.
I got the clientcommand working just fine. The push itself, however, is sadly not running. Even the point_push stopped enabling from the trigger_once. The push triggers have "physics objects" flagged, and when I threw a test cube in the map the push did affect it; is there another flag I should have enabled?
As much of a hassle as this has been, this is one of those things I think I need to learn, and I think the map as a whole will be a lot cooler if I can get it to work.
Okay, here I am again.
I got the clientcommand working just fine. The push itself, however, is sadly not running. Even the point_push stopped enabling from the trigger_once. The push triggers have "physics objects" flagged, and when I threw a test cube in the map the push did affect it; is there another flag I should have enabled?
As much of a hassle as this has been, this is one of those things I think I need to learn, and I think the map as a whole will be a lot cooler if I can get it to work.
Quote from BaDOS on May 27, 2011, 2:28 amDecompile the map containing the neurotoxin implosion event and check what logic they use there, it should translate alright.
Also, you should have the 'Client' flag enabled.
Decompile the map containing the neurotoxin implosion event and check what logic they use there, it should translate alright.
Also, you should have the 'Client' flag enabled.
|BaDOS64 - Beta System Test - Candidate version 0.0.3
|---------------------------------------------------------|
B:\>cd system
B:\system>io_startup
loading. . .
Good afternoon, gentlemen.
Quote from NocturnalGhost on May 27, 2011, 6:22 amThe game cheats a bit when it comes to this effect. The setup that they use consists of a point_viewproxy, which is set to freeze the player and shift your view to follow a func_tracktrain which travels through the pipes.
If you want to decompile the maps and take a look, the relevent maps are "sp_a2_bts5.bsp" for the initial part with the vent that sucks you in, and "sp_a2_bts6.bsp" for the tube ride. The maps are quite complex though, so you may be a bit overwhelmed if you are new to mapping. You should be able to figure it out by looking at the relevent entities though, and following their I/O comands through the chain of events that they use.
The game cheats a bit when it comes to this effect. The setup that they use consists of a point_viewproxy, which is set to freeze the player and shift your view to follow a func_tracktrain which travels through the pipes.
If you want to decompile the maps and take a look, the relevent maps are "sp_a2_bts5.bsp" for the initial part with the vent that sucks you in, and "sp_a2_bts6.bsp" for the tube ride. The maps are quite complex though, so you may be a bit overwhelmed if you are new to mapping. You should be able to figure it out by looking at the relevent entities though, and following their I/O comands through the chain of events that they use.

