缘起
大家周末好,我在玩的游戏山海经出了钓鱼玩法,一天180体力,钓一次鱼差不多得十几秒,也就是用完体力得一直集中精力的操作半个小时,瞬间感觉肝度太高了。因为我玩这个游戏就是有碎片时间点几下,所以我打算自己动手搞一个自动化脚本来解放一下自己的双手。目前写手机脚本大多用的是按键精灵,脚本精灵啥的,源码不开放,学习成本太高。于是我想到本人早年做android刷机时使用的adb工具也可以模拟操作手机。最终确定了技术桟为:adb+opencv+python。然后我去github上找了半天发现一个开源的拉斐尔脚本助手满足我的需求。于是我就开始用拉斐尔脚本框架开发自己的钓鱼需求开发了。软件介绍
RaphaelScriptHelper(拉斐尔脚本助手)是基于开源技术如openCV图像处理、OCR以及ADB等开发的Python框架。该框架旨在帮助开发者快速编写各类游戏自动化脚本,适用于多种系统及模拟器环境。不仅支持图像识别和文字识别,还能实现点击、按键、滑动等复杂操作,极大地简化了游戏操作的自动化开发流程。使用说明
使用RaphaelScriptHelper开发针对《山海经》钓鱼玩法的自动化脚本作为例子,我们可以看到其强大的功能和易用性。示例代码
import time
import ADBHelper
import RaphaelScriptHelper
import testDict
deviceList = ADBHelper.getDevicesList()
i = 0
for did in deviceList:
print(str(i) + ": " + did)
i = i + 1
input_i = input("请输入需要执行脚本的设备编号\n")
fish = True
RaphaelScriptHelper.deviceType = 1
RaphaelScriptHelper.deviceID = deviceList[int(input_i)]
# 钓鱼
while fish:
#调到第一屏
if RaphaelScriptHelper.find_pic_sts(testDict.qiangduo):
RaphaelScriptHelper.touch((98, 166))
#确认是第一屏
if RaphaelScriptHelper.find_pic_sts(testDict.baifang_m):
# 进入钓鱼屏
RaphaelScriptHelper.touch((806, 1761))
# 点击钓鱼
RaphaelScriptHelper.touch((550, 2100))
while True:
RaphaelScriptHelper.delay(2)
RaphaelScriptHelper.touch((300, 1900))
RaphaelScriptHelper.delay(0.5)
RaphaelScriptHelper.touch((550, 1900))
time.sleep(1)
上述代码展示了如何利用RaphaelScriptHelper开发针对《山海经》中钓鱼玩法的自动化脚本。我们可以通过简单的几行代码,快速实现识别关键界面元素并执行相应操作的功能,从而极大地提升了游戏操作的效率和便利性。我尽量使用模拟点击像素点功能,因为这样比adb截图opencv识别快的多。以上代码只适用于红米Note7正常分辨率。如果要用到别的应用需要我们去改 RaphaelScriptHelper.touch((98, 166))中的点(98, 166)坐标。注意我这边直接卖出鱼,或者将鱼提到订单里面,没做太复杂。
使用体验
RaphaelScriptHelper的优势在于其开源的特性,使得开发者可以根据自身需求进行定制和扩展,而无需依赖闭源软件或服务。同时,其整合了图像处理和ADB操作的能力,使得即便在复杂的游戏环境中,也能保持高效和稳定的自动化操作。通过简单的API调用,开发者能够快速实现各类复杂的游戏脚本,大大节省了开发和调试的时间成本。前天我做任务睡着了,解决任务都没完成,今天用这个脚本不到半个小时都完成了,效果还是不错的。总结
RaphaelScriptHelper作为一个开源的游戏自动化脚本框架,不仅具备了强大的功能和灵活的扩展性,还能有效地简化游戏操作中的重复工作,提升用户的游戏体验和操作效率。然而,我们也应该注意到,使用自动化脚本存在一定的法律和道德风险,用户需在合法合规的前提下使用本项目,开发者也应该遵守平台规定,避免因违规操作而导致的不良后果。点击下面「公众号:NewTech精选」卡片,进入之后对话框发送关键词:脚本
往期推荐