基本概念
字符串与图标
基本概念 字符串与图标 `字符串 / 图标` 模块用来管理文字内容、SVG 图标、图片图标,以及会随着条件变化的显示内容。 # 在哪里看 当前编辑器里有单独的 字符串 / 图标 模块。 在这个模块里,你会看到: 新增 新增图标 搜索框 分类筛选 导入 Excel 导出 Excel 图标市场 # 这一页能做什么
基本概念
字符串与图标
`字符串 / 图标` 模块用来管理文字内容、SVG 图标、图片图标,以及会随着条件变化的显示内容。
# 在哪里看
当前编辑器里有单独的 字符串 / 图标 模块。
在这个模块里,你会看到:
新增新增图标- 搜索框
- 分类筛选
导入 Excel导出 Excel图标市场
# 这一页能做什么
管理文字内容
创建一段说明、一段标题、一段可变化的文本。
管理图标内容
创建 SVG 图标、图片图标,或者用脚本返回图标内容。
做多状态切换
同一个字符串或图标可以按不同条件显示不同内容。
做可写内容
勾选 `允许修改` 后,事件、脚本和其他流程可以把内容写进去。
# 编辑面板里有什么
当前 字符串 / 图标 编辑面板里,常见会看到这些内容:
| 项目 | 作用 |
|---|---|
名字 |
这条字符串或图标的名称 |
类别 |
用来分组 |
允许修改 |
让别的功能把内容写进来 |
需求模式 |
多状态内容按什么顺序判断 |
脚本 |
直接返回最终内容 |
状态列表 |
给同一条内容配置多个状态 |
# 什么是状态列表
状态列表 表示同一条内容可以有多个版本。
例如一个称号字符串可以这样配:
| 状态 | 显示内容 |
|---|---|
| 状态 0 | 新手 |
| 状态 1 | 熟练者 |
| 状态 2 | 大师 |
每个状态下面都可以再配 需求属性,满足对应条件时就显示那一层内容。
# 需求模式怎么理解
当前界面里会看到三种模式:
逐级判断最后满足最先生效
它们决定的是:当多条状态都满足时,最后显示哪一条。
# 图标为什么和字符串放在一起
因为当前编辑器里,图标和字符串用的是同一套管理方式。
所以你会看到:
- 文字内容和图标都能分状态
- 图标和字符串都能写脚本
- 图标和字符串都能被别的地方引用
图标常见会是两类:
SVG图标图片图标
# 脚本模式是什么
编辑面板里有单独的 脚本 区域。
如果写了脚本:
- 脚本会直接返回最终内容
- 下方
状态列表只保留为回退数据 - 当前内容不能再同时勾选
允许修改
也就是说,当前编辑器里:
| 模式 | 说明 |
|---|---|
允许修改 |
这条内容可以被别的功能写入 |
脚本 |
这条内容由脚本实时返回 |
这两种模式不能同时开启。
# 图标相关的额外功能
如果当前内容是图标,你还会看到一些额外功能:
- 图标预览
- 图标 / 图片内容编辑
- 图标市场
- 脚本图标预览
- 启用动画
- 每 x 秒切换一级
这表示图标也可以像文字一样分状态切换。
# 什么时候会用到它
常见场景包括:
- 页面标题
- 状态说明
- 按钮文字
- 角色称号
- 动态提示
- 项目内图标
# 一个最常见的理解方式
先创建一条字符串或图标
-> 再决定它有没有多个状态
-> 再决定它是允许修改,还是用脚本返回
# 看完这页后
如果你已经知道字符串和图标怎么分了,下一步通常会继续看:
# 示例 2:根据稀有度返回图标
let rarity = player.getPro("稀有度")
if (rarity >= 5) return '<span style="color:#f59e0b">★★★★★</span>'
if (rarity >= 4) return '<span style="color:#a78bfa">★★★★</span>'
return '<span style="color:#94a3b8">★★★</span>'
# 示例 3:读取表格做说明卡
let table = player.getTable("装备说明表")
let row = player.getString("当前装备行号")
let name = table.getData(row, "名字")
let desc = table.getData(row, "描述")
return `<strong>${name}</strong><br>${desc}`
# 和对象系统联动时要注意什么
对象身上的动态字符串和玩家级动态字符串,在脚本里都可以被读取;对象上下文下会先采用对象自己的值。
这让你可以很自然地做出:
- 每个 NPC 各自不同的称呼
- 每个物品对象不同的说明文本
- 同一模板在不同对象实例上展示不同内容
如果你把它和 AI、地图、表格一起用,当前常见的分工是:
- 属性 / 表格先存真实状态
- 对象系统补当前对象上下文
- 动态字符串脚本把状态整理成玩家可读文本
- AI 状态提示词再按需引用这段整理后的字符串
这条顺序很关键,因为它在避免一件常见问题:
- 让 AI 直接读一堆零散原始字段
- 或者让多个页面各自重复拼一套说明文案
同理,特效和控件样式层也更适合消费已经整理好的字符串或状态结果,而不是自己直接承担真实状态定义。
先整理成稳定动态字符串,再让 AI 或别的系统消费,后面会稳很多。
特别是在当前 AI 结构里,这个顺序很值钱,因为:
状态提示词适合拼已经整理好的上下文- 不适合每次都现场手拼一堆零散字段
如果你把状态先沉成一段稳定动态字符串,再让 AI 读它,提示词会短很多,排错也会更容易。
# 当前版本里,动态字符串最适合扮演哪几种角色
你可以把它粗分成三类:
| 角色 | 更适合什么 |
|---|---|
显示文本 |
标题、描述、提示、说明卡 |
可写文本落点 |
玩家输入、AI 摘要、系统回写文本 |
脚本整理层 |
把属性 / 表格 / 对象状态转成统一说明 |
真正容易出问题的,往往不是功能不够,而是把这三类角色混到了同一个字符串上。
更实用地说,很多项目里至少要准备两类字符串:
给玩家看的字符串给 AI 或系统消费的摘要字符串
这两者可以都来自同一份状态,但不一定该共用同一个最终文本模板。
# 一个常见的判断方法
如果你拿不准某段内容到底该放哪,先问自己这三个问题:
- 这段内容是不是
真实状态本身 - 它是不是要
某一刻写进去并长期保留 - 它是不是
每次显示时按当前状态重新生成
对应地:
| 你的答案 | 更适合用什么 |
|---|---|
| 是真实状态 | 属性 / 表格 / 对象字段 |
| 是要写进去保存的文本 | 可写动态字符串 / 字符串表格 |
| 是实时重新生成的说明 | 动态字符串脚本 |
# 常见用法
- 用普通字符串做静态文案。
- 用分级字符串做简单条件切换。
- 用脚本字符串做复杂模板和图标生成。
- 用“允许修改”做玩家输入类内容。
- 脚本模式和允许修改,通常会分开使用。
- 如果这段内容要“每次显示都重新算”,常见会用脚本;如果它要“某一刻写进去并持久保存”,常见会用“允许修改” / 表格 / 属性。
- 如果你要给 AI 看当前状态,常见会先整理成一段稳定的动态字符串,再放进状态提示词。
- 如果你要做图标 / 徽章 / 稀有度标签,常见会把“状态判断”放脚本里,把“表现样式”放 SVG / HTML 里。
# 一套常见的落地顺序
如果你不知道某段文本最终该怎么做,当前版本里常见会按这条线整理:
属性 / 表格 / 对象先存状态
-> 组合属性先算出数值
-> 动态字符串再整理成文本 / 图标
-> 场景、AI、邮件、对象卡片去消费它
这条顺序能把“状态”“计算”“解释”“消费”四层分得比较干净。
Tip 动态字符串脚本的运行限制、对象上下文和返回值,后面可以继续看: