Dimensions
complete
GTNardy
complete
T
Timmy
Another idea for the dimensions thing:
When a possessed character is set in a new dimension, set the possesser player to the same dimension as the character (without unpossessing it)
GTNardy
Timmy: Actually the expected behavior is it working from top to bottom, and not bottom to top. So if you move a Character, everything down it will be moved to (grabbing Props, Weapons, Attachments). The same for every actor, and Players too. If you move a Player, the possessing Character will move to. So you want to move the Player instead.
T
Timmy
GTNardy: Yeah I noticed that (and it works well in this order), also I understand that's it's not how you want us to do it but there's some weird stuff happening when:
- switching a controlled character from a dimension to another
- sending the possesser in the same dimension as the character
- re-possessing the character in the new dimension
When doing it in this order the camera is attached to the character's feets instead of the normal position, I havn't seen other weird behaviours yet but this one may be problematic
GTNardy
Timmy: hm yeah it makes sense, I didn't implement anything when re/possessing characters
GTNardy
Brainstorm: How would events deal with it?
E.g.: Server broadcasts an event with an Entity as parameter which only exists on dimension X, players on dimension Y receive it too? receive but with a nil parameter? don't receive at all? add new broadcast methods to send to a dimension?
T
Timmy
GTNardy: In my opinion:
They receive it, but it would be up to the scripter to check in which dimension this entity is, that would allow more compatibility and less breaking changes.
If the event should be sent only to players of one dimension it would also be the responsibility of the scripter to send this event only to these players.
GTNardy
Timmy: This should take into consideration the other dimension entities don't even exist in the client side for other players
Voltaism
GTNardy: Just put an Invalid entity (this entity is in another dimension) error clientside when we try to use it
When entities in another dimensions are passed into remote events
And don't call the shared events clientside when the entities are in another dimension
T
Timmy
GTNardy: In my opinion as long as the entity's shared values are sent to the client when the dimension of this entity changes to the one the client is in (and when the values were set while this entity was in another dimension) then there is no need to trigger the event, but I'm not 100% sure since I don't see the others problems it could cause
Voltaism
Timmy: I think the shared values should be updated with clients when they get into the clients dimension, just like it does when the entity is created (when we set values on it on spawn)
So i agree with you
T
Timmy
Voltaism: Yep I agree with that
Voltaism
GTNardy
under review
Under analysis on how to better integrate it