admin 发表于 2020-1-14 05:32:28

d2hackmap对应不同分辨率的存取坐标修改方法

转载:https://tieba.baidu.com/p/6113327235


鉴于很多朋友不会自己DIY修改存取坐标,我就再发一遍修改方法:
d2hackmap的快速移动物品功能默认支持的分辨率是800*600(没有设定对应不同分辨率的相对坐标),这个东西在地图文件的源代码里内置了初始坐标,定义如下:
{0, 430, 325, 10, 4, 29, 29}, // 人物的背包
{4, 165, 152, 6, 8, 29, 29}, // ZLP储物箱
{3, 220, 220, 3, 4, 29, 29}, // 盒子空间
{4, 165, 345, 6, 4, 29, 29}, // FZ储物箱
{2, 110, 325, 10, 4, 29, 29}, // 交易模式下你的物品栏

当你使用了非800*600的不同分辨率(也包括大箱子/大盒子/大背包)这类修改,那么你需要重新定义这些坐标,用HEX修改器就可以自己完成这项工作(ultraedit之类的软件)。
我以ZLP储物箱为例:
{4, 165, 152, 6, 8, 29, 29} 折算成16进制:04 00 A5 00 98 00 06 08 1D 1D

4代表type为stash(非资也是这个,区别是后面的坐标),165是left,152是bottom,后面的6和8是x行y列,29和29代表W/H(这个不用管)。
然后呢你需要改的其实只有165,152,6,8这4个数字,可以根据你分辨率和大箱子坐标来自己修改,用hex修改器,比如ultraedit打开hackmap的dll文件,然后搜索0400A500980006081D1D,就可以开始修改了。
修改之前记得备份,然后进游戏测试一下即可,不需要地图源码就可以自己完成,其他位置仿照我写的例子来修改即可。

下面举一个我修改的640*480的坐标作为大家的参考:
//left和bottom已经偏移了格子一半大小
{0, 350, 265, 10, 4, 29, 29}, // Inventory
{4, 85, 92, 6, 8, 29, 29}, // Stash
{3, 140, 160, 3, 4, 29, 29}, // Cube
{4, 85, 285, 6, 4, 29, 29}, // Stash_Classic
{2, 30, 265, 10, 4, 29, 29}, // Trade 1 for others trade

PS:如果你手头有之前修过坐标的文件,那么你直接HEX打开这个文件然后搜索1D1D,直接对应关键字就可以修改新的DLL文件,这样操作起来更加简单。
页: [1]
查看完整版本: d2hackmap对应不同分辨率的存取坐标修改方法