防麻痹系列打造NPC按“材料+元宝+成功率+防重复+属性入库”五件事写。下面给Hero通版,再列GOM/GEE、Legend、Blue替换点,最后写StdItems防麻字段和排错。
一、StdItems物品库防麻属性
戒指类Stdmode按本服数据库填,防麻痹用AniCount或Shape特殊码。通用参考:
113麻痹,物理攻击概率麻痹对方
139防麻,使被攻击方麻痹失效,不防怪物麻痹
152麻痹防御,部分扩展库作防麻痹类
150麻痹护身,151麻痹火球,部分引擎作复合麻系
做“防麻痹系列”建议分档:
初级防麻戒指:Shape/AniCount填139,耐久设高,Source/Reserved按本引擎抗麻字段补百分比
中级防麻戒指:139基础上加魔法防御、体力恢复,Reserved写抗麻值
高级防麻戒指:139+152双码,若引擎支持用Reserved分别写人物麻抗、怪物麻抗
终极防麻勋章:防人物麻痹+降低怪物麻痹时长,用扩展字段AntiParalysis,Hero可按千分比、GOM按文本/库字段配置
DBC2000改完StdItems.DB,M2重新加载物品数据库;若引擎用自定义属性插件,防麻概率改M2特殊装备配置,不只在NPC发物品。
二、MerChant注册NPC
盟重3地图放防麻打造师,坐标330330,MerChant.txt加:
防麻打造师333033010005
Market_Def建文件:
Mir200\Envir\Market_Def\防麻打造师-3.txt
文件名“防麻打造师-3”的3必须和NPC地图号一致,否则不加载。
三、Hero基础菜单
[@main]
\\
防麻打造师\
用麻系碎片、金刚石、元宝打造防麻痹系列\
初级防麻戒指/中级/高级/终极防麻勋章\
\\
初级防麻@Make1\
中级防麻@Make2\
高级防麻@Make3\
终极防麻@Make4\
属性说明@Info\
[@Info]
IF
ACT
SENDMSG1初级防人物普通麻痹;中级加抗麻值;高级双防人物与部分怪物麻痹;终极按库字段设抗麻百分比。
Close
四、初级防麻戒指脚本
需求:麻系碎片5、金刚石2、元宝1000,成功率50%,失败返麻系碎片2、扣金刚石和元宝不返。
[@Make1]
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
Random2
ACTGive初级防麻戒指1
SENDMSG0[%s]打造初级防麻戒指成功!
Goto@main
ELSEACT
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
SENDMSG1初级防麻打造失败,材料已全扣!
Goto@main
ELSEACT
MESSAGEBOX需要麻系碎片5、金刚石2、元宝1000!
Random2即1/2成功。若要做成“先判定随机再扣材料”,把Take移到成功分支,失败不扣;上面写成先扣再随机,符合赌博打造。防重复拥有用CheckItemW检测已戴:
[@Make1]
IFCheckItemW初级防麻戒指1
ACTSENDMSG1已拥有初级防麻戒指,无需再打造!
Close
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
Random2
ACTGive初级防麻戒指1
SENDMSG0[%s]打造初级防麻戒指成功!
Goto@main
ELSEACT
MESSAGEBOX材料或元宝不足!
五、中级防麻戒指脚本
需求:初级防麻戒指1、麻系碎片10、金刚石5、元宝3000,成功率30%,失败返初级戒指、扣其他材料。
[@Make2]
IFCheckItemW中级防麻戒指1
ACTSENDMSG1已拥有中级防麻戒指!
Close
IFCheckItem初级防麻戒指1
CheckItem麻系碎片10
CheckItem金刚石5
CheckGameGold>2999
ACTTake初级防麻戒指1
Take麻系碎片10
Take金刚石5
GameGold-3000
Random10
IFRandom1
ACTGive中级防麻戒指1
SENDMSG0[%s]打造中级防麻戒指成功!
Goto@main
ELSEACT
ACTGive初级防麻戒指1
SENDMSG1中级打造失败,返还初级防麻戒指,其他材料已扣!
Goto@main
上面用Random10再Random1近似10%写法不规范,Hero直接Random3表示约33%,要30%可用随机区间脚本:先Random100,再判小于等于29成功。简化通版:
[@Make2]
IFCheckItemW中级防麻戒指1
ACTSENDMSG1已拥有中级防麻戒指!
Close
IFCheckItem初级防麻戒指1
CheckItem麻系碎片10
CheckItem金刚石5
CheckGameGold>2999
ACTTake初级防麻戒指1
Take麻系碎片10
Take金刚石5
GameGold-3000
Random3
ACTGive中级防麻戒指1
SENDMSG0[%s]打造中级防麻戒指成功!
Goto@main
ELSEACT
ACTGive初级防麻戒指1
SENDMSG1中级打造失败,返还初级防麻戒指,其他材料已扣!
Goto@main
Random3约33%,要更严谨用RandomRange或引擎百分随机;失败只返主材料、扣碎片金刚石元宝,避免无限重打造不亏。
六、高级防麻戒指脚本
需求:中级防麻戒指1、麻系精华3、金刚石10、元宝8000,成功率20%,失败返中级戒指。
[@Make3]
IFCheckItemW高级防麻戒指1
ACTSENDMSG1已拥有高级防麻戒指!
Close
IFCheckItem中级防麻戒指1
CheckItem麻系精华3
CheckItem金刚石10
CheckGameGold>7999
ACTTake中级防麻戒指1
Take麻系精华3
Take金刚石10
GameGold-8000
Random5
ACTGive高级防麻戒指1
SENDMSG0[%s]打造高级防麻戒指成功!
Goto@main
ELSEACT
ACTGive中级防麻戒指1
SENDMSG1高级打造失败,返还中级防麻戒指,精华金刚石元宝已扣!
Goto@main
Random5约20%。高级物品库同时挂139防麻、152麻痹防御;若引擎Reserved支持抗麻百分比,中级到高级分别写20%、40%、60%,怪物麻抗单独字段写,避免“防麻”被理解成免所有怪麻。Hero抗麻可用扩展字段,GOM按M2特殊装备/文本,Legend按库字段。
七、终极防麻勋章脚本
需求:高级防麻戒指1、防麻勋章碎片1、麻痹戒指1(作为材料融合)、金刚石20、元宝20000,成功率10%,失败返高级戒指和麻痹戒指。
[@Make4]
IFCheckItemW终极防麻勋章1
ACTSENDMSG1已拥有终极防麻勋章!
Close
IFCheckItem高级防麻戒指1
CheckItem防麻勋章碎片1
CheckItem麻痹戒指1
CheckItem金刚石20
CheckGameGold>19999
ACTTake高级防麻戒指1
Take防麻勋章碎片1
Take麻痹戒指1
Take金刚石20
GameGold-20000
Random10
ACTGive终极防麻勋章1
SENDMSG0[%s]打造终极防麻勋章成功,全系麻抗大幅提升!
Goto@main
ELSEACT
ACTGive高级防麻戒指1
Give麻痹戒指1
SENDMSG1终极打造失败,返还高级防麻戒指与麻痹戒指,其余已扣!
Goto@main
Random10约10%。终极勋章DB用139防麻+扩展AntiParalysis百分比;若要做“仅防人物、削弱怪物麻痹不免疫”,在QF受击脚本用CheckItemW判断并给短时抗麻状态,不靠纯DBShape。
八、仅防怪物麻痹的受击脚本
部分防麻装只想挡怪物不挡玩家,用QF。Hero/QF示例:
[@OnUnderAttack]
IFCheckItemW终极防麻勋章1
CheckMonster
Random2
ACTChangeModeEx143
SENDMSG6终极防麻勋章触发,短时免疫怪物麻痹!
ELSEACT
IFCheckItemW高级防麻戒指1
CheckMonster
Random5
ACTChangeModeEx142
SENDMSG6高级防麻触发,短时降低怪物麻痹。
CheckMonster判断攻击方为怪物,ChangeModeEx模式号按本引擎抗麻痹/免麻模式文档改;只对人形玩家麻痹不写CheckMonster即可。这样NPC打造只发物品,受击抗麻由QF动态控,避免DB静态139被玩家PK也完全免麻。
九、GOM/GEE替换
材料检测用CheckItem,元宝用CheckGameGold、扣用GameGold-数值;概率用Random或RandomNum,部分版本RandomNum1100再判区间。打造示例:
[@Make1]
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
RandomNum1100
IFRandomNum<=50
ACTGive初级防麻戒指1
SENDMSG0<%s>打造初级防麻戒指成功!
ELSEACT
SENDMSG1初级打造失败,材料已扣!
防重复用CheckItemW;受击防怪麻用QFOnUnderAttack+CheckMonster,模式命令按GOM文档。小地图/大面板不影响打造,这里不展开。
十、Legend替换
标签用[@MAIN]大写,条件CheckItem、CheckGameGold、GameGold-数值通用;随机用Random或本版Rand。已穿戴检测用CheckItemW,部分Legend用CheckEquip。示例:
[@MAIN]
\\
防麻打造\
初级到终极防麻系列\
\\
初级@MAKE1\
中级@MAKE2\
[@MAKE1]
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
Random2
ACTGive初级防麻戒指1
SENDMSG0<%s>打造初级防麻成功!
ELSEACT
MESSAGEBOX材料或元宝不足!
十一、Blue替换
BlueMarket用[@main],材料CheckItem、元宝按本服命令(CheckGameGold/CheckYuanBao/TakeMoney)替换;随机用Rand或Random。防重复用CheckItemW/CheckFlag按版本。示例:
[@main]
\\
防麻打造师\
麻系材料打造防麻装备\
\\
初级@mk1\
中级@mk2\
[@mk1]
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold1000
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
Random2
ACTGive初级防麻戒指1
SendMsg0<%s>初级防麻打造成功!
ELSEACT
SendMsg1材料或元宝不足!
Blue对变量作用域严格,NPC改完重读脚本,物品库改完重读StdItems。
十二、材料与掉落配套
麻系碎片:低中级防麻副本小怪掉,StdItems建名“麻系碎片”,Stdmode按材料填
麻系精华:高级本BOSS掉,可与麻系碎片分开计
防麻勋章碎片:只出终极合成,爆率写MonItems独立文件
金刚石:通用打造硬通货,可由挖矿/活动发
麻痹戒指:作终极融合材料,DB用Shape113
所有材料名和NPCCheckItem必须完全一致,带空格括号都一致;发奖Give名称和在DBName一致,否则出未知物品。
十三、成功率与保底设计
纯随机容易骂街,可做保底变量。Hero用个人D变量记录失败次数,连败N次后下一次必出:
[@Make3]
IFCheckItemW高级防麻戒指1
ACTSENDMSG1已拥有高级防麻戒指!
Close
IFCheckItem中级防麻戒指1
CheckItem麻系精华3
CheckItem金刚石10
CheckGameGold>7999
ACTTake中级防麻戒指1
Take麻系精华3
Take金刚石10
GameGold-8000
IncD101
IFEqualD105
ACTMovD100
Give高级防麻戒指1
SENDMSG0[%s]高级防麻保底成功!
Goto@main
IFRandom5
ACTMovD100
Give高级防麻戒指1
SENDMSG0[%s]打造高级防麻戒指成功!
Goto@main
ELSEACT
ACTGive中级防麻戒指1
SENDMSG1高级失败,累计保底次数+1,返还中级戒指!
Goto@main
D10跨重启会清,重要保底用H变量或落盘文件。GOM把D10换H10、Inc换IncH、Equal换EQUAL;Legend按本版个人变量;Blue按本版持久变量。
十四、防重复与防连点
已拥有检测用CheckItemW最省事;若允许多件打造卖元宝,去掉CheckItemW,只做每日次数。防连点用全局锁或个人标志,Hero示例:
[@Make1]
IFCheck[500]1
ACTSENDMSG1打造处理中,请1秒后再点!
Close
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTSet[500]1
Take麻系碎片5
Take金刚石2
GameGold-1000
Random2
ACTGive初级防麻戒指1
Set[500]0
SENDMSG0[%s]初级防麻成功!
Goto@main
ELSEACT
Set[500]0
MESSAGEBOX材料或元宝不足!
机器人或QF定时器复位[500],避免卡锁。多玩家并发用个人变量比全局[500]更合适,全局锁会让所有人排队。
十五、重载与排错
1.NPC不显示:查MerChant是否加行,Market_Def文件名是否“防麻打造师-3.txt”,3号地图NPC坐标可站立。
2.点打造无反应:查#IF命令拼写,#IF后只能跟检测不能跟Take/Give;#ACT执行、#SAY显示按引擎分开。
3.材料够了不还扣:CheckItem名称与DB不一致,麻系碎片多空格、全角数字都会判否。
4.成功率不对:Random2是1/2、Random5是1/5、Random10是1/10;要百分比用Random100再判区间,GOM用RandomNum。
5.发出来未知物品:Give名称不在StdItems,或DBName含不可见字符;重读物品库后再测。
6.防麻不生效:DB没写139/152,或M2特殊属性没开;139只防人物被攻击麻痹、不防怪物,需怪麻抗用扩展字段或QF。
7.只防怪不防人反了:QF受击加了CheckMonster就会只处理怪物;要都防去掉CheckMonster,要都只对人去掉CheckMonster并改判定来源。
8.保底不累计:D变量没初始化,登录段先MovD100;用H变量要在QManage声明。
9.失败全扣不符合预期:把Take放到成功分支,失败只提示不Take;当前示例初级全扣、中高级返主材,按经济改。
10.元宝命令不扣:Hero用GameGold-,GOM用GameGold-或TakeYuanBao,Blue用本服元宝命令;M2没开元宝系统会判检测失败。
十六、最小可运行Hero通版
Market_Def\防麻打造师-3.txt:
[@main]
\\
防麻打造师\
麻系碎片+金刚石+元宝打造防麻系列\
\\
初级@Make1\
中级@Make2\
高级@Make3\
终极@Make4\
[@Make1]
IFCheckItemW初级防麻戒指1
ACTSENDMSG1已拥有初级防麻戒指!
Close
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
Random2
ACTGive初级防麻戒指1
SENDMSG0[%s]打造初级防麻戒指成功!
Goto@main
ELSEACT
MESSAGEBOX需要麻系碎片5、金刚石2、元宝1000!
[@Make2]
IFCheckItemW中级防麻戒指1
ACTSENDMSG1已拥有中级防麻戒指!
Close
IFCheckItem初级防麻戒指1
CheckItem麻系碎片10
CheckItem金刚石5
CheckGameGold>2999
ACTTake初级防麻戒指1
Take麻系碎片10
Take金刚石5
GameGold-3000
Random3
ACTGive中级防麻戒指1
SENDMSG0[%s]打造中级防麻戒指成功!
Goto@main
ELSEACT
ACTGive初级防麻戒指1
SENDMSG1中级失败,返还初级防麻戒指,其余已扣!
Goto@main
[@Make3]
IFCheckItemW高级防麻戒指1
ACTSENDMSG1已拥有高级防麻戒指!
Close
IFCheckItem中级防麻戒指1
CheckItem麻系精华3
CheckItem金刚石10
CheckGameGold>7999
ACTTake中级防麻戒指1
Take麻系精华3
Take金刚石10
GameGold-8000
Random5
ACTGive高级防麻戒指1
SENDMSG0[%s]打造高级防麻戒指成功!
Goto@main
ELSEACT
ACTGive中级防麻戒指1
SENDMSG1高级失败,返还中级防麻戒指,其余已扣!
Goto@main
[@Make4]
IFCheckItemW终极防麻勋章1
ACTSENDMSG1已拥有终极防麻勋章!
Close
IFCheckItem高级防麻戒指1
CheckItem防麻勋章碎片1
CheckItem麻痹戒指1
CheckItem金刚石20
CheckGameGold>19999
ACTTake高级防麻戒指1
Take防麻勋章碎片1
Take麻痹戒指1
Take金刚石20
GameGold-20000
Random10
ACTGive终极防麻勋章1
SENDMSG0[%s]打造终极防麻勋章成功!
Goto@main
ELSEACT
ACTGive高级防麻戒指1
Give麻痹戒指1
SENDMSG1终极失败,返还高级防麻戒指与麻痹戒指,其余已扣!
Goto@main
StdItems里初级/中级/高级/终级分别设Shape或AniCount139,高级加152,终极加扩展抗麻百分比;QF按需要写CheckMonster只防怪、或全来源防人物麻。改材料数量、元宝、Random分母、保底变量后重读NPC和物品库,进3地图点防麻打造师逐级测试即可。
一、StdItems物品库防麻属性
戒指类Stdmode按本服数据库填,防麻痹用AniCount或Shape特殊码。通用参考:
113麻痹,物理攻击概率麻痹对方
139防麻,使被攻击方麻痹失效,不防怪物麻痹
152麻痹防御,部分扩展库作防麻痹类
150麻痹护身,151麻痹火球,部分引擎作复合麻系
做“防麻痹系列”建议分档:
初级防麻戒指:Shape/AniCount填139,耐久设高,Source/Reserved按本引擎抗麻字段补百分比
中级防麻戒指:139基础上加魔法防御、体力恢复,Reserved写抗麻值
高级防麻戒指:139+152双码,若引擎支持用Reserved分别写人物麻抗、怪物麻抗
终极防麻勋章:防人物麻痹+降低怪物麻痹时长,用扩展字段AntiParalysis,Hero可按千分比、GOM按文本/库字段配置
DBC2000改完StdItems.DB,M2重新加载物品数据库;若引擎用自定义属性插件,防麻概率改M2特殊装备配置,不只在NPC发物品。
二、MerChant注册NPC
盟重3地图放防麻打造师,坐标330330,MerChant.txt加:
防麻打造师333033010005
Market_Def建文件:
Mir200\Envir\Market_Def\防麻打造师-3.txt
文件名“防麻打造师-3”的3必须和NPC地图号一致,否则不加载。
三、Hero基础菜单
[@main]
\\
防麻打造师\
用麻系碎片、金刚石、元宝打造防麻痹系列\
初级防麻戒指/中级/高级/终极防麻勋章\
\\
初级防麻@Make1\
中级防麻@Make2\
高级防麻@Make3\
终极防麻@Make4\
属性说明@Info\
[@Info]
IF
ACT
SENDMSG1初级防人物普通麻痹;中级加抗麻值;高级双防人物与部分怪物麻痹;终极按库字段设抗麻百分比。
Close
四、初级防麻戒指脚本
需求:麻系碎片5、金刚石2、元宝1000,成功率50%,失败返麻系碎片2、扣金刚石和元宝不返。
[@Make1]
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
Random2
ACTGive初级防麻戒指1
SENDMSG0[%s]打造初级防麻戒指成功!
Goto@main
ELSEACT
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
SENDMSG1初级防麻打造失败,材料已全扣!
Goto@main
ELSEACT
MESSAGEBOX需要麻系碎片5、金刚石2、元宝1000!
Random2即1/2成功。若要做成“先判定随机再扣材料”,把Take移到成功分支,失败不扣;上面写成先扣再随机,符合赌博打造。防重复拥有用CheckItemW检测已戴:
[@Make1]
IFCheckItemW初级防麻戒指1
ACTSENDMSG1已拥有初级防麻戒指,无需再打造!
Close
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
Random2
ACTGive初级防麻戒指1
SENDMSG0[%s]打造初级防麻戒指成功!
Goto@main
ELSEACT
MESSAGEBOX材料或元宝不足!
五、中级防麻戒指脚本
需求:初级防麻戒指1、麻系碎片10、金刚石5、元宝3000,成功率30%,失败返初级戒指、扣其他材料。
[@Make2]
IFCheckItemW中级防麻戒指1
ACTSENDMSG1已拥有中级防麻戒指!
Close
IFCheckItem初级防麻戒指1
CheckItem麻系碎片10
CheckItem金刚石5
CheckGameGold>2999
ACTTake初级防麻戒指1
Take麻系碎片10
Take金刚石5
GameGold-3000
Random10
IFRandom1
ACTGive中级防麻戒指1
SENDMSG0[%s]打造中级防麻戒指成功!
Goto@main
ELSEACT
ACTGive初级防麻戒指1
SENDMSG1中级打造失败,返还初级防麻戒指,其他材料已扣!
Goto@main
上面用Random10再Random1近似10%写法不规范,Hero直接Random3表示约33%,要30%可用随机区间脚本:先Random100,再判小于等于29成功。简化通版:
[@Make2]
IFCheckItemW中级防麻戒指1
ACTSENDMSG1已拥有中级防麻戒指!
Close
IFCheckItem初级防麻戒指1
CheckItem麻系碎片10
CheckItem金刚石5
CheckGameGold>2999
ACTTake初级防麻戒指1
Take麻系碎片10
Take金刚石5
GameGold-3000
Random3
ACTGive中级防麻戒指1
SENDMSG0[%s]打造中级防麻戒指成功!
Goto@main
ELSEACT
ACTGive初级防麻戒指1
SENDMSG1中级打造失败,返还初级防麻戒指,其他材料已扣!
Goto@main
Random3约33%,要更严谨用RandomRange或引擎百分随机;失败只返主材料、扣碎片金刚石元宝,避免无限重打造不亏。
六、高级防麻戒指脚本
需求:中级防麻戒指1、麻系精华3、金刚石10、元宝8000,成功率20%,失败返中级戒指。
[@Make3]
IFCheckItemW高级防麻戒指1
ACTSENDMSG1已拥有高级防麻戒指!
Close
IFCheckItem中级防麻戒指1
CheckItem麻系精华3
CheckItem金刚石10
CheckGameGold>7999
ACTTake中级防麻戒指1
Take麻系精华3
Take金刚石10
GameGold-8000
Random5
ACTGive高级防麻戒指1
SENDMSG0[%s]打造高级防麻戒指成功!
Goto@main
ELSEACT
ACTGive中级防麻戒指1
SENDMSG1高级打造失败,返还中级防麻戒指,精华金刚石元宝已扣!
Goto@main
Random5约20%。高级物品库同时挂139防麻、152麻痹防御;若引擎Reserved支持抗麻百分比,中级到高级分别写20%、40%、60%,怪物麻抗单独字段写,避免“防麻”被理解成免所有怪麻。Hero抗麻可用扩展字段,GOM按M2特殊装备/文本,Legend按库字段。
七、终极防麻勋章脚本
需求:高级防麻戒指1、防麻勋章碎片1、麻痹戒指1(作为材料融合)、金刚石20、元宝20000,成功率10%,失败返高级戒指和麻痹戒指。
[@Make4]
IFCheckItemW终极防麻勋章1
ACTSENDMSG1已拥有终极防麻勋章!
Close
IFCheckItem高级防麻戒指1
CheckItem防麻勋章碎片1
CheckItem麻痹戒指1
CheckItem金刚石20
CheckGameGold>19999
ACTTake高级防麻戒指1
Take防麻勋章碎片1
Take麻痹戒指1
Take金刚石20
GameGold-20000
Random10
ACTGive终极防麻勋章1
SENDMSG0[%s]打造终极防麻勋章成功,全系麻抗大幅提升!
Goto@main
ELSEACT
ACTGive高级防麻戒指1
Give麻痹戒指1
SENDMSG1终极打造失败,返还高级防麻戒指与麻痹戒指,其余已扣!
Goto@main
Random10约10%。终极勋章DB用139防麻+扩展AntiParalysis百分比;若要做“仅防人物、削弱怪物麻痹不免疫”,在QF受击脚本用CheckItemW判断并给短时抗麻状态,不靠纯DBShape。
八、仅防怪物麻痹的受击脚本
部分防麻装只想挡怪物不挡玩家,用QF。Hero/QF示例:
[@OnUnderAttack]
IFCheckItemW终极防麻勋章1
CheckMonster
Random2
ACTChangeModeEx143
SENDMSG6终极防麻勋章触发,短时免疫怪物麻痹!
ELSEACT
IFCheckItemW高级防麻戒指1
CheckMonster
Random5
ACTChangeModeEx142
SENDMSG6高级防麻触发,短时降低怪物麻痹。
CheckMonster判断攻击方为怪物,ChangeModeEx模式号按本引擎抗麻痹/免麻模式文档改;只对人形玩家麻痹不写CheckMonster即可。这样NPC打造只发物品,受击抗麻由QF动态控,避免DB静态139被玩家PK也完全免麻。
九、GOM/GEE替换
材料检测用CheckItem,元宝用CheckGameGold、扣用GameGold-数值;概率用Random或RandomNum,部分版本RandomNum1100再判区间。打造示例:
[@Make1]
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
RandomNum1100
IFRandomNum<=50
ACTGive初级防麻戒指1
SENDMSG0<%s>打造初级防麻戒指成功!
ELSEACT
SENDMSG1初级打造失败,材料已扣!
防重复用CheckItemW;受击防怪麻用QFOnUnderAttack+CheckMonster,模式命令按GOM文档。小地图/大面板不影响打造,这里不展开。
十、Legend替换
标签用[@MAIN]大写,条件CheckItem、CheckGameGold、GameGold-数值通用;随机用Random或本版Rand。已穿戴检测用CheckItemW,部分Legend用CheckEquip。示例:
[@MAIN]
\\
防麻打造\
初级到终极防麻系列\
\\
初级@MAKE1\
中级@MAKE2\
[@MAKE1]
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
Random2
ACTGive初级防麻戒指1
SENDMSG0<%s>打造初级防麻成功!
ELSEACT
MESSAGEBOX材料或元宝不足!
十一、Blue替换
BlueMarket用[@main],材料CheckItem、元宝按本服命令(CheckGameGold/CheckYuanBao/TakeMoney)替换;随机用Rand或Random。防重复用CheckItemW/CheckFlag按版本。示例:
[@main]
\\
防麻打造师\
麻系材料打造防麻装备\
\\
初级@mk1\
中级@mk2\
[@mk1]
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold1000
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
Random2
ACTGive初级防麻戒指1
SendMsg0<%s>初级防麻打造成功!
ELSEACT
SendMsg1材料或元宝不足!
Blue对变量作用域严格,NPC改完重读脚本,物品库改完重读StdItems。
十二、材料与掉落配套
麻系碎片:低中级防麻副本小怪掉,StdItems建名“麻系碎片”,Stdmode按材料填
麻系精华:高级本BOSS掉,可与麻系碎片分开计
防麻勋章碎片:只出终极合成,爆率写MonItems独立文件
金刚石:通用打造硬通货,可由挖矿/活动发
麻痹戒指:作终极融合材料,DB用Shape113
所有材料名和NPCCheckItem必须完全一致,带空格括号都一致;发奖Give名称和在DBName一致,否则出未知物品。
十三、成功率与保底设计
纯随机容易骂街,可做保底变量。Hero用个人D变量记录失败次数,连败N次后下一次必出:
[@Make3]
IFCheckItemW高级防麻戒指1
ACTSENDMSG1已拥有高级防麻戒指!
Close
IFCheckItem中级防麻戒指1
CheckItem麻系精华3
CheckItem金刚石10
CheckGameGold>7999
ACTTake中级防麻戒指1
Take麻系精华3
Take金刚石10
GameGold-8000
IncD101
IFEqualD105
ACTMovD100
Give高级防麻戒指1
SENDMSG0[%s]高级防麻保底成功!
Goto@main
IFRandom5
ACTMovD100
Give高级防麻戒指1
SENDMSG0[%s]打造高级防麻戒指成功!
Goto@main
ELSEACT
ACTGive中级防麻戒指1
SENDMSG1高级失败,累计保底次数+1,返还中级戒指!
Goto@main
D10跨重启会清,重要保底用H变量或落盘文件。GOM把D10换H10、Inc换IncH、Equal换EQUAL;Legend按本版个人变量;Blue按本版持久变量。
十四、防重复与防连点
已拥有检测用CheckItemW最省事;若允许多件打造卖元宝,去掉CheckItemW,只做每日次数。防连点用全局锁或个人标志,Hero示例:
[@Make1]
IFCheck[500]1
ACTSENDMSG1打造处理中,请1秒后再点!
Close
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTSet[500]1
Take麻系碎片5
Take金刚石2
GameGold-1000
Random2
ACTGive初级防麻戒指1
Set[500]0
SENDMSG0[%s]初级防麻成功!
Goto@main
ELSEACT
Set[500]0
MESSAGEBOX材料或元宝不足!
机器人或QF定时器复位[500],避免卡锁。多玩家并发用个人变量比全局[500]更合适,全局锁会让所有人排队。
十五、重载与排错
1.NPC不显示:查MerChant是否加行,Market_Def文件名是否“防麻打造师-3.txt”,3号地图NPC坐标可站立。
2.点打造无反应:查#IF命令拼写,#IF后只能跟检测不能跟Take/Give;#ACT执行、#SAY显示按引擎分开。
3.材料够了不还扣:CheckItem名称与DB不一致,麻系碎片多空格、全角数字都会判否。
4.成功率不对:Random2是1/2、Random5是1/5、Random10是1/10;要百分比用Random100再判区间,GOM用RandomNum。
5.发出来未知物品:Give名称不在StdItems,或DBName含不可见字符;重读物品库后再测。
6.防麻不生效:DB没写139/152,或M2特殊属性没开;139只防人物被攻击麻痹、不防怪物,需怪麻抗用扩展字段或QF。
7.只防怪不防人反了:QF受击加了CheckMonster就会只处理怪物;要都防去掉CheckMonster,要都只对人去掉CheckMonster并改判定来源。
8.保底不累计:D变量没初始化,登录段先MovD100;用H变量要在QManage声明。
9.失败全扣不符合预期:把Take放到成功分支,失败只提示不Take;当前示例初级全扣、中高级返主材,按经济改。
10.元宝命令不扣:Hero用GameGold-,GOM用GameGold-或TakeYuanBao,Blue用本服元宝命令;M2没开元宝系统会判检测失败。
十六、最小可运行Hero通版
Market_Def\防麻打造师-3.txt:
[@main]
\\
防麻打造师\
麻系碎片+金刚石+元宝打造防麻系列\
\\
初级@Make1\
中级@Make2\
高级@Make3\
终极@Make4\
[@Make1]
IFCheckItemW初级防麻戒指1
ACTSENDMSG1已拥有初级防麻戒指!
Close
IFCheckItem麻系碎片5
CheckItem金刚石2
CheckGameGold>999
ACTTake麻系碎片5
Take金刚石2
GameGold-1000
Random2
ACTGive初级防麻戒指1
SENDMSG0[%s]打造初级防麻戒指成功!
Goto@main
ELSEACT
MESSAGEBOX需要麻系碎片5、金刚石2、元宝1000!
[@Make2]
IFCheckItemW中级防麻戒指1
ACTSENDMSG1已拥有中级防麻戒指!
Close
IFCheckItem初级防麻戒指1
CheckItem麻系碎片10
CheckItem金刚石5
CheckGameGold>2999
ACTTake初级防麻戒指1
Take麻系碎片10
Take金刚石5
GameGold-3000
Random3
ACTGive中级防麻戒指1
SENDMSG0[%s]打造中级防麻戒指成功!
Goto@main
ELSEACT
ACTGive初级防麻戒指1
SENDMSG1中级失败,返还初级防麻戒指,其余已扣!
Goto@main
[@Make3]
IFCheckItemW高级防麻戒指1
ACTSENDMSG1已拥有高级防麻戒指!
Close
IFCheckItem中级防麻戒指1
CheckItem麻系精华3
CheckItem金刚石10
CheckGameGold>7999
ACTTake中级防麻戒指1
Take麻系精华3
Take金刚石10
GameGold-8000
Random5
ACTGive高级防麻戒指1
SENDMSG0[%s]打造高级防麻戒指成功!
Goto@main
ELSEACT
ACTGive中级防麻戒指1
SENDMSG1高级失败,返还中级防麻戒指,其余已扣!
Goto@main
[@Make4]
IFCheckItemW终极防麻勋章1
ACTSENDMSG1已拥有终极防麻勋章!
Close
IFCheckItem高级防麻戒指1
CheckItem防麻勋章碎片1
CheckItem麻痹戒指1
CheckItem金刚石20
CheckGameGold>19999
ACTTake高级防麻戒指1
Take防麻勋章碎片1
Take麻痹戒指1
Take金刚石20
GameGold-20000
Random10
ACTGive终极防麻勋章1
SENDMSG0[%s]打造终极防麻勋章成功!
Goto@main
ELSEACT
ACTGive高级防麻戒指1
Give麻痹戒指1
SENDMSG1终极失败,返还高级防麻戒指与麻痹戒指,其余已扣!
Goto@main
StdItems里初级/中级/高级/终级分别设Shape或AniCount139,高级加152,终极加扩展抗麻百分比;QF按需要写CheckMonster只防怪、或全来源防人物麻。改材料数量、元宝、Random分母、保底变量后重读NPC和物品库,进3地图点防麻打造师逐级测试即可。

