33 lines
1.5 KiB
Go
33 lines
1.5 KiB
Go
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
|
|||
|
|
}
|
|||
|
|
|