Open zach2good opened 3 years ago
Would be useful to start collecting information about which CSs are problems
Like this idea... just curious, does the framework have some built in alert function that could more less just be dropped into a script?
Thinking kinda like how they could do back in the day with Java? Mind you, surely not the annoying pop up that java put on your screen, but a similar construct?
Just wondering if there would be a way to streamline it. You guys have so much on the plate already without building a new alert system.
Technically no, we don't have the ability to inject anything like that into the client from the server without modification. It's possible for us to use an unused packet ID to send things to the client, for custom addons in Windower/Ashita to pick up and display an alert with, but that's straying pretty far into custom territory
We can also just spoof a chat message using PrintToPlayer right before the call to start the cs event. SYSTEM_3
shows up as the yellow warning color SE uses and the default is the purple server wide system messages.
require("scripts/globals/msg")
player:PrintToPlayer("Warning text here", xi.msg.channel.SYSTEM_3, nil)
That nil argument is the speaker: don't need a speaker in this example, as system messages aren't spoken by a named entity.
(It's even possible to make a binding the checks the players version first, though that's not relevant when the issues are caused by addons or adjusting their frame rate limits and I will not be nice to anyone that tries to stuff a ton of conditional checks for client version everywhere.)
but that's straying pretty far into custom territory
Definitely. I think optimal outcome is someone rolls a 3rd party addon that checks your client state/addons/plugin loadout and what thing you are starting in game, and just turns those on/off for you - or at least displays a message so you know what you did.
As a module..I'd say localvar check to see that the warning has displayed before printing a warning via spoof, start event if it already has. just my thoughts if going there.
Collecting problem CSs https://github.com/LandSandBoat/server/issues/686
I don't remember any exact examples, but the concept is easy.
Would look something like this:
We need to let the super fire first, so we know what CS the player is in. Otherwise, we're just flying blind...
Could also add a localVar so the warning doesn't get spammed.
Additional Information (Steps to reproduce/Expected behavior) :