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

