Closed GoogleCodeExporter closed 9 years ago
Original comment by era...@gmail.com
on 18 Apr 2011 at 7:36
I was thinking about this and came to the conclusion that a solution for this
is already possible with the target_disable entity. Say we place a spawn point
at the beginning of the map and a second one halfway through the map.
Now we use a target_disable with the IMMEDIATELY spawnflag which targets the
second spawn point to disable it at map load. The player is forced to spawn at
the first spawn point.
Right after the 2nd spawn point, there's a trigger_multiple (with a wait of -1
so it's triggered only once) that triggers the target_disable to enable the 2nd
spawn point and another target_disable to disable the first spawn point. Now
the player will spawn at the second spawn point if he dies. Then it works kind
of like a check point system.
Now I do realize that this could become a bit of a mess with entities (and
there's pretty strict limits on the number of entities in Q3), so I'm planning
on simplifying it, probably by cutting out the need of the target_disable.
Original comment by era...@gmail.com
on 21 Apr 2011 at 10:12
I've made it better now. target_disable is not needed. Simply aim a trigger at
an info_player_deathmatch and the spawnpoint is enabled or disabled. I've also
added a DISABLED spawnflag so spawn points can be disabled at level start.
Another change is that in single player mode, at respawn the player will seek
out the spawnpoint that is nearest rather than the one that's furthest away
(like Q3 does by default for deathmatch games). The result is that if you place
spawnpoints throughout your map that are all disabled (except for one), you can
enable the spawnpoints as you progress through the map using triggers. Then
when you die, you simply respawn at the nearest enabled spawn point. If the
level designer wants more fine tuned control than that, he could always decide
to make only one spawnpoint enabled at a time.
Original comment by era...@gmail.com
on 21 Apr 2011 at 12:28
I'm considering this issue to be fixed now. If you have any other ideas or have
any objections to the way I implemented this, please do let me know.
Original comment by era...@gmail.com
on 21 Apr 2011 at 12:29
Sounds like a good solution and easy enough to understand.
Original comment by tigger...@gmail.com
on 22 Apr 2011 at 2:48
Original issue reported on code.google.com by
tigger...@gmail.com
on 17 Apr 2011 at 3:27