Skip to content

《家国梦》游戏自动化脚本 收取金币💰/自动送货📦/升级建筑🏗/刷新火车🚂/极速开红包相册💌

License

Notifications You must be signed in to change notification settings

Dwayneten/JGM-Automator

Repository files navigation

JGM Automator

GitHub GitHub tag (latest by date) 家国梦支持版本 GitHub last commit

该项目为Python编写的基于 OpenCV 模板匹配和 Tesseract 文字识别的《家国梦》游戏自动化脚本。

主要功能

  • 💰定时收取金币
  • 📦自动运送货物
    • 指定运送货物的等级,可实现只给史诗建筑供货
  • 🏗️定时升级建筑
    • 只升级指定建筑列表,适用于有主要产出建筑的情景
  • 🏗️主动升级建筑
    • 升至 x 级
    • 升级 x 次
  • 💌极速开红包相册
  • 🚂自动重启游戏刷新火车
    • 仅限 QQ 账号登陆

特性

  • 将硬编码部分配置文件化
  • 支持配置文件的热加载
  • 支持在命令行中以回车暂停/重启,以及优雅关闭,方便手动操作(如抽奖)
  • 支持在命令行输入特定命令来主动执行某些操作

更新

  • 增加新版本4个货物图片和配置

  • 更新一些货物图片以提升识别率

  • 极速开红包/相册 大幅提升开红包/相册的速度

  • 增加输出总结信息的命令

  • 现在重启游戏约一分钟后仍未成功进入游戏界面则中止脚本

  • 修改了一下代码格式

计算器

💻计算家国梦建筑最优摆放策略

推荐 lintx 写的 家国梦计算器

导航

安装与运行

环境

安装完后将PythonADB的目录添加到系统环境变量PATH中,百度有教程

依赖

安装必须的 python 库

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple uiautomator2 opencv-python

如果需要使用以下命令则需要 Tesseract OCR 并将其目录添加到系统环境变量PATH

  • run upgrade_to x

测试时使用的是Tesseract OCR v5.0.0-alpha 下载页面

所有功能均在Windows 10 QQ 登陆 MuMu 模拟器的环境下测试

运行

# 打开 JGM-Automator 文件夹
# shift + 右键点空白处
# 选择“在此处打开 Powershell 窗口”或“在此处打开命令行窗口”
# 按以下步骤操作或输入命令

# 打开 MuMu 模拟器,确保屏幕大小为 1920(长) * 1080(宽)
# adb 连接
adb connect 127.0.0.1:7555

# 获取 device 名称,并填写至 main.py
# MuMu 模拟器忽略
adb devices

# 在已完成 adb 连接后,在手机安装 ATX 应用
# 此步骤仅第一次运行需要
python -m uiautomator2 init

# 按需求配置 config.json

# 打开模拟器中的 ATX ,点击“启动 UIAutomator”选项,确保 UIAutomator 是运行的。

# 进入游戏界面,启动自动脚本。
python main.py

操作说明

建筑位置编号

###7#8#9#
##4#5#6##
#1#2#3###

配置文件

  • config.json
{
  "swipe_interval_sec": 5,              // 收取金币最少间隔秒数
  "upgrade_interval_sec": 50,           // 升级建筑最少间隔秒数
  "building_pos": [
    ["零件厂", "人民石油", "企鹅机械"],
    ["商贸中心", "媒体之声", "民食斋"],
    ["花园洋房", "复兴公馆", "小型公寓"]
  ],                                    // 排布与游戏界面一致,修改为自己场上建筑名称
  "train_get_rank": [0, 1, 2]           // 要送货的货物品质 0-普通/1-稀有/2-史诗 只需送史诗则只留 [2]
  "debug_mode": false,                  // 调试模式 可无视
  "upgrade_building": true,             // 是否开启自动升级建筑 true/false
  "upgrade_building_list": [7, 9],      // 要升级的建筑位置编号 此例中先尝试升级 7 号再尝试升级 9 号
  "refresh_train": true,                // 是否开启自动刷新火车 true/false
  "detect_goods": true                  // 是否开启自动送货 每天送完货后可关闭 true/false
}

命令行操作

# 启动
python main.py

# 暂停/重启(会有日志提示) 
[回车]

# 结束应用
end[回车]

以下命令均需暂停后输入才生效

# 进入命令模式
run command_mode on
# 退出命令模式
run command_mode off
# 将该建筑升至 x 级
run upgrade_to x
# 将该建筑升级 x 次
run upgrade_times x
# 开小/福气红包 x 次
run unpack s x
# 开中/多福红包 x 次
run unpack m x
# 开大/满福红包 x 次
run unpack l x
# 开相册 x 次
run album x
# 输出总结信息
run summary

功能说明

主动升级建筑

  1. 脚本启动并正常运行后按回车进入暂停模式
  2. 打开建筑中心并进入目标建筑的详细面板
    • 输入run upgrade_to x并回车将该建筑升至 x 级
    • 输入run upgrade_times x并回车将该建筑升级 x 次
  3. 操作完成后将自动返回主界面并继续运行常规流程

命令模式

  1. 脚本启动并正常运行后按回车进入暂停模式
  2. 输入run command_mode on 进入暂停模式
  3. 在命令模式下可以执行多次命令而不返回常规流程
  4. 输入run command_mode off 退出暂停模式并返回游戏主界面

在需要对多个建筑进行升级时可以进入命令模式

例:主力建筑已经1000+级,想将其他建筑提升至925级以获取等级奖励

[回车]                // 进入暂停模式
run command_mode on  // 进入命令模式
// 手动在游戏内进入建筑中心并打开目标建筑的详细面板
run upgrade_to 925   // 将其升至 925 级 
// 等待升级完成后打开下一木匾建筑的详细面板
run upgrade_to 925   // 将其升至 925 级
// 升完想升的建筑后
run command_mode off // 退出命令模式自动返回主界面继续常规流程

自动开红包相册

  1. 脚本启动并正常运行后按回车进入暂停模式
  2. 打开商店面板
  3. 输入run unpack m x自动开 x 个多福红包
  4. 其他类型的红包或相册同样步骤

注意:为了保证开完一个红包会多点击几下,但不保证特殊情况下,如开满福红包三张卡都出史诗且三张卡同时升星时能点完这个红包

开发说明

我们可以使用 Weditor 工具,获取屏幕坐标,以及在线编写自动化脚本。

# 安装依赖
python -m pip install --pre weditor

# 启动 Weditor
python -m weditor

开发计划

  • 自动升级所有建筑到 x 级以获取奖励

  • 开红包

  • 自动重启游戏刷新火车

  • 供货阵容和产出阵容互换

About

《家国梦》游戏自动化脚本 收取金币💰/自动送货📦/升级建筑🏗/刷新火车🚂/极速开红包相册💌

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages