package methods // // 车辆改装店(ApplyCar / RepairShop)进场事务所用的三个 wire 契约 —— 2026-09-25 从 // 俄语上游 donor 的 repair-shop.zip 移植,并用本地 Lua 副本逐字节复核: // · C2S AskTeleportToParkingWaypoint(67618512) / AskTeleportToLeavingWaypoint(67349910) // —— ClientToGameSceneDelegate.lua:3568/2006 的 Serializer 只有一句 // WritePrimitive(writer, carshopid, writer.WriteUInt32, 0) ⇒ 顶层没有 complex 标记, // 就是一个裸 u32,所以这边必须是 Inline = true 的单字段契约(多写 FF 会被当成坏包)。 // · S2C SyncTeleportVehicle(68088911) —— RPCDeserializeAuto.lua:5203: // ReadUInt64 + ReadStruct(UXVector3)×2 + ReadSingle + ReadBoolean + ReadInt32, // 同样是 inline(无 complex 标记)。 // 另外:68681875 SyncStartSummonVehicle 是 CSharpOnly(RPCDeserializeAuto.lua:1131), // Lua 侧根本没有 reader ⇒ 由客户端原生 C# 接收;它的载荷与 SummonVehicleResult 完全相同 // (u64 entity + u64 token),故复用那份契约,不另建类。 // // AskVehicleToParkingWaypoint(67618512) 的入参:CarShopConfig.Id(1=西门 / 2=海边)。 // // AskTeleportToLeavingWaypoint(67349910) 的入参:CarShopConfig.Id。 // ok 回执会让客户端重置店内状态(OnLeaveRepairShopComplete / ParkingVehicleId=0), // 真正的位移靠服务端推 SyncTeleport。 // // S2C SyncTeleportVehicle(68088911):把服务端生成/召唤的车搬到指定坐标。