@refreshpos
Description
ok this one is going to be hard to explain and rationalize for it not to sound like a terrible thing in the eyes of some.
What I'm requesting is basically an @refresh, but @refresh has some issues that I guess are deal-breakers here, mainly the way it literally just redraws the whole screen; it's an ugly thing to do and it's prone to bugs and exploits, it's a hacky solution to an unfortunate problem called position lag. So my suggestion is to look into creating the following (and keep in mind that I've never done work with the client so I'm not 100% sure how viable this is, so I'm leaving it to the discretion of the GM team to figure out if they can do it or not)
@refreshpos meaning refresh position, what this would do is not refresh the whole screen but refresh the position of all characters on the screen (basically call for an update on positions, it doesn't need to be done in one frame, it can be done in x amount of time, but basically call to correct the users position + the rest of the characters position)
Instead of waiting for the client to do it on it's own "eventually", we could call for it to be done faster or "now" in x amount of frames
Rationale
The client already corrects itself after a while, but making it so that it can correct itself faster and on command would be beneficial for everyone both in pvm and woe, while avoiding the traps of @refresh, which can come with some big abuses on character animations and npc exploits
Additional Information
considerations to take would be:
-
can this be done without doing a redraw of the whole screen? I would assume it can be done because the client already adjusts for position by snapping the player into their correct position when it gets info from the server this would just make the "snap" happen at demand
-
maybe this can't be achieved with all the players position only it's own? @refresh usually refreshes both, but there might be some technical limitations to refreshing other players/mob positions other than the current player, but I think it's worth at least looking into.
-
I looked a little bit into this and I couldn't find any working implementations for this, so this would be brand new stuff, so implementing this would definitely be hard, not sure how hard it would be for the GM team tbh, but it's definitely not an easy task, so I can understand if the difficulty is considered too much