The issue with indicators is that in order to give display an indicator about stuff like that, from your end as a player that information needs to be available clientside--and it's typically not.
For blocked players it's probably doable, but for players who have everyone else muted I don't know how possible it'd be.
|
It's doable so long as there is at least one broadcast attribute available (e.g. I believe the player hat is one of them, player.attr[1]?). To get started, here's a little tutorial on bitfields:
http://forum.codecall.net/topic/5659...-with-example/
You manipulate numbers at the binary level to achieve a bit field. You can see how they're sometimes used in practice here:
http://php.net/manual/en/errorfunc.constants.php
Basically you take a number of on/off, true/false attributes and merge them into a single integer using bitwise operators. For the attribute value though, you can condense it even further into a string with 7 or 8-bit characters, and each character represents it's own 7 or 8 on/off, true/false values. The client at the other end can then use that to determine how to display an indicator.
I must caution, Thor told me that bitwise operators have become broken in some sense. I have no clue about any specifics, so if you were to do this, you might want to do some testing to see how reliable each bitwise operator is (and if any are unreliable, complain up the ladder).
Meanwhile, displaying an indicator to show the other player has blocked you? That would be a bit less trivial because it's specific to each player and not a global on/off value.
I believe I actually used this method with the custom movement system for post-NPC server Classic. E.g. a flag would be set if a player was within a space that was something like 3 tiles across horizontal or vertical to signify that the player was not blocking and be accessible using a player attribute field.