You joined a match.
You see that guest-23487 is walking straight through a door that is closed.
This is the most acient problems in PB2.
The reason is that timers, triggers and regions's states are client-sided.
Region activation, e.g when a player presses a button, it will send a message to every other client in that match saying "Hey guys, I just pressed a button!" Then your client will be like "Oh okay, let me run my client-sided trigger!"
That's all nice and stuff, until you join the game after someone else. The guest presses the button, tells everyone, and then you join afterwards, since you didn't get the message, we will have an unsynced state. That's why you see the guest walking through the door.
Asynced states is not the bad, they're actually quite nice.
Consider a timer, that activates a trigger that sends out a text "Welcome to my map!"
You don't want to see that message every time someone joins a map, only when you do. That's why It's nice the timers/triggers are client-sided.
However, some things should be synced up with everyone, like the door example, or an ammo system, or countless any examples. Until this day, we just had to suck it up. Now I found a solution.
We're about to break out of the matrix.
__________________________
We can exploit the fact that:
--- Players/character's health are synced up automatically. Otherwise, killing maps wouldn't be possible. ---
We can therefore, place a character in an isolated corner in the map, and then set the character's health to a specific value.
Every client will be constantly checking the character's health, and then check if it's a certain value, if it is, do an action. In other words, character-health is the channel that clients can communicate through.
A little demonstration:
http://plazmaburst2.com/level_editor/ma ... synced&a=#
_________
To sync states, use the "Shared stated" pattern: https://prnt.sc/ig6gdw