找回密码
 立即注册
查看: 146|回复: 9

自定义属性怎么检测行数

[复制链接]

230

主题

561

回帖

231

积分

中级会员

积分
231
发表于 2026-3-28 18:40:15 | 显示全部楼层 |阅读模式
如题。我在自定义属性TXT变量里填好了各种属性字.利用NPC随机给行数有可能是第一行有可能是第二行。比如第一行。3%的几率触发什么写好了。。但怎么在触发的时候检测呢。我翻了下。没看到检测TXT行数啊。(预想的是直接检测行数是不是第一行如果是就触发)

难道无此功能?还是要先获取变量呢?

求大神代翻下说明书

259

主题

541

回帖

918

积分

高级会员

积分
918
发表于 2026-3-28 18:40:15 | 显示全部楼层
云逸浪子情 发表于 2021-12-4 10:58 麻烦了大神。这个我研究了一晚上没搞懂。自定义属性好麻烦
点击我QQ

0

主题

583

回帖

0

积分

新手上路

积分
0
发表于 2026-3-28 18:40:15 | 显示全部楼层
你设置装备的行数,它也是自定义属性的3个参数其中的一个
例如SetCustomItemValue 0 0 = 1

位置0=衣服  属性=0 属性值的参数1=1.你在自定义属性里就可以

215

主题

501

回帖

768

积分

高级会员

积分
768
发表于 2026-3-28 18:40:15 | 显示全部楼层
以上说的是获取参数1,参数2和参数3
如果你只获取参数1,那么可以直接使用检测命令
#IF
CheckCustomItemValue 0 0 =,<,> 数值
直接可以检测第一个参数值

251

主题

546

回帖

889

积分

高级会员

积分
889
发表于 2026-3-28 18:40:15 | 显示全部楼层
你都利用NPC随机给行数了,也就是说这个行数是你给的,那你只要保存这个行数就可以了,还检测什么?你先说说你是怎么随机给行数的。

230

主题

561

回帖

231

积分

中级会员

积分
231
 楼主| 发表于 2026-3-28 18:40:15 | 显示全部楼层
czy7812 发表于 2021-12-4 09:02 你都利用NPC随机给行数了,也就是说这个行数是你给的,那你只要保存这个行数就可以了,还检测什么?你先说 ...
你没理解他的意思,他的意思是,属性倒是随机给了。但是行数1可能是麻痹,行数5是冰冻,行数10是中毒之类的。但是他不会检测这个属性触发到底是触发麻痹还是冰冻或中毒。大概就是这么个意思。所以给他讲讲自定义属性的原理

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

0

主题

502

回帖

0

积分

新手上路

积分
0
发表于 2026-3-28 18:40:15 | 显示全部楼层
442671 发表于 2021-12-4 09:06 你没理解他的意思,他的意思是,属性倒是随机给了。但是行数1可能是麻痹,行数5是冰冻,行数10是中毒之类 ...
不好意思哈我理解能力有点差,下面是我脚本。
#ACT
GetRandomText ..\\QuestDiary\\鉴定数据\\低级鉴定.txt S155
MOV N$行数编号 <$STR(S155)>
SetCustomItemAbil -1 1 1 20
SetCustomItemAbil -1 1 0 251
SetCustomItemAbil -1 1 2 1
SetCustomItemAbil -1 1 4 6
SetCustomItemValueEX -1 1 =  <$STR(N$行数编号)>  0  1  
比如说这段脚本执行后给了这件装备随机到第一行TXT
第一行txt是:XXX几率触发麻痹
那么我在攻击触发里应该怎么写检测呢

2797

主题

3万

回帖

2801

积分

金牌会员

积分
2801
发表于 2026-3-28 18:40:15 | 显示全部楼层
SetCustomItemValueEX -1 1 =  <$STR(N$行数编号)>  0  1
已知,你的参数1=<$STR(N$行数编号)> 参数2=0 参数3=1
你可以这样写,你的参数3表示的什么,我不太清楚!
#IF
;(因为你的脚本使用的-1表示OK框,所以实际是什么装备自己改装备位置)
;3%的几率
RANDOMEX 3 100
;检测装备是否有行数属性.
CheckCustomItemValue 装备位置 1 > 0
#ACT
执行麻痹或其它的效果
或将参数3表示为几率
#IF
CheckCustomItemValue 装备位置 1 > 0
#ACT
GetCustomItemValueEx 0 0 N$百分比 N$值1 N$值2 N$值3
#IF
;百分之 参数3 的几率
RANDOMEX N$值3 100
;参数1大于0,表示有行数属性
CheckCustomItemValue 装备位置 1 > 0
#ACT
执行麻痹或其它的效果
然后你的text行数里可以修改成:有$$3%的几率将目标麻痹之类的
补充内容 (2021-12-4 10:13):
把>0 改成 =数值   指定的麻痹或什么TEXT行数的值

216

主题

548

回帖

235

积分

中级会员

积分
235
发表于 2026-3-28 18:40:15 | 显示全部楼层
442671 发表于 2021-12-4 10:09 SetCustomItemValueEX -1 1 =    0  1
已知,你的参数1= 参数2=0 参数3=1
你可以这样写,你的参数3表示的 ...
谢谢,已经可以执行了。。。但大哥有没有办法实现检测全身呢。必须指定部位吗?我这个类似鉴定的。无法确定是在那个部位

0

主题

542

回帖

0

积分

新手上路

积分
0
发表于 2026-3-28 18:40:15 | 显示全部楼层
已知:SetCustomItemAbil -1 1 1 20
你的属性使用的是20
做个穿戴触发,获取指定行数的合计:
GetAllCustomItemValueByTextLine 20 0 行数值 N$值1 N$值2 N$值3
#IF
;例如行数1表示麻痹,那么值大于0,表示有麻痹装备
LARGE N$值1 0
#ACT
执行麻痹
补充内容 (2021-12-4 10:32):
例如5行是冰冻
我们就获取
GetAllCustomItemValueByTextLine 20 0 5 N$冰冻值1 N$冰冻值2 N$冰冻值3
然后攻击触发就
#IF
;例如行数1表示麻痹,那么值大于0,表示有麻痹装备
LARGE N$冰冻值1 0
#ACT
执行冰冻
补充内容 (2021-12-4 10:35):
如果获取不准确,将GetAllCustomItemValueByTextLine 20 0 行数值 N$值1 N$值2 N$值3
改成
GetAllCustomItemValueByTextLine 20 -1 行数值 N$值1 N$值2 N$值3

© 2026 折翼天使社区 版权所有