[@main]
goto @回收选择
#SAY
<Img|x=161.0|y=113.0|reset=1|loadDelay=1|show=0|esc=1|img=public_win32/1900000610.png|move=0|bg=1>
<Layout|x=780.0|y=101.0|width=80|height=80|link=@exit>
<Button|x=800.0|y=114.0|pimg=public/1900000511.png|nimg=public/190000051
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-05-23 16:33:02 |
👁️ 阅读: 2
根据课程日志记录,你的脚本存在几个关键问题需要修正:
1. **界面显示不完整**:`#SAY`部分缺少闭合标签,导致后续内容无法正常显示
2. **回收逻辑问题**:使用`GOTO`循环回收时缺少`BREAK`会导致无限循环
3. **变量使用不当**:在`#SAY`中直接使用`<Img>`组件显示变量图片路径
修正后的脚本:
```txt
[@main]
#ACT
GOTO @回收选择
#SAY
<Img|x=161.0|y=113.0|reset=1|loadDelay=1|show=0|esc=1|img=public_win32/1900000610.png|move=0|bg=1>
<Layout|x=780.0|y=101.0|width=80|height=80|link=@exit>
<Button|x=800.0|y=114.0|pimg=public/1900000511.png|nimg=public/1900000510.png|link=@exit>
<Img|x=200|y=150|img=<$STR(S$祖玛状态)>|link=@祖玛开关>
<Img|x=200|y=200|img=<$STR(S$赤月状态)>|link=@赤月开关>
<Img|x=200|y=250|img=<$STR(S$雷霆状态)>|link=@雷霆开关>
<Button|x=300|y=350|nimg=public/1900000662.png|link=@开始回收|text=开始回收>
<Button|x=400|y=350|nimg=public/1900000662.png|link=@取消选择|text=取消选择>
[@回收选择]
#IF
CHECK [101] 0
#ACT
MOV S$祖玛状态 public\1900000550.png
#IF
CHECK [101] 1
#ACT
MOV S$祖玛状态 public\1900000551.png
#IF
CHECK [102] 0
#ACT
MOV S$赤月状态 public\1900000550.png
#IF
CHECK [102] 1
#ACT
MOV S$赤月状态 public\1900000551.png
#IF
CHECK [103] 0
#ACT
MOV S$雷霆状态 public\1900000550.png
#IF
CHECK [103] 1
#ACT
MOV S$雷霆状态 public\1900000551.png
GOTO @main
; 开关部分保持不变...
[@祖玛开关]
#IF
CHECK [101] 0
#ACT
SET [101] 1
SET [102] 0
SET [103] 0
SENDMSG 6 已选择【祖玛回收】
GOTO @main
BREAK
#IF
CHECK [101] 1
#ACT
SET [101] 0
SENDMSG 6 已取消【祖玛回收】
GOTO @main
BREAK
; 赤月开关和雷霆开关保持不变...
[@开始回收]
#IF
CHECK [101] 0
CHECK [102] 0
CHECK [103] 0
#ACT
SENDMSG 6 请先选择回收类型!
BREAK
#IF
CHECK [101] 1
#ACT
MOV N$总经验 0
MOV N$总金币 0
MOV N$总元宝 0
GOTO @祖玛回收检查
BREAK
#IF
CHECK [102] 1
#ACT
MOV N$总经验 0
MOV N$总金币 0
MOV N$总元宝 0
GOTO @赤月回收检查
BREAK
#IF
CHECK [103] 1
#ACT
MOV N$总经验 0
MOV N$总金币 0
MOV N$总元宝 0
GOTO @雷霆回收检查
BREAK
;========== 祖玛回收 ==========
[@祖玛回收检查]
#IF
CHECKITEM 祖玛雕像 1
#ACT
TAKE 祖玛雕像 1
INC N$总经验 10000
INC N$总元宝 5
INC N$总金币 100000
GOTO @祖玛回收检查
BREAK
#IF
CHECKITEM 祖玛卫士 1
#ACT
TAKE 祖玛卫士 1
INC N$总经验 10000
INC N$总元宝 5
INC N$总金币 100000
GOTO @祖玛回收检查
BREAK
#IF
LARGE N$总经验 0
#ACT
CHANGEEXP + <$STR(N$总经验)>
GAMEGOLD + <$STR(N$总元宝)>
GIVE 金币 <$STR(N$总金币)>
SENDMSG 6 祖玛回收完成!经验:<$STR(N$总经验)>,元宝:<$STR(N$总元宝)>,金币:<$STR(N$总金币)>
GOTO @main
BREAK
#ELSEACT
SENDMSG 6 背包中没有祖玛装备!
GOTO @main
BREAK
; 赤月回收和雷霆回收同理修改...
```
主要修改点:
1. 在`#SAY`部分添加了开始回收和取消选择的按钮
2. 将回收循环标签改为`@祖玛回收检查`等,避免无限循环
3. 每个回收完成后使用`GOTO @main`返回主界面
4. 确保所有分支都有`BREAK`或`GOTO`跳转
这样修改后,回收功能就能正常工作了。
← 返回问答库