英雄技能书本质上就是一个StdMode指向对应技能ID的物品,英雄捡起使用后会自动识别并学习。分两种情况:已有英雄技能只是缺书,直接去数据库照抄原书刷给英雄;完全新增英雄技能则要同步建Magic记录和物品记录。下面按实操顺序来。
一、确认英雄技能在Magic.DB中已存在
英雄技能记录在Mir200\Share\Magic.DB(Hero引擎可能在DB\Magic.DB),用DBC2000打开。查找你要的英雄技能如"开天斩""四级烈火""四级冰咆哮""四级噬血术",确认MagID(技能编号)、MagName、Job(0战士1法师2道士)都存在。如果技能本身没有就要先在Magic.DB末尾追加一条——MagID不能重复,MagName填技能显示名,Job按英雄职业填,NeedL1填学习等级(如46),L1Train填修炼度。保存后重启M2让技能库加载。
二、在物品数据库StdItems.DB添加英雄技能书
打开Mir200\Envir\StdItems.DB(部分版本在DB文件夹),用DBC2000或引擎自带物品编辑器追加一条记录:
•Idx:取当前最大序号+1,别和已有物品重复。
-Name:技能书名,建议跟Magic.DB里MagName一致,如"开天斩(英雄技能书)"或直接用"开天斩",部分端英雄书要名字带"英雄"二字才认,可参照端里已有的英雄书命名方式。
•StdMode:填技能书类型,常规技能书填3或18(不同引擎有差异,参照端里原有技能书的StdMode值抄)。
-Shape:填该技能在Magic.DB中的MagID(最关键,决定这本书学哪个技能)。
•Weight:一般填1或5。
•Price:随便填,如1000。
•Need:通常填0(等级限制)或留空。
-NeedLevel:填学习所需等级,跟Magic.DB中NeedL1保持一致。
•AniCount/Look:填图标编号,可参照同类技能书抄。
保存StdItems.DB,M2控制台点"控制→重新加载→物品数据库"。
三、GM命令直接给英雄刷技能书
先确认你角色名已在AdminList.txt设为GM(前面问答讲过方法),进游戏带出英雄后:
•给主号背包刷英雄技能书让英雄捡:@make开天斩1或@give开天斩1(Name跟StdItems.DB完全一致)。
-英雄捡起书后右键使用,若英雄已达标会自动学会。部分版本英雄学主号技能书也能生效,但英雄专属技能必须Shape指向正确MagID。
•若想直接给英雄加技能不通过书(仅测试用):Hero/GOM引擎在M2控制台"查看→在线人物"选你英雄(通常在主号展开),点"添加技能"输入MagName如开天斩。
四、编写NPC脚本让英雄买/领技能书
在Mir200\Envir\Market_Def新建文件如HeroSkill.txt,同时在MapInfo.txt对应地图行后加NPC坐标。脚本示例:
[@main]
#SAY英雄技能导师\\\
<开天斩书/@buy1>\\\
<合击技能书/@buy2>
[@buy1]
#IF
#ACT
GIVE开天斩1
SENDMSG6已获得英雄开天斩技能书!
玩家领到书后给英雄使用即可。如果想做花钱买,把#ACT改成CHECKGOLD检测扣款再GIVE。
五、英雄自动学技能(免书方案,可选)
不想每次给书可在QManage.txt或英雄创建触发[@NewHero]里写脚本直接给英雄加技能:
[@NewHero]
#IF
CHECKJOB0
#ACT
H.ADDSKILL基本剑术
H.ADDSKILL攻杀剑术
H.ADDSKILL开天斩
#IF
CHECKJOB1
#ACT
H.ADDSKILL抗拒火环
H.ADDSKILL魔法盾
H.ADDSKILL四级冰咆哮
H.ADDSKILL是Hero/GOM对英雄操作的专用前缀,保存后重载QM脚本。
六、常见问题排查
•书刷出来英雄用了没反应:检查StdItems.DB里Shape是否等于Magic.DB中该技能的MagID;检查英雄等级是否达到NeedLevel;确认Magic.DB中Job字段匹配英雄职业。
-@make提示物品不存在:Name拼写错或StdItems.DB未重载,M2点重新加载物品数据库。
•英雄不显示技能栏:部分版本英雄35级以下不显示某些高级技能,升到要求等级再看;合击技能还需在M2→选项→参数设置→英雄设置里勾选允许合击。
-书图标显示问号:客户端Data\Items.wil缺少对应图标帧,换已有技能书图标或打补丁。
一、确认英雄技能在Magic.DB中已存在
英雄技能记录在Mir200\Share\Magic.DB(Hero引擎可能在DB\Magic.DB),用DBC2000打开。查找你要的英雄技能如"开天斩""四级烈火""四级冰咆哮""四级噬血术",确认MagID(技能编号)、MagName、Job(0战士1法师2道士)都存在。如果技能本身没有就要先在Magic.DB末尾追加一条——MagID不能重复,MagName填技能显示名,Job按英雄职业填,NeedL1填学习等级(如46),L1Train填修炼度。保存后重启M2让技能库加载。
二、在物品数据库StdItems.DB添加英雄技能书
打开Mir200\Envir\StdItems.DB(部分版本在DB文件夹),用DBC2000或引擎自带物品编辑器追加一条记录:
•Idx:取当前最大序号+1,别和已有物品重复。
-Name:技能书名,建议跟Magic.DB里MagName一致,如"开天斩(英雄技能书)"或直接用"开天斩",部分端英雄书要名字带"英雄"二字才认,可参照端里已有的英雄书命名方式。
•StdMode:填技能书类型,常规技能书填3或18(不同引擎有差异,参照端里原有技能书的StdMode值抄)。
-Shape:填该技能在Magic.DB中的MagID(最关键,决定这本书学哪个技能)。
•Weight:一般填1或5。
•Price:随便填,如1000。
•Need:通常填0(等级限制)或留空。
-NeedLevel:填学习所需等级,跟Magic.DB中NeedL1保持一致。
•AniCount/Look:填图标编号,可参照同类技能书抄。
保存StdItems.DB,M2控制台点"控制→重新加载→物品数据库"。
三、GM命令直接给英雄刷技能书
先确认你角色名已在AdminList.txt设为GM(前面问答讲过方法),进游戏带出英雄后:
•给主号背包刷英雄技能书让英雄捡:@make开天斩1或@give开天斩1(Name跟StdItems.DB完全一致)。
-英雄捡起书后右键使用,若英雄已达标会自动学会。部分版本英雄学主号技能书也能生效,但英雄专属技能必须Shape指向正确MagID。
•若想直接给英雄加技能不通过书(仅测试用):Hero/GOM引擎在M2控制台"查看→在线人物"选你英雄(通常在主号展开),点"添加技能"输入MagName如开天斩。
四、编写NPC脚本让英雄买/领技能书
在Mir200\Envir\Market_Def新建文件如HeroSkill.txt,同时在MapInfo.txt对应地图行后加NPC坐标。脚本示例:
[@main]
#SAY英雄技能导师\\\
<开天斩书/@buy1>\\\
<合击技能书/@buy2>
[@buy1]
#IF
#ACT
GIVE开天斩1
SENDMSG6已获得英雄开天斩技能书!
玩家领到书后给英雄使用即可。如果想做花钱买,把#ACT改成CHECKGOLD检测扣款再GIVE。
五、英雄自动学技能(免书方案,可选)
不想每次给书可在QManage.txt或英雄创建触发[@NewHero]里写脚本直接给英雄加技能:
[@NewHero]
#IF
CHECKJOB0
#ACT
H.ADDSKILL基本剑术
H.ADDSKILL攻杀剑术
H.ADDSKILL开天斩
#IF
CHECKJOB1
#ACT
H.ADDSKILL抗拒火环
H.ADDSKILL魔法盾
H.ADDSKILL四级冰咆哮
H.ADDSKILL是Hero/GOM对英雄操作的专用前缀,保存后重载QM脚本。
六、常见问题排查
•书刷出来英雄用了没反应:检查StdItems.DB里Shape是否等于Magic.DB中该技能的MagID;检查英雄等级是否达到NeedLevel;确认Magic.DB中Job字段匹配英雄职业。
-@make提示物品不存在:Name拼写错或StdItems.DB未重载,M2点重新加载物品数据库。
•英雄不显示技能栏:部分版本英雄35级以下不显示某些高级技能,升到要求等级再看;合击技能还需在M2→选项→参数设置→英雄设置里勾选允许合击。
-书图标显示问号:客户端Data\Items.wil缺少对应图标帧,换已有技能书图标或打补丁。

