OnEndTouch bug

zahndah

professional letter
aa
Jul 4, 2015
721
642
For my map arena_ascent, there is the gimmick that each team has 8 respawns before it becomes true arena. To do this i am using a huge trigger_multiple for both teams that covers the whole map with the output 'OnEndTouch (to measure each time a player leaves the trigger) Counter_blu/red Add 1'. However when multiple people die at the exact same time (crit rockets from first blood for example) the trigger only registers one person leaving.

My problem with this, is that seeing that first blood crits are a big part of arena - and this nullifies them - that it would make the effect of getting first blood crits not so great.
I reckon i could set a filter to each player via triggers at the spawn places then disable them, and have 1 big trigger for each player. However im looking for a solution that wouldn't require over 90 entities for a workaround. Can anyone please help? Thank you.
 

UKCS-Alias

Mann vs Machine... or... Mapper vs Meta?
aa
Sep 8, 2008
1,264
816
A workaround that doesnt involve those timing collisions:
Have a spawn area outside the map serving as prison. When the round starts, have a trigger that teleports everyone to the real spawn (using landmarks you can preserve their orientation and position). It doesnt care if its 4, 6, 8 or 12 players.

After that, the spawn gets a trigger on each seperate spawn rather than the whole section. As you have 8 spawns you can use 8 triggers. And those triggers make 1 player teleport once to the actual spawn and add 1 to the counter. On reaching the limit it disables all those triggers. And then players are stuck in the prison spawn. You could alternatively still allow them to fight the enemy in a dummy map section to at least prevent them getting the dull moments normal arena maps have.

A side advantage to this is that you could even make it so that after the 8th respawn it still keeps the teleport enabled for 1 more second so 3 deaths at the same time (death 8,9 and 10) would be considered equal to prevent the randomness part taking place. And when this happens just give the enemy team another 2 respawns to compensate (which if they would face the same trigger the same compensation).

How many entities you need: 1 trigger for each spawn (8 spawns for 2 teams means 16 entities), 2 landmarks for the target to teleport to, 2 counters and some relays to handle some additional effects if needed. And potentialy some entities for the prison to prevent players getting bored.
For the 'at the same time death' solution there are multiple options, but a logic compare with a max_deaths counter where both teams compare to would probably the safest method. for safety i would say that you could get another 10 entities for it (although i think you actualy would need only about 4).

However, think twice about the gamemode because its grief friendly because 1 person on your team could just decide to suicide 3 times to use up those respawns. Normal arena doesnt have this since once dead you are being forced to watch others and this means the griefer quickly gets bored.
 

Izotope

Sourcerer
aa
May 13, 2013
698
764
Why make things so complicated? This is what you want to use: https://developer.valvesoftware.com/wiki/Trigger_brush
To summarize: Every time a player is killed, you can check the activators to pass a team filter, and after a pass add your death counters.
I suppose you could kill 8 people at once and have your death counters fill up instantly.