I found something strange. If you set one condition (for example, SONIC), and it is not correct (because you are TAILS), then the second and subsequent conditions will not be checked. I don't know what it is, a feature or a bug.
I found a way to get around this - for each character to make a separate invisible sector for checking (like
Linedef type 223, Intangible, Invisible)
I made an example. If you are a Sonic, you will teleport to the red square. If you are Tails, you will teleport to the blue square. This happens instantly and with no effects, so the player doesn't even know.