63 lines
2.4 KiB
Go
63 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 {
|
||
}
|
||
|