Dialog
引用
什么是 Dialog
顾名思义就是游戏中一切跟文本有关的东西, 主要包括
- 对话(人物对话文本)
- UI(例如开始界面的文本, Mod选项界面的文本, 暂停界面的文本, 选关界面的文本, 明信片等)
这么多文字必定要存放在某个地方, 不同的语言也要做不同的区分, 那么官方的做法是什么呢
官方的做法是一种语言对应一个特定的.txt
, 一段 文本
对应 .txt
中唯一的id
, 叫做键, 或者说key
, 形如 test_key=文本
, 这样游戏就可以根据你的语言使用对应的 test_key
来获得对应的 文本
我们以 Celeste/Content/Dialog/Simplified Chinese.txt
下的 Main Menu
部分为例(找不到可以Ctrl + F
搜索), 看看这是不是和你游戏开始界面上显示的一样呢(左边是key
, 右边是
对应语言的文本
)
Simplified Chinese.txt | |
---|---|
1 2 3 4 5 6 7 |
|
编写 Dialog
知道原理后我们就可以添加新的key
来生成我们需要的文本, 甚至是替换官图文本(同名的key后加载的的会覆盖先加载的, 如 FunnyDialog), 在使用上我们只需要写好对话, 在地图里放个触发对话的Trigger, 然后填入对应的
key
就好了
首先在你Mod根目录下创建一个Dialog文件夹形成类似Celeste/Mods/你的mod名/Dialog/
的目录结构
接着你就可以创建各种语言的.txt
文件来做不同语言的翻译和添加文本的工作, 但一般加英文 English.txt
(必备)跟中文 Simplified Chinese.txt
就够了
写好对应的文本后在对应Trigger中填入对应id/key
即可
常用对话 Trigger
如果要添加自定义文本键名一定要长~, 不然很可能和别人重了出问题, 一般建议是作者名_图名_键名
- Minitextbox Trigger(trigger)
- Everest Dialog Cutscene(trigger)
- Custom NPC(entity)
注意事项
=
左边不要有空格
常用部分
推荐下载 VSCode 并安装 Celeste Dialog Highlighter
插件
- 文本汉化: 图名, 吃心文本, 明信片, remix
- 文字效果: 抖动, 改色, 变速等
- 对话效果: 翻转头像, 对话框置底, 引用等
- 人物表情(也可以在控制台输入
portraits
来查看) - 添加对话emoji
把你的emoji图片放到
Graphics/Atlases/Gui/emoji
目录下(.png
格式的), 对话对应文本为:你的图片相对路径(不带.png):
例如:MyCelesteMod/shock:
- Lua Cutscene过场动画: 即搭配对话的演出
- 入场明信片, 游戏中明信片
修改自己地图名称和吃心文本
最简单粗暴识别哪些东西是键名的方法就是那一串东西是不是被大括号{}
或者中括号[]
包着(因为蔚蓝会把无法识别的键用括号包着显示出来), 所以照抄就好了, 例如
Simplified Chinese.txt | |
---|---|
1 2 3 |
|
自定义人物对话头像
单独修改吃心文本
吃心文本默认用一样的
使用 LuckyHelper/Crystal Heart Dialog Controller 实体为单个心设置文本
工具
- Dialog 图形化界面编辑工具(群文件, 施工ing)
FAQ
为什么我文本缺字了
因为蔚蓝字库里没有, 请自己按示例生成(字库生成网站), 或者你直接依赖
Extended Chinese Font
/Chinese Font Pack
这个Mod, 大概率不会缺字, 但可能还是会缺
常用 Dialog 实体/Trigger
MaxHelpingHand/CustomCh3Memo
制作无 Icon 版本
素材
然后把官图素材从 Graphics/Atlases/Memo
粘贴到你的 Mod 下, 改个名, 之后在属性栏 Paper Sprite Folder Name
里填上文件夹名字即可(比如我这里的 awa
), 还有就是别忘了把另两个素材给清空, 不然还是会有 icon
成品