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

传奇防麻痹系列装备NPC打造完整脚本示例含初级中级高级终极材料元宝概率与StdItems防

热度:
防麻痹系列打造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地图点防麻打造师逐级测试即可。
[顶部]