战士技能可以走服务端脚本触发,但分两层:一层是“释放技能后让引擎执行附加逻辑”,比如烈火命中发公告、攻杀触发BUFF、刺杀卡位写日志、合击满足条件放特效;另一层是“自动替战士放技能”,这部分只能用官方内挂、服务端机器人或授权挂机,第三方按键/内存/脱机不要碰。下面按M2/Legend/Blue类常见架构讲可落地做法。
一、物理攻击与技能攻击的触发区分
平砍、普通攻击、部分瞬发物理判定走物理攻击触发。QFunction-0.txt里常用[@Attack],变量可取当前目标名、目标剩余血、目标最大血、使用技能ID、攻击者名等。 部分引擎说明所有“造成实际效果/掉血”才触发,没打中或不掉血不进脚本。
战士主动技能如果属于魔法/技能系统,走魔法触发而不是[@Attack]。常见归类:
烈火剑法:主动、命中造成伤害,按魔法触发处理,用[@MagSelfFuncX],X为Magic.DB里烈火技能ID。
刺杀剑术:部分引擎视为主动攻击技能、可归魔法攻击触发;若只做隔位平砍扩展,也可按攻击触发测试。188类文档把刺杀、半月、烈火、逐日、开天、野蛮都列入主动攻击、属魔法攻击范畴。
半月弯刀:扇形多目标、主动伤害,按魔法触发更稳;若引擎把它当普通物理扩展,再试[@Attack]。
攻杀剑术:很多版本随普通攻击附加,平砍触发[@Attack]能覆盖;想在“使用攻杀”时单独跑脚本,需引擎支持按技能ID区分,否则只能用[@Attack]加技能ID判断。
逐日剑法、开天、合击:主动技能伤害,按魔法触发;合击另看英雄触发和怒气变量,不在普通[@MagSelfFuncX]单技能里硬写。
二、QFunction魔法触发标准写法
路径一般是 Mir200\Envir\Market_Def\QFunction-0.txt。M2里先开触发总开关:功能设置—其他控制—魔法触发/自身技能触发开启;部分版本还要开攻击触发、受攻击触发。
自身使用技能触发:
[@MagSelfFuncX]
IF
ACT
SENDMSG 5 战士释放技能X成功
;X换成烈火ID,例如烈火ID=3就写[@MagSelfFunc3]
对目标使用、释放者自身再处理:
[@MagTagFuncX]
IF
ACT
SENDMSG 5 对目标释放技能X
目标被技能打中触发:
[@MagTagFuncExX]
IF
ACT
SENDMSG 5 目标受到技能X
对怪物使用技能触发:
[@MagMonFuncX]
IF
ACT
SENDMSG 5 对怪物释放技能X
雷电示例文档用ID11写[@MagSelfFunc11]、[@MagTagFunc11]、[@MagTagFuncEx11]、[@MagMonFunc11] ,战士把11换成烈火、刺杀、半月对应ID即可。ID以本服Magic.DB/MagicList数据库为准,不要在别的服务端抄数字。
三、战士烈火做附加效果示例
假设烈火技能ID=3,想“烈火命中后给攻击者加临时攻击、给目标低血时发公告”:
[@MagSelfFunc3]
IF
ACT
SENDMSG 6 烈火剑法已释放,进入伤害结算
;加临时BUFF按引擎命令写,例如CHANGEATTACK/SetAbility,具体命令看本引擎手册
IF
CHECKTARGETRACE = 0
ACT
SENDMSG 7 烈火命中玩家目标
IF
CHECKTARGETRACE = 1
ACT
SENDMSG 7 烈火命中怪物目标
只想统计烈火次数、做活动概率返利:
[@MagSelfFunc3]
IF
RANDOM 10
ACT
GAMEPOINT +1
SENDMSG 5 烈火暴击活动:获得1点积分
RANDOM数值、GAMEPOINT命令按本引擎支持情况改;不确定命令就先用SENDMSG调试,确认触发后再加复杂逻辑。
四、攻杀、刺杀、半月用[@Attack]的补充方案
若引擎不对每个战士近战技能单独出MagSelfFunc,可在[@Attack]里取技能ID判断:
[@Attack]
IF
CHECKMAGICID = 攻杀ID
ACT
SENDMSG 5 触发攻杀附加逻辑
IF
CHECKMAGICID = 刺杀ID
ACT
SENDMSG 5 触发刺杀附加逻辑
IF
CHECKMAGICID = 半月ID
ACT
SENDMSG 5 触发半月附加逻辑
变量名各引擎不同,有的用、有的用MAGICID、有的用参数常量。Blue文档[@Attack]支持目标Race、目标名、使用技能ID、攻击者Race等变量 ;188文档[@Attack]用于物理攻击触发、只有实际造成伤害才进脚本 。先打一行SENDMSG看是否进段,再按技能ID分支,避免所有平砍都执行烈火逻辑。
五、英雄战士技能触发
合击版本英雄放技能要用英雄前缀。常见:
[@HeroMagicAttack] 英雄主动魔法/攻击触发
[@HeroMagSelfFuncX] 或[@MagHeroFuncX] 英雄自身使用技能ID触发,X按引擎
[@HeroTakeOnX]/[@HeroTakeOffX] 英雄穿脱装备触发,不是技能释放触发
战战英雄烈火想做“英雄烈火命中加主号怒气”:
[@HeroMagSelfFunc烈火ID]
IF
CHECKHEROONLINE
ACT
SENDMSG 6 英雄烈火释放
;加怒气/合击值用本引擎Moment/HeroMoment类命令
不同Hero/LEG/Blue/GOM命令名差异大,别把一家文档原样套另一家。先查本M2的“英雄魔法触发”开关和QFunction示例文件。
六、自动放战士技能:合规与违规边界
服务端侧自动放:M2机器人Robot、AutoRun、定时脚本可给指定地图怪物或演练号释放技能;但给线上玩家自动按F1烈火、自动补刺杀,通常要做AI假人/演练,不是普通玩家脚本。合击服可做“怒满自动请求合击”的服务端逻辑,但仍要接玩家按键或内挂策略。
玩家侧自动放:官方/正版内挂、官方挂机、授权云玩最稳。设置路径一般是游戏内挂机—技能循环,战士勾烈火、刺杀、半月、攻杀,设置优先目标、技能间隔、低蓝不放烈火;官方挂机还能设拾取过滤、红蓝保护、挂机范围。 正版手游第三方自动挂、按键精灵、Auto.js、触动、云手机脱机、内存加速、模拟点击全属违规辅助,官方按行为轨迹、同IP多开、恒定点间隔、异常移动速度封禁,轻则禁言限交易,重则临时/永久封号。
如果你是服务端GM,想做“战士打怪自动补烈火”给假人用,走Robot或AI配置;想给真实玩家做,提供内挂技能循环和挂机范围,不要发外部exe。玩家自己用按键精灵循环按F1,不属于服务端脚本,且正服违规。
七、不触发的排查顺序
1. 看M2开关:魔法触发、自身技能触发、攻击触发、受攻击触发是否全开;Blue还在!setup.txt看AttackTrigger=1,0是关闭。
2. 看技能ID:打开Magic.DB/MagicList,查烈火、刺杀、半月、攻杀、逐日实际ID;脚本[@MagSelfFuncX]的X必须一致。
3. 看是否实际造成伤害:部分引擎只有命中掉血才进[@Attack]/魔法触发;未命中、被闪避、目标无敌帧不会触发。
4. 看QFunction路径:必须是Envir\Market_Def\QFunction-0.txt,改错文件不会加载;改完重启M2或重载脚本。
5. 先SENDMSG再写业务:别一上来改属性、扣物品、刷怪,先发聊天提示确认进段;进段后变量为空再查常量名。
6. 英雄技能用人物[@MagSelfFuncX]不会触发,必须换英雄前缀;合击技能若ID特殊,按引擎合击文档单独写,不套普通魔法触发。
7. 野蛮冲撞若归主动攻击,可按魔法触发测试;若只做位移不造成伤害,很多引擎不触发伤害类脚本,需用“使用技能”总拦截或单独命令。
8. 部分技能如施毒不造成即时伤害不进魔法攻击触发 ,战士没有这类;但如果你给战士自制毒刃、反伤技能,要先确认技能在数据库里Damage类型、是否即时掉血。
八、实战配法建议
打BOSS活动:烈火MagSelfFunc写“命中后若目标血低于20%自动记录尾刀、给队伍发奖励”,刺杀用[@Attack]写“隔位刺杀计入DPS日志”。
PK行会:攻杀/烈火触发写“释放者获得2秒临时准确、目标若低血发全服击杀预告”,但临时属性别叠太高,避免破坏平衡。
新手引导:战士首次学烈火进[@MagSelfFunc烈火ID],弹SENDMSG教快捷键、消耗蓝量、合击怒气关系;攻杀进[@Attack]统计熟练度,给升级基本剑术任务。
反作弊:服务端技能触发脚本只做日志、公告、合理BUFF,不写自动加速、自动连放无CD、强制必中、修改客户端内存;玩家侧不提供第三方自动按技能工具,避免被当成外挂生态。
按上面把M2开关、Magic.ID、QFunction段、英雄前缀、内挂自动放技能分开处理,战士技能触发脚本能覆盖烈火、攻杀、刺杀、半月、逐日、合击;自动战斗只走官方挂机和服务端机器人,外部脚本不参与。
传奇战士技能触发脚本配置烈火攻杀刺杀QF开关与自动放技能边界
来源:
作者:
点击:

