Telefragging issue/advanced teleporter Created 18 years ago2005-12-21 09:52:07 UTC by OP8 OP8

Created 18 years ago2005-12-21 09:52:07 UTC by OP8 OP8

Posted 18 years ago2005-12-21 09:52:07 UTC Post #153697
This is a unique issue and the specifics are critical. I have been googling and searching forums on this for almost 5 hours now and have had no luck.
The problem simply: I need to find out if is possible to teleport all players of a multiplayer level (in unpredictable "mid combat" map locations) into one room with many teleport_destinations without killing any of them. (as many as 18 players).
This will be for an HL1 mod based map.
Scenario: one random player from the server is teleported out of battle uppon firing a hidden trigger (already built and operational) and is put into a puzzle room. Upon completing the puzzle, a trigger_teleport that occupies the entire main map is fired through multimanager/multisource chain. (built and operational as well) The objective is to have every player in the game at that moment no matter where they are, teleported into one relatively small and barren room for an instant deathmatch. After 45 seconds of carnage, whoever is left standing is then teleported back into the main arena with full health.
I have every aspect of this stunt complete and all entites are working fine except I can't seem to figure out how to get everyone in the same room without telefragging. The main arena is already over 1900 brushes textured and done with almost 350 entities controlling it.
I feel silly being this far done with a project while having a problem like this. If there is anyone out there with some tricks on this matter please lt me know.
All players need to teleport at almost excactly the same time.
I'm wondering if maybe its possible to use the change_target trick, but for it to work it would have to be as fast working as the difference in player latency to the server. I don't know if it can work that fast though and don't know if I can find out easily because I can't run the map on the intended server till this feature is finished and test maps are really hard to get 18 players into on a server. My problem solving skills are straining on this one.
Please share any wisdom or suspected remedies. Thank you.
Posted 18 years ago2005-12-21 11:06:54 UTC Post #153710
350 entities seems way to much for something as simple as the teleport system you say you have right now. are they all for the teleport?

but for your telefraging problem. the best way to do it, to make sure eveyone is teleported at the same time while not being telefraged, while complex, would be to have lots of smaller teleports that each have a unique teleport_destination. I belive there are other ways, but Im not thinking fully this morning.
Posted 18 years ago2005-12-21 12:23:05 UTC Post #153719
Looks like you've set yourself for a too-hard task with the given HL entities. The way teleports in HL work means you'll have to use a lot of teleports, each with their own destination, preferrably controlling these teleport targets using a trigger system that changes their target depending on the available places. All in all, to do this for an entire map, is probably just madness. I wonder if the server likes that amount of entities doing their job at the same time...

Have you considered alternatives for this instant-deathmatch idea?
Also, do you know it will be fun to play? I think it would be good next time to focus on tricks like these and playtest them as soon as possible to ensure your work isn't done for nothing.

Don't get me wrong: there may be a solution, but is it worth it, or would a change of idea give a better result?
Posted 18 years ago2005-12-21 15:37:04 UTC Post #153743
I think its possible to set one trigger_teleport and give it multiple destinations named the same thing. The HL engine will juggle where everyone goes, you may test that.
TheGrimReafer TheGrimReaferADMININATOR
Posted 18 years ago2005-12-22 17:48:32 UTC Post #153998
how about...

use massive trigger_teleport

this teleport teleports players at the top of a tall shaft

as the players fall, one player will pass through the first trigger at the top of the shaft, being teleported to one place. this teleporting will thus deactivate the first teleport.

this will continue down the shaft until all players have 'fallen' through a trigger to a different location.

it would definately take a lot of tweaking, but it may work.

also, it would give you a chance to do some cool effects on teh walls of the shaft to represent teleportation.

what do you think? :
Posted 18 years ago2005-12-22 17:57:17 UTC Post #154000
Instead of teleporters, why not have the floor dissapear/move and drop them in a pit (with water on the floor to ensure no damage) there they could have their brawl, and after that have the big teleporter bring them back to the main arena (with the floor back in place of course.) I know you don't want to deviate from your original plans, but your first idea may not be possible/practical.
Posted 18 years ago2005-12-22 21:37:08 UTC Post #154037
ya, the teleporting doesn't really sound practical. I would do something like dorian said. have the floor(s) of the map be a func_wall_toggle, and just have your DM arena underneth, with water on the floor, that recedes after a few seconds.
Posted 18 years ago2005-12-23 21:31:22 UTC Post #154225
The 350 othere entities I mentioned, are not related to this mass teleporter that I'm attempting. They are for world shape control. The beta for this map has already had a few months of active playtesting on the official tactical gamer server and even though its construction is nothing less than exotic, most of the players there enjoy it. It is an NS combat map that has the ability to change its own gameflow/architecture at random and was built to provide an ever changing strategy during play. It has platforms that turn into bridges for alternate paths, sections that relocate themselves to change areas from open to close melee and back, and entire hallways that seal them selves off to force alternate routes and some hallways that actually move to different areas of the connecting rooms to change walking distances. The map is almost humorously complex, but is still fun to play. Ultimately, If I cant get this mass teleporter to work right, I'll just think of another way of implimenting the chaos I intended. The map is a finished product already without this feature and can live without it. I just wanted to know if it were possible to add this little "perk".
The dropout floor almost couldnt work because the map has SOOO many different floor levels. Believe it or not, the server has no difficulties running this map. If I manage to get this "Hidden room victory condition" to work, I'll let ya all know how I did it. Thanks for the suggestions so far.
Posted 18 years ago2005-12-24 05:20:56 UTC Post #154252
You should check out Gollum's deathmatch mod, you can find it on the Snarkpit. It has a somewhat similar idea, with some additional traps.
Anyway, the idea sounds funny, yeah. :)
Posted 18 years ago2006-01-02 09:24:32 UTC Post #155775
The only thing I can suggest is that each info_teleport_destination be covered by a trigger_multiple which uses a multisource to deactivate that particular destination -- but I really don't know if it would work fast enough to prevent the engine from sending another player to the same point if the teleports are all triggered at the same time.

(I'm assuming that a single trigger_teleport with multiple info_teleport_destinations selects one at random? Is that how it works? I didn't think that was the case anyway...)

The other way would be to use a change_target -- but again, it may not work fast enough for the simultaneous teleport.

The only other option I can think of - since you say it's "an HL1 mod" - is to add (or ask the mod developers to add) an additional trigger_teleport_multiple and info_teleport_sequential entities which are actually hard-coded to do what you want; distribute incoming teleported people evenly amongst the specified targets... ;)

Edit:

As an alternative possibility, could you have two sets of spawn points (INFO_PLAYER_DEATHMATCH) controlled by a couple of multisources, such that one set is active while the other is inactive, and vice versa. Your main set could be in your main playing area, with a secondary set in your arena, and then instead of triggering a TELEPORT event, you trigger some sort of MASS DEATH event (nuke or whatever) and kill everybody in the main arena (which then makes it desirable to be the person who triggers all this and gets into the arena first, and therefore survives.)

If you run it on a server with forced respawns, you can ensure that everybody will respawn in the arena, and leave it up to the engine to handle the respawns without any telefrags (does the HL engine avoid spawn telefrags? I don't think I've ever seen one... Provided there are sufficient spawn points for the max number of players, it should work fine.)

You could even, perhaps, sound a brief alarm and open a couple of portals into the arena so people will be fighting to get in before the nuke. Or not.

Just something to think about, anyway... ;-)
You must be logged in to post a response.