Looking to avoid the constant need for mouse clicks to unlock achievements? Fed up with the hassle of changing spell sets and equipment repeatedly? Sick of the tedious process of hitting space, clicking four specific areas, and then hitting space again? Exhausted by numerous other time-consuming tasks?
Well, your search ends here. I have developed some scripts that can streamline various aspects of your gameplay, saving you from personally enduring these tiresome tasks.
To follow this guide, you will need to have AutoHotkey installed (it’s free, by the way). Don’t worry—I’ll explain everything else in the sections below, and it’s going to significantly simplify your gameplay experience.
Introduction
This guide aims to assist you in automating certain aspects of the game that you may find bothersome. We will be utilizing scripts, but they won’t be in the form of executable files. You have the freedom to edit the scripts yourself, ensuring that no code is concealed from you.
If you have any uncertainties about the function of a particular element, you can refer to the documentation for clarification.
Our tool of choice is AutoHotkey. Although it may not be the simplest program to learn, we’re fortunate to have chatGPT to help us out. What an incredible time we live in, right?
Essentially, AutoHotkey enables the creation of macros for hotkeys, while also incorporating various coding language structures such as loops, if-else statements, and more.
Anyway, let’s move forward because, like you, I tend to skip introductions as well.
How to Handle Scripts in General
To avoid repetitive writing, I will provide the following steps for creating a new script. These instructions should be followed each time you wish to create a script, and it is assumed that you have already installed AutoHotkey.
- Begin by creating a new notepad file.
- Open the newly created file and input the following content
#NoEnv SendMode Input SetWorkingDir %A_ScriptDir% F6::ExitApp F5::Reload
The initial three lines consist of default configurations. Although their exact purpose might relate to stability and compatibility, their specific functionalities are not clear. The third line, which ensures that the working directory corresponds to the script’s location, can be excluded if desired.
Next, we establish the first two hotkeys. F6 is assigned to exit the script, while F5 is designated to reload it. You have the flexibility to modify these hotkeys according to your preference.
3. Alter the file extension from .txt to .ahk.
By modifying the file extension, the notepad file is transformed into a script. To execute the script, simply double-click on it. Pressing F6 will halt its execution, while pressing F5 will run it again (in case any changes have been made). To make edits to the script, right-click on it and choose to open it with notepad. Additionally, any Integrated Development Environment (IDE) can also be used for editing purposes.
AutoClicker
Upon triggering the designated hotkey, this script will immobilize your mouse cursor at its current position and initiate a clicking action at an interval of 5 milliseconds.
c::StartClicks() StartClicks(){ CoordMode, Mouse, Screen MouseGetPos, xpos, ypos Loop { Click, %xpos%, %ypos% Sleep, 5 If(GetKeyState("u", "P")) Break } }
By pressing the “c” key, the following actions will take place:
- The script will establish coordinates, which are relative to the screen or have a similar function. You can directly copy and paste this line of code.
- It will retrieve the x and y coordinates of the mouse cursor.
- A loop will commence, executing clicks on the aforementioned coordinates and then pausing for 5 milliseconds.
- If the user presses the “u” key, the script will cease performing the clicking action.
Feel free to modify these instructions as needed. Remember that pressing F6 at any time will promptly terminate the script, utilizing the functionality we included in step 1.
AutoCollect Dust
This is my typical routine whenever I engage in dust collection. First, I press the space key, then I click on the bowls, and finally, I press the space key again. Here is the corresponding code for this process:
a::autoCollect() autoCollect(){ MouseGetPos, xpos, ypos Send, {Space} Sleep, 100 Click, 1330, 630 Sleep, 50 Click, 1389, 849 Sleep, 50 Click, 516, 624 Sleep, 50 Click, 447, 845 Sleep, 50 Send, {Space} MouseMove, xpos, ypos Return }
Please keep in mind that the provided coordinates are specific to my screen setup. For instance, the initial click targets the bowl located at the top right.
The functionality of this script is quite simple; it emulates the actions you would perform manually. After executing the task, it restores the cursor to its original position.
To simplify your day, I have included a script below that records the coordinates of your mouse and displays them in a message box.
F1::logmouse() logmouse(){ MouseGetPos, MouseX, MouseY MsgBox, %MouseX% %MouseY% Return }
Utilize this script to determine the precise coordinates of the bowls, eliminating the need for guesswork. It allows you to identify the exact positions with accuracy.
Alternate Between Spell Sets
There have been numerous instances where I’ve repetitively pressed Z1 and Z2 quickly to gather voids and other items in order to rapidly gain character experience after entering the realm. This process can now be automated with the following script.
It is important to note that this script only switches between two predefined spellsets of your choosing.
s::startZeds() startZeds() { Send P2 Send {Z Down} loop{ Send {2 Down} Sleep 50 Send {2 Up} Sleep 50 Send {3 Down} Sleep 50 Send {3 Up} Sleep 50 If(GetKeyState("u", "P")){ Send {Z Up} Break } } }
Let’s proceed with an explanation of the script’s functionality. In my setup, I have designated set 2 for my void equipment. Therefore, the script begins by sending the command P2 to equip that specific set.
Additionally, I have assigned my two desired spellsets to slots 2 and 3. Hence, you can observe the presence of the numbers 2 and 3 in the script.
The script initiates by pressing and holding the Z key continuously. It then enters a loop where it performs the following sequence: pressing 2, releasing 2, pressing 3, and finally releasing 3.
The approach may appear somewhat unconventional, but I had to adopt this method due to certain issues in the game. Nevertheless, I can confirm that this approach functions reliably.
Feel free to customize the numbers or make any necessary adjustments according to your preferences and requirements.
AutoBuy and Upgrade
I employ this script when exiling to expedite the process of purchasing sources and upgrades. Additionally, it proves beneficial during burst activities, eliminating the need for continuous manual input such as pressing shift+up and B repeatedly while standing idle.
F12::prep() prep() { Send, {LShift Down} Sleep, 100 loop{ Send, {Up} Sleep, 50 Send, B Sleep, 50 If(GetKeyState("u", "P")){ Send, {LShift Up} Break } } }
As evident, the script maintains the left shift key in a pressed state while continually triggering the up arrow and B key inputs. To cease this loop, simply press the “u” key, which releases the left shift key and halts the script. For convenience, I have assigned the F12 key for this purpose, as it is infrequently used and serves as a memorable shortcut.
It is crucial to remember to stop this script when utilizing other scripts since it keeps the shift button pressed down. Failure to do so may result in unintentional modification of spell sets or conflicting actions if used in conjunction with similar scripts.
Change Sets and Equipments Fast
This script aims to streamline the process of swiftly switching between spell sets and equipment, particularly when they are assigned to the same number. By synchronizing the spell set and equipment numbers, this script simplifies the task and facilitates efficient changes to both simultaneously.
F1::setAny(1) F2::setAny(2) F3::setAny(3) setAny(number) { Send {P Down} Sleep 50 Send {%number% Down} Sleep 50 Send {P Up} Sleep 50 Send {%number% Up} Sleep 50 Send {Z Down} Sleep 50 Send {%number% Down} Sleep 50 Send {Z Up} Sleep 50 Send {%number% Up} Sleep 50 }
The usage of this script is straightforward. Pressing F1 will select spellset 1 and equipment set 1. Similarly, pressing F2 will select spellset 2 and equipment set 2, and so on.
While it would be more straightforward under normal circumstances, Idle Wizard has a peculiar behavior where the game encounters issues unless the “press key down, release key” method is followed. Strangely, the game stores sets in different numbers even when the “shift” key is not pressed. Although the reason behind this behavior remains unknown, this script provides a workaround to ensure proper functionality.
That's everything we are sharing today for this Idle Wizard guide. This guide was originally created and written by MAKAIROSI. In case we fail to update this guide, you can find the latest update by following this link.