初始进度 0/1级
升一级后进度变成 0/2级
,....最后一次进度是 0/200级
现在是我可以批量使用
1-50级 使用 消耗1个材料 +1000金币 增加1点进度
51-100 需要 消耗2个材料 +5000金币 增加1点进度
101-150需要 消耗3个材料 +1万金币 增加1点进度
151-200需要 消耗4个材料 +2万金币 增加1点进度
如果[34] = 1
1-50级 使用 消耗1个材料 +100
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-04-17 17:03:59 |
👁️ 阅读: 4
根据课程日志记录,TXT脚本中循环结构需要遵循特定规范。以下是实现该进度系统的脚本方案:
```txt
[@main]
#IF
#ACT
; 初始化变量
MOV N$当前等级 <$LEVEL>
MOV N$当前进度 <$CURREXP>
MOV N$目标等级 200
MOV N$材料消耗 0
MOV N$金币消耗 0
MOV N$进度增加 1
MOV S$显示内容 ""
; 检查[34]状态
#IF
CHECK [34] 1
#ACT
MOV N$进度增加 2
; 开始批量升级循环
WHILE N$当前等级 < N$目标等级
; 计算当前等级段的消耗和增加
#IF
SMALL N$当前等级 51
#ACT
MOV N$材料消耗 1
MOV N$金币消耗 1000
#IF
LARGE N$当前等级 50
SMALL N$当前等级 101
#ACT
MOV N$材料消耗 2
MOV N$金币消耗 5000
#IF
LARGE N$当前等级 100
SMALL N$当前等级 151
#ACT
MOV N$材料消耗 3
MOV N$金币消耗 10000
#IF
LARGE N$当前等级 150
#ACT
MOV N$材料消耗 4
MOV N$金币消耗 20000
; 检查资源是否足够
#IF
CHECKGAMEGOLD > <$STR(N$金币消耗)>
CHECKITEM 材料名称 <$STR(N$材料消耗)>
#ACT
; 扣除资源
GAMEGOLD - <$STR(N$金币消耗)>
TAKE 材料名称 <$STR(N$材料消耗)>
; 增加进度
FORMULATION <$STR(N$当前进度)>+<$STR(N$进度增加)> N$当前进度
; 检查是否升级
#IF
LARGE N$当前进度 100
#ACT
; 升级处理
FORMULATION <$STR(N$当前等级)>+1 N$当前等级
MOV N$当前进度 0
; 随机给3-8号属性
MOVR N$随机属性 <$RANDOM(3,8)>
CHANGEABIL <$STR(N$随机属性)> + 1
; 每20级给元素属性
FORMULATION <$STR(N$当前等级)>%20 N$余数
#IF
EQUAL N$余数 0
#ACT
MOVR N$随机元素 <$RANDOM(0,10)>
CHANGEELEMENT <$STR(N$随机元素)> + 1
; 记录显示内容
INC S$显示内容 <Text|text=升级到<$STR(N$当前等级)>级,消耗<$STR(N$材料消耗)>材料+<$STR(N$金币消耗)>金币>
#ELSEACT
BREAK
#ELSEACT
INC N$当前等级 1
ENDWHILE
#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>
<$STR(S$显示内容)>
```
注意事项:
1. WHILE循环中不能直接使用#IF判断,需要通过GOTO跳转实现条件判断
2. 材料名称需要替换为实际的物品名称
3. 进度系统需要配合经验值或自定义变量实现
4. 元素属性添加需要确保元素系统已正确配置
5. 批量操作时注意资源检查,避免扣除失败
如果某些功能无法实现,可调用lua完成相关逻辑处理。
← 返回问答库