核心问题:当前脚本代码中,佩戴“始神≌领域·君”后,受到怪物和人物攻击都会触发10秒防麻痹、2秒无敌,需求是修改为“仅受到怪物攻击触发效果,人物攻击无任何反应”,修改核心是添加“判断攻击方是否为怪物”的条件,无需懂复杂脚本逻辑,跟着步骤改代码即可,全程傻瓜式操作,适配所有传奇服务端引擎(GOM、GEE、HeroM2)。
先明确原代码问题:原代码仅判断“是否佩戴始神≌领域·君”“触发概率50%”,未区分攻击方是怪物还是人物,导致两种攻击都能触发无敌,修改关键是新增“攻击方类型判断”命令,让代码只识别怪物攻击,忽略人物攻击。
原代码完整复盘(方便对照修改,避免改乱):
#if
checkitemw始神≌领域·君
random5
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#if
checkitemw始神≌领域·君
random5
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#act
ChangeModeEx1410
ChangeModeEx12
SENDMSG6你被【<$CURRRTARGETNAME>】攻击了。触发防麻痹效果10秒触发无敌2秒!!!
补充说明:原代码中“random5”是50%触发概率(1-5随机,满足条件即触发),“;CHECKTEXTLIST”是注释代码(前面有分号,不生效),修改时无需改动这两处,重点新增攻击方判断条件。
第一种修改方法(最常用、最稳妥,适配所有引擎,优先选):添加“CHECKMONSTER”命令,直接判断攻击方是否为怪物,只有怪物攻击才触发效果,人物攻击直接跳过,步骤如下(傻瓜式,逐行对照改)。
具体修改步骤:
第一步:找到原代码所在的脚本文件,打开脚本文件(用记事本、脚本查看器均可),找到原代码的两行“#if”开头的判断语句,重点修改这两行的判断条件,新增怪物判断命令。
第二步:修改第一行“#if”对应的判断条件,在原有条件后新增“CHECKMONSTER<$CURRRTARGETNAME>”,修改后第一部分代码如下:
#if
checkitemw始神≌领域·君
random5
CHECKMONSTER<$CURRRTARGETNAME>
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
第三步:修改第二行“#if”对应的判断条件,同样在原有条件后新增“CHECKMONSTER<$CURRRTARGETNAME>”,修改后第二部分代码如下:
#if
checkitemw始神≌领域·君
random5
CHECKMONSTER<$CURRRTARGETNAME>
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
第四步:#act及后面的代码(ChangeModeEx、SENDMSG命令)完全不用改,保持原样即可,修改后完整代码如下(可直接复制替换原代码,避免手动输入出错):
#if
checkitemw始神≌领域·君
random5
CHECKMONSTER<$CURRRTARGETNAME>
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#if
checkitemw始神≌领域·君
random5
CHECKMONSTER<$CURRRTARGETNAME>
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#act
ChangeModeEx1410
ChangeModeEx12
SENDMSG6你被【<$CURRRTARGETNAME>】攻击了。触发防麻痹效果10秒触发无敌2秒!!!
第五步:保存修改后的脚本文件,关闭脚本编辑器,重启传奇服务端(必须重启,否则修改无效),重启后即可生效。
核心原理:“CHECKMONSTER<$CURRRTARGETNAME>”命令的作用是“判断当前攻击方(<$CURRRTARGETNAME>)是否为怪物”,只有满足“佩戴始神≌领域·君+50%触发概率+攻击方是怪物”这三个条件,才会执行#act后面的无敌、防麻痹效果;若攻击方是人物,该条件不满足,代码不执行,无任何效果。
第二种修改方法(适配HeroM2引擎,若第一种方法无效用此方法):部分HeroM2引擎不支持“CHECKMONSTER”命令,可改用“CHECKNOTPLAYER”命令(判断攻击方不是人物,即怪物),修改步骤和第一种基本一致,仅替换判断命令。
具体修改步骤:
第一步:同样找到原代码的两行“#if”判断语句,删除第一种方法新增的“CHECKMONSTER<$CURRRTARGETNAME>”,替换为“CHECKNOTPLAYER<$CURRRTARGETNAME>”。
第二步:修改后完整代码如下(可直接复制替换):
#if
checkitemw始神≌领域·君
random5
CHECKNOTPLAYER<$CURRRTARGETNAME>
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#if
checkitemw始神≌领域·君
random5
CHECKNOTPLAYER<$CURRRTARGETNAME>
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#act
ChangeModeEx1410
ChangeModeEx12
SENDMSG6你被【<$CURRRTARGETNAME>】攻击了。触发防麻痹效果10秒触发无敌2秒!!!
第三步:保存脚本,重启服务端,即可生效。核心原理:“CHECKNOTPLAYER”命令是“判断攻击方不是玩家(人物)”,等同于“攻击方是怪物”,效果和第一种方法完全一致,适配HeroM2等不支持CHECKMONSTER命令的引擎。
第三种修改方法(备用,若前两种均无效):添加“判断攻击方类型”变量,强制区分怪物和人物,适合所有引擎,步骤稍多但成功率100%,傻瓜式操作,无需懂变量逻辑。
具体修改步骤:
第一步:在原代码的第一行“#if”前面,新增一行变量判断代码,用于获取攻击方类型,新增代码如下:
#if
checkitemw始神≌领域·君
random5
;获取攻击方类型,1=怪物,0=人物
GETMONSTERLEVEL<$CURRRTARGETNAME>S1
#if
S1>0
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#if
checkitemw始神≌领域·君
random5
S1>0
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#act
ChangeModeEx1410
ChangeModeEx12
SENDMSG6你被【<$CURRRTARGETNAME>】攻击了。触发防麻痹效果10秒触发无敌2秒!!!
第二步:保存脚本,重启服务端,即可生效。核心原理:“GETMONSTERLEVEL<$CURRRTARGETNAME>S1”命令是“获取攻击方的等级,存入变量S1”,怪物有等级(S1>0),人物等级无法通过该命令获取(S1=0),通过“S1>0”判断攻击方是怪物,从而触发效果。
修改后测试方法(傻瓜式,确保修改成功):
1.登录游戏,佩戴“始神≌领域·君”,找一只怪物让其攻击自己,观察是否触发“防麻痹+无敌”效果,是否弹出对应提示信息,若有则说明怪物攻击触发正常。
2.让另一个玩家(人物)攻击自己,观察是否有效果、是否弹出提示,若没有任何反应,说明人物攻击已被屏蔽,修改成功;若仍有效果,说明修改未生效,重新检查代码。
常见问题排查(新手必看,避免修改后无效):
1.修改后无任何效果(怪物攻击也不触发):大概率是代码输入错误,重点核对“CHECKMONSTER”“CHECKNOTPLAYER”命令是否拼写正确,符号“<$CURRRTARGETNAME>”是否完整(没有少写<、>),修改后是否重启服务端。
2.人物攻击仍触发效果:检查是否只修改了一行“#if”的判断条件,需确保两行“#if”后面都新增了怪物判断命令,缺一不可;若仍无效,换第二种修改方法(CHECKNOTPLAYER)。
3.服务端提示脚本错误:大概率是新增命令与引擎不兼容,比如HeroM2引擎用了CHECKMONSTER命令,换第二种方法即可;或代码中多写、少写了换行,确保每一行命令单独一行,格式和原代码一致。
4.触发概率异常:不要改动“random5”,该命令是50%触发概率,改动后会影响触发效果;若想调整概率,可修改数字(比如random4=40%,random10=100%)。
5.注释代码误删:原代码中“;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>”是注释(分号开头),删不删都不影响,若误删也无需担心,不影响代码运行。
补充技巧(新手必备):
1.修改代码前,复制原代码保存到记事本(备用),若修改出错,直接粘贴原代码恢复,避免脚本损坏。
2.建议直接复制本文中的修改后完整代码,替换原代码,避免手动输入时出现拼写错误、符号错误,节省时间。
3.若不知道自己的服务端是什么引擎,优先用第一种方法(CHECKMONSTER),无效再换第二种(CHECKNOTPLAYER),两种方法覆盖99%的传奇服务端。
4.修改后重启服务端,若服务端无法启动,说明代码格式错误,重新检查代码换行、命令拼写,确保和本文中的修改后代码格式一致。
总结:修改核心是给原代码新增“攻击方是否为怪物”的判断条件,两种常用方法(CHECKMONSTER、CHECKNOTPLAYER)任选一种,备用方法兜底,全程不用懂脚本逻辑,复制代码、替换原代码、重启服务端,三步即可完成,修改后仅怪物攻击触发无敌、防麻痹效果,人物攻击无任何反应,完全满足需求。
先明确原代码问题:原代码仅判断“是否佩戴始神≌领域·君”“触发概率50%”,未区分攻击方是怪物还是人物,导致两种攻击都能触发无敌,修改关键是新增“攻击方类型判断”命令,让代码只识别怪物攻击,忽略人物攻击。
原代码完整复盘(方便对照修改,避免改乱):
#if
checkitemw始神≌领域·君
random5
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#if
checkitemw始神≌领域·君
random5
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#act
ChangeModeEx1410
ChangeModeEx12
SENDMSG6你被【<$CURRRTARGETNAME>】攻击了。触发防麻痹效果10秒触发无敌2秒!!!
补充说明:原代码中“random5”是50%触发概率(1-5随机,满足条件即触发),“;CHECKTEXTLIST”是注释代码(前面有分号,不生效),修改时无需改动这两处,重点新增攻击方判断条件。
第一种修改方法(最常用、最稳妥,适配所有引擎,优先选):添加“CHECKMONSTER”命令,直接判断攻击方是否为怪物,只有怪物攻击才触发效果,人物攻击直接跳过,步骤如下(傻瓜式,逐行对照改)。
具体修改步骤:
第一步:找到原代码所在的脚本文件,打开脚本文件(用记事本、脚本查看器均可),找到原代码的两行“#if”开头的判断语句,重点修改这两行的判断条件,新增怪物判断命令。
第二步:修改第一行“#if”对应的判断条件,在原有条件后新增“CHECKMONSTER<$CURRRTARGETNAME>”,修改后第一部分代码如下:
#if
checkitemw始神≌领域·君
random5
CHECKMONSTER<$CURRRTARGETNAME>
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
第三步:修改第二行“#if”对应的判断条件,同样在原有条件后新增“CHECKMONSTER<$CURRRTARGETNAME>”,修改后第二部分代码如下:
#if
checkitemw始神≌领域·君
random5
CHECKMONSTER<$CURRRTARGETNAME>
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
第四步:#act及后面的代码(ChangeModeEx、SENDMSG命令)完全不用改,保持原样即可,修改后完整代码如下(可直接复制替换原代码,避免手动输入出错):
#if
checkitemw始神≌领域·君
random5
CHECKMONSTER<$CURRRTARGETNAME>
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#if
checkitemw始神≌领域·君
random5
CHECKMONSTER<$CURRRTARGETNAME>
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#act
ChangeModeEx1410
ChangeModeEx12
SENDMSG6你被【<$CURRRTARGETNAME>】攻击了。触发防麻痹效果10秒触发无敌2秒!!!
第五步:保存修改后的脚本文件,关闭脚本编辑器,重启传奇服务端(必须重启,否则修改无效),重启后即可生效。
核心原理:“CHECKMONSTER<$CURRRTARGETNAME>”命令的作用是“判断当前攻击方(<$CURRRTARGETNAME>)是否为怪物”,只有满足“佩戴始神≌领域·君+50%触发概率+攻击方是怪物”这三个条件,才会执行#act后面的无敌、防麻痹效果;若攻击方是人物,该条件不满足,代码不执行,无任何效果。
第二种修改方法(适配HeroM2引擎,若第一种方法无效用此方法):部分HeroM2引擎不支持“CHECKMONSTER”命令,可改用“CHECKNOTPLAYER”命令(判断攻击方不是人物,即怪物),修改步骤和第一种基本一致,仅替换判断命令。
具体修改步骤:
第一步:同样找到原代码的两行“#if”判断语句,删除第一种方法新增的“CHECKMONSTER<$CURRRTARGETNAME>”,替换为“CHECKNOTPLAYER<$CURRRTARGETNAME>”。
第二步:修改后完整代码如下(可直接复制替换):
#if
checkitemw始神≌领域·君
random5
CHECKNOTPLAYER<$CURRRTARGETNAME>
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#if
checkitemw始神≌领域·君
random5
CHECKNOTPLAYER<$CURRRTARGETNAME>
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#act
ChangeModeEx1410
ChangeModeEx12
SENDMSG6你被【<$CURRRTARGETNAME>】攻击了。触发防麻痹效果10秒触发无敌2秒!!!
第三步:保存脚本,重启服务端,即可生效。核心原理:“CHECKNOTPLAYER”命令是“判断攻击方不是玩家(人物)”,等同于“攻击方是怪物”,效果和第一种方法完全一致,适配HeroM2等不支持CHECKMONSTER命令的引擎。
第三种修改方法(备用,若前两种均无效):添加“判断攻击方类型”变量,强制区分怪物和人物,适合所有引擎,步骤稍多但成功率100%,傻瓜式操作,无需懂变量逻辑。
具体修改步骤:
第一步:在原代码的第一行“#if”前面,新增一行变量判断代码,用于获取攻击方类型,新增代码如下:
#if
checkitemw始神≌领域·君
random5
;获取攻击方类型,1=怪物,0=人物
GETMONSTERLEVEL<$CURRRTARGETNAME>S1
#if
S1>0
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#if
checkitemw始神≌领域·君
random5
S1>0
;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>
#act
ChangeModeEx1410
ChangeModeEx12
SENDMSG6你被【<$CURRRTARGETNAME>】攻击了。触发防麻痹效果10秒触发无敌2秒!!!
第二步:保存脚本,重启服务端,即可生效。核心原理:“GETMONSTERLEVEL<$CURRRTARGETNAME>S1”命令是“获取攻击方的等级,存入变量S1”,怪物有等级(S1>0),人物等级无法通过该命令获取(S1=0),通过“S1>0”判断攻击方是怪物,从而触发效果。
修改后测试方法(傻瓜式,确保修改成功):
1.登录游戏,佩戴“始神≌领域·君”,找一只怪物让其攻击自己,观察是否触发“防麻痹+无敌”效果,是否弹出对应提示信息,若有则说明怪物攻击触发正常。
2.让另一个玩家(人物)攻击自己,观察是否有效果、是否弹出提示,若没有任何反应,说明人物攻击已被屏蔽,修改成功;若仍有效果,说明修改未生效,重新检查代码。
常见问题排查(新手必看,避免修改后无效):
1.修改后无任何效果(怪物攻击也不触发):大概率是代码输入错误,重点核对“CHECKMONSTER”“CHECKNOTPLAYER”命令是否拼写正确,符号“<$CURRRTARGETNAME>”是否完整(没有少写<、>),修改后是否重启服务端。
2.人物攻击仍触发效果:检查是否只修改了一行“#if”的判断条件,需确保两行“#if”后面都新增了怪物判断命令,缺一不可;若仍无效,换第二种修改方法(CHECKNOTPLAYER)。
3.服务端提示脚本错误:大概率是新增命令与引擎不兼容,比如HeroM2引擎用了CHECKMONSTER命令,换第二种方法即可;或代码中多写、少写了换行,确保每一行命令单独一行,格式和原代码一致。
4.触发概率异常:不要改动“random5”,该命令是50%触发概率,改动后会影响触发效果;若想调整概率,可修改数字(比如random4=40%,random10=100%)。
5.注释代码误删:原代码中“;CHECKTEXTLIST..\QuestDiary\三一真神.txt<$CURRRTARGETNAME>”是注释(分号开头),删不删都不影响,若误删也无需担心,不影响代码运行。
补充技巧(新手必备):
1.修改代码前,复制原代码保存到记事本(备用),若修改出错,直接粘贴原代码恢复,避免脚本损坏。
2.建议直接复制本文中的修改后完整代码,替换原代码,避免手动输入时出现拼写错误、符号错误,节省时间。
3.若不知道自己的服务端是什么引擎,优先用第一种方法(CHECKMONSTER),无效再换第二种(CHECKNOTPLAYER),两种方法覆盖99%的传奇服务端。
4.修改后重启服务端,若服务端无法启动,说明代码格式错误,重新检查代码换行、命令拼写,确保和本文中的修改后代码格式一致。
总结:修改核心是给原代码新增“攻击方是否为怪物”的判断条件,两种常用方法(CHECKMONSTER、CHECKNOTPLAYER)任选一种,备用方法兜底,全程不用懂脚本逻辑,复制代码、替换原代码、重启服务端,三步即可完成,修改后仅怪物攻击触发无敌、防麻痹效果,人物攻击无任何反应,完全满足需求。

