不是全部都给可以随意输入我身上的元宝数量给对方,但是数量不能超过我本身的元宝
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-05-27 20:28:09 |
👁️ 阅读: 5
根据课程日志记录,要实现限制传递元宝数量不超过自身元宝的功能,需要结合变量获取和条件判断。以下是实现步骤:
首先,确保在登录脚本中定义了存储元宝的个人变量(例如使用`U`变量`U1`):
```txt
[@Login]
#IF
CHECKLEVELEX > 0
#ACT
VAR Integer HUMAN U1
SAVEVAR HUMAN U1
```
然后,在传递脚本中,先获取自身元宝数量,再通过输入框让用户输入要传递的数量,并进行条件判断:
```txt
[@传递元宝]
#IF
#ACT
; 获取自身元宝数量到变量N$我的元宝
GetHumVar <$USERNAME> N$我的元宝 U1
; 弹出输入框让用户输入要传递的数量,存入N$传递数量
InputInteger 请输入要传递的元宝数量(不能超过<$STR(N$我的元宝)>): N$传递数量
#SAY
请等待对方确认...
[@InputInteger(N$传递数量)]
#IF
LARGE N$传递数量 0
#ACT
; 再次获取自身当前元宝数量(防止中途变化)
GetHumVar <$USERNAME> N$当前元宝 U1
; 判断输入数量是否超过自身元宝
#IF
LARGE N$传递数量 <$STR(N$当前元宝)>
#ACT
SENDMSG 6 输入数量超过自身元宝,请重新输入。
GOTO @传递元宝
#ELSESAY
; 这里需要获取目标玩家名称,假设已存入S$目标玩家
; 设置目标玩家的U1变量值
GethumVar <$STR(S$目标玩家)> U1 = <$STR(N$传递数量)>
; 减少自身元宝变量
CALCVAR HUMAN U1 = <$STR(N$当前元宝)> - <$STR(N$传递数量)>
SAVEVAR HUMAN U1
SENDMSG 6 成功传递<$STR(N$传递数量)>元宝给<$STR(S$目标玩家)>
```
**注意事项**:
- `InputInteger`用于让用户输入数值,并存入指定变量。
- 通过`LARGE`命令判断输入数量是否大于自身元宝数量。
- 目标玩家名称`S$目标玩家`需要通过其他方式获取(如点击玩家选择)。
- 使用`CALCVAR`进行变量计算,减少自身元宝数量。
← 返回问答库