NateScarlet / auto-derby

🐎🖥《赛马娘》(ウマ娘: Pretty Derby)辅助脚本
MIT License
466 stars 106 forks source link

训练失败时添加是否使用闹钟继续的选项 #170

Closed Jimmy-Ru-217 closed 3 years ago

Jimmy-Ru-217 commented 3 years ago

默认的是使用闹钟,但是这样会使得闹钟消耗速度飞快,如果可以的话希望能够加上这个可能的选项,在选择是否使用闹钟前会给出当前所对应的五个属性的值。

def _handle_race_result(ctx: Context):
action.wait_tap_image(templates.RACE_RESULT_BUTTON)
    _, pos = action.wait_image(
        templates.RACE_RESULT_NO1,
        templates.RACE_RESULT_NO2,
        templates.RACE_RESULT_NO3,
        templates.RACE_RESULT_NO4,
        templates.RACE_RESULT_NO5,
        templates.RACE_RESULT_NO6,
        templates.RACE_RESULT_NO8,
        templates.RACE_RESULT_NO10,
    )
    while True:
        time.sleep(1)
        if action.tap_image(templates.GREEN_NEXT_BUTTON):
            break
        if action.count_image(templates.SINGLE_MODE_CONTINUE):
            send_message("Umamusume", "Fail")
            terminal.pause("Speed:"+str(ctx.speed)+" Stamina:"+str(ctx.stamina)+
                           " Power:"+str(ctx.power)+" Guts:"+str(ctx.guts)+" Wisdom:"+str(ctx.wisdom)+". Continue?")
            action.tap_image(templates.SINGLE_MODE_CONTINUE)
            _handle_race_result(ctx)
            return
        action.tap(pos)

此外在使用脚本的时候,大部分时间并没有在电脑面前而是做别的事情并不能知道当前赛马娘到底是什么一个进度。可以通过pushplus通过公众号来进行通知。这个功能更好的方式应该是通过插件来进行。但是我并不知道怎么复写nurturing中的静态方法。在育成失败或者完成时会通过公众号发送消息。目前我实现的方式是:

def send_message(title,content):
    url='http://pushplus.hxtrip.com/send?token=xxxxxxxx&title='+title+'&content='+content+'&template=html'
    urllib.request.urlopen(url)
fatinghenji commented 3 years ago

第二项甚至可以更进一步 借用mirai作为无头客户端,接收和发送QQ消息来远程养马

NateScarlet commented 3 years ago

这个需求应该加更多事件监听的配置就能解决