Advanced Lifting
SuperTeflon
Join Date: 2003-12-31 Member: 24893Banned
<div class="IPBDescription">:)</div> Alright. I have a lift. This lift is in a shaft. It goes down the shaft. It goes up the shaft. It's a cute, wonderful, cuddly, fuzzy wuzzy lift.
I want my lift to do more.
First, I want to have a button ON the lift itself. However, for some reason I don't recall seeing this used in any NS map... well, ever. I tried setting the 'do not move' flag to 'off' on the switch, and giving it the same speed and direction as the lift itself, but the button decides that IT should move FIRST, and once at the bottom, THEN it activates the lift.
Next, I want to have neato doors on the lift itself. Hit the button, doors slide shut on the lift, down you go. That, or if it's not possible at all, doors like that at the top and bottom of the lift's exit.
Okay... how? I can probably do the shaft doors with a multimanager. Easy, just trigger the opposite doors and send the lift on its way, then on the same timer open them again.
But I'd much rather have doors on the lift car ITSELF. But is it possible at all? If so, how? I've been pouring over this for a while now... <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html//emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif' /><!--endemo-->
I want my lift to do more.
First, I want to have a button ON the lift itself. However, for some reason I don't recall seeing this used in any NS map... well, ever. I tried setting the 'do not move' flag to 'off' on the switch, and giving it the same speed and direction as the lift itself, but the button decides that IT should move FIRST, and once at the bottom, THEN it activates the lift.
Next, I want to have neato doors on the lift itself. Hit the button, doors slide shut on the lift, down you go. That, or if it's not possible at all, doors like that at the top and bottom of the lift's exit.
Okay... how? I can probably do the shaft doors with a multimanager. Easy, just trigger the opposite doors and send the lift on its way, then on the same timer open them again.
But I'd much rather have doors on the lift car ITSELF. But is it possible at all? If so, how? I've been pouring over this for a while now... <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html//emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif' /><!--endemo-->
Comments
About opening the doors on the lift... uh, no idea...
Edit: I'm very slow, lol
About opening the doors on the lift... uh, no idea... <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
Now there's something I didn't consider... but that means that some malicious skulk could be in there and trigger the elevator when it's at the bottom though...
True, true.
The doors can't follow either, so you'll have to make them for each floor.
edit: clarificiation
Well so far what I've got is working great <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html//emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif' /><!--endemo--> Someone told me that fun_doors were better elevators then func_trains. Stupidly I listened to them. But now everything is happy and fun!
the doors get triggered first. the func_trains move towards till they are "closed". then there has to be a little delay, the doors wait at the track_corner, for retriggering. then both doors and the elevator platform will triggered to the same time, so both move with the same speed and the same direction.
when the lift stops and dorrs open its the same procedure only in reverse order.
the delays are the key. so you dont have to synchronize the movements. one big BUT: the doors and the elevator should do 100000 damage to prevent func_trains to be blocked so they move seperately. but this would cause a lot of trouble, players die if they cant get out of the way of the moving trains.
personally I dont see ANY cause to create such a elevator. its just ... its crap. and even when you finished the elevator, any players will mention the kill problem and you will have to remove it. save your time, do something else instead.
<a href='http://collective.valve-erc.com/index.php?doc=1047958901-74747200' target='_blank'>http://collective.valve-erc.com/index.php?...958901-74747200</a>
and
<a href='http://collective.valve-erc.com/index.php?doc=1047964377-43297800' target='_blank'>http://collective.valve-erc.com/index.php?...964377-43297800</a>
Try these. Also become familiar with using env_global to store states (such as On and Off) for use with multisource entities. That way you can set up complex sequences where events only happen if a particular state is On or Off (ie. call button will not work unless elevator is on another floor).
people actually liked those doors. Comm kills were fun.
/me looks at generator lift on ns_nothing with an evil stare.
although it does make for some great places to catch oni and gorges.
edit: the question is not HOW to do. there are people out there even creating moving dorrs with a handle, that moved down when triggered but also moved WITH the door.
the question is if the map badly NEEDS SUCH EFFECTS.
/me looks at generator lift on ns_nothing with an evil stare.
although it does make for some great places to catch oni and gorges. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
That's easy to fix. Use env_globals and multisources to create a State system. When someone pushes the button it just has to call a multimanager that flips the states of the globals so that the buttons do no work, and when the elevator arrives at a floor it can call another multimanager that flips them back on again. As long as the buttons use the multisources as masters it will work perfectly and no one will be able to 'break' the elevator. I've done this before in multiplayer maps and never received any bug reports about broken elevators.
/me looks at generator lift on ns_nothing with an evil stare.
although it does make for some great places to catch oni and gorges. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
I personally have only ever used the func_door method, with func_button.
The reasons for this are
a) Less entities. Should decrease lag and server load.
b) Quicker and easier to achieve.