Just for some perspective, there is a few options which exist:
One is to use
etigah's suggestion of forced spawn and death event suppression with custom zone logic.(I'm not entirely familiar with how death event suppression works, but I've seen something similar of kill/death event(s) being triggered without causing a death event.)
---
I'm also aware of similar "teleportation" being used without death event suppression done on
Castle Scarwal by
Grue with "
Dimension Door" being used as a teleporter type of flag with forced spawning.
---
Another alternative option, although untested, but works in theory:(It's quite a bit cruder compare to the above options.)
It would be to use
mappedDeathZones with death objects to cause spawns to occur on the next teleport "destination".
The score could be manipulated with something similar to the following:
Code: Select all
bz_PlayerDieEventData_V1 *deathData = (bz_PlayerDieEventData_V1*)eventData;
if ((deathData->killerID == BZ_SERVER) && (deathData->shotID == -1)) {
bz_incrementPlayerLosses(deathData->playerID, -1);
}
This way players do not wind up with scores heading negatively on teleports in that manner. (Note: Above code is untested.)
The last factor would be simply to track flags on death and spawns and if it's a "teleporting" spawn, simply give them back the previously held flag.
---
Lastly, but not least, pretty much at least for 2.4.x, teleporting without yellow screen or sound can't be done with an actual teleporter object (AFAIK), but it can be simulated with varying degrees of closeness to the original, but (realistically,) it can only be done via a plug-in or BZFS mod.
-Zehra