What does packet 147 stand for or where could I find up to date protocol docs? #3143
-
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
There are no up to date protocol docs. Go decompile ghe server and the client and dig into them. Feel free to DM me on discord (@zyrafaq) and I may help you. |
Beta Was this translation helpful? Give feedback.
-
Packet 147 itselfIn my packet library's naming: Handler implementation is generally client-authoritative: C2S: It's a notification of client-side change, you can't "block it", you have to manually revert the change if you want Its structure is: struct PlayerSetActiveLoadout {
byte UserId;
byte LoadoutId;
ushort AccessoryVisibility;
} where UserId is the player index it applies to, LoadoutId is the loadout ID (0-2 both sides inclusive), and AccessoryVisibility is a bitfield that is applied to Protocol documentationLargely outdated & rarely updated, recommend getting familiar with |
Beta Was this translation helpful? Give feedback.
Packet 147 itself
In my packet library's naming:
PlayerSetLoadoutSlot
(could/should be renamed toPlayerSetLoadoutId
or something)It tells the server (or client in SSC with some caveats) to switch the active loadout slot in memory.
Handler implementation is generally client-authoritative:
C2S: It's a notification of client-side change, you can't "block it", you have to manually revert the change if you want
S2C: Requires SSC, client still gets to decide if it wants to make the change or not - in particular, being considered crowd-controlled (silence, petrify, etc.) can cause the client to ignore the server's loadout change.
Its structure is: