LegendM2装备佩戴条件主要在物品数据库StdItems里用Need、NeedLevel、Level、Sex、Job等字段控制,复杂条件再配合QFunction穿戴触发脚本做二次拦截。改完必须重载物品数据库或重启M2,否则内存里还是旧规则。
一、物品数据库基础字段
StdItems按所使用LegendM2的数据格式打开,DBC用DBC2000/DBCommander,文本库用记事本或Notepad++按ANSI改。核心佩戴字段:
Name:装备名,脚本检测穿戴必须用同名,多一个空格会被当成不同物品。
StdMode:装备部位,武器、衣服、头盔、项链、手镯、戒指、勋章按引擎标准值填,部位错会导致戴不上去或戴错栏位。
Shape/Looks:外观索引,只影响显示,不影响佩戴判断,但外观库缺图会误以为装备异常。
Level/ReqLevel:最低等级要求,填35表示35级起可戴,不填或0通常无等级限制。
Sex:性别限制,0通用、1男、2女;男号戴Sex=2会失败,女号戴Sex=1会失败。
Job/职业字段:0通用、1战士、2法师、3道士,不同LegendM2字段名可能写成Job或单独职业列;设置战士专用就把对应字段锁战士,其他职业戴不上。
Weight:重量,角色负重不足会提示负重不够,高重量装备配合重盔类加负重的装备使用。
AC、MAC、DC、MC、SC:部分条件会要求达到对应攻防数值,单纯写属性值不会自动变佩戴门槛,需要用Need类型或脚本判定。
二、Need与NeedLevel组合条件
LegendM2的Need决定“按什么类型判条件”,NeedLevel决定“达到多少数值”。常用取值:
Need=0,NeedLevel=等级:达到指定等级可戴。例如Need=0、NeedLevel=40,40级起戴。
Need=1,NeedLevel=攻击值:攻击力达到指定值可戴,适合高攻武器、战戒。NeedLevel=100表示攻击至少100。
Need=2,NeedLevel=魔法值:魔法达到指定值可戴,法师专属杖、法链用。NeedLevel=80表示魔法至少80。
Need=3,NeedLevel=道术值:道术达到指定值可戴,道士专属用。NeedLevel=60表示道术至少60。
Need=4,NeedLevel=转生等级:指定转生级数可戴,例如Need=4、NeedLevel=10表示10转起戴。
Need=5,NeedLevel=声望:声望达到指定值可戴,用于称号类、特殊勋章。
Need=6:加入行会才可戴,NeedLevel可填0或按本端要求填行会相关数值。
Need=7:沙城成员可戴,沙巴克行会人员佩戴,非沙城行会戴不上。
Need=8:会员可戴,配合会员系统等级或标记使用。
Need=10,NeedLevel=等级:指定职业且达到等级,通常还要Job字段锁职业;例如战士专用40级装,Job设战士、Need=10、NeedLevel=40。
Need=11,NeedLevel=攻击:指定职业且达到攻击值。
Need=12,NeedLevel=魔法:指定职业且达到魔法值。
Need=13,NeedLevel=道术:指定职业且达到道术值。
Need=40,NeedLevel=等级:指定转生等级且达到普通等级,例如10转、165级,Need=40、NeedLevel=165,转生单独再设或用配套字段。
Need=41/42/43:转生加攻击/魔法/道术组合。
Need=44:转生加声望组合。
Need=60:行会掌门可戴。
Need=70:沙城城主可戴。
Need=81/82:会员类型及会员等级组合,按本端会员系统填类型号和等级。
示例,战士165级、10转才能戴的武器:Job锁战士,Need=40,NeedLevel=165,转生字段按LegendM2转生规则再设10;若引擎Need=40只管“转生+等级”,普通等级写NeedLevel,转生等级写单独转生列,不要都堆NeedLevel避免判错。
示例,法师仅限魔法80可戴项链:Job锁法师,Need=2,NeedLevel=80;若还要等级50,分开用Level=50加Need=2,不用Need=10,因为Need=10是按职业+等级不是按魔法。
示例,行会普通成员才能戴勋章:Need=6,NeedLevel=0;掌门专用写Need=60;沙城全体写Need=7;城主写Need=70。三者不要同时写,避免条件互斥永远戴不上。
三、性别职业同时限制
性别和职业可叠加:女法师装备,Sex=2,Job锁法师;男战士装备,Sex=1,Job锁战士。LegendM2若Job字段和Need=10都写职业,以数据库加载规则为准,避免重复冲突。一般做法是用Job或Need=10二选一,再配合Sex做性别,Level做等级,Need做攻击/转生/行会等附加门槛。
四、QFunction穿戴触发做二次条件
数据库字段覆盖不了的规则,用QFunction-0.txt的穿戴段拦截。LegendM2常见穿戴触发段名按本端写,例如[@TakeOn1]到武器、[@TakeOn2]衣服等,或统一[@TakeOn]配合位置参数;不能确定段名时查本端命令手册,不硬套其他引擎。
攻击不够自动脱下示例:
[@TakeOn1]
if
checkitemw破天狂刀1
checkdc<100
act
AutoTakeOffItem1破天狂刀
messagebox攻击不足100,无法佩戴破天狂刀
break
转生和等级双条件示例:
[@TakeOn1]
if
checkitemw十转战刃1
checkrelevel<10
act
AutoTakeOffItem1十转战刃
messagebox需要10转才能佩戴
break
[@TakeOn1]
if
checkitemw十转战刃1
checklevelex<165
act
AutoTakeOffItem1十转战刃
messagebox需要165级才能佩戴
break
行会、沙城、会员额外拦示例:
[@TakeOn6]
if
checkitemw沙城勋章1
checkguildnamelist沙巴克名单.txt
act
say
行会不符,自动脱下。
break
[@TakeOn6]
if
checkitemw会员勋章1
checkmembertype1
checkmemberlevel<2
act
AutoTakeOffItem6会员勋章
messagebox会员等级不足2级
break
AutoTakeOffItem、checkdc、checkrelevel、checkmembertype等命令名各LegendM2补丁可能不同;原端没有对应命令就改用数据库Need方案,或在穿戴段用通用check系列判断后不给属性、记录变量、提示补条件。
五、套装与多件联动条件
单纯佩戴每件独立判数据库;套装激活另写套装配置或QFunction。LegendM2若在M2界面有套装管理,按界面填部件ID、激活属性、职业限制、等级限制;脚本方式可用变量记录已穿部件:
[@TakeOn]
if
checkitemw雷霆战甲1
checkitemw雷霆项链1
checkitemw雷霆手镯1
checkitemw雷霆戒指1
act
set[HUMAN(雷霆套装)]1
sendmsg6雷霆套装已激活
break
[@TakeOff]
if
checkitemw雷霆战甲0
act
set[HUMAN(雷霆套装)]0
sendmsg6雷霆套装已关闭
break
套装门槛如果要求“战士、50级、三件全穿才给属性”,数据库给每件设Job和Level,QFunction只做部件计数和发属性,不要把等级职业再写两遍导致冲突。
六、禁止取下与绑定
部分装备要求戴上不能随便脱,用数据库Bind、IsTakeOff、TakeOffLevel一类字段控制。Bind=1拾取绑定、交易绑定按本端取值;IsTakeOff=0禁止取下、=1允许取下;TakeOffLevel设取下所需等级,填高会导致低等级脱不下来。若用脚本强制禁脱,在[@TakeOff]段用条件判断并重新穿戴或提示,不推荐和普通装备混用,容易让玩家卡栏位。
七、重载与排错
改StdItems后让规则生效:
M2菜单重新加载物品数据库,LegendM2多叫“查看/重新加载物品数据”或控制里重载;不确定就完全重启DBServer、M2、网关。
DBC改完先在DB工具点保存再关窗口,文本库保存ANSI,UTF-8带BOM老端会整库乱码。
客户端外观不对只改Looks/Shape和补丁,不回写数据库不会影响佩戴;戴不上优先查Need、NeedLevel、Job、Sex、Level。
脚本拦截不生效查QFunction-0.txt段名、物品名、命令名;M2有红字先按文件名行号修,红字在穿戴段就注释半段定位。
玩家戴不上按顺序查:等级Level是否够、Sex是否匹配、Job/Need=10职业是否匹配、Need类型数值是否达标、转生字段是否单独要求、行会/沙城/会员条件是否满足、QFunction是否有AutoTakeOffItem强制脱下、物品名是否与脚本完全一致、数据库是否重载。
多件同名单不同Idx、男女衣服两套、武器左右手不同StdMode,要逐行改,只改一件会导致另一性别或另一职业仍能戴。
跨职业仍戴上,查M2是否有“允许跨职业穿戴”类开关,LegendM2不同补丁名称不同;有则该开关关掉,再配合Job/Need=10。
Need=4转生但戴不上,确认转生系统已开、角色转生变量与物品库转生字段对齐;Need=40转生+等级时,普通等级写NeedLevel,转生级写单独转生列,不要把转生级也写NeedLevel否则判成等级几千。
会员装备戴不上,确认会员系统类型号与Need=8/81/82匹配,NeedLevel填会员等级或按本端留0;脚本再查checkmembertype、checkmemberlevel命令是否存在。
行会/沙城戴不上,确认角色已入会、行会名和数据库/脚本名单一致;沙城类确认沙巴克归属和沙城成员列表已刷新,攻城刚结束数据未回写可等一轮或重启M2。
八、按需求给配置组合
纯等级装:Level=35,Sex=0,Job=0,Need=0,NeedLevel=35。
战士高级武器:Job锁战士,Level=50,Need=1,NeedLevel=100,转生另加Need=4或Need=41。
法师高魔杖:Job锁法师,Level=45,Need=2,NeedLevel=80。
道士道术装:Job锁道士,Level=45,Need=3,NeedLevel=60。
转生+等级双门槛:Need=40,NeedLevel=165,单独转生字段=10;若本端不支持Need=40,用Need=4转生+Level=165两段分别限制,再用QFunction补拦。
行会专属:Need=6,NeedLevel=0;掌门Need=60;沙城普通Need=7;城主Need=70。
会员专属:Need=8普通会员,或Need=81/82按会员类型与等级;脚本用checkmember系列再拦。
属性不足自动脱:数据库只设基础等级职业,QFunction写checkdc/checkmc/checksc,不达标AutoTakeOffItem并MessageBox提示。
限时或活动装:数据库正常设等级职业,QFunction在[@TakeOn]记录时间变量,机器人或登录段到时间强制脱下并清属性,避免只靠描述不靠规则导致过期仍戴。
LegendM2佩戴条件优先用数据库Need、NeedLevel、Level、Sex、Job解决大部分需求;转生、声望、行会、沙城、会员按Need类型取值;攻击魔法道术门槛用Need=1/2/3或脚本二次校;跨职业仍异常再查M2跨职业开关和StdMode部位。每次只改一类条件并小号实测,先裸身戴、再低等级戴、再错职业戴、再低攻戴,能快速定位是数据库字段还是QFunction脚本拦截。
一、物品数据库基础字段
StdItems按所使用LegendM2的数据格式打开,DBC用DBC2000/DBCommander,文本库用记事本或Notepad++按ANSI改。核心佩戴字段:
Name:装备名,脚本检测穿戴必须用同名,多一个空格会被当成不同物品。
StdMode:装备部位,武器、衣服、头盔、项链、手镯、戒指、勋章按引擎标准值填,部位错会导致戴不上去或戴错栏位。
Shape/Looks:外观索引,只影响显示,不影响佩戴判断,但外观库缺图会误以为装备异常。
Level/ReqLevel:最低等级要求,填35表示35级起可戴,不填或0通常无等级限制。
Sex:性别限制,0通用、1男、2女;男号戴Sex=2会失败,女号戴Sex=1会失败。
Job/职业字段:0通用、1战士、2法师、3道士,不同LegendM2字段名可能写成Job或单独职业列;设置战士专用就把对应字段锁战士,其他职业戴不上。
Weight:重量,角色负重不足会提示负重不够,高重量装备配合重盔类加负重的装备使用。
AC、MAC、DC、MC、SC:部分条件会要求达到对应攻防数值,单纯写属性值不会自动变佩戴门槛,需要用Need类型或脚本判定。
二、Need与NeedLevel组合条件
LegendM2的Need决定“按什么类型判条件”,NeedLevel决定“达到多少数值”。常用取值:
Need=0,NeedLevel=等级:达到指定等级可戴。例如Need=0、NeedLevel=40,40级起戴。
Need=1,NeedLevel=攻击值:攻击力达到指定值可戴,适合高攻武器、战戒。NeedLevel=100表示攻击至少100。
Need=2,NeedLevel=魔法值:魔法达到指定值可戴,法师专属杖、法链用。NeedLevel=80表示魔法至少80。
Need=3,NeedLevel=道术值:道术达到指定值可戴,道士专属用。NeedLevel=60表示道术至少60。
Need=4,NeedLevel=转生等级:指定转生级数可戴,例如Need=4、NeedLevel=10表示10转起戴。
Need=5,NeedLevel=声望:声望达到指定值可戴,用于称号类、特殊勋章。
Need=6:加入行会才可戴,NeedLevel可填0或按本端要求填行会相关数值。
Need=7:沙城成员可戴,沙巴克行会人员佩戴,非沙城行会戴不上。
Need=8:会员可戴,配合会员系统等级或标记使用。
Need=10,NeedLevel=等级:指定职业且达到等级,通常还要Job字段锁职业;例如战士专用40级装,Job设战士、Need=10、NeedLevel=40。
Need=11,NeedLevel=攻击:指定职业且达到攻击值。
Need=12,NeedLevel=魔法:指定职业且达到魔法值。
Need=13,NeedLevel=道术:指定职业且达到道术值。
Need=40,NeedLevel=等级:指定转生等级且达到普通等级,例如10转、165级,Need=40、NeedLevel=165,转生单独再设或用配套字段。
Need=41/42/43:转生加攻击/魔法/道术组合。
Need=44:转生加声望组合。
Need=60:行会掌门可戴。
Need=70:沙城城主可戴。
Need=81/82:会员类型及会员等级组合,按本端会员系统填类型号和等级。
示例,战士165级、10转才能戴的武器:Job锁战士,Need=40,NeedLevel=165,转生字段按LegendM2转生规则再设10;若引擎Need=40只管“转生+等级”,普通等级写NeedLevel,转生等级写单独转生列,不要都堆NeedLevel避免判错。
示例,法师仅限魔法80可戴项链:Job锁法师,Need=2,NeedLevel=80;若还要等级50,分开用Level=50加Need=2,不用Need=10,因为Need=10是按职业+等级不是按魔法。
示例,行会普通成员才能戴勋章:Need=6,NeedLevel=0;掌门专用写Need=60;沙城全体写Need=7;城主写Need=70。三者不要同时写,避免条件互斥永远戴不上。
三、性别职业同时限制
性别和职业可叠加:女法师装备,Sex=2,Job锁法师;男战士装备,Sex=1,Job锁战士。LegendM2若Job字段和Need=10都写职业,以数据库加载规则为准,避免重复冲突。一般做法是用Job或Need=10二选一,再配合Sex做性别,Level做等级,Need做攻击/转生/行会等附加门槛。
四、QFunction穿戴触发做二次条件
数据库字段覆盖不了的规则,用QFunction-0.txt的穿戴段拦截。LegendM2常见穿戴触发段名按本端写,例如[@TakeOn1]到武器、[@TakeOn2]衣服等,或统一[@TakeOn]配合位置参数;不能确定段名时查本端命令手册,不硬套其他引擎。
攻击不够自动脱下示例:
[@TakeOn1]
if
checkitemw破天狂刀1
checkdc<100
act
AutoTakeOffItem1破天狂刀
messagebox攻击不足100,无法佩戴破天狂刀
break
转生和等级双条件示例:
[@TakeOn1]
if
checkitemw十转战刃1
checkrelevel<10
act
AutoTakeOffItem1十转战刃
messagebox需要10转才能佩戴
break
[@TakeOn1]
if
checkitemw十转战刃1
checklevelex<165
act
AutoTakeOffItem1十转战刃
messagebox需要165级才能佩戴
break
行会、沙城、会员额外拦示例:
[@TakeOn6]
if
checkitemw沙城勋章1
checkguildnamelist沙巴克名单.txt
act
say
行会不符,自动脱下。
break
[@TakeOn6]
if
checkitemw会员勋章1
checkmembertype1
checkmemberlevel<2
act
AutoTakeOffItem6会员勋章
messagebox会员等级不足2级
break
AutoTakeOffItem、checkdc、checkrelevel、checkmembertype等命令名各LegendM2补丁可能不同;原端没有对应命令就改用数据库Need方案,或在穿戴段用通用check系列判断后不给属性、记录变量、提示补条件。
五、套装与多件联动条件
单纯佩戴每件独立判数据库;套装激活另写套装配置或QFunction。LegendM2若在M2界面有套装管理,按界面填部件ID、激活属性、职业限制、等级限制;脚本方式可用变量记录已穿部件:
[@TakeOn]
if
checkitemw雷霆战甲1
checkitemw雷霆项链1
checkitemw雷霆手镯1
checkitemw雷霆戒指1
act
set[HUMAN(雷霆套装)]1
sendmsg6雷霆套装已激活
break
[@TakeOff]
if
checkitemw雷霆战甲0
act
set[HUMAN(雷霆套装)]0
sendmsg6雷霆套装已关闭
break
套装门槛如果要求“战士、50级、三件全穿才给属性”,数据库给每件设Job和Level,QFunction只做部件计数和发属性,不要把等级职业再写两遍导致冲突。
六、禁止取下与绑定
部分装备要求戴上不能随便脱,用数据库Bind、IsTakeOff、TakeOffLevel一类字段控制。Bind=1拾取绑定、交易绑定按本端取值;IsTakeOff=0禁止取下、=1允许取下;TakeOffLevel设取下所需等级,填高会导致低等级脱不下来。若用脚本强制禁脱,在[@TakeOff]段用条件判断并重新穿戴或提示,不推荐和普通装备混用,容易让玩家卡栏位。
七、重载与排错
改StdItems后让规则生效:
M2菜单重新加载物品数据库,LegendM2多叫“查看/重新加载物品数据”或控制里重载;不确定就完全重启DBServer、M2、网关。
DBC改完先在DB工具点保存再关窗口,文本库保存ANSI,UTF-8带BOM老端会整库乱码。
客户端外观不对只改Looks/Shape和补丁,不回写数据库不会影响佩戴;戴不上优先查Need、NeedLevel、Job、Sex、Level。
脚本拦截不生效查QFunction-0.txt段名、物品名、命令名;M2有红字先按文件名行号修,红字在穿戴段就注释半段定位。
玩家戴不上按顺序查:等级Level是否够、Sex是否匹配、Job/Need=10职业是否匹配、Need类型数值是否达标、转生字段是否单独要求、行会/沙城/会员条件是否满足、QFunction是否有AutoTakeOffItem强制脱下、物品名是否与脚本完全一致、数据库是否重载。
多件同名单不同Idx、男女衣服两套、武器左右手不同StdMode,要逐行改,只改一件会导致另一性别或另一职业仍能戴。
跨职业仍戴上,查M2是否有“允许跨职业穿戴”类开关,LegendM2不同补丁名称不同;有则该开关关掉,再配合Job/Need=10。
Need=4转生但戴不上,确认转生系统已开、角色转生变量与物品库转生字段对齐;Need=40转生+等级时,普通等级写NeedLevel,转生级写单独转生列,不要把转生级也写NeedLevel否则判成等级几千。
会员装备戴不上,确认会员系统类型号与Need=8/81/82匹配,NeedLevel填会员等级或按本端留0;脚本再查checkmembertype、checkmemberlevel命令是否存在。
行会/沙城戴不上,确认角色已入会、行会名和数据库/脚本名单一致;沙城类确认沙巴克归属和沙城成员列表已刷新,攻城刚结束数据未回写可等一轮或重启M2。
八、按需求给配置组合
纯等级装:Level=35,Sex=0,Job=0,Need=0,NeedLevel=35。
战士高级武器:Job锁战士,Level=50,Need=1,NeedLevel=100,转生另加Need=4或Need=41。
法师高魔杖:Job锁法师,Level=45,Need=2,NeedLevel=80。
道士道术装:Job锁道士,Level=45,Need=3,NeedLevel=60。
转生+等级双门槛:Need=40,NeedLevel=165,单独转生字段=10;若本端不支持Need=40,用Need=4转生+Level=165两段分别限制,再用QFunction补拦。
行会专属:Need=6,NeedLevel=0;掌门Need=60;沙城普通Need=7;城主Need=70。
会员专属:Need=8普通会员,或Need=81/82按会员类型与等级;脚本用checkmember系列再拦。
属性不足自动脱:数据库只设基础等级职业,QFunction写checkdc/checkmc/checksc,不达标AutoTakeOffItem并MessageBox提示。
限时或活动装:数据库正常设等级职业,QFunction在[@TakeOn]记录时间变量,机器人或登录段到时间强制脱下并清属性,避免只靠描述不靠规则导致过期仍戴。
LegendM2佩戴条件优先用数据库Need、NeedLevel、Level、Sex、Job解决大部分需求;转生、声望、行会、沙城、会员按Need类型取值;攻击魔法道术门槛用Need=1/2/3或脚本二次校;跨职业仍异常再查M2跨职业开关和StdMode部位。每次只改一类条件并小号实测,先裸身戴、再低等级戴、再错职业戴、再低攻戴,能快速定位是数据库字段还是QFunction脚本拦截。

