跳转至

Dialog

部分引用

什么是Dialog

顾名思义就是游戏中一切跟文本有关的东西, 主要包括

  • 对话(人物对话文本)
  • UI(例如开始界面的文本, Mod选项界面的文本, 暂停界面的文本, 选关界面的文本, 明信片等)

你要知道游戏中的每一段文本可能对应不同的语言, 所以该怎么组织这些文本呢

官方的做法是一种语言对应一个.txt, 一段文本对应一个唯一的id, 叫做, 或者说key, 游戏就是通过你使用的语言来访问对应的文件, 用key来访问对应的文本来实现本地化的工作

我们以Celeste/Content/Dialog/English.txt下的Main Menu 部分为例(找不到可以Ctrl + F搜索), 看看这是不是和你游戏开始界面上显示的一样呢(左边是key, 右边是 对应语言的文本)

1
2
3
4
5
6
7
 # Main Menu
 MENU_DEBUG=       ~调试~
 MENU_BEGIN=       攀登
 MENU_PICO8=       PICO-8
 MENU_OPTIONS=     选项
 MENU_CREDITS=     主创人员
 MENU_EXIT=        退出
知道原理后我们就可以添加新的key来生成我们需要的文本, 甚至是替换官图文本(同名的key后加载的的会覆盖先加载的), 在使用上我们只需要写好对话, 在地图里放个触发对话的Trigger, 然后填入对应的key就好了

首先在你Mod根目录下创建一个Dialog文件夹形成类似Celeste/Mods/你的mod名/Dialog/的目录结构

接着你就可以创建各种.txt 文件来做不同语言的翻译和添加文本的工作, 但一般加中文Simplified Chinese.txt跟英文English.txt(必备)就够了

写好对应的文本后在对应Trigger中填入对应id/key即可

修改自己地图名称和吃心文本

最简单粗暴识别哪些东西是键名的方法就是那一串东西是不是被大括号{}或者中括号[]包着, 所以照抄就好了, 例如

1
2
3
4
Wiki_Tutorial=Tutorial
Wiki_Tutorial_CelesteWikiTutorial=WikiTutorial

poem_Wiki_Tutorial_CelesteWikiTutorial_A=Hello world!

如果要添加自定义文本键名一定要长~, 不然很可能和别人重了出问题, 一般建议是作者名_图名_键名

常用对话Trigger

  • Minitextbox Trigger(trigger)
  • Everest Dialog Cutscene(trigger)
  • Custom NPC(entity)

注意事项

  • =左边不要有空格

常用部分

自定义人物对话头像

QA

Q: 为什么我文本缺字了

A: 因为蔚蓝字库里没有, 请自己按示例生成(字库生成网站), 或者你直接依赖extended chinese font这个Mod, 大概率不会缺字, 但可能还是会缺