27 lines
1.8 KiB
Go
27 lines
1.8 KiB
Go
package methods
|
||
|
||
//
|
||
// S2C SyncPaokuLimitChange(68974941) —— 主角原生飞索(C 键定点飞跃)能力门。
|
||
// 契约来源:C# LX6.Service.GameSceneToClientImpl.SyncPaokuLimitChange(ulong unitId, List<uint> limitId, bool isAdd)
|
||
// (dump.cs:171412,RVA 0x127CF0E0 真实现;MethodId 见 MethodId.cs:3816)。
|
||
// 字段顺序已用我们自己的 dump 逐字复核(规则 174 第二道自检)。
|
||
// ⛑ 极性 CSharpOnly(Drmk.Proxy/proxy/lua/RPCDeserializeAuto.lua:1265)
|
||
// ⇒ lua 侧没有 reader,只有 C# 收。lua_full 里只有
|
||
// lua/LuaGen/AutoGen/RPCMethodIdToName.lua:3542 的名字条目、没有 handler —— 这是正常的,
|
||
// 不能据此判定「客户端不需要」(规则 14 眼界教训)。
|
||
// 线格式:与同为 CSharpOnly、同为 (ulong, List<uint>) 的 SyncAgentCrimes4229938
|
||
// 完全一致 ⇒ [u64 定长 8B][0xFF 有值][Int7 count+1][u32 × count][bool 1B]。
|
||
// ★ 为什么非发不可:
|
||
// AbilityLimitConfig.HasFeisuoAbility = 3013(dump.cs:1026235)这一行带
|
||
// GamePlayTags[](挂 State_HasFeisuoAbility = 2318,dump.cs:1226889)、
|
||
// ButtonEnum[](C 键)和 QueryId(有效目标查询)
|
||
// ⇒ 它是能力开关,不是「限制」。
|
||
// 客户端 PlayerParkourLimitModule(dump.cs:585090-585135)收到后走
|
||
// SetParkourLimitConfigState → SetGamePlayTagState,飞索蹲伏与 C 键才启用。
|
||
// 只发飞索 buff(persistentGrappleBuffId 52853760)是不够的 —— 本服日志里
|
||
// AskEnterFeiSuoCrouch 命中恒为 0,即客户端从来没进过飞索蹲伏态。
|
||
// ★ 后面那一半(白圈)不用服务端管:LX6.PaoKu.FeiSuoJobManager(dump.cs:242164)
|
||
// 每帧在本地跑静态/动态扫点 ⇒ 门一开白圈自己出现。不要去画假准星,
|
||
// 不要把任意墙面改成可飞跃目标。
|
||
//
|