当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇脚本防麻痹效果触发条件修改方法

热度:
针对你的需求,将原脚本的触发条件从“受所有攻击触发”修改为“仅受怪物攻击触发”,核心在于精确区分攻击者类型。原脚本使用<$CURRRTARGETNAME>获取攻击者名称,但无法区分该名称是怪物还是人物。

一、关键修改思路

在1.76及之后的主流引擎(如GOM/GEE)中,判断攻击者是否为怪物的核心命令是:CHECKCURRTARGETRACE。该命令用于检测当前攻击目标的种族。

二、修改后的脚本示例

将你的脚本段修改为以下内容:

[@Attack]
#if
#act
;首先检测攻击者是否为怪物(种族代号通常0=人物,1=怪物,具体以引擎手册为准)
CHECKCURRTARGETRACE=1
#elseact
goto@Exit

;继续执行原有的物品和文本列表检测
#if
checkitemw始神≌领域·君
random5
CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#act
ChangeModeEx1410
ChangeModeEx12
SENDMSG6你被怪物【<$CURRRTARGETNAME>】攻击,触发防麻痹效果10秒,无敌2秒!!!
break

[@Exit]
#act
;如果攻击者是人物,这里为空或不执行任何操作,也可以添加提示
;SENDMSG6你被人物【<$CURRRTARGETNAME>】攻击,未触发特殊效果。


三、关键代码解析

1.[@Attack]:这是一个通用的被攻击触发标签,当角色受到任何攻击时都会首先执行这段脚本。
2.CHECKCURRTARGETRACE=1:这是核心判断命令。它的作用是检查当前攻击者的种族。在大多数引擎设定中,1代表怪物,0代表人物(玩家)。如果攻击者是怪物,条件成立,继续向下执行;如果是人物,则跳转到@Exit标签,直接结束脚本,不触发无敌效果。
3.后续检测:仅在确认为怪物攻击后,才会继续判断你是否佩戴了“始神≌领域·君”这件物品,并进行随机数(random5)和文本列表(CHECKTEXTLIST)的检测。只有全部通过,才会激活防麻痹和无敌效果。
4.[@Exit]:这是一个出口标签,当攻击者是人物时,脚本流程跳转到这里,可以选择不执行任何操作或给出提示。

四、注意事项

1.引擎确认:CHECKCURRTARGETRACE命令的种族代号可能因引擎版本略有不同。请务必查阅你所使用引擎的说明书,确认“怪物”对应的准确数字(绝大多数情况下是1)。
2.路径确认:确保文本文件路径..\QuestDiary\三一真神.txt存在且内容正确。
3.逻辑顺序:脚本执行是顺序的。必须先判断攻击者类型,再判断物品和概率,这样效率最高,避免了不必要的检测。
4.标签位置:确保修改后的脚本放置在正确的触发文件中(通常是QFunction-0.txt或Market_Def文件夹下对应的NPC脚本)。

通过以上修改,只有当攻击者是怪物,且你佩戴了指定物品、通过概率检测、并且怪物名字在名单内时,才会触发无敌效果。受到人物攻击将完全不会进入效果触发流程。
[顶部]