This repository has been archived on 2026-10-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Ananta-ps/pkg/protocol/methods/vehicle_shop_waypoint_methods4229938.go
T

23 lines
1.5 KiB
Go
Raw Normal View History

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) ⇒ 顶层<u>没有</u> 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):把服务端生成/召唤的车搬到指定坐标。