基础装备 增加一个 穿戴鉴定
分为 凡品 随机基础属性 1-10点 真实伤害10-20点 100%几率
良品 随机基础属性 5-15点 真实伤害20-40点 40%几率
极品 随机基础属性 10-20点 真实伤害40-80点 10%几率
完美 随机基础属性 15-25点 真实伤害80-200点 5%几率
帮我写一下这个脚本
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-04-09 01:13:26 |
👁️ 阅读: 1
要实现装备穿戴鉴定,需要结合装备佩戴触发事件和属性随机生成。根据课程日志记录,这里提供完整的实现方案:
首先在QFunction-0.txt中设置装备佩戴触发:
```txt
[@TakeOnX]
#IF
#ACT
; 触发鉴定逻辑
GOTO @穿戴鉴定
```
然后编写鉴定脚本:
```txt
[@穿戴鉴定]
#IF
#ACT
; 初始化变量
MOV N$鉴定概率 <$RANDOMEX(100)>
MOV N$鉴定类型 0
MOV S$鉴定名称 ""
MOV S$属性文本 ""
; 凡品鉴定 (100%几率)
#IF
LARGE N$鉴定概率 0
#ACT
MOV N$鉴定类型 1
MOV S$鉴定名称 "凡品"
GOTO @生成属性
; 良品鉴定 (40%几率)
#IF
SMALL N$鉴定概率 60
LARGE N$鉴定概率 20
#ACT
MOV N$鉴定类型 2
MOV S$鉴定名称 "良品"
GOTO @生成属性
; 极品鉴定 (10%几率)
#IF
SMALL N$鉴定概率 10
LARGE N$鉴定概率 5
#ACT
MOV N$鉴定类型 3
MOV S$鉴定名称 "极品"
GOTO @生成属性
; 完美鉴定 (5%几率)
#IF
SMALL N$鉴定概率 5
#ACT
MOV N$鉴定类型 4
MOV S$鉴定名称 "完美"
[@生成属性]
#IF
EQUAL N$鉴定类型 1
#ACT
; 凡品属性
MOV N$基础属性 <$RANDOMEX(10)>
INC N$基础属性 1
MOV N$真实伤害 <$RANDOMEX(11)>
INC N$真实伤害 10
GOTO @附加属性
#IF
EQUAL N$鉴定类型 2
#ACT
; 良品属性
MOV N$基础属性 <$RANDOMEX(11)>
INC N$基础属性 5
MOV N$真实伤害 <$RANDOMEX(21)>
INC N$真实伤害 20
GOTO @附加属性
#IF
EQUAL N$鉴定类型 3
#ACT
; 极品属性
MOV N$基础属性 <$RANDOMEX(11)>
INC N$基础属性 10
MOV N$真实伤害 <$RANDOMEX(41)>
INC N$真实伤害 40
GOTO @附加属性
#IF
EQUAL N$鉴定类型 4
#ACT
; 完美属性
MOV N$基础属性 <$RANDOMEX(11)>
INC N$基础属性 15
MOV N$真实伤害 <$RANDOMEX(121)>
INC N$真实伤害 80
[@附加属性]
#IF
#ACT
; 根据职业判断攻魔道属性
CHECKJOB Warrior
#ACT
MOV S$职业属性 "攻击"
MOV N$属性ID 3
CHECKJOB Wizard
#ACT
MOV S$职业属性 "魔法"
MOV N$属性ID 5
CHECKJOB Taoist
#ACT
MOV S$职业属性 "道术"
MOV N$属性ID 7
; 生成属性文本
FORMULATION <$STR(N$基础属性)>+<$STR(N$真实伤害)> N$总属性
INC S$属性文本 鉴定结果:<$STR(S$鉴定名称)>\n
INC S$属性文本 增加<$STR(S$职业属性)>:<$STR(N$基础属性)>\n
INC S$属性文本 真实伤害:<$STR(N$真实伤害)>\n
INC S$属性文本 总属性:<$STR(N$总属性)>
; 给装备附加属性
; 注意:这里需要根据实际装备位置调整
SETADDNEWABIL 1 + <$STR(N$属性ID)>#<$STR(N$基础属性)>|201#<$STR(N$真实伤害)>
; 显示鉴定结果
SENDMSG 6 装备鉴定成功!<$STR(S$属性文本)>
```
注意:这个脚本使用了SETADDNEWABIL命令来增加装备附加属性,但根据课程日志记录,该命令不支持获取极品属性与自定义属性的值,只支持装备表里填的基础属性和SETADDNEWABIL命令增加的附加属性。
如果要实现更复杂的属性对比和自动穿戴功能,需要结合GETITEMATTIDVALUE命令获取装备属性值进行对比判断。
← 返回问答库