交互式引导
这项功能只在你给别人做角色卡时才用得上。交互式引导让角色卡在玩家开始 Roleplay(角色扮演) 聊天时向玩家提问,再根据回答建立一个用户角色。作者在 Character Editor(角色编辑器) 里设置,玩家在新建聊天的设置向导里作答。
它的作用
用户角色就是在聊天里代表你的那张角色卡,见用户角色。通常你会在开始游玩之前自己写一个。有了交互式引导,角色卡会改为附带一份用户角色模板:五个用户角色字段(Description(描述)、Personality(性格)、Backstory(背景故事)、Appearance(外观) 和 Scenario(场景设定)),其中留有给玩家的空位,另外还附带用来填这些空位的问题。
玩家用这张角色卡开始 Roleplay 聊天时,可以选择 Create your persona(创建你的用户角色),回答问题,然后得到一个新的普通用户角色。答案只会一次性写进文本。玩家可以像对待其他用户角色一样编辑、保留或删除它。角色卡本身不会改变。
角色卡还可以提出角色问题,这些问题的回答保存在当前这个聊天里,而不是用户角色里,见角色问题。交互式引导使用现有的宏语法,不会运行任何脚本。
作者如何设置
- 在 Character Editor 里打开这个角色,见创建和编辑角色。
- 打开 Onboarding(交互式引导) 选项卡,它就在 Card 旁边。
- 开启 Interactive onboarding(交互式引导)。开关下方会出现一份简短的 How onboarding works(交互式引导的用法) 说明。
关闭这个开关会隐藏交互式引导的字段,但已经写好的内容会保留。
让 Professor Mari 来写
去问 Professor Mari,例如:“给 Queen Ayrene 写一份有趣的交互式引导,附带一个模板用户角色。”她会写好问题和用户角色字段,并开启交互式引导。保存之前,应用会先检查她写的内容。拼错的名称、没有对应问题的 {{name}},或者缺了 # 的条件,都会退回给她修改。如果是角色问题,她还会把它的 {{name}} 写进角色卡自己的某个字段。她的改动会显示在一张改动卡片上,你可以审查或撤销。
添加用户角色问题
在 Persona Questions(用户角色问题) 下点击 Add Question(添加问题)。每个问题的用法都和预设变量一样,也就是一个有名字、等着答案来填的空位,见预设。一张角色卡最多可以有 100 个问题。
| 字段 | 作用 |
| Variable Name(变量名) | 你在字段里使用的名字,比如 faction。只能用字母、数字和下划线,并且要以字母或下划线开头。名字区分大小写:Gender 和 gender 是不同的名字。 |
| Question (shown to user)(向用户展示的提问) | 玩家读到的问题。它可以引用前面的答案,比如 What does {{player}} look like?。{{char}} 是角色卡的名字,{{user}} 是玩家的名字。 |
| Options(选项) | 把问题变成选择题。默认选中第一个选项。没有选项时,玩家自己输入自由文本答案。 |
| Value(值) | 写进用户角色的内容。大小写按你输入的原样保留,其中的宏会被填入。留空就使用该选项的标签。如果答案要放在句子中间,就用小写的值,比如 ranger。 |
| Help text for players(给玩家的说明文字) | 显示在选项下方的可选文字。 |
| Allow own answer(允许自己作答) | 在你的选项旁边加上一个 Write your own(自己填写) 选项。 |
| Multi-Select(多选) | 允许玩家选择多个选项,选中的各项用分隔符连起来。 |
名为 player 的问题用来设置用户角色的名字。没有这个问题时,会先询问玩家的名字。名字为空、无效、重复,或者已被内置宏占用,以及某个问题没有被任何字段用到时,编辑器都会发出警告。
编写用户角色字段
像写自己的用户角色一样写这五个字段,在需要填入答案的地方写上 {{name}}。点进某个字段,就能看到它的 Available variables(可用变量);点击其中一个,就会把它插入到光标所在的位置。
Name: {{player}}
Class: {{class}}
Role: {{player}} is a {{class}} sworn to {{faction}}.用 {{#if}} 让某些文字只在特定答案下显示:
{{#if knowsHer == yes}}Grew up next door to {{char}}. {{relationToAna}}{{/if}}只出现在 {{#if}} 里的问题,只有条件成立时才会被问到。在这个例子中,relationToAna 是一个追问,玩家回答 yes 之后才会出现。比较时不区分大小写。
{{user}} 和 {{char}} 在创建出的用户角色里仍然保留为宏。其他宏(由 Marinara 填入内容的占位符,比如代表随机数的 {{random}},或代表时间的 {{time}})会在创建用户角色时填入一次;如果那时没有值,就留空。
底部的 Rendered preview(渲染预览) 会显示用示例答案生成的用户角色,并按顺序列出会问到的问题。
角色问题
同一个选项卡里还有第二个列表,Character Questions(角色问题)。它们的用法和用户角色问题一样,但回答保存在聊天里,而不是用户角色里。把名称写进角色卡自己的某个字段(Description、Personality、Backstory、Appearance 或 Scenario),因为模型读取的正是这些字段。
{{char}} treats {{relationshipToUser}} with open warmth.开场白可以使用角色问题的 {{name}},并显示玩家的回答。开场白也可以使用用户角色问题的 {{name}},例如 Ah, so you are a {{class}},但只有玩家在新建聊天的设置向导里创建那个用户角色时才会填入,并且只出现在第一条消息及其备选开场白里。如果用的是已有的用户角色或 Quick Start,标签会按原样显示,Character Editor 也会向你发出警告。点进某条开场白,它的 Available variables 会列出这两类问题,并带有标注。
回答以聊天变量的形式保存,因此角色卡在每个聊天里读到的值都不同,角色卡本身也无需修改。只要角色卡在聊天里,它的角色问题就会被问到,不管玩家是否创建用户角色。只有在创建用户角色时,窗口里才会出现 About you(关于你)。
需要知道三件事:
- 一直没有填写的回答会保留为原样的标签。 没有默认值的自由文本问题不会预先填入,所以不经过向导开始的聊天会把
{{name}}原样显示出来。选择题会预先填入第一个选项,大多数角色卡这样就够了。 - 同一个聊天里的两张角色卡声明了同一个名称,就会共用一个值。 两张卡读到的都是最后保存的那个回答。窗口会向你发出警告。
- 角色卡离开聊天时,会带走它的回答。 移除一个角色时,它的角色问题所拥有的聊天变量会被删除,除非聊天里还有别的角色声明了同一个名称。
以玩家身份回答问题
- 新建一个 Roleplay 聊天。在 Persona & Characters(用户角色与角色) 这一步,角色列表里带交互式引导的角色卡会显示一个小小的人形加号图标。
- 添加这个角色。想得到一个新的用户角色,就选中 Your Persona(你的用户角色) 顶部的 Create your persona。它会写明自己属于哪张角色卡。选其他任何选项,包括 None(无),都会跳过用户角色。
- 点击 Next(下一步)。只要聊天里有任何一张角色卡带角色问题,不管你是否创建用户角色,问题窗口都会打开。
- 回答问题。角色问题排在最前面,每张角色卡一节;如果正在创建用户角色,后面还有 About you。你的回答让某个追问变得相关时,它就会出现。
- 点击 Review persona(预览用户角色),查看你的回答会生成的名字和各个字段。你的回答填入的部分会高亮显示。预览不会保存任何内容。
- 点击 Create persona(创建用户角色);如果没有创建用户角色,就点击 Save answers(保存回答)。角色的回答会保存在聊天里,然后向导继续往下走。
如果没有成功:如果用户角色已经创建但没有被选中,就在 Your Persona 下选择它。如果回答没能保存,聊天会改用每张角色卡自己的默认文字。
引导问题在新建 Roleplay 聊天的设置向导里提问。Quick Start、Conversation(对话模式) 的设置流程,以及直接从角色卡开始聊天,目前都还不会提问。这样开始的聊天会填入每个问题的第一个选项,所以 {{relationshipToUser}} 会被解析成值,而不是显示成标签。在向导里回答会替换这个默认值,只对该聊天生效。
设置完成后,也可以在 Chat Settings(聊天设置) 里回答:
- Roleplay 聊天里的 Persona(用户角色) 选择器会为聊天里每张提供交互式引导的角色卡列出 Create your persona。跳过了向导,或者之后想要一个新的用户角色时,就用它。见在聊天里选择用户角色。
- Characters(角色) 里角色旁边的交互式引导标记会单独重新打开那张角色卡的角色问题。窗口打开时显示的是聊天里已经保存的回答,所以只改一处并保存,其他回答会保持原样。保存还会恢复你从 Chat Variables(聊天变量) 里删掉的回答。其他角色卡的回答不受影响,只有两张角色卡共用的名称例外:它只有一个值,所以两张卡都会读到新的回答。
把带有角色问题的角色卡加入一个正在进行的 Roleplay 聊天时,无论是从 Chat Settings 加入,还是把它拖到聊天上,都会先问它的问题。随后会提供它的开场白,其中填入了你的回答,并加以标记。
分享带交互式引导的角色卡
交互式引导和角色卡保存在一起。Marinara Native 和 Compatible PNG Card 导出会保留它,所以导入这张卡的玩家也能拿到这些问题。Compatible JSON 不包含它。导入的角色卡如果有超过 100 个问题,只保留前 100 个。见导入和导出角色卡。
相关指南
- 创建和编辑角色
- 用户角色
- 在聊天里选择用户角色
- 宏
- 导入和导出角色卡