es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cuando se utiliza MineCraft, PyAutoGUI no moverá el ratón a menos que ya esté en movimiento.

Tengo un script que explota en MineCraft y ocasionalmente coloca una antorcha a sus pies. Estoy usando PyAutoGUI para mover el ratón desde enfrente del jugador hasta debajo del jugador, colocar una antorcha, moverla de vuelta y continuar explotando. El problema es que no moverá el ratón hacia abajo a menos que ya esté en movimiento (por ejemplo, si estoy moviendo el ratón un poco, entonces funcionará). De lo contrario, simplemente se queda quieto.

Código (he comentado las partes que no tienen que ver con colocar una antorcha):

def explotar():
    count = 0
    while not found_diamonds:
        # if keyboard.is_pressed('q'):
            # break
        # pyautogui.keyDown('w')
        # pyautogui.mouseDown()
        count += 1
        if count >= 20:
            count = 0
            pyautogui.mouseUp()
            es.wait(0.01)
            pyautogui.moveRel(00, 500)
            es.wait(0.01)
            pyautogui.rightClick()
            es.wait(0.01)
            pyautogui.moveRel(00, -400)
            time.sleep(0.01)

Gracias de antemano.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El problema con el script es que PyAutoGUI no puede mover el ratón hacia abajo a menos que ya esté en movimiento. Una solución a este problema es usar “pyautogui.mouseDown()” antes de mover el ratón hacia abajo y “pyautogui.mouseUp()” después de mover el ratón hacia abajo.

    A continuación se muestra un código actualizado que debería funcionar:

    import pyautogui
    import time
    
    def mine():
        count = 0
        while not found_diamonds:
            count += 1
            if count >= 20:
                count = 0
                pyautogui.mouseUp()
                pyautogui.mouseDown() # agregando mouseDown para comenzar el movimiento del ratón
                time.sleep(0.01)
                pyautogui.moveRel(0, 500)
                time.sleep(0.01)
                pyautogui.rightClick()
                time.sleep(0.01)
                pyautogui.moveRel(0, -400)
                pyautogui.mouseUp() # agregando mouseUp para detener el movimiento del ratón
    

    Con suerte, esta solución resuelve el problema.

Comments are closed.