package routers import ( "context" "sync" ) var _ = sync.Mutex{} var _ = context.Background // // 剧情对话 / 台詞播放(2026-10-02 从捐赠端 PrivateServerPor 移植)。 // ★ 链路极短:服务端只发一个 SyncShowDialog(64967628),里面就 3 样东西 // —— dialogId、beginDialog(默认同 id)、param(15 字段,实测**全填 0** 也能播)。 // 台词文本、镜头、语音都由客户端按自己的 DialogConfig 演,服务端不搬运内容。 // ⛑ 为什么 param 敢全填 0:SyncShowDialog 是 LuaAndCSharp(有真 reader, // RPCDeserializeAuto.lua:4924),param 是 complex(可选,空则 null)。 // 填全零等价于「不给上下文」,客户端按 dialogId 自己演 —— 这正是 GM 面板要的效果。 // ⛑ 表查不到也能下发:StoryDialogue4229938 只是「列清单 + 取文案」用, // 客户端有自己的 DialogConfig,id 不在我们索引里照样会播。 // // 推一条台词(含过场镜头)。 func GameRouter_StoryDialogue_PushStoryDialogAsync(ctx context.Context, dialogId uint32) any { // Router implementation for GameRouter_StoryDialogue_PushStoryDialogAsync var zero any; return zero } // 只推语音(不带画面/字幕),配合 PushStoryDialogAsync 用。 func GameRouter_StoryDialogue_PushStoryDialogVoiceAsync(ctx context.Context, dialogId uint32) any { // Router implementation for GameRouter_StoryDialogue_PushStoryDialogVoiceAsync var zero any; return zero }