62 lines
2.4 KiB
Go
62 lines
2.4 KiB
Go
package models
|
||||
|
|
|
|||
|
|
import (
|
|||
|
|
"encoding/json"
|
|||
|
|
"sync"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
var _ = json.RawMessage{}
|
|||
|
|
var _ = sync.Mutex{}
|
|||
|
|
|
|||
|
|
// One parsed StoryClientCommand from the C2S story channel.
|
|||
|
|
type StoryClientCommand4229938 struct {
|
|||
|
|
TypeMark byte `json:"typeMark"`
|
|||
|
|
Nid uint32 `json:"nid"`
|
|||
|
|
Name string `json:"name"`
|
|||
|
|
RpcId int64 `json:"rpcId"`
|
|||
|
|
HasRpcId bool `json:"hasRpcId"`
|
|||
|
|
PayloadKind *string `json:"payloadKind"`
|
|||
|
|
PayloadVehicleId *uint64 `json:"payloadVehicleId"`
|
|||
|
|
PayloadSeatIndices []byte `json:"payloadSeatIndices"`
|
|||
|
|
PayloadBool *bool `json:"payloadBool"`
|
|||
|
|
PayloadInt *int64 `json:"payloadInt"`
|
|||
|
|
PayloadULong *uint64 `json:"payloadULong"`
|
|||
|
|
// ★ S002 里希盘查(2026-10-01 从捐赠端 DRMK-PS_09_7k-v0.5-2 移植):
|
|||
|
|
// Police = 解出来的 S002 警用 payload;PayloadString = StringPayload(mark 42)。
|
|||
|
|
// ⛑ 42 原来在本文件里**没有**,GATE Lua 回执曾经只能用 44(ULongPayload)。
|
|||
|
|
Police *PoliceStoryPayload4229938 `json:"police"`
|
|||
|
|
PayloadString *string `json:"payloadString"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//
|
|||
|
|
// S002 警用 payload(捐赠端同名 record 照搬)。
|
|||
|
|
// ⛑ Tag 是 **payload 的 mark**,不是 InteractionId:
|
|||
|
|
// 19=EnterExamRequest / 20=EscortFromVehicleRequest / 21=EscortRequest /
|
|||
|
|
// 18,22=带车 / 23=只带车 / 24=一次盘查选项(InteractionId + SectionId)。
|
|||
|
|
//
|
|||
|
|
type PoliceStoryPayload4229938 struct {
|
|||
|
|
Tag byte `json:"tag"`
|
|||
|
|
AgentId uint64 `json:"agentId"`
|
|||
|
|
StartInteract bool `json:"startInteract"`
|
|||
|
|
InteractionId uint32 `json:"interactionId"`
|
|||
|
|
SectionId uint32 `json:"sectionId"`
|
|||
|
|
IsStandUp bool `json:"isStandUp"`
|
|||
|
|
VehicleId uint64 `json:"vehicleId"`
|
|||
|
|
SeatIndex int32 `json:"seatIndex"`
|
|||
|
|
Fines []int32 `json:"fines"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//
|
|||
|
|
// Parser for the 4229938 story channel (SyncStoryCoreClientInfo, 67130745):
|
|||
|
|
// an inline List7Bit of complex StoryClientCommand entries.
|
|||
|
|
// Command marks: ConfirmRpc 2, Message 4, SetObservable-shaped 5, reliable RpcId-only 3/6.
|
|||
|
|
// Payload marks: Bool 5, Byte 6, Int 12, S011EnterVehicleRequest 35 (NOT 36 — V2's value
|
|||
|
|
// is from another build; proven live 2026-09-12 on the sibling 08.05 build: hex
|
|||
|
|
// ...-23-<u64>-FF-<count>-<seats>), S011VehicleAndSeat 37, ULong 44. Shapes verified
|
|||
|
|
// against dump.cs (StoryClientCommand base, payload V fields,
|
|||
|
|
// S011EnterVehicleRequestPayload{VehicleId, SeatIndices}, S011VehicleAndSeatPayload).
|
|||
|
|
// An unknown command or payload aborts that message's parse; the prefix is still returned.
|
|||
|
|
//
|
|||
|
|
type StoryVehicleCodec4229938 struct {
|
|||
|
|
}
|
|||
|
|
|