#if
not equal <$NPCINPUT(1)>
#act
MOV S$查询玩家 <$NPCINPUT(1)>
addtextlistex ..\QuestDiary\DS_数据\后台文件\玩家数据.ini <$str(S$查询玩家)> 0
如何让玩家数据里有名字的不再写入
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-04-10 15:23:56 |
👁️ 阅读: 0
要在写入前检查玩家数据文件中是否已存在该名字,避免重复写入。根据课程日志记录,可以使用 `CHECKTEXTLIST` 命令来检测。
修改你的脚本如下:
```txt
#if
not equal <$NPCINPUT(1)>
#act
MOV S$查询玩家 <$NPCINPUT(1)>
#IF
CHECKTEXTLIST ..\QuestDiary\DS_数据\后台文件\玩家数据.ini <$STR(S$查询玩家)>
#ACT
SENDMSG 6 玩家<$STR(S$查询玩家)>已在数据文件中,无需重复写入。
#ELSEACT
addtextlistex ..\QuestDiary\DS_数据\后台文件\玩家数据.ini <$str(S$查询玩家)> 0
SENDMSG 6 已将玩家<$STR(S$查询玩家)>写入数据文件。
```
**说明:**
1. `CHECKTEXTLIST` 用于检测指定文本文件中是否包含某个字符串。
2. 如果检测到玩家名字已存在,则提示无需重复写入。
3. 如果不存在,才执行 `addtextlistex` 命令进行写入。
这样就确保了只有不在文件中的玩家名字才会被添加进去。
← 返回问答库