Logic, doors and trains- help

Apr 14, 2013
663
343
I am creating a logic system for a sd-inspired gamemode, where it's like doomsday, but w/o the rocket. There's a part where two doors in the ground should open when the flag carrier stands on a platform. the way it works is
Code:
 func_flagdetectionzone => logic_relay => door opening code => when door finished opening: trigger other stuff
If the flag carrier is no longer in the volume/flag is dropped, then the doors start closing. If they are fully open, but the other stuff hasn't yet been complete, then the stuff slowly reverses itself, and then the doors slowly close.

At first I tried to use func_door. But during testing, I discovered that the doors just keep on opening forever (ain't this strange?), and thus, the OnFinishedOpening (or something like that) output is useless.

Then I made the whole door system into func_tracktrains. The last path_track triggers the next event via logic_relays. After messing around with it for a while, I found out that for some strange reason when the doors spawn they are already open!
So then, when the flag carrier enters the platform area, the other stuff I talked about earlier happens, when the flag carrier exits the area, the stuff reverses (as should happen according to the logic code), and then the doors close. from that point it all acts normal: if the flag carrier gets back into the platform area the doors open, exits-the doors close, etc.

I set the paths properly, the first path has the "teleport from this pathtrack" selected, the 1st path leads to 2nd one but 2nd not to 1st. The "train" itself is set with the proper paht_track start. I even added later an logic_auto w/ a teleoprt to path_track output for both doors.


What I'm acctually asking is:
1. Is there some way of solving the door opens forever situation?
2. Is there a way to fix the doors spawning in the wrong way?
3. If not, is there some other way to make the doors open propely using another entity?
 

puxorb

L69: Emoticon
aa
Dec 15, 2013
531
799
for 2, if its a func_door then there should be an option to change its spawn position from "open" to "closed"

But what I would reccomend is finding a special delivery prefab somewhere online and studying what was done there.

Alternitavely, and probably a lot faster, is to find the decompiled version of sd_doomsday in the "Valve Maps Decompiled" thread: http://forums.tf2maps.net/showthread.php?t=5952
 
Apr 14, 2013
663
343
for 2, if its a func_door then there should be an option to change its spawn position from "open" to "closed"
As I said, at first I tried using the func_door, but when it failed, I tried to use func_tracktrain. The func_door's problem was they couldn't stop opening
The func_tracktrain's problem was they spawned "open' (at the 2nd path_track), although they shouldn't.
If only func_tracktrain had that option...

But what I would reccomend is finding a special delivery prefab somewhere online and studying what was done there.
Alternitavely, and probably a lot faster, is to find the decompiled version of sd_doomsday in the "Valve Maps Decompiled" thread: http://forums.tf2maps.net/showthread.php?t=5952

There is a good sd prefab somewhere on Gamebanana (thanks Idolon).
It's useful for everyone who wants the game to end with the doomsday rocket. I don't want all that. I want a completely different thing at the end. My problem was not setting the sd logic, but fixing the door problems.
 
Last edited:

puxorb

L69: Emoticon
aa
Dec 15, 2013
531
799
Well, when you stand on the platform on doomsday it starts to move upward, and will close when you step off it. I downloaded the prefab and checked it out, and it is indeed a func_tracktrain with some inputs that tell it to speed up or slow down forward or reverse depending on who is standing on it. All you gotta do is make 2 func_tracktrain's with those inputs and apply it to 2 brushes that move sideways. (or up/down, whatever you are doing). Just make sure the flag "fixed orientation" is checked or the train will orient itself in the direction of its movement. (your doors will float sideways).