This repository has been archived on 2026-10-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Ananta-ps/internal/catalogs/story_dialogue4229938.go
T

40 lines
1.3 KiB
Go
Raw Normal View History

package catalogs
import (
"encoding/json"
"os"
"path/filepath"
"sync"
)
var _ = json.RawMessage{}
var _ = sync.Mutex{}
var _ = os.ReadFile
var _ = filepath.Join
// 一条台词索引项。字段与 DialogIndex.json 的行一一对应。
type DialogEntry struct {
Id uint32 `json:"id"`
Message string `json:"message"`
Speaker string `json:"speaker"`
CameraId uint32 `json:"cameraId"`
Type int32 `json:"type"`
// 带镜头(cam != 0)= 这条是「过场对话」,会拉运镜;纯台词 cam 为 0。
IsCutscene bool `json:"isCutscene"`
}
//
// 台詞索引(Configs/DialogIndex.json,58932 条,其中带镜头过场 1205 条)。
// ★ 用途:GM 面板「剧情对话」子页用 Search 列出可播的台词,
// 玩家/开发者选中一条后由服务端推 SyncShowDialog(64967628) 让客户端播出来。
// type 分布(前几类):15=18941 / 14=16625 / 10=9503 / 13=6724 / 22=5258。
// ⛑ 这份表只用于「列清单 + 取文案」;真正播什么由客户端按自己的 DialogConfig 演,
// 服务端发的只是 id —— 所以表里查不到的 id 也照样能下发(客户端有自己的数据)。
//
type StoryDialogue4229938 struct {
Cache any `json:"cache"`
All []DialogEntry `json:"all"`
Count int32 `json:"count"`
CutsceneCount int32 `json:"cutsceneCount"`
}