#act
inc S$记录玩家名单 <Text|id=ds_ph_<$str(N1)>|color=161|size=16|text=[暂无玩家]>
#elseact
inc S$记录玩家名单 <Text|id=ds_ph_<$str(N1)>|color=151|size=16|text=[<$SORTRANK(1,<$str(N1)>)>]|link=@DS_排行玩家#查询玩家=<$SORTRANK(1,<$str(N1)>)>>
改成如果在列表中就不重复显示
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-04-10 15:09:44 |
👁️ 阅读: 0
```
#ACT
; 先检查是否已存在相同玩家
MOV S$检查玩家 <$SORTRANK(1,<$STR(N1)>)>
; 假设S$记录玩家名单中已包含所有已添加玩家的Text控件
; 通过字符串查找判断是否重复
; 如果S$检查玩家为空(即暂无玩家),则直接添加
#IF
EQUAL S$检查玩家 ""
#ACT
inc S$记录玩家名单 <Text|id=ds_ph_<$str(N1)>|color=161|size=16|text=[暂无玩家]>
#ELSEACT
; 检查S$记录玩家名单中是否已包含该玩家名
; 使用字符串查找,如果找不到则添加
; 注意:这里假设S$记录玩家名单是纯文本字符串,包含所有已添加的Text控件定义
; 实际中可能需要维护一个单独的列表变量来记录已添加的玩家名
; 以下为示例逻辑,需根据实际数据结构调整
; 假设S$已添加玩家名单 是一个用逗号分隔的玩家名字符串
#IF
NOT CHECKSTRINGLIST S$已添加玩家名单 <$STR(S$检查玩家)>
#ACT
; 添加到显示列表
inc S$记录玩家名单 <Text|id=ds_ph_<$str(N1)>|color=151|size=16|text=[<$SORTRANK(1,<$str(N1)>)>]|link=@DS_排行玩家#查询玩家=<$SORTRANK(1,<$str(N1)>)>>
; 更新已添加玩家名单
inc S$已添加玩家名单 <$STR(S$检查玩家)>,
#ELSEACT
; 如果已存在,则跳过添加,可以留空或添加其他内容
; 例如:保持原样或添加一个空Text(但id需唯一)
; inc S$记录玩家名单 <Text|id=ds_ph_<$str(N1)>|color=161|size=16|text=[已存在]>
```
注意:上述代码中 `CHECKSTRINGLIST` 命令用于检查字符串列表中是否包含某个子串,但根据课程日志记录,该命令可能不存在。实际实现时,可能需要通过其他方式(如循环遍历已添加玩家数组)来判断重复。如果缺少相关接口,建议使用Lua脚本来处理复杂的列表去重逻辑。
← 返回问答库