传奇GetListString命令使用方法脚本报错及读取异常解决

来源: 作者: 点击:
GetListString命令核心用途:读取指定txt文本文件中的指定行数内容,常用于传奇脚本中读取任务、地图等列表类数据,格式及实操的报错解决如下。

一、GetListString命令基础格式

命令格式:GetListString文本文件路径读取行数存储变量

参数说明:1.文本文件路径:需填写完整相对路径,不可遗漏文件夹层级;2.读取行数:需为整数,指定读取txt文件中的第几行内容;3.存储变量:用于存放读取到的内容,需使用正确变量格式。

二、用户脚本及报错解析(附原脚本)

#IF

CHECK[102]1

#ACT

MOV<$STR(N主线段数)>1

GetListString..\QuestDiary\二明专用\任务系统\任务变量\主线名称.txt<$STR(N主线段数)><$STR(S$主线名称)>

主线名称.txt内容:

被废弃的村庄1:皇族埋骨地一层1

被废弃的村庄1:皇族埋骨地一层2

被废弃的村庄1:皇族埋骨地一层3

用户遇到的问题:1.出现MOV命令脚本报错;2.更改读取行数,始终只读取第一行内容。

报错信息:[脚本错误]脚本命令:MOVNPC名称:QFunction地图:0(0:0)参数1:<$STR(N主线段数)>参数2:1参数3:参数4:参数5:参数6:参数7:参数8:参数9:参数10:

三、报错原因及解决方法(直奔问题,一步到位)

1.MOV命令报错原因及解决:MOV命令用于给变量赋值,报错核心是变量格式错误——<$STR()>是字符串转换格式,不能直接作为赋值目标变量。

修改方法:将MOV<$STR(N主线段数)>1改为MOVN主线段数1,删除多余的<$STR()>,直接使用变量名赋值,变量名无需加任何格式符号。

2.始终读取第一行的原因及解决:读取行数由N主线段数变量控制,读取异常核心是变量未正确传递,或文本文件格式错误。

解决方法:①确认修改MOV命令后,变量N主线段数能正常赋值(修改后重启脚本触发);②检查主线名称.txt格式,每行内容需单独换行,不可连写,换行符需为标准格式,避免空格、空行干扰;③读取行数参数无需加<$STR()>,修改GetListString命令为:GetListString..\QuestDiary\二明专用\任务系统\任务变量\主线名称.txtN主线段数<$STR(S$主线名称)>;④若需读取指定行数(如第2行),直接将MOVN主线段数1改为MOVN主线段数2即可。

四、修改后完整脚本(可直接复制使用)

#IF

CHECK[102]1

#ACT

MOVN主线段数1

GetListString..\QuestDiary\二明专用\任务系统\任务变量\主线名称.txtN主线段数<$STR(S$主线名称)>

五、补充实操要点

1.文本文件路径需核对准确,文件夹名称、后缀不可写错,路径中的“..\”表示上一级目录,无误则可正常读取;2.存储变量<$STR(S$主线名称)>格式正确,用于存储读取到的字符串内容,无需修改;3.修改脚本后,需重启服务端或重新加载QFunction脚本,确保修改生效;4.若仍读取异常,检查txt文件编码格式,保存为ANSI编码即可,避免编码错误导致读取失败。
[顶部]