leafprayer
发布于

比较详细的「状态栏」指南

比较详细的「状态栏」指南

Work

比较详细的「状态栏」指南

前言

因为之前写的那个教程不太理想,所以我决定重新制作一个更完善的版本。这次会更专注于解释「状态栏」的用法,并提供具体的操作步骤。

1. 什么是状态栏,为什么需要(或不需要)她

状态栏是一个动态或静态的文本区域,用于显示当前情境的关键信息,如角色状态、环境描述、数值统计等。在角色扮演中,状态栏就像一个「游戏面板」,帮助你和 AI 快速掌握情况。

为什么需要?

  • 实时信息展示:状态栏能显示重要数据,比如生命值、衣服、物品栏,或者时间、天气等信息。
  • “记忆”功能:状态栏可以充当一种“记忆”工具,记录对话中的关键事件或状态变化,避免AI遗忘细节。
    • 关于"记忆":AI 的创作完全依赖输入的内容,每次用户输入新内容时,系统会将记忆阀值范围内的上文一并发送。若某些信息未在对话中出现,AI 就会“忘记”掉。状态栏可固定关键信息,确保 AI 始终记住。
  • 提升沉浸感:状态栏让对话更有条理,像游戏界面一样直观,增强角色扮演的体验。
  • 为什么不需要?

  • 简单对话:如果你玩的角色卡只是用于日常聊天或短篇互动,状态栏可能会显得多余。
  • 2. 反引号

    三反引号 (```) 是定义代码块的工具,她能将内容整齐包裹,使状态栏更易辨识。

    ```
    这是一个代码块
    ```
    

    语言标识

    在三反引号后加上语言类型,可以指定代码块的格式,比如:

    ```Python
    这是一个Python代码块
    ```
    
    ```Markdown
    这是一个Markdown代码块
    ```
    

    不过在风月平台里,语言标识不太重要。

    Status

    3. 如何使用状态栏

    # Reply Format (回复格式)

    在提示词里加入“回复格式”指令,要求 AI 按指定格式输出状态栏。例如:

    # Reply Format
    - 每次回复时,在正文末加入状态栏 (```)
      - 格式:日期、位置、周围
    

    这样,AI 会在每次回复的末尾附上状态栏。

    # Reply Example (回复示例)

    在提示词里加入“回复示例”指令,强制 AI 严格模仿格式。例如:

    # Reply Example
    按照以下格式输出回复:
    
    (正文)
    
    ```
    日期:
    位置:
    周围:
    ```
    

    我个人倾向用Reply Example。

    4. 状态栏类型

    状态栏可根据需求设计不同样式,以下是几种常见类型:

    1. 时地人类

    日期:(YYYY/MM/DD, hh:mm, Weekday, Weather)
    位置:(Location)
    周围:(Surrounding Things & Peoples)
    

    这类状态栏可确保 AI 不会把场景的时间和地点忘掉。

    2. 角色类

    名字
    外表:(Eyes, Hair Style/Color)
    身形:(Height, Weight, Build, Bust & Hip size)
    服装:(Full body clothing, describe separately)
    配件:(Socks, Shoes, Items)
    动作:(Posture and Position)
     -嘴巴:
     -双手:
     -双腿:
     -乳房:(Include Size)
     -臀部:
     -小穴:
     -菊穴:
     -子宫:
    

    这类状态栏可确保 AI 不会把人物的状态忘掉,例如角色当前的衣着,你可以自行修改想要的项目。

    3. RPG类

    Name, Class, Lv. 7
    HP: 100/100 | MP: 80/80 | EXP: 400/500 
    ATK: 25 | DEF: 18 | SPD: 30 | INT: 45
    

    5. 折叠状态栏

    为了让界面更整洁,可使用 HTML 的 <details> 标签将状态栏折叠起来。

    # Reply Example
    按照以下格式输出回复:
    
    (正文)
    
    <details><summary>状态栏</summary>
    
    ```
    日期:
    位置:
    周围:
    ```
    </details>
    

    <details>:HTML 标签,用于创建一个可展开/折叠的区块。内容默认隐藏,只有用户点击时才会显示。

    <details open>:<details> 标签是默认隐藏的区块,而<details open> 则是默认展开。

    <summary>:<details> 的子标签,定义折叠区块的可见标题(即点击区域)。她就像一个“按钮”,提示用户可以展开。

    注意在 <summary> 和反引号之间需保留一个空行,确保格式正确。

    6. 示例

    下面演示状态栏的实际应用,以及 AI 如何动态更新内容。

    # Reply Format
    - 第三人称
    - 全形字符
    
    ## Shooting target
    - 在射击训练中,在"正文"后生成"射击训练"面板 (使用```包裹),格式:
    【射击训练】
    射击距离:
    发射次数:
    击中数:
    【标靶】
    [标靶类型1] Hit: 0/0
    - 射击训练结束后移除面板
    
    # Reply Example
    按照以下格式输出回复:
    
    ```Time
    # 状态
    日期:{年/月/日, 时间, 周, 天气}
    地点:{地点-位置}
    周围:{环境和在场人物}
    ```
    
    (正文)
    
    <details><summary>角色状态</summary>
    
    ```Char
    # 角色状态
    姓名:
    情绪:
    外表:{简短描述发型、眼睛、脸孔}
    衣着:{简短描述全身服饰}
    ```
    </details>
    

    这个模板有三个状态栏,分别是时间地点、角色 (折叠)和射击训练 (需要时生成)。

    状态栏的项目内容完全取决于用户要求 (如要详细或者简短)。

    效果图:

    Status2

    图1: 只显示两个状态栏,因为还没进行射击训练。

    Status3

    图2: 训练开始后才显示射击训练面板。

    Status4

    图3: 训练结束后根据"射击训练结束后移除面板"指令移除面板。

    结语

    状态栏能提升对话逻辑性和沉浸感,帮助 AI 记住上下文。通过这个教程,你应该已经掌握了如何创建和使用状态栏。

    不过,状态栏并没有唯一标准使用方法,你可以随意根据自己的需求灵活地设计。

    浏览 (555)
    点赞 (2)
    收藏
    评论
    暂无数据