Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for more than 9 characters #33

Open
BoredCoder95 opened this issue Jan 29, 2023 · 2 comments
Open

Support for more than 9 characters #33

BoredCoder95 opened this issue Jan 29, 2023 · 2 comments

Comments

@BoredCoder95
Copy link

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

@any-other-guy
Copy link
Owner

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!

@BoredCoder95
Copy link
Author

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"])

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants