结合我们的上三篇博文pywin32 pywinio PIL定位 制作一个简单的DNF物品自动拾取DEMO。
实现的主要思路就是修改游戏贴图添加辅助像素,然后通过遍历游戏截图定位角色和物品位置,最后移动到物品位置并拾取。
修改游戏贴图
我们用不同像素颜色分别标识角色和物品。像素大小为5x5,九宫格加外面一层辅助像素。其中角色我们用了两个以便区分游戏角色朝向,为后面自动打怪提供帮助。
这里我们的测试账号是个女鬼-暗帝所以我们取消二觉装扮,修改贴图,保存像素rgb值。修改后如下,。
物品已经在写前面博文中修改过了
。
定位人物和物品位置
如python中使用DNF Extractor和PIL定位dnf中物品位置中所示定位角色和物品位置。
移动人物
获取到位置信息以后计算出和当前角色最近的物品信息,然后移动人物。
- 人物移动的距离和按键的时间成正比,比例是简答测试后得到的。
- 进行过一次移动之后,判断和物品的位置是否小于可拾取的最大距离,如果是便拾取。
脚本使用
效果预览