耕地机是一个通用的键鼠操作模拟软件,可以录制键鼠操作生成代码,然后对代码进行微调,提升效率。支持所有分辨率。
| 名称 | 作用 | 示例 |
|---|---|---|
| map | 开图 | map(450) |
| book | 开书 | book(720) |
| tpc | 半自动(选点然后确认) | tpc([12345, 12345], 0) |
| click | 点击 | click([12345, 12345], 60) |
| press | 键盘按某个键 | press('e', 50) |
| drag | 拖动,每四个整数一次拖动,可多次拖动,第二个参数是首次拖动像素数 | drag([12345, 12345, 54321, 54321], 5, 50) |
| kDown | 键盘按下某个键 | kDown('e', 50) |
| kUp | 键盘松开某个键 | kUp('e', 50) |
| mDown | 鼠标按下(左键) | mDown(50) |
| mDown | 鼠标按下(指定左键还是右键) | mDown('right', 50) |
| mUp | 鼠标松开(左键) | mUp(50) |
| mUp | 鼠标松开(指定左键还是右键) | mUp('right', 50) |
| move | 移动鼠标 | move([12345, 12345], 50) |
| move | 插值移动鼠标(一次动一点)。参数:坐标、分多少次、每次延迟、最后延迟 | move([12345, 12345], 20, 2, 50) |
| moveR | 相对移动鼠标 | move([1000, 1000], 50) |
| moveR | 插值相对移动鼠标(一次动一点)。参数:坐标、分多少次、每次延迟、最后延迟 | moveR([1000, 1000], 20, 2, 50) |
| moveR3D | 3D游戏视角真正的相对移动鼠标,单位是像素值。 | moveR3D([50, 50], 50) |
| moveR3D | 3D游戏视角真正的插值相对移动鼠标,单位是像素值。 | moveR3D([50, 50], 5, 2, 50) |
代码块机制是耕地机的一个亮点,比如我们在锄地时候,需要在指定位置打怪,打完怪传送,而传送的操作基本上是固定的。目前还没有完善的针对此类情形的专有的键鼠操作软件。
每个点位的名称写在最前面,然后跟着大括号包裹的代码块,表示这个点位传送需要进行的操作。
点位一 {
map(450);
tpc([32741, 32752], 0);
}
点位二 {
map(450);
tpc([32741, 32752], 0);
}
点位三 {
map(450);
tpc([32605, 32418], 0);
}
点位四 {
map(450);
tpc([32758, 32752], 0);
}
点位五 {
map(450);
tpc([32758, 32752], 0);
}
点位六 {
map(450);
tpc([32758, 32752], 0);
}
/**
* 多行注释
* 使用 斜杠*开始,使用 *斜杠结束
*/
// 单行注释,使用两个斜杠打游戏的时候,需要采集材料,而采集材料的过程重复而枯燥,如果能自动采集材料就好了。
耕地机最初的版本是使用autohotkey写的脚本,但是autohotkey脚本对于许多小白来说还是比较难上手,为了让大家都能轻松锄地,我抽空开发了锄地用的耕地机,是使用WPF开发的基于BetterGI开源项目制作的,但是后来发现WPF的UI写起来非常费劲,最后我还是选择使用flutter开发了这款新耕地机。一方面是flutter UI写起来非常便捷,另一方面flutter未来也可以往手机端的方向发展(当然难度会非常非常大,要写Android原生的支持)。
- 脚本共享。耕地机中添加了许多通用的设计,比如兼容相同比例的屏幕,自动识别屏幕比例,采用对应的配置。未来会上线脚本共享功能,只要有一个人写了脚本,大家就都可以用上脚本了。
- 一键联机。许多时候我们都要蹲车,蹲半天都没车,就会浪费很多时间,如果游戏能够支持一键匹配锄地就好了,就像匹配副本一样。如果耕地机的活跃用户数量超过1000,可以考虑在耕地机的基础上建立闪宏宫,闪宏宫可以一键联机匹配锄地,自动快速上车,可以统计锄地时长匹配相同速度的队友,做到有辅有C。
目前耕地机的代码没有完全开源,希望后续有志同道合的伙伴加入一起开发。