捐献数量为 1或者5 ,每日最多捐献100点 , 每10点转化为1点军工, 要怎么写 不会超额
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-05-06 11:24:10 |
👁️ 阅读: 10
根据课程日志记录,要实现捐献功能并防止超额,可以使用以下脚本:
```
[@main]
#IF
#ACT
;获取今日已捐献数量
MOV N$今日捐献 <$GETSTRVALUE(A10,<$username>_<$DATESTR>)>
;如果未获取到,初始化为0
#IF
EQUAL N$今日捐献 0
#ACT
MOV N$今日捐献 0
#SAY
请选择捐献数量:\ \
<捐献1点/@捐献1> 当前今日已捐献:<$STR(N$今日捐献)>/100点\ \
<捐献5点/@捐献5>\ \
<查看军工/@查看军工>
[@捐献1]
#IF
;检查是否超过每日上限
LARGE N$今日捐献 99
#ACT
sendmsg 6 今日捐献已达上限100点!
BREAK
#IF
#ACT
;增加捐献数量
INC N$今日捐献 1
;更新今日捐献记录
ADDSTRVALUE A10 <$username>_<$DATESTR> <$str(N$今日捐献)>
;增加总捐献数量
MOV N$总捐献 <$GETSTRVALUE(A11,<$username>)>
#IF
EQUAL N$总捐献 0
#ACT
MOV N$总捐献 0
#IF
#ACT
INC N$总捐献 1
ADDSTRVALUE A11 <$username> <$str(N$总捐献)>
sendmsg 6 捐献成功!今日已捐献:<$STR(N$今日捐献)>点
[@捐献5]
#IF
;检查是否超过每日上限(捐献5点后)
LARGE N$今日捐献 95
#ACT
sendmsg 6 今日剩余可捐献不足5点!
BREAK
#IF
#ACT
;增加捐献数量
INC N$今日捐献 5
;更新今日捐献记录
ADDSTRVALUE A10 <$username>_<$DATESTR> <$str(N$今日捐献)>
;增加总捐献数量
MOV N$总捐献 <$GETSTRVALUE(A11,<$username>)>
#IF
EQUAL N$总捐献 0
#ACT
MOV N$总捐献 0
#IF
#ACT
INC N$总捐献 5
ADDSTRVALUE A11 <$username> <$str(N$总捐献)>
sendmsg 6 捐献成功!今日已捐献:<$STR(N$今日捐献)>点
[@查看军工]
#IF
#ACT
;获取总捐献数量
MOV N$总捐献 <$GETSTRVALUE(A11,<$username>)>
#IF
EQUAL N$总捐献 0
#ACT
MOV N$总捐献 0
;计算军工(每10点捐献=1点军工)
FORMULATION <$STR(N$总捐献)>/10 N$军工 1
#SAY
您的总捐献点数为:<$STR(N$总捐献)>\ \
您的军工点数为:<$STR(N$军工)>
```
脚本说明:
1. 使用A10变量记录每日捐献(键名为:玩家名_日期),防止每日超额
2. 使用A11变量记录总捐献数量
3. 捐献1点和5点时都会检查是否超过每日100点上限
4. 军工通过总捐献点数除以10计算(取整)
5. 使用BREAK命令防止超额捐献
← 返回问答库