; ============================================================
; 996引擎 每日签到系统
; 语法:N$变量 + GAMEGOLD + 组件面板(<Text><Button><Img>)
; 说明:N$变量为私人临时变量,下线不保存,适合测试
; 正式使用请替换为U变量(可保存)如 MOV U0 0
; ==========================================================
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-07-26 21:43:47 |
👁️ 阅读: 17
根据课程日志记录,这个签到系统脚本存在几个需要调整的地方:
1. 变量初始化位置问题:
- 在[@main]段中初始化变量后直接GOTO,会导致界面无法显示
- 正确的做法是初始化变量后,让脚本继续执行到界面显示部分
2. 界面组件使用规范:
- `<Img>`组件缺少`esc=1`参数,无法按ESC关闭
- 关闭按钮位置需要调整到界面右上角
3. 变量检测逻辑优化:
- 使用`CHECKVAR`命令检测变量是否存在更合适
- 元宝检测命令`CHECKGAMEGOLD`的参数顺序需要调整
4. 循环天数重置逻辑:
- 当`N$当前天数`大于30时重置,应使用`LARGE N$当前天数 29`或`EQUAL N$当前天数 31`
建议修改如下:
```txt
[@main]
;首次打开初始化变量
#IF
CHECKVAR HUMAN N$当前天数 = 0
#ACT
MOV N$当前天数 1
MOV N$今日签到 0
MOV N$签到天数 0
MOV N$七天计数 0
MOV N$漏签次数 0
MOV N$七天奖励 0
#SAY
<Img|x=136.0|y=56.0|loadDelay=1|bg=1|show=0|reset=1|esc=1|img=public_win32/1900000610.png|move=0>
<Layout|x=545|y=0|width=80|height=80|link=@exit>
<Button|x=774.0|y=61.0|nimg=public/1900000510.png|pimg=public/1900000511.png|link=@exit>
<Text|x=180|y=15|color=253|size=20|text=每日签到系统>
<Text|x=25|y=50|color=255|size=16|text=当前元宝:<$GAMEGOLD>>
<Text|x=25|y=75|color=255|size=16|text=签到天数:<$STR(N$签到天数)>/30>
<Text|x=25|y=100|color=255|size=16|text=七天计数:<$STR(N$七天计数)>/7>
<Text|x=25|y=125|color=255|size=16|text=当前天数:第<$STR(N$当前天数)>天>
<Text|x=25|y=150|color=255|size=16|text=漏签次数:<$STR(N$漏签次数)>>
;今日状态显示
#IF
EQUAL N$今日签到 0
#ACT
MOV S$今日状态 <Text|x=25|y=175|color=250|size=16|text=今日状态:未签到>
#ELSEACT
MOV S$今日状态 <Text|x=25|y=175|color=249|size=16|text=今日状态:已签到>
;奖励状态显示
#IF
EQUAL N$七天奖励 1
#ACT
MOV S$奖励状态 <Text|x=25|y=200|color=253|size=16|text=七天奖励:可领取!>
#ELSEACT
MOV S$奖励状态 <Text|x=25|y=200|color=255|size=16|text=七天奖励:不可领取>
<$STR(S$今日状态)>
<$STR(S$奖励状态)>
<Button|x=25|y=235|nimg=public/1900000652.png|pimg=public/1900000653.png|color=255|size=16|text=每日签到(+100元宝)|link=@执行签到>
<Button|x=280|y=235|nimg=public/1900000652.png|pimg=public/1900000653.png|color=255|size=16|text=补签(-50元宝)|link=@执行补签>
<Button|x=25|y=285|nimg=public/1900000652.png|pimg=public/1900000653.png|color=255|size=16|text=领取七天奖励|link=@领取七天奖励>
<Button|x=280|y=285|nimg=public/1900000652.png|pimg=public/1900000653.png|color=255|size=16|text=推进下一天|link=@推进下一天>
<Button|x=140|y=335|nimg=public/1900000652.png|pimg=public/1900000653.png|color=255|size=16|text=重置签到|link=@重置签到>
```
元宝检测部分需要调整为:
```txt
[@执行补签]
;检测元宝是否足够
#IF
CHECKGAMEGOLD > 49
#ACT
;元宝足够,继续执行
#ELSEACT
SENDMSG 5 元宝不足50,无法补签!
GOTO @main
```
推进下一天的重置逻辑:
```txt
[@推进下一天]
;检测是否超过30天
#IF
LARGE N$当前天数 29
#ACT
MOV N$当前天数 1
MOV N$签到天数 0
MOV N$七天计数 0
MOV N$漏签次数 0
MOV N$七天奖励 0
MOV N$今日签到 0
SENDMSG 6 30天签到周期完成!重新开始新一轮!
GOTO @main
```
其他功能逻辑基本正确,主要需要调整界面显示和部分命令参数。
← 返回问答库