Open BoredCoder95 opened 1 year ago
Hi, late response excuse me. Now it supports up to 18 characters. Technically it can do the max character number (24?), but some lines need to be changed in switchToCharacter().
Thanks for the recommendation!
I edited my copy to be able to run up to the full 24 characters
in "config.py", add to the end of the config ={}
"SwitchCharactersX": 540,
"SwitchCharactersY": 682,
# Scroll Up
"CharacterScrollUpX": 1260,
"CharacterScrollUpY": 392,
# Scroll Down
"CharacterScrollDownX": 1260,
"CharacterScrollDownY": 639,
# Switch Characters Connect
"CharacterConnectX": 1022,
"CharacterConnectY": 684,
"CharacterConnectOkX": 915,
"CharacterConnectOkY": 583,
# row 1
"Character0X": 760,
"Character0Y": 435,
"Character1X": 970,
"Character1Y": 435,
"Character2X": 1150,
"Character2Y": 435,
# row 2
"Character3X": 760,
"Character3Y": 525,
"Character4X": 970,
"Character4Y": 525,
"Character5X": 1150,
"Character5Y": 525,
# row 3
"Character6X": 760,
"Character6Y": 615,
"Character7X": 970,
"Character7Y": 615,
"Character8X": 1150,
"Character8Y": 615,
in "bot.py", define a new switch character function, I put this right under the original so as to ensure its defined prior to being referenced
def switchToCharacterNew(index):
sleep(1500, 1600)
print("switching to {}".format(index))
pyautogui.press('esc')
sleep(1500, 1600)
pydirectinput.click(x=config["SwitchCharactersX"], y=config["SwitchCharactersY"], button="left")
sleep(500, 600)
pydirectinput.click(x=config["CharacterScrollUpX"], y=config["CharacterScrollUpY"], button="left")
sleep(500, 600)
pydirectinput.click(x=config["CharacterScrollUpX"], y=config["CharacterScrollUpY"], button="left")
sleep(500, 600)
pydirectinput.click(x=config["CharacterScrollUpX"], y=config["CharacterScrollUpY"], button="left")
sleep(500, 600)
pydirectinput.click(x=config["CharacterScrollUpX"], y=config["CharacterScrollUpY"], button="left")
sleep(500, 600)
pydirectinput.click(x=config["CharacterScrollUpX"], y=config["CharacterScrollUpY"], button="left")
sleep(500, 600)
pydirectinput.click(x=config["CharacterScrollUpX"], y=config["CharacterScrollUpY"], button="left")
sleep(500, 600)
pydirectinput.click(x=config["CharacterScrollUpX"], y=config["CharacterScrollUpY"], button="left")
sleep(1500, 1600)
# Rows 1-3
if index==0:
pydirectinput.click(x=config["Character0X"], y=config["Character0Y"], button="left")
elif index==1:
pydirectinput.click(x=config["Character1X"], y=config["Character1Y"], button="left")
elif index==2:
pydirectinput.click(x=config["Character2X"], y=config["Character2Y"], button="left")
elif index==3:
pydirectinput.click(x=config["Character3X"], y=config["Character3Y"], button="left")
elif index==4:
pydirectinput.click(x=config["Character4X"], y=config["Character4Y"], button="left")
elif index==5:
pydirectinput.click(x=config["Character5X"], y=config["Character5Y"], button="left")
elif index==6:
pydirectinput.click(x=config["Character6X"], y=config["Character6Y"], button="left")
elif index==7:
pydirectinput.click(x=config["Character7X"], y=config["Character7Y"], button="left")
elif index==8:
pydirectinput.click(x=config["Character8X"], y=config["Character8Y"], button="left")
# Row 4
elif index==9:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character6X"], y=config["Character6Y"], button="left")
elif index==10:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character7X"], y=config["Character7Y"], button="left")
elif index==11:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character8X"], y=config["Character8Y"], button="left")
# Row 5
elif index==12:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character6X"], y=config["Character6Y"], button="left")
elif index==13:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character7X"], y=config["Character7Y"], button="left")
elif index==14:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character8X"], y=config["Character8Y"], button="left")
# Row 6
elif index==15:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character6X"], y=config["Character6Y"], button="left")
elif index==16:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character7X"], y=config["Character7Y"], button="left")
elif index==17:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character8X"], y=config["Character8Y"], button="left")
# Row 7
elif index==18:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character6X"], y=config["Character6Y"], button="left")
elif index==19:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character7X"], y=config["Character7Y"], button="left")
elif index==20:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character8X"], y=config["Character8Y"], button="left")
# Row 8
elif index==21:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character6X"], y=config["Character6Y"], button="left")
elif index==22:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character7X"], y=config["Character7Y"], button="left")
elif index==23:
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["CharacterScrollDownX"], y=config["CharacterScrollDownY"], button="left")
sleep(200, 300)
pydirectinput.click(x=config["Character8X"], y=config["Character8Y"], button="left")
sleep(1500, 1600)
pydirectinput.click(x=config["CharacterConnectX"], y=config["CharacterConnectY"], button="left")
sleep(1500, 1600)
pydirectinput.click(x=config["CharacterConnectOkX"], y=config["CharacterConnectOkY"], button="left")
sleep(25000, 26000)
states["currentCharacter"] = index
states["abilityScreenshots"] = []
sleep(10000, 12000)
if config["GFN"] == True:
sleep(8000, 9000)
Comment out any functions calls to the original switch character function, and call the new one instead
#switchToCharacter(config["mainCharacter"])
switchToCharacterNew(config["mainCharacter"])
Readme says this only works for 9 characters. Not sure if that was intended, or simply due to not programming in the scrolling function to be able to swap to characters past the first page on the "Switch Characters" menu. The attached was my take on making it support up to 24 characters. Granted I'm not very experienced with Python, so it's likely not optimized, but I have tested the function and it was able to log into 13 characters without a hitch, so I'm reasonably confident this would work.
Basically just uses the x,y of the 9 characters on the first page, then for characters 10-24, it hits the scroll down button just enough times to make the row of "index" visible as the bottom row, and uses the x,y for positions 7-9 to select them.
def switchtocharacter.txt config.txt