1大陆 增加NPC 幻想齿轮
可升100级 每级属性 1点攻魔道 1点攻击速度 人物倍攻+1% 人物血量+1%
1级 1个 变速齿轮
2级 2个 变速齿轮
3级 3个 变速齿轮
顺延到100个 变速齿轮
帮我写一下这个脚本
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-04-09 01:15:06 |
👁️ 阅读: 0
要实现这个升级系统,需要编写一个NPC脚本,结合变量存储等级和属性计算。以下是完整的实现方案:
**NPC脚本 (幻想齿轮.txt):**
```
[@main]
#ACT
; 初始化显示变量
MOV S$显示内容 ""
; 获取当前等级
GETRANDOMLINETEXT ..\QuestDiary\齿轮系统\齿轮等级.txt S$等级信息
#IF
CHECKTEXTLIST ..\QuestDiary\齿轮系统\齿轮等级.txt <$USERNAME>
#ACT
; 解析等级信息
GETVALIDSTRSUPER <$STR(S$等级信息)> | N$当前等级
#ELSEACT
; 未找到记录,初始为1级
MOV N$当前等级 1
; 保存初始记录
ADDTEXTLISTEX ..\QuestDiary\齿轮系统\齿轮等级.txt <$USERNAME>|1
#IF
#ACT
; 计算下一级所需齿轮
FORMULATION <$STR(N$当前等级)>+1 N$下一级
; 计算当前属性加成
FORMULATION <$STR(N$当前等级)>*1 N$攻魔道加成
FORMULATION <$STR(N$当前等级)>*1 N$攻速加成
FORMULATION <$STR(N$当前等级)>*1 N$倍攻百分比
FORMULATION <$STR(N$当前等级)>*1 N$血量百分比
; 构建显示内容
INC S$显示内容 <Text|size=18|color=253|text=【幻想齿轮系统】>
INC S$显示内容 <Text|x=50|y=50|size=16|color=255|text=当前等级:<$STR(N$当前等级)>级>
INC S$显示内容 <Text|x=50|y=80|size=16|color=249|text=攻魔道:+<$STR(N$攻魔道加成)>>
INC S$显示内容 <Text|x=50|y=110|size=16|color=249|text=攻击速度:+<$STR(N$攻速加成)>>
INC S$显示内容 <Text|x=50|y=140|size=16|color=249|text=人物倍攻:+<$STR(N$倍攻百分比)>%>
INC S$显示内容 <Text|x=50|y=170|size=16|color=249|text=人物血量:+<$STR(N$血量百分比)>%>
INC S$显示内容 <Text|x=50|y=210|size=16|color=250|text=下一级(<$STR(N$下一级)>级)需要:>
INC S$显示内容 <Text|x=50|y=240|size=16|color=251|text=变速齿轮:<$STR(N$下一级)>个>
; 添加升级按钮(未满级时显示)
#IF
SMALL N$当前等级 100
#ACT
INC S$显示内容 <Button|x=200|y=280|nimg=public/1900000510.png|pimg=public/1900000511.png|link=@升级>
INC S$显示内容 <Text|x=230|y=285|size=16|color=254|text=升 级>
#ELSEACT
INC S$显示内容 <Text|x=200|y=285|size=16|color=253|text=已满级>
#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$显示内容)>
[@升级]
#ACT
; 获取当前等级
GETRANDOMLINETEXT ..\QuestDiary\齿轮系统\齿轮等级.txt S$等级信息
GETVALIDSTRSUPER <$STR(S$等级信息)> | N$当前等级
; 检查是否已满级
#IF
LARGE N$当前等级 99
#ACT
SENDMSG 6 已经达到最高等级100级!
GOTO @main
; 计算所需齿轮数量
FORMULATION <$STR(N$当前等级)>+1 N$需要数量
; 检查背包物品
#IF
CHECKITEM 变速齿轮 <$STR(N$需要数量)>
#ACT
; 扣除物品
TAKE 变速齿轮 <$STR(N$需要数量)>
; 更新等级
FORMULATION <$STR(N$当前等级)>+1 N$新等级
DELTEXTLIST ..\QuestDiary\齿轮系统\齿轮等级.txt <$USERNAME>
ADDTEXTLISTEX ..\QuestDiary\齿轮系统\齿轮等级.txt <$USERNAME>|<$STR(N$新等级)>
; 应用属性加成(需要根据实际属性命令调整)
; 攻魔道属性
HUMAN GamePoint + 1
; 攻击速度
CHANGEATTACKSPEED + 1
; 倍攻(需要根据实际倍攻系统调整)
; 血量百分比(需要根据实际血量系统调整)
SENDMSG 6 升级成功!当前等级:<$STR(N$新等级)>级
#ELSEACT
SENDMSG 6 升级需要<$STR(N$需要数量)>个变速齿轮,数量不足!
GOTO @main
```
**配套文件设置:**
1. 在 `QuestDiary` 目录下创建文件夹:`齿轮系统`
2. 在 `齿轮系统` 文件夹中创建文本文件:`齿轮等级.txt`
3. 变速齿轮物品需要在 `cfg_item.xls` 道具表中添加,设置合适的 `StdMode` 和 `Shape`
**属性应用说明:**
- `HUMAN GamePoint + 1` 增加攻魔道属性点
- `CHANGEATTACKSPEED + 1` 增加攻击速度
- 倍攻和血量百分比加成需要根据你实际的倍攻系统和血量系统使用对应的命令
**注意事项:**
1. 需要先创建好 `变速齿轮` 这个物品
2. 属性加成命令可能需要根据你的版本具体调整
3. 文件路径需要根据实际目录结构调整
4. 满级100级后按钮会自动隐藏
← 返回问答库