31 lines
1.9 KiB
Go
31 lines
1.9 KiB
Go
package methods
|
|||
|
|
|
||
|
|
//
|
||
|
|
// IGameGMToClient.SyncRunGmUtils(String methodName, List<String> args) — methodId 66042045.
|
||
|
|
// S2C: asks the client to execute a local GM utility command by name — the same native entry
|
||
|
|
// point the in-game ALT+F1 admin console drives (L50Game.dll:
|
||
|
|
// RunGmUtils_Public_Static_String_String_List_1_String_0 / RunGmUtilsCommand_Private_Static_…
|
||
|
|
// resolves the method by name and invokes it with the string args). Execution happens entirely
|
||
|
|
// client-side, so locally-spawned units get the full AI / hit-reaction / stagger stack that
|
||
|
|
// server-authored packets cannot drive.
|
||
|
|
// Field order matches the IL2CPP method signature: string first, then the string list.
|
||
|
|
//
|
||
|
|
//
|
||
|
|
// IGameSceneToClient.SyncDoGmCommand(String command, String[] args) — methodId 68373443.
|
||
|
|
// S2C on the main scene interface (same one as SyncUnitOccur): asks the client to execute a
|
||
|
|
// GM command locally. Implemented by LX6.Service.GameSceneToClientImpl (iFix-proxy virtual in
|
||
|
|
// L50Game.dll), which parses the command line (ParseSpoonLines) and runs it through the local
|
||
|
|
// GM system. Second candidate channel besides SyncRunGmUtils(66042045).
|
||
|
|
// Field order matches the IL2CPP signature: string first, then the string array.
|
||
|
|
//
|
||
|
|
// ---------------------------------------------------------------------------
|
||
|
|
// 7-bit variants.
|
||
|
|
//
|
||
|
|
// Every other DTO in this protocol encodes collection counts as a biased 7-bit
|
||
|
|
// varint — that is literally the default of UxCollectionAttribute.Count, and
|
||
|
|
// lua/LuaGen/AutoGen/RPCSerializeAuto.lua writes list-of-string fields with
|
||
|
|
// Base.WriteList7Bit (540 uses vs 179 plain WriteList). The two DTOs above were
|
||
|
|
// originally written with an unsourced Int32 count, which is why the client kept
|
||
|
|
// receiving an empty first arg and falling back to its default NPC regardless of
|
||
|
|
// the id we sent. These variants exist so both encodings can be probed in one run.
|
||
|
|
// ---------------------------------------------------------------------------
|