jin2003 发表于 2026-5-29 11:08:01

当你鉴定属性有上百条的时候,你怎么写?

我是这样写的:



---------过滤前面的铺垫,核心是循环到几
#if
#act
MOV N1 1
While N1 < <$STR(n$高级鉴定词条数)>
MOVR N$给表妹几次 1 <$str(N$鉴定物品范围A)>
MOV N$词条位置代码 <$STR(n1)>
GOTO @开始单条鉴定<$STR(N$给表妹几次)>
Inc N1 1
EndWhile
;循环结束的时候根据满值次数来给背包特效
goto @_@特效加光



--------------下面就是循环的从1到100。[@开始单条鉴定X],改变X就行了,每一个属性就是对应的一个X



[@开始单条鉴定1]
#if
#act
MOV N$暗黑鉴定加成_终 0
inc N$暗黑鉴定加成_终 <$STR(N$暗黑鉴定加成)>
inc N$暗黑鉴定加成_终 100
CalcPercent <$鉴定数值(0,<$STR(N$数值列数)>)> <$STR(N$暗黑鉴定加成_终)> N$鉴定数值_上限
inc N$鉴定数值_上限 1
MOVR N$力量Q 1 <$STR(N$鉴定数值_上限)>
MOV N$取值比较 <$STR(N$力量Q)>
goto @_@特效光判断
SetCustomItemAbil -1 <$STR(N$词条位置代码)> 0 147
SetCustomItemAbil -1 <$STR(N$词条位置代码)> 1 8            ;是绑定无属性20<Text$1> .用过显示Text变量里的内容.
SetCustomItemAbil -1 <$STR(N$词条位置代码)> 2 <$STR(N$词条位置代码)>            ;显示位置
SetCustomItemAbil -1 <$STR(N$词条位置代码)> 3 0            ;是否为百分比
SetCustomItemValueEX -1 <$STR(N$词条位置代码)> = 1 <$STR(N$力量Q)> <$STR(N$鉴定数值_上限)>
UpdateItem -1


#if
check 1
check 1
#act
CalcPercent <$STR(N$鉴定数值_上限)> <$STR(U112)> N$鉴定保留底线

#if(5)
check 1
check 1
check 0
large N$取值比较 <$STR(N$鉴定保留底线)>

large N$捡物装备等级 <$STR(U114)>
EQUAL N$捡物装备等级 <$STR(U114)>
#act
ChangeItemNameColor -1 243

#if
check 1
check 1
check 1
large N$取值比较 <$STR(N$鉴定保留底线)>
#act
MOV N$精灵辅助存仓 1



后面三个部分就是比较对玩家友好的部分了,超过多少鉴定比例自动存储,或者改颜色。你看懂了吗?

hms490545 发表于 2026-5-29 11:49:55

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

qq154886255 发表于 2026-5-29 15:30:26

不错 学到了,感谢分享哦

jz9005 发表于 2026-6-7 11:12:02

要是有素材文件就好了

360494862 发表于 7 天前

这种逻辑用 txt 很直接,没有必要硬改 Lua。

我爱嘟嘟 发表于 4 天前

没有必要硬改 Lua。
页: [1]
查看完整版本: 当你鉴定属性有上百条的时候,你怎么写?