一、核心触发字段与脚本结构
在给力引擎中,实现“装备攻击时概率触发技能”的功能,核心在于武器数据库的AniCount字段以及脚本文件的编写。此功能不通过装备属性直接实现,而是需要数据库与脚本联动。
数据库字段设定:
首先,打开服务端DB数据库(DBC2000或Access),找到需要添加触发效果的武器。关键字段是AniCount。此字段通常控制武器外观,但可将其设置为一个特定的、不重复的触发编号(例如1001)。此编号无实际外观意义,仅作为脚本识别的标识。
脚本联动路径:
触发检测与执行的脚本,需编写在服务端的QuestDiary文件夹下的特定文本文件中,并在引擎的功能脚本(通常是QFunction-0.txt)中进行关联调用。
二、数据库设置与攻击触发检测
第一步:数据库标记武器
1.打开数据库,找到目标武器(如“命运之刃”)。
2.将其AniCount字段的值修改为一个独特的编号,例如1001。此编号代表“攻击时触发技能1”。
3.保存数据库修改,重启M2引擎使数据库更改生效。
第二步:编写触发检测脚本
在D:\MirServer\Mir200\Envir\MapQuest_Def\QManage.txt(或其他给力引擎指定的个人登录脚本)中,添加攻击触发检测。
[@Attack]
#IF
CHECKCURRTARGETRACE=0;检测攻击目标是怪物
#ACT
;此处可添加更复杂的触发条件,如等级、地图等
GOTO@CheckWeaponSkill
BREAK
[@CheckWeaponSkill]
#IF
CHECKITEMW命运之刃1;检测是否佩戴指定武器
RANDOM10;设置触发概率,此处为1/10,即10%几率
#ACT
GOTO@TriggerSkill_1001;触发编号1001对应的技能脚本
#ELSEACT
BREAK
说明:[@Attack]是引擎默认的攻击触发段。RANDOM10表示十分之一的触发几率,可根据需求调整数字。
三、具体技能触发与效果执行
第三步:编写技能触发效果脚本
在QFunction-0.txt文件中,编写具体触发效果。此文件是引擎的核心功能脚本,用于处理各类自定义触发。
[@TriggerSkill_1001]
#IF
;可在此处添加额外条件,如怪物血量、自身Buff等
#ACT
;1.释放技能效果(此处以“雷霆剑”为例,使用GM命令模拟)
GMEXECUTEMAGIC雷霆剑
;2.给予技能伤害(可选,增强效果)
M.HUMANHP-200;对目标造成200点额外伤害
;3.发送提示信息
SENDMSG6【命运之刃】光芒一闪,雷霆之力迸发!
;4.添加特效(可选,需客户端支持)
;PLAYEFFECT雷霆剑5
#ELSEACT
BREAK
关键点:
•GMEXECUTEMAGIC技能名是给力引擎中让角色释放指定技能的关键命令。
•M.代表当前攻击的怪物目标,HUMANHP-数值表示对其造成固定伤害。若攻击玩家目标,命令可能不同。
•SENDMSG6发送的提示信息仅自己可见。
四、多技能与概率进阶设置
若需一件武器触发多种技能,或不同技能有不同概率,需在数据库和脚本中进行更复杂的设置。
方案一:一武器多技能,按概率触发
1.数据库:武器AniCount字段仍设置为唯一编号,如1002。
2.脚本逻辑:在[@CheckWeaponSkill]段,通过嵌套RANDOM和#ACT来实现权重概率。
[@CheckWeaponSkill_1002]
#IF
CHECKITEMW逍遥扇1
#ACT
RANDOM100
#IF
SMALLN9920;1-20,20%概率
#ACT
GOTO@TriggerSkill_火墙
BREAK
#IF
LARGEN9920
SMALLN9950;21-50,30%概率
#ACT
GOTO@TriggerSkill_灵魂火符
BREAK
#IF
LARGEN9950;51-100,50%概率
#ACT
GOTO@TriggerSkill_施毒术
BREAK
说明:N99是RANDOM100生成的随机数变量,通过判断其范围来实现不同技能的触发权重。
方案二:多武器共用触发检测
若多件武器需触发同一技能,无需为每件武器单独写脚本。可在[@CheckWeaponSkill]段使用OR条件判断。
[@CheckWeaponSkill_Group]
#IF
CHECKITEMW裁决之杖1
OR
CHECKITEMW屠龙1
OR
CHECKITEMW开天1
#ACT
RANDOM15
GOTO@TriggerSkill_开天斩
BREAK
脚本放置与引擎重读:所有脚本修改后,必须保存。在游戏中,管理员输入命令@重读攻击触发或@ReloadQFunction(具体命令因引擎小版本而异)使脚本生效,无需重启整个服务器。
在给力引擎中,实现“装备攻击时概率触发技能”的功能,核心在于武器数据库的AniCount字段以及脚本文件的编写。此功能不通过装备属性直接实现,而是需要数据库与脚本联动。
数据库字段设定:
首先,打开服务端DB数据库(DBC2000或Access),找到需要添加触发效果的武器。关键字段是AniCount。此字段通常控制武器外观,但可将其设置为一个特定的、不重复的触发编号(例如1001)。此编号无实际外观意义,仅作为脚本识别的标识。
脚本联动路径:
触发检测与执行的脚本,需编写在服务端的QuestDiary文件夹下的特定文本文件中,并在引擎的功能脚本(通常是QFunction-0.txt)中进行关联调用。
二、数据库设置与攻击触发检测
第一步:数据库标记武器
1.打开数据库,找到目标武器(如“命运之刃”)。
2.将其AniCount字段的值修改为一个独特的编号,例如1001。此编号代表“攻击时触发技能1”。
3.保存数据库修改,重启M2引擎使数据库更改生效。
第二步:编写触发检测脚本
在D:\MirServer\Mir200\Envir\MapQuest_Def\QManage.txt(或其他给力引擎指定的个人登录脚本)中,添加攻击触发检测。
[@Attack]
#IF
CHECKCURRTARGETRACE=0;检测攻击目标是怪物
#ACT
;此处可添加更复杂的触发条件,如等级、地图等
GOTO@CheckWeaponSkill
BREAK
[@CheckWeaponSkill]
#IF
CHECKITEMW命运之刃1;检测是否佩戴指定武器
RANDOM10;设置触发概率,此处为1/10,即10%几率
#ACT
GOTO@TriggerSkill_1001;触发编号1001对应的技能脚本
#ELSEACT
BREAK
说明:[@Attack]是引擎默认的攻击触发段。RANDOM10表示十分之一的触发几率,可根据需求调整数字。
三、具体技能触发与效果执行
第三步:编写技能触发效果脚本
在QFunction-0.txt文件中,编写具体触发效果。此文件是引擎的核心功能脚本,用于处理各类自定义触发。
[@TriggerSkill_1001]
#IF
;可在此处添加额外条件,如怪物血量、自身Buff等
#ACT
;1.释放技能效果(此处以“雷霆剑”为例,使用GM命令模拟)
GMEXECUTEMAGIC雷霆剑
;2.给予技能伤害(可选,增强效果)
M.HUMANHP-200;对目标造成200点额外伤害
;3.发送提示信息
SENDMSG6【命运之刃】光芒一闪,雷霆之力迸发!
;4.添加特效(可选,需客户端支持)
;PLAYEFFECT雷霆剑5
#ELSEACT
BREAK
关键点:
•GMEXECUTEMAGIC技能名是给力引擎中让角色释放指定技能的关键命令。
•M.代表当前攻击的怪物目标,HUMANHP-数值表示对其造成固定伤害。若攻击玩家目标,命令可能不同。
•SENDMSG6发送的提示信息仅自己可见。
四、多技能与概率进阶设置
若需一件武器触发多种技能,或不同技能有不同概率,需在数据库和脚本中进行更复杂的设置。
方案一:一武器多技能,按概率触发
1.数据库:武器AniCount字段仍设置为唯一编号,如1002。
2.脚本逻辑:在[@CheckWeaponSkill]段,通过嵌套RANDOM和#ACT来实现权重概率。
[@CheckWeaponSkill_1002]
#IF
CHECKITEMW逍遥扇1
#ACT
RANDOM100
#IF
SMALLN9920;1-20,20%概率
#ACT
GOTO@TriggerSkill_火墙
BREAK
#IF
LARGEN9920
SMALLN9950;21-50,30%概率
#ACT
GOTO@TriggerSkill_灵魂火符
BREAK
#IF
LARGEN9950;51-100,50%概率
#ACT
GOTO@TriggerSkill_施毒术
BREAK
说明:N99是RANDOM100生成的随机数变量,通过判断其范围来实现不同技能的触发权重。
方案二:多武器共用触发检测
若多件武器需触发同一技能,无需为每件武器单独写脚本。可在[@CheckWeaponSkill]段使用OR条件判断。
[@CheckWeaponSkill_Group]
#IF
CHECKITEMW裁决之杖1
OR
CHECKITEMW屠龙1
OR
CHECKITEMW开天1
#ACT
RANDOM15
GOTO@TriggerSkill_开天斩
BREAK
脚本放置与引擎重读:所有脚本修改后,必须保存。在游戏中,管理员输入命令@重读攻击触发或@ReloadQFunction(具体命令因引擎小版本而异)使脚本生效,无需重启整个服务器。

