一、脚本核心前提与逻辑框架
1. 核心判定条件
脚本需同时满足两个条件触发1.2倍攻击:一是武器攻击属性加成≥7(含武器基础攻击+附加攻击,仅统计武器部位),二是武器幸运值≥7。触发后仅作用于当前攻击动作,攻击结束后清除倍率效果,不影响后续普通攻击。
补充说明:幸运值仅判定武器自带幸运,临时幸运(如喝祝福油叠加)不计入;攻击加成仅统计武器本身,装备、技能附加的攻击属性不纳入判定范围,确保双7为武器专属触发条件。
2. 整体逻辑架构
采用“攻击前判定-条件达标触发-攻击后重置”闭环逻辑,绑定攻击事件(Attack),实现每一次攻击前自动校验武器属性:达标则附加1.2倍攻击倍率,不达标则执行普通攻击,全程无手动干预,贴合实战场景。
适配主流引擎(HeroM2、GOM、GEE),脚本语法通用,仅需微调字段名称即可适配不同版本,无需大幅修改核心逻辑。
二、完整脚本编写(可直接复制部署)
1. 脚本核心代码(通用版)
#Event Attack // 绑定攻击事件,每次攻击前触发校验
#ACT
Goto 双7属性判定 // 跳转至属性校验环节
[双7属性判定]
// 判定武器攻击加成≥7、幸运值≥7
#IF
CheckWeaponAttr 攻击 7 // 检测武器攻击加成≥7
CheckWeaponAttr 幸运 7 // 检测武器幸运值≥7
#ACT
SetAttackMul 1.2 // 设置1.2倍攻击倍率
SendMsg 9 武器双7触发!攻击倍率提升至1.2倍! // 提示信息
Goto 执行攻击
#ELSEACT
SetAttackMul 1.0 // 未达标,恢复1.0倍基础攻击
Goto 执行攻击
[执行攻击]
#ACT
AttackTarget // 执行攻击动作
Delay 500 // 攻击后延迟500毫秒,匹配引擎响应速度
SetAttackMul 1.0 // 重置攻击倍率,避免持续生效
Return // 结束本次脚本流程
2. 关键函数解析
CheckWeaponAttr 函数:专用检测武器单一属性,格式为“CheckWeaponAttr 属性名称 数值”,仅对当前佩戴的主武器生效,精准过滤其他装备干扰,属性名称支持“攻击”“幸运”“魔法”“道术”等。
SetAttackMul 函数:设置临时攻击倍率,格式为“SetAttackMul 倍率值”,支持小数点(如1.2、1.5),仅对下一次攻击生效,重置后恢复基础攻击,避免倍率叠加异常。
AttackTarget 函数:触发攻击动作,确保倍率设置完成后再执行攻击,保证倍率效果精准作用于本次攻击,避免时序错乱导致倍率失效。
3. 引擎适配调整(分版本)
HeroM2引擎:无需修改代码,直接使用,确保“SetAttackMul”函数开启,进入引擎控制台“脚本功能”,勾选“支持攻击倍率调整”即可。
GOM/GEE引擎:将“CheckWeaponAttr”替换为“CheckEquipAttr 武器 攻击 7”“CheckEquipAttr 武器 幸运 7”,其他逻辑不变,适配引擎专属属性检测语法。
复古版本:部分旧引擎不支持SetAttackMul函数,可替换为“AddAttack 临时攻击值”,按基础攻击1.2倍计算临时加成(如基础攻50,临时加10),攻击后用“SubAttack 临时攻击值”重置。
三、脚本部署与参数调试
1. 部署步骤
第一步,将脚本复制到对应脚本文件(如AttackFunc.txt),放入引擎脚本目录,若为独立脚本,命名为“WeaponDouble7.txt”,在主脚本中添加“#INCLUDE WeaponDouble7.txt”调用。
第二步,打开引擎控制台,刷新脚本列表,开启攻击事件触发权限,确保#Event Attack事件可正常执行,重启引擎加载脚本,完成部署。
第三步,佩戴双7武器(攻7幸7),进入游戏测试攻击效果,验证倍率触发与提示信息是否正常。
2. 参数微调技巧
倍率提示:可将SendMsg 9改为SendMsg 3(红色提示),提升视觉辨识度,或删除提示语句,实现静默触发。
延迟调整:根据引擎速度调整Delay数值,卡顿则增至800毫秒,流畅则可降至300毫秒,确保倍率重置与攻击动作衔接顺畅。
属性容错:若需支持临时幸运,将“CheckWeaponAttr 幸运 7”改为“CheckTotalLuck 7”,检测角色总幸运值(武器幸运+临时幸运)。
四、常见问题排查与解决
1. 脚本无触发效果
原因1:函数名称错误,如将CheckWeaponAttr误写为CheckEquipAttr(非GOM/GEE引擎),核对引擎适配语法,修正函数名称。
原因2:武器属性统计错误,仅武器基础攻击达标,附加攻击未计入,确认武器总攻击加成≥7(基础+附加),幸运值为武器自带且≥7。
原因3:事件未绑定,检查是否添加#Event Attack,引擎是否开启攻击事件权限,重启引擎重新加载脚本。
2. 倍率持续生效不重置
核心原因是攻击后未执行SetAttackMul 1.0重置指令,检查脚本中[执行攻击]环节是否遗漏重置代码,或Delay数值过短导致重置失效,延长延迟至500-800毫秒。
3. 提示正常但倍率无效
多为引擎不支持SetAttackMul函数,复古版本需替换为临时攻击增减逻辑,示例代码:
[双7属性判定]
#IF
CheckWeaponAttr 攻击 7
CheckWeaponAttr 幸运 7
#ACT
GetBaseAttack 基础攻击 // 读取角色基础攻击
SetTempAttack 基础攻击 * 0.2 // 计算1.2倍加成(基础+20%)
AddAttack 临时攻击值
SendMsg 9 武器双7触发!攻击提升20%!
#ELSEACT
SubAttack 临时攻击值 // 重置临时攻击
Return
五、进阶拓展与使用注意
1. 功能拓展方向
多倍率适配:设置梯度倍率,如双7触发1.2倍、双8触发1.5倍,添加对应判定条件,丰富属性奖励机制。
特效叠加:触发倍率时添加攻击特效,调用“PlayEffect 特效ID”函数,搭配武器发光、伤害数字变色效果,提升视觉体验。
目标限制:仅对怪物触发倍率,对玩家不生效,添加“CheckTargetType 怪物”判定条件,适配PVE专属玩法。
2. 日常使用注意
定期检查武器属性,避免因装备更换、强化导致属性不达标,脚本无触发;版本更新后,重新测试脚本适配性,修正因引擎迭代导致的函数失效问题。
避免同时加载多个攻击倍率脚本,防止指令冲突,导致倍率叠加异常或脚本卡死,单独部署双7触发脚本,确保逻辑独立。

