Exemple #1
0
def random_click(min_x, max_x, min_y, max_y):
    """
    Réalise un clique gauche souris aléatoirement dans la zone indiquée
    """
    random_x = min_x + random.random() * (max_x - min_x)
    random_y = min_y + random.random() * (max_y - min_y)
    # On définit la souris, on la place et on clique
    mouse = Controller()
    mouse.position = (random_x, random_y)
    time.sleep(
        tempo_infos('mouse_tempo') +
        random.random() * tempo_infos('mouse_tempo'))
    mouse.click(Button.left)
Exemple #2
0
def ressource_get(position):
    """
    Réalise le traitement de la ressource à la position indiquée (0 à 13)
    /! peut ne pas être valable si l'appel est fait pour les position 11, 12
    ou 13 et que la ressource concernée n'a que 1 ou 2 lots
    """
    # On fait un random click pour s'assurer qu'on est sur la fenêtre
    null_click()

    # Si la ressource n'est pas en bas de l'écran
    if position in range(11):
        # On ouvre la fenêtre de la ressource et on récupère ses données
        ressource_click(position)
        time.sleep(tempo_infos('lag_tempo'))
        ressource_treatment(position)

        # On ferme la fenêtre de la ressource
        ressource_click(position)
        time.sleep(tempo_infos('lag_tempo'))

    # Si la ressource est en bas de l'ecran
    else:
        # On ouvre la fenêtre de la ressource
        ressource_click(position)
        time.sleep(tempo_infos('lag_tempo'))

        # On scroll une fois vers le bas de sorte à afficher toutes les valeurs
        scroll_down()
        time.sleep(tempo_infos('scroll_tempo'))

        # On compte combien de ligne de lot sont visibles dans la plage
        compte_lots = nbr_lots(position - 3)

        # On applique l'algorithme de récupération des données en Fonction
        ressource_treatment(position - compte_lots)

        # On ferme la fenêtre de la ressource
        ressource_click(position - compte_lots)
        time.sleep(tempo_infos('lag_tempo'))
Exemple #3
0
def open_rune_shop():
    """
    Permet d'ouvrir l'hôtel de vente des runes de brakmar et de le préparer
    pour la récupération des prix des runes
    """
    # Permet d'avoir des cliques souris adéquats
    change_pixelisation()

    # Placement de la souris sur l'hôtel de vente
    mickey = mouse.Controller()
    brak_rune_x = screen_infos('brak_rune_x')
    brak_rune_y = screen_infos('brak_rune_y')
    mickey.position = (brak_rune_x, brak_rune_y)
    # Clique
    mickey.click(mouse.Button.left)
    time.sleep(tempo_infos('shop_tempo'))

    # Placement de la souris sur la tickbox pour l'affichage des runes
    rune_box_x = screen_infos('rune_box_x')
    rune_box_y = screen_infos('rune_box_y')
    mickey.position = (rune_box_x, rune_box_y)
    # Clique
    mickey.click(mouse.Button.left)
    time.sleep(tempo_infos('shop_tempo'))
Exemple #4
0
def scroll_whole_selection():
    """
    Parcours toute la selection actuelle de l'hotel des vente
    A lancer quand l'hdv est ouvert sans ressource selectionnée
    """
    # Permet d'interrompre le programme avec un appui sur echap
    escape_on_escape()

    # Tant qu'on est pas en bas de l'hdv
    bottom = False
    while not bottom:
        # On capture les 3 premières ressources
        add_top_ressources(3)

        # On scroll et on vérifie si on est en bas de l'hdv
        scroll_down()
        time.sleep(tempo_infos('scroll_tempo'))
        bottom = end_of_scroll()

    # Une fois qu'on est en bas, on capture les 14 premières ressources
    # (donc toutes celles affichées à l'ecran). Cela entraine 0 1 ou 2
    # doublons d'entrées dans la base, mais ce n'est pas un problème
    add_top_ressources(14)
Exemple #5
0
def open_dofus():
    """
    Permet d'ouvrir dofus et de se connecter
    Les identifiants doivent être stockés là :
    Sous ce format :
    Le répertoire contenant dofus.exe doit être ajouté au PATH windows
    """
    escape_on_escape()

    # Ajout du clavier
    typing_device = keyboard.Controller()

    time.sleep(tempo_infos('init_tempo'))

    # Appel de windows+R
    with typing_device.pressed(keyboard.Key.cmd):
        use_key(typing_device, 'r')

    time.sleep(tempo_infos('quick_tempo'))

    # Lancement de dofus
    typing_device.type('dofus')
    use_key(typing_device, keyboard.Key.enter)

    time.sleep(tempo_infos('launch_tempo'))
    # Vérification plein écran windows+arrow up
    with typing_device.pressed(keyboard.Key.cmd):
        use_key(typing_device, keyboard.Key.up)

    # Passage de la popup "lancement sans launcher"
    use_key(typing_device, keyboard.Key.enter)

    time.sleep(tempo_infos('quick_tempo'))
    # Saisie du mot de passe
    typing_device.type(password())
    # Connexion
    use_key(typing_device, keyboard.Key.enter)
    time.sleep(tempo_infos('char_tempo'))
    # Validation personnage (si nécessaire)
    use_key(typing_device, keyboard.Key.enter)
    time.sleep(tempo_infos('log_tempo'))