传奇引擎英雄佩戴武器触发攻击倍数脚本(单机架设版)

来源: 作者: 点击:
当英雄佩戴武器时,引擎会触发@HeroTakeOnX事件(X为装备位置),取下时触发@HeroTakeOffX。通过监听武器位置(通常为位置1),读写自定义变量即可实现攻击倍数动态调整。

完整脚本(添加到QFunction-0.txt末尾)

;=============英雄攻击倍数核心脚本=============
;注意:位置1默认是武器栏(根据引擎调整)
;使用变量U3存储英雄原始倍数(避免与其他变量冲突)

[@HeroTakeOn1];英雄佩戴武器时触发
#IF
;检查武器是否带倍数标识(例如:AniCount=100为2倍武器)
CHECKHEROITEMVALUE1AniCount=100
#ACT
;保存英雄原始倍数到U3变量
MOVU3<$HERO.ATTACKMUL>
;设置新倍数(这里2倍,可自定义)
H.CHANGEATTACKMUL2
SENDMSG6〖英雄〗佩戴特效武器!攻击倍数激活:2.0倍

[@HeroTakeOff1];英雄取下武器时触发
#IF
#ACT
;恢复佩戴前保存的原始倍数
H.CHANGEATTACKMUL<$STR(U3)>
SENDMSG6〖英雄〗卸下武器!攻击倍数恢复:<$STR(U3)>倍


配置说明(必做步骤)

1.物品数据库设置(DBC2000或M2数据库)
•找到你的武器:将AniCount字段设为100(作为倍数触发标识)

•示例:屠龙刀的设置

Name屠龙刀
AniCount100;触发倍数标识
...其他字段...


2.位置对应表(常见引擎)
位置编号装备部位
0头盔
1武器
3项链
5手镯(右)
6戒指(右)

3.调试命令(游戏中实时测试)
•查看当前倍数:@查看倍数
[@查看倍数]
#ACT
SENDMSG5主号倍数:<$ATTACKMUL>英雄倍数:<$HERO.ATTACKMUL>


常见问题排查

1.英雄无反应?
•✅检查@HeroTakeOn1是否拼写正确(部分引擎用@HeroEquip1)

•✅确认武器AniCount=100(数据库需重启生效)

•✅M2引擎→选项→功能设置→英雄触发确保已启用

2.取下后倍数错误?
•✅变量冲突:将脚本中的U3改为其他未用变量(如U99)

•✅添加调试命令:
[@HeroTakeOff1]
#ACT
SENDMSG6"调试:正在恢复原始倍数[<$STR(U3)>]"
H.CHANGEATTACKMUL<$STR(U3)>


3.引擎兼容性
•GOM引擎:将H.CHANGEATTACKMUL改为Hero.CHANGEATTACKMUL

•GEE引擎:使用SETATTACKMUL命令:
#ACT
Hero.SETATTACKMUL20;0代表永久生效
[顶部]