文本与文件
读取指定行
从指定文本文件中读取某一行内容到变量,适用于排行榜、名单展示和按行索引读取配置文本。
命令用途
ReadLine 用于从指定文件中读取某一行文本,并把结果写入指定变量。
它适合处理按行组织的数据,例如排行榜展示、名单分页、文本池按序读取,以及把外部文本内容读入脚本变量后继续显示或判断。
命令名
ReadLine
调用格式
ReadLine <文件路径> <行数> <返回变量> [HardDisk]
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
文件路径 | 是 | 目标文本文件路径。 |
行数 | 是 | 需要读取的行号。可以是固定数字,也可以是变量表达式,例如 <$STR(M排行序号)>。 |
返回变量 | 是 | 用于接收结果的变量,一般写 S 系列临时变量,或 A 系列全局变量。 |
HardDisk | 否 | 实时从物理硬盘读取;省略时优先读取引擎当前内存中的文本内容。 |
返回或影响
- 该命令会把目标行内容写入指定变量。
- 它不是条件判断命令,通常配合
#ACT、#SAY、MOV等流程继续使用。 - 带
HardDisk时,会优先读取物理文件中的实时内容。 - 不带
HardDisk时,通常读取当前内存中的文本状态。 - 如果读取到的内容为空,返回变量可能保留该变量上一次的值,不能默认当作空字符串处理。
示例
基础用法
#ACT
ReadLine ..\..\GuildBase\GuildList.txt 1 S0
这会把 GuildList.txt 的第 1 行内容读取到 S0。适合读取固定位置的名单或标题行。
常见变体
#ACT
ReadLine ..\QuestDiary\排行榜\个人充值记录.ini <$STR(M排行序号)> S10 HardDisk
这会按变量指定的行号,从排行文件中读取对应一行到 S10,并强制读取硬盘上的实时内容。适合榜单、分页和会被外部流程频繁更新的文本文件。
注意事项
ReadLine使用的是行号读取,不是关键字查找;行号写错时,读到的就是另一行或空结果。- 如果要判断“是否真的读到了内容”,建议先把返回变量清空,再执行读取;例如先
MOV S10,再读入S10。 - 文本操作命令本身比较消耗资源,频繁读取大文件时要控制调用频率。
- 如果业务上需要“读不到时清空变量”,不要直接依赖
ReadLine的默认行为,应该在读取前后显式重置变量或补判断逻辑。
