Download Mini Mouse Macro for free. Light weight mouse and keyboard macro recording machine. Mini Mouse Macro is a great free mouse and keyboard recording macro. Mini Mouse Macro if different to other mouse macro's out there because it can actively record your mouse movements, clicks and keys. Bajheera - CLICKER HEROES: Razer Synapse Auto-Clicker Macro Guide - Free, Safe, & Easy!:D. Razer HyperFlux vs Logitech Powerplay vs Corsair MM1000 & Dark. Ever wondered what one quadrillion damage per second feels like? Come play Clicker Heroes and embark on your quest to attain it today!
- Common Issues and Questions
What is this?
This project uses the cross-platform module pynput to control the mouse and monitor the keyboard at the same time to create a simple auto clicker.
PIP
If you haven't used or setup pip before, look at my tutorial on how to setup python's pip to setup pip.
Installing Pynput
We will be using the pynput module to listen to mouse events. To install this module execute pip install pynput
in cmd. Watch the output to make sure no errors have occurred; it will tell you when the module has been successfully installed.
To double-check that it was installed successfully, open up IDLE and execute the command import pynput
; no errors should occur.
.
Writing the Code
First, we need to import time and threading. Easy macro recorder portable. Then import Button and Controller from pynput.mouse so we can control the mouse and import Listener and KeyCode from pynput.keyboard so we can watch for keyboard events to start and stop the auto clicker.
Next create four variables as shown below. 'delay' will be the delay between each button click. 'button' will be the button to click, this can be either 'Button.left', 'Button.right' or even 'Button.middle'. 'start_stop_key' is the key you want to use to start and stop the auto clicker. I have set it to the key 's' to make it nice and simple, you can use any key here. Finally, the 'exit_key' is the key to close the program set it like before, but make sure it is a different key.
Now create a class that extends threading.Thread that will allow us to control the mouse clicks. Pass they delay and button to this and have two flags that determine whether it is running or if the whole program is stopping.
Next, add the methods shown below to control the thread externally.
Now we need to create the method that is run when the thread starts. We need to keep looping while the program_running is true and then create another loop inside that checks if the running is set to true. If we are inside both loops, click the set button and then sleep for the set delay.
Now we want to create an instance of the mouse controller, create a ClickMouse thread and start it to get into the loop in the run method.
Now create a method called on_press that takes a key as an argument and setup the keyboard listener.
Now modify the on_press method. If the key pressed is the same as the start_stop_key, stop clicking if the running flag is set to true in the thread otherwise start it. If the key pressed is the exit key, call the exit method in the thread and stop the listener. The new method will look like this:
This script can be saved as a .pyw to run in the background. It can easily be still closed using the set exit key even when no dialog is shown.
Using the Script
To use this script set the variables at the top to what you want.
delay
: They delay between each mouse click (in seconds)button
: The mouse button to click;Button.left
|Button.middle
|Button.right
start_stop_key
: They key to start and stop clicking. Make sure this is either from the Key class or set using a KeyCode as shown.exit_key
: The key to stop the program. Make sure this is either from the Key class or set using a KeyCode as shown.
Then run the script and use the start/stop key when wanted. Press the set exit key to exit.
Final Code
Common Issues and Questions
ModuleNotFoundError/ImportError: No module named 'pynput'
Did you install pynput? This error will not occur if you installed it properly. If you have multiple versions of Python, make sure you are installing pynput on the same version as what you are running the script with.
I got a SyntaxError
Syntax errors are caused by you and there is nothing I can offer to fix it apart from telling you to read the error. They always say where the error is in the output using a ^. Generally, people that get this issue have incorrect indentation, brackets in the wrong place or something spelt wrong. You can read about SyntaxError on Python's docs here.
'python' is not recognized as an internal or external command
Python hasn't been installed or it hasn't been installed properly. Go to /blog/post/how-to-setup-pythons-pip/ and follow the tutorial. Just before you enter the scripts folder into the path variable, remove the 'scripts' part at the end. You will also want to add another path with 'scripts' to have pip.
Edited 11/08/18: Added Python 2 support
What is the easiest method to level ancients?
If you press on the number in the change field, the number changes to a long format and is automatically selected for copying. If you hold 'v' when clicking on the corresponding ancient's purchase button, an input field will pop up. Paste the number you just copied into this field, and press 'Ok'.
Why does the calculator tell me to level Morgulis more than I am able to?
It probably doesn't. If you have the outsider Chor'gorloth leveled, all ancients become cheaper, including Morgulis. This means that one level in Morgulis costs less than one soul when buying in bulk.
After buying the recommended ancients, why do I have more souls left over than the calculator predicts?
Firstly, when you have many souls to spend the calculator will over-estimate the cost of a few ancients with a 'difficult' cost formula. This approximation is accurate enough to yield very good recommendations; calculating it precisely often does not actually make a difference in regard to the number of levels recommended. Only the predicted cost becomes more accurate. Secondly, when you have only few souls to spend the predicted cost is accurate as far as the cost formulae go; there appear to be some issues in-game where an ancient sometimes costs one soul less or more than it should.
What does this 'best hero will be leveled beyond 8,000' mean?
Clicker Heroes Macro Download
Level 8,000 is the last level where heroes get a x10 multiplier to their damage. After level 8,000 their damage increase factor is reduced. This affects the optimal distribution of ancient levels. If you level a hero beyond level 8,000 and cannot afford a better hero that has a lower level, then check this box.
What hybrid ratio should I go with?
Clicker Heroes Macro Mod
This depends on your personal play style. A good starting point is to go with a ratio of 0.5. This works well if you usually push at the end of a run. If you notice you do not often push, drop to a lower ratio. If you notice you often push for many zones, go higher. Perhaps you only idle at the very start of an ascension. In that case, going higher than a ratio of 1 makes sense.