package methods // // C2S AskPhoneAddCallRecord(63487875) — 拨号结束后写一条通话记录。 // 字段顺序取自客户端自己的 writer(硬规则 122:顺序以 ClientToGameDelegate 的 Serializer 为准, // 不能用反编译出来的 RPCSerializeAuto): // lua/LuaGen/AutoGen/ClientToGameDelegate.lua:3719 // SerializerHelper.AskPhoneAddCallRecord_Serializer = function(writer, spiritid, phonenumber, calltype) // WritePrimitive(spiritid, WriteUInt32) // writer.WriteString(phonenumber, false, ...) // WritePrimitive(CheckEnum(calltype, 28, 0), WriteByte) // 三个字段都是裸基础类型(没有 nullable),所以契约必须 Inline —— 多一个 0xFF marker 会让后面全错位。 // // // C2S AskPhoneContactOptionAction(63918677) — 通话结束后选的那个「联系人选项」的回执 // (叫车 / 报警 / 好感度对话等,见 PhoneContactOptionConfig)。 // lua/LuaGen/AutoGen/ClientToGameDelegate.lua:6817 // SerializerHelper.AskPhoneContactOptionAction_Serializer = function(writer, spiritid, contactid, contactoptionid) // 三个 WriteUInt32 // ⛑ 这里的 spiritId 是 FightSpiritConfig 的模板 id,不是 unit 实例 id(硬规则 120:服务端 uid ≠ 客户端 pid)。 //