Git Product home page Git Product logo

Comments (31)

dbzdivik avatar dbzdivik commented on July 16, 2024

you need to spend quite a time for sure for this new UI Update along with Dispatch Mission

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

Dispatch Mission will be added later. Fixing current UI elements is a goal for now. It's just a tedious work because some elements just have changed position for no reason at all (thx NetMarble).

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

First iteration done in ad29c5a
Still have 47 UI elements that has rare occurrence and need to test.

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

Thank you for making changes so quickly.

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

So far the main issue I've seen is that the actual scanning of skill buttons doesn't seem to be happening.
For instance, it will go into legendary battles as it should, but then your character will sit there and do nothing. The logs won't show it picking up the skills, and therefore never moves to pressing them.
If you queue all 5 stages for example, if you manually press the skills to win the battle, it WILL however move onto the next stage correctly though.

The second thing I've found is that even with full energy and 100 boost, when you attempt a giant boss raid, it will get to the main screen where it shows the rewards and allows you to enter, but will then throw up "INFO - No more stages for Giant Boss Raid."

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

So far the main issue I've seen is that the actual scanning of skill buttons doesn't seem to be happening.
For instance, it will go into legendary battles as it should, but then your character will sit there and do nothing. The logs won't show it picking up the skills, and therefore never moves to pressing them.
If you queue all 5 stages for example, if you manually press the skills to win the battle, it WILL however move onto the next stage correctly though.

The second thing I've found is that even with full energy and 100 boost, when you attempt a giant boss raid, it will get to the main screen where it shows the rewards and allows you to enter, but will then throw up "INFO - No more stages for Giant Boss Raid."

What's your emulator screen resolution and in-game graphics setting? For me (1920x1080, HIGH graphics) GBR and battles are working fine. My UI tests also shows that for 720p and 1440p all should work fine.

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

Emulator is 1920x1080 and HIGH as well. I haven't changed anything since it was working prior to the new patches (for the game and the bot obviously). I can attempt a reinstall, as this is with an update via the updater.

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

Try to find settings\ui\battle.json file and open it with any text editor.
Find records for SKILL_1_LABEL, SKILL_2_LABEL ... SKILL_6_LABEL and try to change image_threshold parameter for them. For example if image_threshold value is 150 then try to set 140 or 160, 130 and 170, etc..
Then restart bot and try to play a battle.
For GBR that would be GBR_MENU_LABEL and GBR_QUICK_START in settings\ui\giant_boss_raid.json file.

If some image_threshold values worked for you let me know.

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

Odd. I'll try some now, but SKILL_6 is the only one showing anything close to that, 170. Whereas the rest are sitting at 0.7.

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

SKILL_6_LABEL not SKILL_6
Here:
https://github.com/tmarenko/mff_auto/blob/master/settings/ui/battle.json#L565-L643
https://github.com/tmarenko/mff_auto/blob/master/settings/ui/battle.json#L328-L342

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

Sorry, should have said SKILL_6_LABEL. That was what I was referring to.

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

I haven't found an image_threshold that works as of yet - I'll try some more tomorrow.

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

Try to create tesseract folder inside logs folder. Bot will write images of UI elements into this folder.
That will help to understand what bot sees from the screen:
image

Another way around is to run this script:

import lib.logger as logging
from lib.video_capture import NoxCapture
from lib.players.nox_player import NoxWindow
from lib.game.missions.legendary_battle import LegendaryBattle
from lib.game.missions.giant_boss_raid import GiantBossRaid
from lib.game.game import Game

logger = logging.get_logger(__name__)
logging.create_file_handler()


if __name__ == '__main__':

    nox = NoxWindow("NoxPlayer")
    with NoxCapture(nox) as nox_capture:
        try:
            game = Game(nox)
            LegendaryBattle(game).do_missions()
            GiantBossRaid(game).do_missions(times=1, max_rewards=True)
        except KeyboardInterrupt as err:
            exit()

That script will run Legendary Battle and then GBR and the script will capture video into .mp4 file in logs folder (similar to https://youtu.be/QcgZcAwBL-I )

from mff_auto.

dbzdivik avatar dbzdivik commented on July 16, 2024

World Boss Invasion Issue
=> Stuck at battle over, f.y.i chest receive notification is closed by bot

2021-04-23 21:26:20,182 - battle_bot - INFO - Battle is over
2021-04-23 21:26:22,782 - world_boss_invasion - DEBUG - Any chest after boss fight wasn't acquired.

Alliance Battle
=> can't start it

2021-04-23 21:24:37,563 - game - DEBUG - Stage: TIMELINE BATTLE; stages: 10/10
2021-04-23 21:24:48,113 - alliance_battles - WARNING - Alliance Battles: can't get in battles lobby.
2021-04-23 21:24:50,225 - missions - DEBUG - After mission notifications was closed: False
202

Also LB is working fine for me

2021-04-23 21:32:00,824 - battle_bot - DEBUG - Casting 3 skill.
2021-04-23 21:32:01,579 - battle_bot - DEBUG - Successfully casted 3 skill.
2021-04-23 21:32:02,927 - battle_bot - DEBUG - Casting 2 skill.
2021-04-23 21:32:04,570 - battle_bot - DEBUG - Successfully casted 2 skill.
2021-04-23 21:32:07,839 - battle_bot - INFO - Battle is over
2021-04-23 21:32:07,840 - missions - DEBUG - Clicking REPEAT button with UI Element: LB_REPEAT_BUTTON.
2021-04-23 21:32:09,660 - missions - DEBUG - After mission notifications was closed: False

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

Just to be sure, can you check if all .json files in settings/ui have same content as in https://github.com/tmarenko/mff_auto/tree/master/settings/ui
It's very odd because WBI and AB are working fine for me and have stable UI recognition.
Maybe updater failed to change these files, I'm not sure.

If files are the same then:
For Alliance Battle try to change image_threshold for AB_NORMAL_READY_BUTTON to 150 or 120.
For World Boss Invastion try to change image_threshold for INVASION_HOME_BUTTON to 0.5 or even 0.4 .

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

Ok, it doesn't even seem to scan the skill labels yet. They're not appearing at all in the tesseract log. I'll have a search through in terms of the GBR to see where it's failing.

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

Ok so here is another script for you:

import lib.logger as logging
from lib.players.nox_player import NoxWindow
from lib.game.game import Game

logger = logging.get_logger(__name__)
logging.create_file_handler()


if __name__ == '__main__':

    nox = NoxWindow("NoxPlayer")
    game = Game(nox)
    from PIL import Image, ImageDraw
    image = nox.get_screen_image()
    image = Image.fromarray(image)
    draw = ImageDraw.Draw(image)
    for skill_index in range(1, 7):
        rect = game.ui[f'SKILL_{skill_index}_LABEL'].rect
        box = (rect.global_rect[0] * nox.width, rect.global_rect[1] * nox.height,
               rect.global_rect[2] * nox.width, rect.global_rect[3] * nox.height)
        draw.rectangle(xy=box, outline="#00ff00", width=4)
        print(f"Value from SKILL {skill_index}: {nox.get_screen_text(game.ui[f'SKILL_{skill_index}_LABEL'])}")
    rect = game.ui['MELEE_BUTTON'].button
    box = (rect.global_rect[0] * nox.width, rect.global_rect[1] * nox.height,
           rect.global_rect[2] * nox.width, rect.global_rect[3] * nox.height)
    draw.rectangle(xy=box, outline="#00ff00", width=4)
    for tr in range(1, 11):
        threshold = tr / 10.0
        game.ui['MELEE_BUTTON'].threshold = threshold
        print(f"Melee button is on screen: {nox.is_image_on_screen(game.ui['MELEE_BUTTON'])} "
              f"with threshold={threshold}")
    image.show()

Open any battle with your character (skill preview f.e.) and run it.
You should see screenshot similar to this:
image

and log file should containt some info like this:
Value from SKILL 1: 1
Value from SKILL 2: 2
Value from SKILL 3: 3
Value from SKILL 4: 4
Value from SKILL 5: 5
Value from SKILL 6: 6
Melee button is on screen: True with threshold=0.1
Melee button is on screen: True with threshold=0.2
Melee button is on screen: True with threshold=0.3
Melee button is on screen: True with threshold=0.4
Melee button is on screen: True with threshold=0.5
Melee button is on screen: True with threshold=0.6
Melee button is on screen: True with threshold=0.7
Melee button is on screen: True with threshold=0.8
Melee button is on screen: True with threshold=0.9
Melee button is on screen: False with threshold=1.0

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

tmp5xw99chg

Didn't log, but I added a pause to check it.

Value from SKILL 1: 1
Value from SKILL 2: 2
Value from SKILL 3: 3
Value from SKILL 4: 4
Value from SKILL 5: 5
Value from SKILL 6: 6
Melee button is on screen: True with threshold=0.1
Melee button is on screen: True with threshold=0.2
Melee button is on screen: True with threshold=0.3
Melee button is on screen: True with threshold=0.4
Melee button is on screen: True with threshold=0.5
Melee button is on screen: True with threshold=0.6
Melee button is on screen: True with threshold=0.7
Melee button is on screen: False with threshold=0.8
Melee button is on screen: False with threshold=0.9
Melee button is on screen: False with threshold=1.0

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

Melee button is on screen: True with threshold=0.7
Melee button is on screen: False with threshold=0.8
Melee button is on screen: False with threshold=0.9

Doesn't look like 1080p to me. But it's not a big deal, I'll change threshold for 0.7

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

Second iteration done in 1a1f174
Still had 28 UI elements to test (some of them should appear weekly or may be even were removed).
Threshold values should be more flexible now for low resolution.

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

I think I've worked out my issue at least - and I feel a bit stupid.
I've always had mine nox set on mobile phone - and it was fine previously.
I've updated it to tablet, which obviously changes the two h and w figures around for proper FHD.

Would there have been changes to anything that stopped it working on mobile phone mode vs tablet mode in between the updates?

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

I think I've worked out my issue at least - and I feel a bit stupid.
I've always had mine nox set on mobile phone - and it was fine previously.
I've updated it to tablet, which obviously changes the two h and w figures around for proper FHD.

Would there have been changes to anything that stopped it working on mobile phone mode vs tablet mode in between the updates?

Sorry, I'm not sure if I understood correctly. Are you talking about this settings?
image
Are you saying that bot was working fine in mobile phone mode? And now it only works in tablet mode?

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

Yes, that exactly.
I am getting some errors, but I was able to successfully run alliance battles, and danger room. GBR seems to work as well.

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

I've tried this mobile phone mode and saw no difference (yeah H and W are swapped but when you run MFF app emulator changes orientation to 1920x1080 so it works basically the same).
I believe tablet mode is a default mode when you install NoxPlayer, any reason why you changed to mobile mode?

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

I've had it as mobile phone mode mainly because of a previous bot, but also because it took up less screen space really.

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

Well, I'm not really sure but I didn't notice any difference between mobile and tablet modes.

it took up less screen space really.

Usually I'm making NoxPlayer fullscreen and doing Alt+Tab into another window/application. Bot doesn't need to NoxPlayer be actually on screen in order to get image/send clicks. As long as NoxPlayer is not fully minimazed bot can "see" trough other windows.
Making NoxPlayer's actual window lesser size results into similar problems when you set up less then 720p resolution.

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

I have started doing that, and it does seem to help.

One message I have seen the bot recently get stuck on is when you have the maximum number of items (say crystals), but you're still farming for something else in that mission. The bot currently doesn't pick up the error message for that, so it gets stuck. I'll get a picture for you tomorrow.

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

I'll get a picture for you tomorrow.

Fullscreen screnshot of game with this notification would help, thank you. ITEM_MAX_LIMIT_NOTIFICATION is still in "untested" category because I've never encountered it after 7.0.0 update yet.

from mff_auto.

geniusdragon avatar geniusdragon commented on July 16, 2024

2021-04-29

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

Fixed in c2c7aa2

from mff_auto.

tmarenko avatar tmarenko commented on July 16, 2024

UI elements that still haven't been tested:
KICKED_FROM_THE_SYSTEM - rare notification in World Boss Invasion, couldn't get it.
INVASION_FAILED - end of battle situation when you fail in World Boss Invasion. Almost impossible to get because gamemode is so easy nowadays.
RANK_UP_NOTIFICATION_1 - ranking character notification at the end of the mission. Looks like game isn't showing it anymore, at least not in usual mission (got similar in Story mode).
INVENTORY_FULL - should be same.
GBR_FAILURE_DAMAGE_LIST - same situation as with INVASION_FAILED
MAIN_MENU_AD_3 - probably was removed.
MAINTENANCE_NOTICE - need to wait for the next game's update.
BIOMETRICS_NOTIFICATION - no plans for paying again for this.
X_GENE_NOTIFICATION - same.
TL_LEAGUE_NOTIFICATION - probably was removed.
WB_CLOSE_OFFER_AD - probably was removed.
WB_CLOSE_OFFER_AD_OK - probably was removed.

Overall, migration to 7.0.0 UI is done.

from mff_auto.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.