package methods // // Client -> GameSceneGM GmSpawnVehicle(uint32 templateid, UXVector3 position, float facing, // uint32 suitid, bool loadownvehicle, string spoonname). // From ClientToGameSceneGMDelegate.lua (build 4229938). Returns u64 entity id. // // // Client -> GameSceneGM GmAddEnemyWithPosition(uint32 enemyid, byte camp-enum92, // UXVector3 position, uint32 navtagtype, bool outsideaoimove). Returns u64 entity id. // // // Client -> GameSceneGM GmAddEnemy(uint32 enemyid, byte camp-enum92, string treename, // uint32 navtagtype, bool outsideaoimove). Returns u64 entity id. // // // Client -> GameSceneGM GmAddEnemyByPlayer(uint32 enemyid, byte camp-enum92). // Returns u64 entity id. // // // Client -> GameSceneGM GmAddNpc(uint32 npcid, uint32 plotid). Returns u64 entity id. // Two plain uint32s and no enum parameter, which makes this the one C2S GM command the // ALT+F1 console bridge can actually serialize: every Gm* command carrying a UnitCamp / // navtagtype argument reaches the serializer with that argument set to nil and dies in // RPCSerializeBase.CheckEnum (verified 2026-09-16, RPCSerializeBase.lua:282). // // // Client -> GameSceneGM GmTeleportXYZ(float x, float y, float z, float facing). // Returns void. // // ───────────────────────────────────────────────────────────────────────────── // Aether 氛围层(2026-09-24 自捐赠端 DremkaPS 移植,其 GameScene/GmMethods.cs) // // 这一对进本服的理由很具体:GmGetAmbianceEnabled 是 0 字节的 INVOKE —— // 客户端在 await 一个返回值。不接它,控制台按下去就会一直卡到超时(规则 94: // Invoke 类没有 handler 会让客户端 await 卡死)。抓包里它出现过 2 次。 // ───────────────────────────────────────────────────────────────────────────── // Client -> GameSceneGM GmSetAmbianceEnabled(bool enabled, int32 type),mid 69166506。返回 void。