AzurLaneAutoScript icon indicating copy to clipboard operation
AzurLaneAutoScript copied to clipboard

Receive event rewards | 收取活动奖励

Open LmeSzinc opened this issue 2 years ago • 0 comments

你的功能请求是否与问题有关?

这个功能还在讨论中,具体实现方法未定 This feature is still under discussion, and the detailed implementation has not yet been determined.

收取活动总览页面的奖励,每天去点一下太麻烦了

活动有几种:

  1. 大活动的累计PT奖励,点击领取即可 event_pt

  2. 七日签到活动,需要完成特定任务才能领取奖励,前一天的任务未完成不能解锁下一天的 sign_event

需要解决的问题:

  1. 需要一种低维护成本的实现,每次游戏推出新活动,尽量不要花费开发者的时间去适配。不可以每个活动都裁切一些模板图片,让 Alas 的 4 个服务器开发都跟进,这是非常麻烦的,需要有一个通用的处理逻辑。
  2. 七日签到活动有一些很偏很怪的任务,很难完成,比如强化舰船X次,开装备箱X个,这些在Alas都需要单独做。完成X次委托,完成X次每日任务,出击胜利X次,这些任务都没难度,日常挂机就可以完成。

解决方案

我想到的实现有两个方向

  1. 完全基于 OCR,单纯点击 “领取” 两个字。但遇到的问题是:
  • 纯CPU对整个游戏界面做场景文字识别需要 1-2 秒
  • Alas还在使用非常古老的机器学习库,更换依赖的成本高 ocr_way
  1. 基于图片,从游戏美术资源解包中生成模板图片,像平时点击按钮一样点击。 这个解包软件现在还能用 https://github.com/HHHHhgqcdxhg/azurlane-unpack ,解包出来大概像这样。 遇到的问题是:
  • 需要有自动的资源解包流线,现有的都是数据解包和立绘解包,所以这个得自己来
  • 需要裁切出模板图片,这个问题不大,~我photoshop熟手技工啪啪啪4个服就做完了~
  • 需要确定游戏资源在画面上的出现位置,这个还不清楚 SpriteAtlasTexture-PermanentYamashiroSkinPage-1024x1024-fmt47

其他内容

No response

LmeSzinc avatar Jun 07 '22 17:06 LmeSzinc