Detergent13 / tft-bot

Automate Teamfight Tactics (TFT) for token/mission farming. Updated for Set 11!
GNU Affero General Public License v3.0
82 stars 45 forks source link

Made several changes #6

Closed BadMaliciousPyScripts closed 3 years ago

BadMaliciousPyScripts commented 3 years ago

Changes the buy thing so it uses a combo not just some "random" champs and also some minor changes like added all champions and put them into one folder + (some items).

BadMaliciousPyScripts commented 3 years ago

The next feature should be that it takes items and automatically puts them on the right champion for the combo. Will try to add this in like a few days to a week.

Detergent13 commented 3 years ago

Looks good! I'll test the changes soon, forgot to yesterday.

Great idea on the team comps, I wonder how well we can get CV working for recognising champs since they have animations and whatnot. It might be possible to pull comps from an API/guide like Blitz as well, could be cool but obviously a lot harder.

Rafinhi commented 3 years ago

Hey, i tried it and i see error:

Traceback (most recent call last):
  File "E:\\tft-bot\tft.py", line 315, in <module>
    main.queue()

  File "E:\\tft-bot\tft.py", line 209, in queue
    main.loading()

  File "E:\\tft-bot\tft.py", line 216, in loading
    main.start()

  File "E:\\tft-bot\tft.py", line 224, in start
    main.main()

  File "E:\\tft-bot\tft.py", line 251, in main
    main.buy(1)

  File "E:\\tft-bot\tft.py", line 228, in buy
    wanted_champs = main.get_combo(1)

  File "E:\\tft-bot\tft.py", line 242, in get_combo
    if file[set]["Champions"][x]:

NameError: name 'file' is not defined
BadMaliciousPyScripts commented 3 years ago

Hey, i tried it and i see error:

Traceback (most recent call last):
  File "E:\\tft-bot\tft.py", line 315, in <module>
    main.queue()

  File "E:\\tft-bot\tft.py", line 209, in queue
    main.loading()

  File "E:\\tft-bot\tft.py", line 216, in loading
    main.start()

  File "E:\\tft-bot\tft.py", line 224, in start
    main.main()

  File "E:\\tft-bot\tft.py", line 251, in main
    main.buy(1)

  File "E:\\tft-bot\tft.py", line 228, in buy
    wanted_champs = main.get_combo(1)

  File "E:\\tft-bot\tft.py", line 242, in get_combo
    if file[set]["Champions"][x]:

NameError: name 'file' is not defined

Thats my bad Will fix it give me a minute ^^

This error was published cause I am not actually testing my code most of the time so well if you find more such errors caused by me write me on Discord: VanargandTheLoliGod#0007 This one was actually cause I first thought about using a local json file but I then thought it would be easier to maintain with a global file you just have to request.

Detergent13 commented 3 years ago

Still having some issues with reliability on the new changes- sometimes it won't identify that it's in the match, not sure if that's due to it not finding 1-1.png or hanging on the queue accept logic. But sometimes works completely fine for a match or two. I'll keep testing and see if I can figure it out, I feel like we're super close to getting it working though.

Rafinhi commented 3 years ago

What if we ignored first carousel then (the 1-1 one), and checked in game status from some static element of interface (which never changes in game/changes very late, like the far right spot on bench/the gold pile/settings button)?

Detergent13 commented 3 years ago

What if we ignored first carousel then (the 1-1 one), and checked in game status from some static element of interface (which never changes in game/changes very late, like the far right spot on bench/the gold pile/settings button)?

If the issue is that it's missing 1-1.png, it's probably that the capture/tolerance is off, rather than a timing issue.

I think the issue is that we're missing the Accepted! status in some cases, which then never gets to the Not in queue! check, meaning that we never break out of the while True loop. Currently fiddling around with the delay to see if a larger or smaller sleep might help.

Detergent13 commented 3 years ago

What if we ignored first carousel then (the 1-1 one), and checked in game status from some static element of interface (which never changes in game/changes very late, like the far right spot on bench/the gold pile/settings button)?

If the issue is that it's missing 1-1.png, it's probably that the capture/tolerance is off, rather than a timing issue.

I think the issue is that we're missing the Accepted! status in some cases, which then never gets to the Not in queue! check, meaning that we never break out of the while True loop. Currently fiddling around with the delay to see if a larger or smaller sleep might help.

No clue what the issue is anymore lol, I'll probably just slap a lazy solution on it with CV when I get the chance and call it fixed

Rafinhi commented 3 years ago

Lazy solution is the best solution