找回密码
 立即注册
查看: 16269|回复: 0

打造你自己的D2 MapHack【转】

[复制链接]
发表于 2014-9-6 09:42:56 | 显示全部楼层 |阅读模式
      特别感谢:韬光晦影,乌柒麽黑,大懒猫等,本文中的很多内容来自他们的作品。
      本文适合想自己配制D2 MapHack而又不太明白里面的神秘代码的同学。
      D2home暗黑1.09战网:http://www.d2home.com

MapHack功能强大,但是配置也相对复杂。
很多人图省事,就直接采用了大懒猫,韬光晦影,乌柒麽黑等LR做的配置。

要配置MapHack,最好的教材就是自带的 Rademe.html

下面这段,说明了MapHack的相关文件组成。

========================Rademe.html==========================================
D2MAPHACK.EXE - Maphack dll loader, run this.
D2MAPHACK.DLL - Maphack dll.
D2MAPHACK.CFG - Configuration file (editable).
D2MAPHACK.VCB - Vocabulary file for configuration (editable).
README.HTML - This file.
SHRINES.TXT - List of shrine numbers.
BLOB*.BMP - Automap blob images (editable).
SHRINE*.BMP - Automap shrine images (editable).
MINISHRINE*.BMP - Automap minishrine images (editable).
=============================================================================

我们可以看到:
D2MAPHACK.EXE,是主运行程序,不过我们一般都同时用另一个著名的工具,Onlyer的免CD,我们不用关心它。
D2MAPHACK.DLL,这才是真正的工具,免CD程序会调用它,实际上D2MAPHACK.EXE也是调用它。我们不能对它做什么,除非你打算修改源代码^^。
D2MAPHACK.CFG,这个是配置文件,说明说了,我们可以编辑它,它是个文本程序,用任何文本编辑器都可以打开编辑
D2MAPHACK.VCB,这是个词汇表,因为程序只认识数字,而我们看数字代码太费劲,所以需要个翻译,可以编辑这个文件
BLOB*.BMP,小地图上的图像文件,我们也可以编辑它,也许,我们喜欢让怪物变成个笑脸^^。
其他的文件是定义神殿的,也可以修改,但是我觉得就没必要了,原来的挺漂亮。

接下来我们看看安装和默认键定义
========================Rademe.html==========================================
Installation :-

1. Extract all files from D2MAPHACK.ZIP to any folder (you only have to do this once).
2. Run Diablo II.
3. Alt+tab out of Diablo II.
4. Run D2MAPHACK.EXE.
5. Click on "Install/update".
6. Alt+tab back to Diablo II and play.

Default keys in game (on numpad) :-

"-" - Reveal automap for whole act.
"*" - Toggle full screen light radius, full infravision and sunny weather.
"/" - Toggle show monsters on automap.
"+" - Toggle show hidden items.
Scroll lock - Toggle virtual map scrolling.
Pause/Break - Center virtual map.
=============================================================================

跟着是上面内容的翻译和补充,来自韬光晦影。

一般用户安装步骤:

1. 把压缩包里的所有文件展开到任意一个文件夹;
2. 运行Diablo II,启动游戏;
3. 用Alt+tab切换到桌面;
4. 运行D2MAPHACK.EXE;
5. 按下"Install/update";
6. 再用Alt+tab切换回游戏即可。

D2LOADER用户安装步骤:

1. 把压缩包里的所有文件展开到D2LOADER附属的PLUGIN文件夹里(这个文件夹一般在游戏所在文件夹里);
2. 直接启动游戏,D2LOADER将自动加载MAPHACK。

默认的功能键:

"-" - 获取当前act的地图;
"*" - 光线开关;
"/" - 是否在地图上显示怪兽的开关;
"+" - 物品隐藏开关(默认隐藏GOLD);
Scroll lock - 地图卷动开关;
Pause/Break - 地图置中开关。


跳过FAQ段,我们来到实质性的配置说明看看

========================Rademe.html==========================================
CONFIGURATION
Basic variable format :-

Variable Name[1st array indexes][2nd array indexes][etc]: values

Notes :-

Any part of line can be replaced with an appropriate "word" from D2MAPHACK.VCB (vocabulary file).
Variables have 0 to 3 array dimensions, omiting an array is same as specifying 1+ (all).
Array indexes = a comma seperated list of either a single number, a range seperated by a dash or a number followed by a plus (to limit of array).
Values = a comma seperated list of 1 to 2 numbers (hex or decimal) or strings, missing values are unchanged.
Variables can be used more than once, with the last overiding (if array indexes permit).
=============================================================================

这段是说变量如何定义。
变量的格式是:

变量名[第一维][第二维][其他]:值

注释说,每一部分都可以用一个适当的“词”替换,来源就是D2MAPHACK.VCB。
变量是0-3维的,如果省略了,相当于此维为 1+ 或者是 all
维索引是单一数列表,一个范围,或者是一个数字跟着个"+"。
值是逗号分割的1到2个数(10进制或16进制),或者是个字符串。缺少的值就是不变的。
变量在配置中可以多次出现,最后定义的会覆盖前面的定义中索引范围重合的部分。

呵呵,有点专业,可能对于学过编译原理的人很容易。
还是举几个例子吧,这样就不抽象了。

========================D2MapHack.CFG========================================
Reveal Act Automap Key:                VK_SUBTRACT                // 获取整个ACT地图 "-"
=============================================================================

这行定义了展开地图的键
Reveal Act Automap Key 就是变量名
VK_SUBTRACT就是值,它的定义在D2MAPHACK.VCB中定义如下:

========================D2MapHack.VCB========================================
VK_SUBTRACT: 0x6D
=============================================================================
这是最简单的一种形式。
后面是注释,学过C++的LR一定感觉非常亲切

========================D2MapHack.CFG========================================
Game Time Toggle:                1, -1                        // 游戏时间显示 开
=============================================================================

这行复杂一些,有两个值
定义游戏时间显示,开,没有开关的键。

再看几个复杂的定义
========================D2MapHack.CFG========================================
Item Colours[1+][1-4,6]:        -1,-2
Item Colours[Act2_Pet_Weapons][2,3][ETHEREAL][3,5,6]:                4,0xa4
Item Colours[2014,2017,2018,2024-2035,2037-2048,2137-2139][2]:  4,0x1f      // 金色显示特殊过关物品和任务物品 ;
=============================================================================

第一行定义了所有的除了set和unique的物品地面不显示,地图不显示。
有人说了,我想捡superior eth war pike,不显示怎么行?
别紧张,后面的定义会覆盖前面的。

第二行定义了对act2的pet来说非常有价值的Normal和Superior eth武器,并且要有3/5/6孔,文字金色显示,地图上高量浅蓝色显示。适用于4.7g+
第三行定义了全部的过关和任务物品显示方法,地面上用暗金显示,地图上浅棕色(也许是吧,不好形容)

对于第二行,我使用了一个技巧,使得定义很简单,就是利用D2MapHack.VCB。
========================D2MapHack.VCB========================================
* Pet Weapons*
Elite_Polearm: Ogre Axe-Giant Thresher                        // Elite_Polearm
Elite_Spears: Hyperion Spear-War Pike                        // Elite_Spear
Act2_Pet_Weapons: Elite_Polearm,Elite_Spears
=============================================================================

大家自己看看,不难吧,自己可以修改这些定义的,也许你不喜欢pet用Ogre Axe,那么改掉它。


我们接着往下学习变量说明,这里我直接用D2MapHack.CFG来说明,次序与Readme.html一致。
为了方便,下面的内容中的说明文字都加了注释前导,可以直接拷贝到D2MapHack.CFG中。

// 首先定义一些键,格式为:      名字:键代码

Reveal Act Automap Key:                VK_SUBTRACT                // 获取整个ACT地图 "-"
Reveal Level Automap Key:        -1                        // 获取一层的地图
Center Map Scroll Key:                VK_PAUSE                // 卷动置中 "Pause/Break"
Quick Exit Game Key:                -1                        // 快速退出,没有使用
View Inventory Key:                VK_K                        // 按K键偷窥别人的装备


// 接下来是开关键,格式都是: 开关名:默认值,键代码,1表示开,0表示关。具体开关含义见注释,有些我也不很理解。

Full Visuals Toggle:                1, VK_MULTIPLY                // 光线开关 "*"
// Weather Toggle:                1, VK_MULTIPLY                // 4.7D新增天气,热键开关 "*",未启用
// Infravision Toggle:                1, VK_MULTIPLY                // 4.7D新增透视,热键开关 "*",未启用
// Light Radius Toggle:                1, VK_MULTIPLY                // 4.7D新增可视度,热键开关 "*",未启用
// Screen Shake Toggle:                1, VK_MULTIPLY                // 4.7D新增屏幕抖动,热键开关 "*",未启用
// Corpses Toggle:                1, VK_MULTIPLY                // 4.7D新增尸体的显示,热键开关 "*",未启用
Automap Monsters Toggle:         1, VK_DIVIDE                // 怪物小地图显示,热键开关 "/"
Automap Level Names Toggle:         1,-1                        // 洞穴的层数标示,,默认为打开,未设置热键
Automap Chests Toggle:                1, VK_DIVIDE                // 箱子开关 "/"
Automap Items Toggle:                1, VK_DIVIDE                // 地图物品隐藏开关 "/"
Automap Missiles Toggle:        1, VK_DIVIDE                // 地图上显示敌人的发射物攻击(向导箭、骨精灵等) "/",形状后面可以定义
Automap Active Rooms Toggle:        0, -1                        // 4.6c新增功能,地图上活动房间的开关,默认为关闭,未设置热键

Hidden Items Toggle:                0, VK_ADD                // 地面物品隐藏开关 "+",默认隐藏

Scroll Map Toggle:                 0, VK_SCROLL                // 区域卷动锁定中心,默认为关,热键开关Scroll Lock
Automap Screen Area Toggle:        0, VK_SCROLL                // 4.7D新增功能,当前实际可见区域标识颜色,热键开关Scroll Lock,默认为关

Monster TC Toggle:                 1, -1                        // TC财宝阶层显示,默认为打开,未设置热键
Monster Levels Toggle:                1, -1                        // 4.7D新增功能,怪物等级显示,注意和TC财宝阶层显示不同,默认为打开,未设置热键

Perm Show Items Toggle:                0, -1                        // Alt键锁定。默认为关,未设置热键,4.7g恢复此功能,锁定时无法翻箱子,点中npc,wp。
Game Time Toggle:                1, -1                        // 4.7c新增功能,进入游戏时间显示,默认为打开,未设置热键
Drop Protect Toggle:                1, -1                        // 4.7c新增功能,ITEM DROP Hack保护,默认为打开,未设置热键
Input Line Toggle:                1, -1                        // 4.7c新增功能,可以在GAME内(不是频道内)ctrl+a,ctrl+c,ctrl+v,复制拈贴文字,默认为打开,未设置热键
Perm Show Orbs Toggle           1, -1                        // 4.7g新增功能,显示life,mana数字,默认打开,未设置热键
Out Town Select Toggle:                1, -1                        // 4.7D新增功能,城外选择功能。默认为打开,未设置热键,不理解

Mini Shrines Toggle:                 1, -1                        // 小地图上显示祭坛位置,默认为打开,未设置热键

Diagonal Scroll Toggle:         1, -1                        // 斜向卷轴开关

Chicken Life Toggle:                1, -1                        // PVC时血过低自动退出开关,默认为打开,未设置热键
Chicken Hostile Toggle:                1, -1                        // 其他玩家敌对自动退出开关,默认为打开,未设置热键
Chicken Hostile Nearby Toggle:        1, -1                        // 敌对玩家接近则自动退出开关,默认为打开,未设置热键

Socket Protect Toggle:                0, -1                        // SOCKET保护,防止不小心把DD镶到不应该镶的地方,默认为不保护。
Rune Numbers Toggle:                 1, -1                        // RUNE编号显示,默认为打开,未设置热键
Socket Numbers Toggle:                 1, -1                        // 孔数显示,默认为打开,未设置热键
Item Levels Toggle:                1, -1                        // 4.7c新增功能,ilvl物品等级显示,默认为开,未设置热键
Item Unitids Toggle:                0, -1                        // 4.7c新增功能,物品ID编码显示,默认为关闭,未设置热键

// 定义小地图中其他玩家默认状态,名字和同盟显示

Automap Party Default:                1
Automap Names Default:                1

Hidden Items Level                0                        // 4.7g新增配置。数值含义为ilvl。配合地图色-3,可以屏蔽此级别以下的物品显示,用处不大。
// 一些全局颜色定义
Level Name Colour:                White                        // 难度名显示,白色
Quest Item Colour:                -1                        // 任务物品颜色,我们会用其他方式定义
Monster Desc Colour:                Red                        // 怪物颜色,红

//
Staff Tomb Level Desc:                "%2*"                        // ACT2 TOMB的标示,真正的古墓位置,绿色星号

// 特殊属性怪物的显示的如下(很多定义来自韬光晦影,很多说明来自乌柒麽黑):
// 其中的1-9、a-c表示颜色代码,分别是0-White;1-Red; 2-Set Green; 3-Blue; 4-Unique; 5-Eth; 6-Black; 7- Yellow; 8-Craft; 9-Rare; a-Green; b-pupler; c-Green“(颜色代码说明参照大懒猫版本)

Extra Strong Desc:                "S"                        // 特别强壮。怪物最小和最大伤害度各×3,命中率+25%
Extra Fast Desc:                "F"                        // 特别快速;Unique and Minions 怪物获得移动速度上升,Unique 怪物攻击频率×2
Cursed Desc:                        "%2C"                        // 特别诅咒;如果被拥有这个能力的怪物击中,有50%的概率会中Amplify Damage(傷害加深)诅咒,而这个诅咒的级别为怪物级别的1/4
Magic Resistant Desc:                "%8m"                        // 魔法抵抗;火系,雷系,冷系的魔防+40%
Fire Enchanted Desc:                "%1f"                        // 火焰增强;怪物增加火系攻击,其伤害度等同于物理攻击伤害度,命中率×2,火系魔防+75%。怪物死亡时,尸体会爆炸,其伤害度为怪物生命的75%~100%,伤害属性和男巫的corpse explosion一样一半为物理伤害,一半为火系伤害,范围为4 yards
Lightning Enchanted Desc:        "%9L"                        // 闪电强化;怪物增加闪电攻击,其伤害度等同于物理攻击伤害度,命中率×2,雷系魔防+75%。怪物受到攻击时,会放出Charged Bolt,该魔法级别与怪物级别相同(大家知道为什么会死了吧……)
Cold Enchanted Desc:                "%3c"                        // 冰冻增强;拥有这个能力的怪物获得以下能力:增加冷系攻击,其伤害度等同于物理攻击伤害度,冷冻时间+20秒,命中率×2,冷系魔防+75%。怪物死亡时,会放出一个Frost Nova(冰环)魔法,该魔法级别和怪物级别相同(LV7X的冰环,怕了吧)
Thief Desc:                               0                        // 偷取,命中目标时使目标腰带上的瓶子落下,这个没什么可怕的
Mana Burn Desc:                        "M"                        // 法力燃烧;拥有这个能力的怪物获得以下能力:击中目标时减少目标的Mana,减少量为其伤害度的4倍,命中率×2,对无属性魔法(骨系,光系等)抵抗+75%
Teleportation Desc:                "T"                        // 传送;当拥有该能力的怪物生命低于33%或远程攻击的怪物被近身时,会使用Teleport(瞬间移动)魔法传送到附件的任何地方。如果怪物的生命低于33%,那么在每次瞬间移动时回复25%的生命。(1.09中大大减弱了怪物在瞬间移动时回复生命的能力)
Spectral Hit Desc:                "h"                        // 特别一击。拥有这个能力的怪物获得以下能力:火系,雷系,冷系的魔防+20%,命中率×2,随机使用火、雷、冷、毒属性攻击,其伤害度等同于物理攻击伤害度
Stone Skin Desc:                "%4k"                        // 石头皮肤;拥有这个能力的怪物获得以下能力:物理抵抗(DR)80%,防御力×3
Multiple Shots Desc:                "w"                        // 多重射击;能同时发射2个以上(通常是3~4个)的同类飞行道具
Ghostly Desc:                        0                        // 幽灵的;速度减半,20%的冰冻伤害,50%物免(HELL 通常就是100%了)
Fanatic Desc:                        "%bF"                        // 狂热的;速度+100%,-70% To Attack Rating
Possessed Desc:                        0                        // 着魔的、疯狂的;生命x12(怀疑官方资料有误,可能是x1.2),无法被诅咒
Berserker Desc:                        "%3B"                        // 伤害x4,命中率ARx4,生命x1.5


// Auras Enhanted:光环附着
Might Aura Desc:                "%3a"                        // 力量光环,其技能级别为怪物级别的1/4
Holy Fire Aura Desc:                "%1a"                        // 圣火光环,其技能级别为怪物级别的l/2
Blessed Aim Aura Desc:                "%0a"                        // 瞄准光环,其技能级别与怪物级别相同
Holy Freeze Aura Desc:                "%3a"                        // 圣冰光环,其技能级别为怪物级别的l/2
Holy Shock Aura Desc:                "%9a"                        // 圣光,其技能级别为怪物级别的l/2
Conviction Aura Desc:                "%11a"                        // 审判光环,其技能级别为怪物级别的1/4,如果配合闪电增强+多重攻击,哼哼~~~~
Fanaticism Aura Desc:                "%5a"                        // 狂热光环,其技能级别为怪物级别的1/4

// 这段似乎所有人配置都差不多^^
// Immunities:免疫属性
Physical Immunity Desc:                "%4i"                        // 物理免疫
Magic Immunity Desc:                "%8i"                        // 魔法免疫
Fire Immunity Desc:                "%1i"                        // 火免疫
Lightning Immunity Desc:        "%9i"                        // 电免疫
Cold Immunity Desc:                "%3i"                        // 冰免疫
Poison Immunity Desc:                "%2i"                        // 毒免疫

// 一些数字定义
Map Scroll Speed:                16                        // 小地图卷动速度设定
Life Bar Transparency:                 2                        // Life Bar透明度设定

// 一些关于如何保命的数字定义
Chicken Life:                        0                        // 0表示不检查Life值,PVC时到死也不退出。如果设置了数字如400,则PVC时低于400点Life值,自动退出。检测次序是优先检测PVC Life设置,其后检测Hostile Life,再次检测Hostile Nearby Life
Chicken Hostile Life:                0                        // 0表示不检查Life值,Hostile到死也不退出。如果你希望无论何时,只要一有玩家敌对就立即退出,那么就Life值设为譬如10000,那么自然一有玩家敌对就立即退出,当然如果在城内还是不会自动退出的。如果PVC Life设置高于Hostile Life设置值,譬如500,那么你一出城和敌对玩家厮杀,只要Life低于500就退出,而不会到400才退
Chicken Hostile Nearby Life:        0                        // 0表示不检查Life值,Hostile到死也不退出。如果设置了数字如400,则敌对玩家接近时低于400点Life值,自动退出,如果PVC Life或Hostile Life设置值高于Hostile Nearby Life,譬如450,如果有敌对时,只要Life低于450就退出,而不会到敌对玩家接近才退

// 可以配合这几个开关
// Chicken Life Toggle:                1, -1                        // PVC时血过低自动退出开关,默认为打开,未设置热键
// Chicken Hostile Toggle:        1, -1                        // 其他玩家敌对自动退出开关,默认为打开,未设置热键
// Chicken Hostile Nearby Toggle:1, -1                        // 敌对玩家接近则自动退出开关,默认为打开,未设置热键

Good Gold Number:                3000                        // 太少的钱可以不显示,这是显示下限,免得人家扔满地钱造成lag

Life Bar Colour:                0x08                        // Life Bar 颜色定义,颜色由调色板定义

// 地图上各种图标显示。这里是我们DIY的一个好地方,可以自己定义bmp文件。用画笔就可以,2色文件。
Player Blob File:                "blobdiamond"                // 游戏者,方块
Monster Blob File:                "blobcross1"                // 怪物,十字
Object Blob File:                "blobcircle"                // 箱子等,圆环
Missile Blob File:                "blobdot"                // 发射物,点
Item Blob File:                        "blobsanjiao"                // 物品,三角。此处是我的配置不同于其他人的地方,自定义了一个bmp文件

// 接下来是一些地图上的颜色定义
Automap Active Rooms Color:        0x19                        // 地图上活动房间的颜色,我不太理解什么叫活动房间
Automap Screen Area Colour:        0x19                        // 在说明中不存在,但是原版的示例中有

Closed Chest Colour:                0x09                        // 箱子颜色
Locked Chest Colour:                0x0e                        // 带锁箱子的颜色

Hostile Missile Colour:                0x62                        // 敌人发射物的颜色
Guided Missile Colour:                0x5b                        // 制导型发射物的颜色
Tracer Missile Colour:                0x97                        // 跟踪型发射物的颜色(这和制导型有什么不同?)
Other Missile Colour:                0x20                        // 其他发射物颜色

// 这里提前定义一些全局变量,不能放后面,会覆盖后面的定义
Monster Colours[?]:                ?
Monster Death Anims[?]:                ?


// 玩家和怪物颜色,定义跟韬光晦影一样
Neutral Player Colour:                0x79                        // 一般玩家的颜色 暗绿
Hostile Player Colour:                0x5b                        // 敌对玩家的颜色 颜色棕红
Normal Monster Colour:                0x62                        // 一般怪兽的颜色 红
Boss Monster Colour:                0x48                        // 金怪的颜色 暗红
Minion Monster Colour:                0x1e                        // 金怪周围的小弟MINOR的颜色 白
Champion Monster Colour:        0x6d                        // 蓝怪的颜色 黄
Act5 Barbarian Colour:                0x9f                        // ACT5 BAR的颜色 暗绿

// 下面是一些其他版本的定义
// 乌柒麽黑版怪物的颜色设定(版本名称前的"//"可不要去除了哦)
// Normal Monster Colour: 80        //普通怪物以大红色显示
// Boss Monster Colour: 75        //boss级怪物以紫色显示
// Minion Monster Colour: 97        //Minion级以土黄色显示
// Champion Monster Colour: 77        //Champion级以唇红色显示
// Act5 Barbarian Colour: 121        //ACT5 3 古代人以紫红色显示
// Neutral Player Colour: 223        //中立玩家以白色显示
// Hostile Player Colour: 10        //敌对玩家以红色显示

// 原版Maphack4.7d怪物的颜色设定(版本名称前的"//"可不要去除了哦)
// Normal Monster Colour:        0x62
// Boss Monster Colour:        0x5b
// Minion Monster Colour:        0x5b
// Champion Monster Colour:        0x5b
// Act5 Barbarian Colour:        0xcb
// Neutral Player Colour:        0x62
// Hostile Player Colour:        0x5b

// 韬光晦影版怪物的颜色设定(版本名称前的"//"可不要去除了哦)
// Neutral Player Colour:                0x79        // 一般玩家的颜色 暗绿
// Hostile Player Colour:                0x5b        // 敌对玩家的颜色 颜色忘了
// Normal Monster Colour:                0x62        // 一般怪兽的颜色 红
// Boss Monster Colour:                        0x48        // 金怪的颜色 暗红
// Minion Monster Colour:                0x1e        // 金怪周围的小弟MINOR的颜色 白
// Champion Monster Colour:                0x6d        // 蓝怪的颜色 黄
// Act5 Barbarian Colour:                0x9f        // ACT5 BAR的颜色 暗绿

// 大懒猫版怪物的颜色设定(版本名称前的"//"可不要去除了哦)
// Normal Monster Colour:        0x45
// Boss Monster Colour:                0x5b
// Minion Monster Colour:        0x45
// Champion Monster Colour:        0x5b
// Act5 Barbarian Colour:        0xcb
// Neutral Player Colour:        0x79
// Hostile Player Colour:        0x5b


// 有关发射物的一些定义,-1 在地图上隐藏,-2 显示
// 这里纠正普遍流行的几个版本中文注释错误, 对于发射物来说,-2 是地图上显示!!
// 原文注释:
// (missiles) -1 hide on automap, -2 show tracer/hostile/guided on automap

Missile Colours[All Arrows]:        -2                        // 4.7c新增功能,地图上显示发射物(-1不显示)
//Missile Colours[Firewall, FireSmall, FireMedium]: -2        // 地图上显示FIREWALL等(-1不显示)
//Missile Colours[FrozenOrbBolt, FrozenOrbNova]: -2        // 地图上显示ORB(-1不显示)

Missile Corpses[Vine Beast Death]: 0                        // 地图上显示临死发射的怪物(比如ACT2地洞里的甲虫)的颜色(0正常显示)

// 接下来是一些物品颜色,地面,地图显示定义,我们先跳过去

// 特别的怪物颜色定义 [] 里面直接可以写怪物名,或者是代码。代码可以在D2MapHack.VCB中查找
// 下面这行要提前
// Monster Colours[?]:                         -1                // 默认颜色显示怪物

// 防PK,一些陷阱,刺客的和女巫的火龙
Monster Colours[411]: 0x20                                // Wake of Fire
Monster Colours[413]: 0x20                                // lighting Sentry
Monster Colours[416]: 0x20                                // Inferno  Sentry
Monster Colours[248]: 0x20                                // Hydra



Monster Corpses[Wake of Fire-Death Sentry]: 0
Monster Death Anims[?]:                ?                        // 怪物临死的动画? 0 为关
Monster Death Anims[Shenk]:        0
Monster Corpses[Wake of Fire-Death Sentry]: 0

//原版中的一些例子
//Examples :-
//Monster Colours[?]:                -1 //show monster in default colour
//Monster Colours[?]:                -2 //dont show monster on automap
//Monster Colours[Undead Stygian Doll]: 0x20 //show undead stygiandoll's white on automap
//Monster Colours[Wake of Fire-Death Sentry]: 0x20 //show traps on automap
//Monster Death Anims[1+]:        0 //dont show any monster death anims
//Monster Death Anims[Andariel]: 0 //dont show andariel death anim


//回到物品颜色定义
Rare Item Colour:        -1
Unique Item Colour:        -1
Good Gold Colour:        0                                //大量金钱,白色               
Poor Gold Colour:        -1,-2                                //少量的钱,不显示

到这里就不要拷贝了,我们来看看最复杂的 Item Colours 配置
格式为:Item Colours[物品][质量][无形?][孔数]:文字颜色,地图颜色

原版说明中的几个例子
Item Colours[Ear]: -1, -2
Item Colours[Shako][Unique]: 11, 0x20
Item Colours[Sabre][Set][Ethereal]: -1, -2

再次看几个复杂的定义:
========================D2MapHack.CFG========================================
Item Colours[1+][1-4,6]:        -1,-2
Item Colours[Act2_Pet_Weapons][2,3][ETHEREAL]:                5,0xa4
Item Colours[2014,2017,2018,2024-2035,2037-2048,2137-2139][2]:  4,0x1f      // 金色显示特殊过关物品和任务物品 ;
=============================================================================

注意,由于后面的相同定义可以覆盖前面的定义,所以在前面的定义范围要大。

接下来有一些分类物品的显示定义,包括
Charm Colours
Rune Colours
Rejuv Pot Colours
Healing Pot Colours
Mana Pot Colours
Gem Colours
Amethyst Colours
Topaz Colours
Sapphire Colours
Emerald Colours
Ruby Colours
Diamond Colours
Skull Colours

格式都是:变量名[数字]:地面颜色,地图颜色
原版说明中的一些例子:
Rune Colours[10+]: 11, 0x80
Gem Colours[Chipped]: Orange

在说明中有个调色板/自动地图颜色表,颜色的定义是:
Number = 0x<row><column> or
(monsters) -1 show on automap, -2 hide on automap
(items) -1 hide on automap, -2 hide on automap and ground
(missiles) -1 hide on automap, -2 show tracer/hostile/guided on automap

数字=0x<行><列> 或者
对于怪物:  -1 在地图上显示,-2 在地图上不显示
对于物品:  -1 在地图上不显示,-2 在地图上和地面都不显示,-3 配合
对于发射物:-1 在地图上隐藏,-2 在地图上显示 (为什么跟怪物颜色定义是反的???)

文字颜色: -1 为默认色,0 为白色
其他颜色定义如下:
1  Red
2  Green 1
3  Blue
4  Gold 1
5  Grey
6  Black
7  Gold 2
8  Orange
9  Yellow
10  Green 2
11  Purple
12  Green 3


最后,我们看看如何定义D2MapHack.VCB。
这个文件是做翻译的,可以定义一些兼容的词,比如
Not Ethereal, Not Ethreal, Real: 1           // 都是一个意思,非Eth的,翻译为 1
Ethereal, Ethreal: 2                        // 怕拼写错误^^

这个是定义一类物品:
Normal Armor: Cap-Spiked Shield, Wolf Head-Coronet

注意,我们可以利用 "-" 做一个范围。

已经定义的词,可以继续被利用,定义更大的范围:
Elite Armor: Diadem-Blade Barrier, Blood Spirit-Bloodlord Skull
Elite Weapons: Suwayyah-Demon Crossbow, Heavenly Stone-Matriarchal Javelin
Elites, Elite Items: Elite Armor, Elite Weapons


高亮显示Elite物品就方便了,这么写:
Item Colours[Elites]: -1,0xa4         //默认颜色,地图上高亮

关心Eth的Elite,这么写:
Item Colours[Elites][1+][Ethreal]:-1,0xa4
其中的1+也可以写成all,因为,有这么一行定义:
All, Everything: 1+

下面是我写个一段定义,关于拣东西卖钱的
========================D2MapHack.VCB========================================
//*35000 item*
Gold_Armor: Ancient Armor,Tigulated Mail-Mage Plate,Dusk Shroud-Archon Plate
Gold_Helm: Winged Helm,Grand Crown,Grim Helm,Tiara-Demonhead 2,Bone Visage
Gold_Shield: Heater-Ward,Troll Nest,Blade Barrier
Gold_Belt: Spiderweb Sash-Colossus Girdle
Gold_Boots: Scarabshell Boots-Myrmidon Greaves
Gold_Gloves: Vambraces-Ogre Gauntlets
Gold_Class: Totemic Mask,Savage Helmet,Slayer Guard,Guilded Shield,Royal Shield,Heirophant Trophy,Blood Spirt-Bloodlord Skull
Gold_Items: Gold_Armor,Gold_Helm,Gold_Shield,Gold_Belt,Gold_Boots,Gold_Gloves,Gold_Class
=============================================================================

相应的,在D2MapHack.CFG中定义:
========================D2MapHack.CFG========================================
                       /////////////////////////////////////////////////
                       //                                             //
                       //              可以卖钱的物品                 //
                       //                                             //
                       /////////////////////////////////////////////////

Item Colours[Gold_Items][2,3]:                        0,0xa0
Item Colours[Gold_Items][4]:                        3,0xa1
Item Colours[Gold_Items][6]:                        9,0xa2
=============================================================================

有个D2MapHack.CFG配置工具,叫做MHC。
但是我不喜欢用MHC,生成的东西实在太繁琐,举个例子,关于耳朵的定义:
Item Colours[Ear][1][NOT ETHEREAL]: 0,-2
Item Colours[Ear][1][ETHEREAL]: 0,-2
Item Colours[Ear][2][NOT ETHEREAL]: 0,-2
Item Colours[Ear][2][ETHEREAL]: 0,-2
Item Colours[Ear][3][NOT ETHEREAL]: 0,-2
Item Colours[Ear][3][ETHEREAL]: 0,-2
Item Colours[Ear][4][NOT ETHEREAL]: 0,-2
Item Colours[Ear][4][ETHEREAL]: 0,-2
Item Colours[Ear][5][NOT ETHEREAL]: 0,-2
Item Colours[Ear][5][ETHEREAL]: 0,-2
Item Colours[Ear][6][NOT ETHEREAL]: 0,-2
Item Colours[Ear][6][ETHEREAL]: 0,-2
Item Colours[Ear][7][NOT ETHEREAL]: 0,-2
Item Colours[Ear][7][ETHEREAL]: 0,-2
Item Colours[Ear][8][NOT ETHEREAL]: 0,-2
Item Colours[Ear][8][ETHEREAL]: 0,-2

看看吧,耳朵也有Eth的?!
实在啰嗦,其实一行就够了:
Item Colours[Ear]: 0,-2

最后总结一些提示:

***后面的变量会覆盖前面的,所以前面要这样:
        Item Colours[1+][1-4,6]:        -1,-2
随后,一些特别的显示:
        Item Colours[Gold_Items][2,3]:                        0,0xa0
        Item Colours[Gold_Items][4]:                        3,0xa1
        Item Colours[Gold_Items][6]:                        9,0xa2

***可以自己定义vcb,方便定义一类物品,例如我自己定义了所谓35000 items。
***可以自己定义bmp文件,显示特别的形状
***看着颜色代码,给wf之类的东西一个与众不同的颜色


最后特别说一下 Item Colours 的配置

这个配置是最重要的,用得最多的配置。
它可以控制物品名称的文字颜色和地图显示情况

格式为:

Item Colours [ 物品列表 ] [ 质量等级 ] [ 是否为不可修复 ] [ 孔数 ]:文字颜色,地图颜色

其中,物品列表可以是这样几种情况:

1。一个数,可以代表某种特定的物品,注意,是基础名,比如,wf的基础名是Hydra Bow,对应的编码是 272。

可以在 D2MapHack.VCB中查到这样一行:
Hydra Bow, 6lw: 272

Item Colours [ 272 ][7]:4,0xa4  //暗金显示名字,地图上高亮

2。多个数,中间用逗号“,“分隔,注意是半角的,可以罗列物品
例子是wf和gf,我们查一下gf的代码:
Colossus Sword, 7fb: 234
Item Colours [ 272 , 234 ][7]:4,0xa4

3。一个范围,可以包括一系列物品,例如:
Item Colours [ 234-272][7]:4,0xa4

4。范围和逗号混合,例如:
Item Colours [ 234-272,275,282]:4,0xa4

5。数也可以用物品的代码代替,比如wf的基础物品代码 6lw

Item Colours [ 6lw ][7]:4,0xa4

6。可以直接写物品名称,注意,要在D2MapHack.VCB中有定义
Item Colours [ Hydra Bow ][7]:4,0xa4

7。最后带+号,表示包括这个东西及以后的物品,最常用的就是

Item Colours [ 1+ ][1-4,6]: -1,-2   //表示除了set和unique物品外,都不显示

8。以上的形式可以混用

质量等级定义如下:
Crude-1,Normal-2,Superior-3,Magical-4,Set-5,Rare-6,Unique-7,Crafted-8

可以写文字,也可以写数,可以罗列,也可以写区间,跟物品列表规则一样。

原始的定义这样:
Low Quality, Inferior, Crude, Cracked, Damaged: 1
Normal: 2
High Quality, Superior: 3
Magical, Magic: 4
Set: 5
Rare: 6
Unique: 7
Crafted, Craft: 8

是否为不可修复只有两个选择:

Not Ethereal, Not Ethreal, Real: 1
Ethereal, Ethreal: 2

写数也行,文字也行。

质量等级,是否不可修复,孔数这三个数组都可以省略,省略相当于包括全部,例如
Item Colours [1+]:-1,-2      //就是全部物品不显示
Item Colours [1+][1-7][1-2]:-1,-2 //跟上行作用一样
Item Colours [1+][7]: 4,-1  // 全部暗金物品文字显示,地图不显示

文字颜色定义如下:
1-Red; 2-Set Green; 3-Blue; 4-Unique; 5-Eth; 6-Black; 7- Yellow; 8-Craft; 9-Rare; 10-Green;11-pupler; 12-Green; 0-White;

同样,可以写文字,也可以写数,具体的颜色,可以看Readme.html。
如果写成-1,表示用默认色,也就是原来d2的颜色。

地图颜色不好描述,一般写为 0x 开头的16进制数字
0x行列,具体的颜色定义要看readme.html。

常用的颜色有:0x50-Red; 0x99-Sky Blue; 0x63-unique; 0xcc-light red; 0x60-Nef's; 0x7a-Green; 0x84-Set;0x8f-Charm's

如果地图颜色写为 -1,表示地图上不显示。
如果地图颜色写为 -2,表示地图和地面都不显示,也就是隐形了。
如果地图颜色写为 -3,表示ilvl低于Hidden Items Level 定义的就不显示。由于Hidden Items Level只是最后一次定义有效,所以用处不大。
Item Colours [1+]:-1,-2      //就是全部物品不显示

Hidden Items Level:           95
Item Colours [small charm]:-1,-3  //只有 n'sc & baal's sc 才会显示出来,其他sc隐型。

文字颜色和地图颜色可以省略,省略就用默认的。

由于后面的相同配置会覆盖前面的,所以一般我们先写一个所有东西不显示:

Item Colours[1+][1-4,6]:        -1,-2
Item Colours[1+][7]:                 4,-1   // 原色Unique;
Item Colours[1+][5]:    10,-1      //  浅绿;
                     // "1+" 必须事先定义,确保全局变量有效;   

然后再让我们关心的东西特别显示:

Item Colours[270][7]:        4,0x63 //EagleHorn 鹰弓;
Item Colours[272][7]:        4,0x63 //WindForce 人人梦寐以求的发家之宝;
Item Colours[291][7]:        4,0x63 //The Oculus 涡流水晶;
Item Colours[296][7]:        4,0x63 //Titan's Revenge 泰坦;

别忘了还有小东西:
Item Colours[2013,2015]:               3,-1      //蓝色项链,戒指;
Item Colours[2013,2015][6]:            9,-1     //Rare 项链,戒指
Item Colours[2015][5]:                 2,-1   //Set 戒指
Item Colours[2013][5]:                 2,0xe1   //Set 项链
Item Colours[2013,2015][7]:            4,0xe1   //unique 项链,戒指
Item Colours[2013,2015][8]:            8,-1  // Craft 项链,戒指
Item Colours[2008,2009]:               10,-1        //回复药剂显示浅绿色;
Item Colours[89][2]:                   4,0x63       //维特之脚,金色;
Item Colours[2014,2017,2018,2024-2035,2037-2048,2137-2139][2]:  4,0x1f      //金色显示特殊过关物品和任务物品 ;
Item Colours[93][7]:                   4 , 0x1f     //金色显示古墓之杖;
Gem Colours[1]:                        1,-1       //碎裂,无暇疵的宝石显示红色
Gem Colours[2,3]:                      -1,-2        //低等级的宝石显示隐色;
//Item Colours[2084,2089]:                0,-1 // 大血瓶,大蓝瓶
item Colours[2008,2009]:                11,-1  //紫瓶,紫色
//item Colours[2022,2023]:                0,-1 //回城和鉴定卷轴,白色

我最近特别关心act2 pet的用品,所以加上

Item Colours[Gold_Armor][2,3][ETHEREAL][2,3]:                5,0xa4
Item Colours[Act2_Pet_Weapons][2,3][ETHEREAL][3,5,6]:                5,0xa4

其中的Gold_Armor,Act2_Pet_Weapons是我自己在D2MapHack.VCB中定义的:
Gold_Armor: Ancient Armor,Tigulated Mail-Mage Plate,Dusk Shroud-Archon Plate

Elite_Polearm: Ogre Axe-Giant Thresher
Elite_Spears: Hyperion Spear-War Pike
Act2_Pet_Weapons: Elite_Polearm,Elite_Spears

4.6g后MapHack可以特别的定义区分Socket物品,这是个非常有用的特性。

文中的配置可能不是最新,最新配置看我的cfg。

附一篇文章。
主题:杀牛的时候容易被忽略的东东
版权所有:anny_nini 原作 提交时间:12:54:28 01月19日



我不知道其他realm怎么样,但在美东pal pk是最热的,因为在palapk 游戏里,没有nk,没有slow,没有gold steal,可能很多人不信,
但事实如此。如果你违反了,会被大家围攻。
基於这种势头,paladin的武器非常热门。而其中最热门的就是cruel ethereal 单手武器。说到这里,大家可能明白我标题的意思了。
实际上就是对於牛牛掉的所有的magic的exceptional 或者elite的单手武器都捡起来看看,这是很多人理都不理的东东。如果是etheral的,
就当场鉴定,或者到老头那儿鉴定(如果你有空间的话)。
如果你哪次人品爆发了,捡个好的cruel etheral,呵呵。。天价。

反正我都捡起来看看的。:P
列个单子:
sword类:cryptic sword,conquest sword,hydra edge,elegant blade,ataghan,falcata
scepter类:mighty scepter,seraph rod
mace类:legendary mallet,scourge,devil star,reinforced mace,tyrant club,truncheon
axe类:berserker axe,war spike,tomahawk,ettin axe,small crescent

大家可以思考一下,如何配置这些东西到你的CFG中?
提示,参考我的定义35000 item的方法。
因为我主要活动于A3 PVC,所以对这些东西不感兴趣,没有添加。
如果大家想添加,就算个练习题吧。



常见问题:
1。为什么不显示箭?
答:根据我的经验,一筒箭足够杀一局牛。或者你可以买备用箭,或者按+显示地面物品。
    或者你自打开显示箭的配置,去掉前面的 // 即可。
    //Item Colours[2019,2021]:             0,0xd0    // (19)箭矢,地图显示,用AMA的可以考虑去掉前面的 //
    //Item Colours[2021]:                   0,0xd0    // 十字弓弹        

2。我镶不上东西
答: 这是MapHack的保护功能,默认为保护。在我的配置中,热键 "Insert" ,插入键。
    Socket Protect Toggle:          1, 0x2D                 // SOCKET保护,开,热键 "Insert",镶不上东西记得按热键!!!

3。我需要显示血瓶和魔法瓶
答:我已经预留了显示,可以根据需要打开,去掉最前面的 // 即可
        //Item Colours[2084]                   0,-1      // 大血瓶
        //Item Colours[2089]:                  0,-1      // 大蓝瓶

4。你的配置很方便,但是我是笔记本用户,没有小键盘
答:在配置文件最后,我写了一些配置,只需要去掉最前面的 // 即可。
//笔记本电脑用这里的设置(去掉前面的//即可),前面定义不需要动
//Reveal Act Automap Key:        VK_0                      // 地图展开,数字0
//Reveal Act Automap Key:        VK_OEM_3                  // 地图展开,"~",1左侧的键
//Full Visuals Toggle:           1, VK_9
//Automap Monsters Toggle:       1, VK_8
//Hidden Items Toggle:           0, VK_7                   // 地面物品隐藏,数字7
//Hidden Items Toggle:            0, VK_CONTRAL            // 地面物品隐藏,CTRL键

//Automap Monsters Toggle:        1, VK_CAPITAL            // 怪物小地图显示,热键开关 大写锁定键
//Automap Chests Toggle:          1, VK_CAPITAL            // 箱子开关 大写锁定键
//Automap Items Toggle:           1, VK_CAPITAL            // 地图物品隐藏开关 大写锁定键
//Automap Missiles Toggle:        1, VK_CAPITAL            // 地图上显示敌人的发射物攻击(向导箭、骨精灵等) 大写锁定键,形状后面可以定义

5。我想显示所有的暗金物品到地图上
答:我认为没必要这么做。但是如果你想那么做,很简单。把下面一行最前面的 // 去掉。
Item Colours[1+][7]:              -1,-1           // 原色Unique;
//Item Colours[1+][7]:                  -1,0x09        // 如果想地图上显示,去掉最前面的 //


6。我想用左手操作,原来的"-"展开地图太不方便了
答:我为这种情况增加了预制配置,在文件最后,只要去掉前面的 // 即可。
//左手操作定义
//Reveal Act Automap Key:         VK_OEM_3                 // 获取整个ACT地图 "`~",也有人使用VK_Tab,打开地图同时展开,不过稍有lag
//Hidden Items Toggle:            0, VK_CONTRAL            // 地面物品隐藏,CTRL

7。怎么显示的向导箭是十字?
答:也许你没下载原版d2maphack,我的配置中没有全部的文件。

8。什么是物品等级?有什么用处?我听说Maphack可以看,怎么看?
答:这里指的是ilvl。合成某些物品必须要求一定的物品内部等级,这个等级主要由物品掉落的怪物决定。
比如常见的地狱牛关的牛掉的是90,地狱暴躁外皮是93。地域的箱子中物品是75。
在我的配置中,使用L即可看到。在物品名称后面的第一组数字,格式为 L93。
配置方法如下:
Item Levels Toggle:             0, VK_L                 // 4.7c新增功能,ilvl物品等级显示,默认为关,热键 "L"

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|网站地图|联系我们|关于我们|隐私条款|免责声明|小黑屋|D2home暗黑1.09战网 ( 鲁ICP备2020047197号 )

GMT+8, 2024-11-24 19:44 , Processed in 0.201766 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表