AHK extension for PoE, includes the PoEapikit application as a reference implementation. See ahk/PoEapikit.ahk for details.
Compiled with MinGW64, G++ 10.2.
AHK extension for PoE, also provides a PoEapikit application.
License: GNU General Public License v3.0
I haven't seen an option to customize the autopicker, right now it seems he would pick up every rgb linked item and rare sets. is there a way to get rid of that?
Thanks for the tool btw, it's pretty good ;-)
edit: ah i guess I found sth, which strict level is very strict?
often times i am left with a div card on my cursor that i need to manually deposit when opening stacked decks, can you shorten the amount of inventory space by 1 to prevent this?
yeah...
I noticed that the apikit performs a reading of the map mods when entering the maps. It occurred to me that it would be possible to change in some AHK so that when you press alt on a map, it marks with a square in red map mods configured as "don't do this" (reflect elemental damage, cannot leech life from monsters and etc).
ps: I used the issues category, but a suggestion for improvement/doubt certainly shouldn't be allocated here, sorry.
Regular crashes on Blight and Blight map Encounters .
THANK YOU FOR ALL THE HARD WORK YOU DO!!! you have made POE playable again =)
i have no experience with visual studio but i made lots of ahk scripts in the past. is it possible to write custom features in ahk myself?
like auto summon golems etc?
I unzipped it like this: https://puu.sh/Juri8/a1d6ca088f.png and nothing happens when I try to press ctrl+D for heist curio pricecheck or F9 to open the crafter.
Did I unzip it incorrectly or are the features just not working yet for 3.20?
when i run the script it is breaking and i can't run.
It worked perfectly but in the last week it stopped, I've tried everything but without success, does anyone know how to solve it?
Cannot figure out the issue, i removed all the input in settings and poeapiki.ahk, still the same issue, at some point the script locks the mouse, makes the game stutter and then the script crashes...
When we send a trade whisper and get in a party there is this pop-up that shows with couple options.. one of the options is to leave the party, when we click on it nothing happens
Recent update broke the map hack/overaly for heist missions.
Chests no longer have that sweet title above them saying what is inside before I open them. Please fix.
map hack doenst work, pls fix for us ♥
Some things including flasks broke after this mornings hotfix
Need more option about Instant HP flask
such as duration = 0
thanks for sharing your work.
New patch 3.22.2 batch broke many offsets
Just when all the fun started...
New 3.19.1 patch broke preload/mh
Many Offsets are broken :( with latest update
3.25 new patch please update offsets please please
just map reveal working in this new version for me, how to fix?
I had to make a few changes to make.bat and install mingw64 in a specific way to get things to compile.
Using the mingw64 installer located at 'https://github.com/Vuniverse0/mingwInstaller/releases/download/1.0.1/mingwInstaller.exe' allows a simple GUI interface.
When installing choose the options
Version: 12.2
Architecture: 64bit
Thread Model: POSIX
Exceptions: seh
Revision: Rev0
Directory: Anywhere, I chose root c:\
the modified batch file is as follows
g++ -g -std=c++14 -Iinclude -Llib -shared -o poeapi.dll -Wa,-mbig-obj PoETask.cpp -lahkpp -lpsapi -lgdi32 -ldwmapi -lwinmm -ld3d11 -ldcomp -ld2d1 -ldwrite -liphlpapi -lsqlite3 -lcurl -funwind-tables -fexceptions -frtti
Then run the batch file from the mingw64 environment by running the mingw.bat file in the C:\mingw64\ folder.
(to the maintainer) I didn't see a need to make a whole new fork to basically change a batch file and I figured people having trouble compiling would go to the issues first.
any one else having weird issues with the AHK
Some features like auto pickup, stash/unstash, divination card turn in, etc, stopped working after the 3.24.3 patch.
Can it be related to the graphics changes? (render resolution settings).
on fully juiced map, every guy using program have same issue, just closing in almost same time, can crash few times per map,
and autoloot seems bugged, can loot few items per press "a" and stop, or can loot stuff for 10-20 seconds.
ahk Version 1.1.33.09
in previous league works properly
Running the make.bat file only gives me the bottom error.
My question is how did you installed gcc in windows. I used chocolatey choco install mingw --version=10.2.0
gcc -v
Using built-in specs.
COLLECT_GCC=C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/programdata/chocolatey/lib/mingw/tools/install/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/10.2.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../gcc-10.2.0/configure --build=x86_64-w64-mingw32 --disable-multilib --enable-64bit --prefix=/mingw64 --with-sysroot=/mingw64 --disable-shared --enable-static --disable-nls --enable-version-specific-runtime-libs --disable-win32-registry --without-dwarf2 --enable-sjlj-exceptions --enable-fully-dynamic-string --enable-languages=c,ada,lto,c++,d,objc,obj-c++,fortran --enable-libgomp --enable-lto --enable-libssp -enable-gnattools --enable-bootstrap --with-gcc --with-gnu-as --with-gnu-ld --with-stabs --enable-interwork --with-mpfr-include=/home/betta/gcc-build/../gcc-10.2.0/mpfr/src --with-mpfr-lib=/home/betta/gcc-build/mpfr/src/.libs --enable-objc-gc --with-target-bdw-gc=/mingw64 --disable-dependency-tracking
Thread model: win32
Supported LTO compression algorithms: zlib
gcc version 10.2.0 (GCC)
this is the error with make.bat
In file included from PoE.cpp:22,
from PoETask.cpp:7:
Hud.cpp:15:10: error: 'mutex' in namespace 'std' does not name a type
15 | std::mutex thread_mutex;
| ^~~~~
Hud.cpp:12:1: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
11 | #include "Canvas.cpp"
+++ |+#include <mutex>
12 |
Hud.cpp: In member function 'void Hud::render_thread_proc()':
Hud.cpp:41:30: error: 'mutex' is not a member of 'std'
41 | std::lock_guard<std::mutex> guard(thread_mutex);
| ^~~~~
Hud.cpp:41:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
Hud.cpp:41:30: error: 'mutex' is not a member of 'std'
Hud.cpp:41:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
Hud.cpp:41:35: error: template argument 1 is invalid
41 | std::lock_guard<std::mutex> guard(thread_mutex);
| ^
Hud.cpp:41:43: error: 'thread_mutex' was not declared in this scope
41 | std::lock_guard<std::mutex> guard(thread_mutex);
| ^~~~~~~~~~~~
Hud.cpp: In constructor 'Hud::Hud()':
Hud.cpp:76:14: error: 'thread' is not a member of 'std'
76 | std::thread render_thread(&Hud::render_thread_proc, std::ref(*this));
| ^~~~~~
Hud.cpp:12:1: note: 'std::thread' is defined in header '<thread>'; did you forget to '#include <thread>'?
11 | #include "Canvas.cpp"
+++ |+#include <thread>
12 |
Hud.cpp:77:9: error: 'render_thread' was not declared in this scope; did you mean 'render_thread_proc'?
77 | render_thread.detach();
| ^~~~~~~~~~~~~
| render_thread_proc
Hud.cpp: In member function 'void Hud::stop()':
Hud.cpp:90:30: error: 'mutex' is not a member of 'std'
90 | std::lock_guard<std::mutex> guard(thread_mutex);
| ^~~~~
Hud.cpp:90:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
Hud.cpp:90:30: error: 'mutex' is not a member of 'std'
Hud.cpp:90:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
Hud.cpp:90:35: error: template argument 1 is invalid
90 | std::lock_guard<std::mutex> guard(thread_mutex);
| ^
Hud.cpp:90:43: error: 'thread_mutex' was not declared in this scope
90 | std::lock_guard<std::mutex> guard(thread_mutex);
| ^~~~~~~~~~~~
In file included from InGameData.cpp:9,
from RemoteMemoryObject.cpp:181,
from PoE.cpp:24,
from PoETask.cpp:7:
Parallel.cpp: At global scope:
Parallel.cpp:55:22: error: 'thread' is not a member of 'std'
55 | std::vector<std::thread> pool;
| ^~~~~~
Parallel.cpp:7:1: note: 'std::thread' is defined in header '<thread>'; did you forget to '#include <thread>'?
6 | #include <condition_variable>
+++ |+#include <thread>
7 | #include <thread>
Parallel.cpp:55:22: error: 'thread' is not a member of 'std'
55 | std::vector<std::thread> pool;
| ^~~~~~
Parallel.cpp:55:22: note: 'std::thread' is defined in header '<thread>'; did you forget to '#include <thread>'?
Parallel.cpp:55:28: error: template argument 1 is invalid
55 | std::vector<std::thread> pool;
| ^
Parallel.cpp:55:28: error: template argument 2 is invalid
Parallel.cpp:56:10: error: 'mutex' in namespace 'std' does not name a type
56 | std::mutex task_queue_mutex;
| ^~~~~
Parallel.cpp:7:1: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
6 | #include <condition_variable>
+++ |+#include <mutex>
7 | #include <thread>
Parallel.cpp:58:10: error: 'condition_variable' in namespace 'std' does not name a type
58 | std::condition_variable cv;
| ^~~~~~~~~~~~~~~~~~
Parallel.cpp:7:1: note: 'std::condition_variable' is defined in header '<condition_variable>'; did you forget to '#include <condition_variable>'?
6 | #include <condition_variable>
+++ |+#include <condition_variable>
7 | #include <thread>
Parallel.cpp: In member function 'void Parallel<T>::init_tasks()':
Parallel.cpp:17:18: error: 'thread' is not a member of 'std'
17 | std::thread t(&Parallel::task_routine, std::ref(*this));
| ^~~~~~
Parallel.cpp:17:18: note: 'std::thread' is defined in header '<thread>'; did you forget to '#include <thread>'?
Parallel.cpp:18:13: error: 't' was not declared in this scope
18 | t.detach();
| ^
Parallel.cpp: In member function 'void Parallel<T>::task_routine()':
Parallel.cpp:31:39: error: 'mutex' is not a member of 'std'
31 | std::unique_lock<std::mutex> lock(task_queue_mutex);
| ^~~~~
Parallel.cpp:31:39: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
Parallel.cpp:31:39: error: 'mutex' is not a member of 'std'
Parallel.cpp:31:39: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
Parallel.cpp:31:44: error: template argument 1 is invalid
31 | std::unique_lock<std::mutex> lock(task_queue_mutex);
| ^
Parallel.cpp:31:51: error: 'task_queue_mutex' was not declared in this scope; did you mean 'task_queue'?
31 | std::unique_lock<std::mutex> lock(task_queue_mutex);
| ^~~~~~~~~~~~~~~~
| task_queue
Parallel.cpp:36:17: error: 'cv' was not declared in this scope
36 | cv.wait(lock, [this]() {
| ^~
Parallel.cpp: In member function 'void Parallel<T>::add_task(T)':
Parallel.cpp:73:31: error: 'mutex' is not a member of 'std'
73 | std::unique_lock<std::mutex> lock(task_queue_mutex);
| ^~~~~
Parallel.cpp:73:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
Parallel.cpp:73:31: error: 'mutex' is not a member of 'std'
Parallel.cpp:73:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
Parallel.cpp:73:36: error: template argument 1 is invalid
73 | std::unique_lock<std::mutex> lock(task_queue_mutex);
| ^
Parallel.cpp:73:43: error: 'task_queue_mutex' was not declared in this scope; did you mean 'task_queue'?
73 | std::unique_lock<std::mutex> lock(task_queue_mutex);
| ^~~~~~~~~~~~~~~~
| task_queue
Parallel.cpp:76:9: error: 'cv' was not declared in this scope
76 | cv.notify_one();
| ^~
Parallel.cpp: In member function 'void Parallel<T>::start()':
Parallel.cpp:93:14: error: 'thread' is not a member of 'std'
93 | std::thread t(&Parallel::init_tasks, std::ref(*this));
| ^~~~~~
Parallel.cpp:93:14: note: 'std::thread' is defined in header '<thread>'; did you forget to '#include <thread>'?
Parallel.cpp:94:9: error: 't' was not declared in this scope
94 | t.detach();
| ^
Parallel.cpp: In member function 'void Parallel<T>::stop()':
Parallel.cpp:99:35: error: 'mutex' is not a member of 'std'
99 | std::unique_lock<std::mutex> lock(task_queue_mutex);
| ^~~~~
Parallel.cpp:99:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
Parallel.cpp:99:35: error: 'mutex' is not a member of 'std'
Parallel.cpp:99:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
Parallel.cpp:99:40: error: template argument 1 is invalid
99 | std::unique_lock<std::mutex> lock(task_queue_mutex);
| ^
Parallel.cpp:99:47: error: 'task_queue_mutex' was not declared in this scope; did you mean 'task_queue'?
99 | std::unique_lock<std::mutex> lock(task_queue_mutex);
| ^~~~~~~~~~~~~~~~
| task_queue
Parallel.cpp:101:13: error: 'cv' was not declared in this scope
101 | cv.notify_all();
| ^~
In file included from RemoteMemoryObject.cpp:181,
from PoE.cpp:24,
from PoETask.cpp:7:
InGameData.cpp: At global scope:
InGameData.cpp:55:10: error: 'mutex' in namespace 'std' does not name a type
55 | std::mutex entity_list_mutex;
| ^~~~~
InGameData.cpp:11:1: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
10 | #include "Terrain.cpp"
+++ |+#include <mutex>
11 |
InGameData.cpp:56:10: error: 'mutex' in namespace 'std' does not name a type
56 | std::mutex ignored_entities_mutex;
| ^~~~~
InGameData.cpp:56:5: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
56 | std::mutex ignored_entities_mutex;
| ^~~
InGameData.cpp: In member function 'void InGameData::foreach(int, addrtype)':
InGameData.cpp:65:35: error: 'mutex' is not a member of 'std'
65 | std::unique_lock<std::mutex> lock(ignored_entities_mutex);
| ^~~~~
InGameData.cpp:65:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
InGameData.cpp:65:35: error: 'mutex' is not a member of 'std'
InGameData.cpp:65:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
InGameData.cpp:65:40: error: template argument 1 is invalid
65 | std::unique_lock<std::mutex> lock(ignored_entities_mutex);
| ^
InGameData.cpp:65:47: error: 'ignored_entities_mutex' was not declared in this scope; did you mean 'ignored_entities'?
65 | std::unique_lock<std::mutex> lock(ignored_entities_mutex);
| ^~~~~~~~~~~~~~~~~~~~~~
| ignored_entities
InGameData.cpp:81:35: error: 'mutex' is not a member of 'std'
81 | std::unique_lock<std::mutex> lock(ignored_entities_mutex);
| ^~~~~
InGameData.cpp:81:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
InGameData.cpp:81:35: error: 'mutex' is not a member of 'std'
InGameData.cpp:81:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
InGameData.cpp:81:40: error: template argument 1 is invalid
81 | std::unique_lock<std::mutex> lock(ignored_entities_mutex);
| ^
InGameData.cpp:81:47: error: 'ignored_entities_mutex' was not declared in this scope; did you mean 'ignored_entities'?
81 | std::unique_lock<std::mutex> lock(ignored_entities_mutex);
| ^~~~~~~~~~~~~~~~~~~~~~
| ignored_entities
InGameData.cpp:88:35: error: 'mutex' is not a member of 'std'
88 | std::unique_lock<std::mutex> lock(entity_list_mutex);
| ^~~~~
InGameData.cpp:88:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
InGameData.cpp:88:35: error: 'mutex' is not a member of 'std'
InGameData.cpp:88:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
InGameData.cpp:88:40: error: template argument 1 is invalid
88 | std::unique_lock<std::mutex> lock(entity_list_mutex);
| ^
InGameData.cpp:88:47: error: 'entity_list_mutex' was not declared in this scope; did you mean 'entity_list_index'?
88 | std::unique_lock<std::mutex> lock(entity_list_mutex);
| ^~~~~~~~~~~~~~~~~
| entity_list_index
InGameData.cpp: In member function 'void InGameData::traverse_entity_list(addrtype)':
InGameData.cpp:102:35: error: 'mutex' is not a member of 'std'
102 | std::unique_lock<std::mutex> lock(entity_list_mutex);
| ^~~~~
InGameData.cpp:102:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
InGameData.cpp:102:35: error: 'mutex' is not a member of 'std'
InGameData.cpp:102:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
InGameData.cpp:102:40: error: template argument 1 is invalid
102 | std::unique_lock<std::mutex> lock(entity_list_mutex);
| ^
InGameData.cpp:102:47: error: 'entity_list_mutex' was not declared in this scope; did you mean 'entity_list_index'?
102 | std::unique_lock<std::mutex> lock(entity_list_mutex);
| ^~~~~~~~~~~~~~~~~
| entity_list_index
In file included from PoETask.cpp:9:
Task.cpp: In member function 'void Job::start()':
Task.cpp:94:14: error: 'thread' is not a member of 'std'
94 | std::thread t(&Job::run, std::ref(*this));
| ^~~~~~
Task.cpp:1:1: note: 'std::thread' is defined in header '<thread>'; did you forget to '#include <thread>'?
+++ |+#include <thread>
1 | /*
Task.cpp:95:9: error: 't' was not declared in this scope; did you mean 'tm'?
95 | t.detach();
| ^
| tm
Task.cpp: In member function 'virtual bool Task::start()':
Task.cpp:155:14: error: 'thread' is not a member of 'std'
155 | std::thread t(&Task::run, std::ref(*this));
| ^~~~~~
Task.cpp:155:14: note: 'std::thread' is defined in header '<thread>'; did you forget to '#include <thread>'?
Task.cpp:156:9: error: 't' was not declared in this scope; did you mean 'tm'?
156 | t.detach();
| ^
| tm
In file included from PoETask.cpp:15:
plugins/AutoPickup.cpp: At global scope:
plugins/AutoPickup.cpp:24:10: error: 'mutex' in namespace 'std' does not name a type
24 | std::mutex selected_item_mutex;
| ^~~~~
plugins/AutoPickup.cpp:1:1: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
+++ |+#include <mutex>
1 | /*
In file included from PoETask.cpp:15:
plugins/AutoPickup.cpp: In member function 'virtual void AutoPickup::on_player(LocalPlayer*, InGameState*)':
plugins/AutoPickup.cpp:150:30: error: 'mutex' is not a member of 'std'
150 | std::lock_guard<std::mutex> guard(selected_item_mutex);
| ^~~~~
plugins/AutoPickup.cpp:150:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
plugins/AutoPickup.cpp:150:30: error: 'mutex' is not a member of 'std'
plugins/AutoPickup.cpp:150:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
plugins/AutoPickup.cpp:150:35: error: template argument 1 is invalid
150 | std::lock_guard<std::mutex> guard(selected_item_mutex);
| ^
plugins/AutoPickup.cpp:150:43: error: 'selected_item_mutex' was not declared in this scope; did you mean 'selected_item'?
150 | std::lock_guard<std::mutex> guard(selected_item_mutex);
| ^~~~~~~~~~~~~~~~~~~
| selected_item
plugins/AutoPickup.cpp: In member function 'virtual void AutoPickup::on_labeled_entity_changed(EntityList&)':
plugins/AutoPickup.cpp:178:30: error: 'mutex' is not a member of 'std'
178 | std::lock_guard<std::mutex> guard(selected_item_mutex);
| ^~~~~
plugins/AutoPickup.cpp:178:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
plugins/AutoPickup.cpp:178:30: error: 'mutex' is not a member of 'std'
plugins/AutoPickup.cpp:178:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
plugins/AutoPickup.cpp:178:35: error: template argument 1 is invalid
178 | std::lock_guard<std::mutex> guard(selected_item_mutex);
| ^
plugins/AutoPickup.cpp:178:43: error: 'selected_item_mutex' was not declared in this scope; did you mean 'selected_item'?
178 | std::lock_guard<std::mutex> guard(selected_item_mutex);
| ^~~~~~~~~~~~~~~~~~~
| selected_item
In file included from PoETask.cpp:17:
plugins/MinimapSymbol.cpp: At global scope:
plugins/MinimapSymbol.cpp:12:10: error: 'mutex' in namespace 'std' does not name a type
12 | std::mutex drawn_entities_mutex;
| ^~~~~
plugins/MinimapSymbol.cpp:8:1: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
7 | #include <math.h>
+++ |+#include <mutex>
8 |
In file included from PoETask.cpp:17:
plugins/MinimapSymbol.cpp: In member function 'virtual void MinimapSymbol::render()':
plugins/MinimapSymbol.cpp:211:30: error: 'mutex' is not a member of 'std'
211 | std::lock_guard<std::mutex> guard(drawn_entities_mutex);
| ^~~~~
plugins/MinimapSymbol.cpp:211:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
plugins/MinimapSymbol.cpp:211:30: error: 'mutex' is not a member of 'std'
plugins/MinimapSymbol.cpp:211:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
plugins/MinimapSymbol.cpp:211:35: error: template argument 1 is invalid
211 | std::lock_guard<std::mutex> guard(drawn_entities_mutex);
| ^
plugins/MinimapSymbol.cpp:211:43: error: 'drawn_entities_mutex' was not declared in this scope; did you mean 'drawn_entities'?
211 | std::lock_guard<std::mutex> guard(drawn_entities_mutex);
| ^~~~~~~~~~~~~~~~~~~~
| drawn_entities
plugins/MinimapSymbol.cpp: In member function 'virtual void MinimapSymbol::on_area_changed(AreaTemplate*, int, LocalPlayer*)':
plugins/MinimapSymbol.cpp:263:30: error: 'mutex' is not a member of 'std'
263 | std::lock_guard<std::mutex> guard(drawn_entities_mutex);
| ^~~~~
plugins/MinimapSymbol.cpp:263:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
plugins/MinimapSymbol.cpp:263:30: error: 'mutex' is not a member of 'std'
plugins/MinimapSymbol.cpp:263:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
plugins/MinimapSymbol.cpp:263:35: error: template argument 1 is invalid
263 | std::lock_guard<std::mutex> guard(drawn_entities_mutex);
| ^
plugins/MinimapSymbol.cpp:263:43: error: 'drawn_entities_mutex' was not declared in this scope; did you mean 'drawn_entities'?
263 | std::lock_guard<std::mutex> guard(drawn_entities_mutex);
| ^~~~~~~~~~~~~~~~~~~~
| drawn_entities
plugins/MinimapSymbol.cpp: In member function 'virtual void MinimapSymbol::on_entity_changed(EntityList&, EntityList&, EntityList&)':
plugins/MinimapSymbol.cpp:269:30: error: 'mutex' is not a member of 'std'
269 | std::lock_guard<std::mutex> guard(drawn_entities_mutex);
| ^~~~~
plugins/MinimapSymbol.cpp:269:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
plugins/MinimapSymbol.cpp:269:30: error: 'mutex' is not a member of 'std'
plugins/MinimapSymbol.cpp:269:30: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
plugins/MinimapSymbol.cpp:269:35: error: template argument 1 is invalid
269 | std::lock_guard<std::mutex> guard(drawn_entities_mutex);
| ^
plugins/MinimapSymbol.cpp:269:43: error: 'drawn_entities_mutex' was not declared in this scope; did you mean 'drawn_entities'?
269 | std::lock_guard<std::mutex> guard(drawn_entities_mutex);
| ^~~~~~~~~~~~~~~~~~~~
| drawn_entities
PoETask.cpp: At global scope:
PoETask.cpp:57:10: error: 'mutex' in namespace 'std' does not name a type
57 | std::mutex task_mutex;
| ^~~~~
PoETask.cpp:20:1: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
19 | #include "plugins/KillCounter.cpp"
+++ |+#include <mutex>
20 |
PoETask.cpp:58:10: error: 'mutex' in namespace 'std' does not name a type
58 | std::mutex entities_mutex;
| ^~~~~
PoETask.cpp:58:5: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
58 | std::mutex entities_mutex;
| ^~~
PoETask.cpp: In member function 'void PoETask::reset()':
PoETask.cpp:404:31: error: 'mutex' is not a member of 'std'
404 | std::unique_lock<std::mutex> lock(task_mutex);
| ^~~~~
PoETask.cpp:404:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:404:31: error: 'mutex' is not a member of 'std'
PoETask.cpp:404:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:404:36: error: template argument 1 is invalid
404 | std::unique_lock<std::mutex> lock(task_mutex);
| ^
PoETask.cpp:404:43: error: 'task_mutex' was not declared in this scope
404 | std::unique_lock<std::mutex> lock(task_mutex);
| ^~~~~~~~~~
PoETask.cpp: In member function 'void PoETask::check_game()':
PoETask.cpp:520:14: error: 'task_mutex' was not declared in this scope
520 | if (!task_mutex.try_lock())
| ^~~~~~~~~~
PoETask.cpp:547:9: error: 'task_mutex' was not declared in this scope
547 | task_mutex.unlock();
| ^~~~~~~~~~
PoETask.cpp: In member function 'void PoETask::check_player()':
PoETask.cpp:551:31: error: 'mutex' is not a member of 'std'
551 | std::unique_lock<std::mutex> lock(task_mutex);
| ^~~~~
PoETask.cpp:551:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:551:31: error: 'mutex' is not a member of 'std'
PoETask.cpp:551:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:551:36: error: template argument 1 is invalid
551 | std::unique_lock<std::mutex> lock(task_mutex);
| ^
PoETask.cpp:551:43: error: 'task_mutex' was not declared in this scope
551 | std::unique_lock<std::mutex> lock(task_mutex);
| ^~~~~~~~~~
PoETask.cpp: In member function 'void PoETask::check_entities()':
PoETask.cpp:571:31: error: 'mutex' is not a member of 'std'
571 | std::unique_lock<std::mutex> lock(task_mutex);
| ^~~~~
PoETask.cpp:571:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:571:31: error: 'mutex' is not a member of 'std'
PoETask.cpp:571:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:571:36: error: template argument 1 is invalid
571 | std::unique_lock<std::mutex> lock(task_mutex);
| ^
PoETask.cpp:571:43: error: 'task_mutex' was not declared in this scope
571 | std::unique_lock<std::mutex> lock(task_mutex);
| ^~~~~~~~~~
PoETask.cpp:576:35: error: 'mutex' is not a member of 'std'
576 | std::unique_lock<std::mutex> lock(entities_mutex);
| ^~~~~
PoETask.cpp:576:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:576:35: error: 'mutex' is not a member of 'std'
PoETask.cpp:576:35: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:576:40: error: template argument 1 is invalid
576 | std::unique_lock<std::mutex> lock(entities_mutex);
| ^
PoETask.cpp:576:47: error: 'entities_mutex' was not declared in this scope
576 | std::unique_lock<std::mutex> lock(entities_mutex);
| ^~~~~~~~~~~~~~
PoETask.cpp: In member function 'void PoETask::check_labeled_entities()':
PoETask.cpp:586:31: error: 'mutex' is not a member of 'std'
586 | std::unique_lock<std::mutex> lock(task_mutex);
| ^~~~~
PoETask.cpp:586:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:586:31: error: 'mutex' is not a member of 'std'
PoETask.cpp:586:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:586:36: error: template argument 1 is invalid
586 | std::unique_lock<std::mutex> lock(task_mutex);
| ^
PoETask.cpp:586:43: error: 'task_mutex' was not declared in this scope
586 | std::unique_lock<std::mutex> lock(task_mutex);
| ^~~~~~~~~~
PoETask.cpp: In member function 'virtual void PoETask::render()':
PoETask.cpp:601:31: error: 'mutex' is not a member of 'std'
601 | std::unique_lock<std::mutex> lock(entities_mutex);
| ^~~~~
PoETask.cpp:601:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:601:31: error: 'mutex' is not a member of 'std'
PoETask.cpp:601:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:601:36: error: template argument 1 is invalid
601 | std::unique_lock<std::mutex> lock(entities_mutex);
| ^
PoETask.cpp:601:43: error: 'entities_mutex' was not declared in this scope
601 | std::unique_lock<std::mutex> lock(entities_mutex);
| ^~~~~~~~~~~~~~
PoETask.cpp: In member function 'void PoETask::stop()':
PoETask.cpp:635:31: error: 'mutex' is not a member of 'std'
635 | std::unique_lock<std::mutex> lock(task_mutex);
| ^~~~~
PoETask.cpp:635:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:635:31: error: 'mutex' is not a member of 'std'
PoETask.cpp:635:31: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
PoETask.cpp:635:36: error: template argument 1 is invalid
635 | std::unique_lock<std::mutex> lock(task_mutex);
| ^
PoETask.cpp:635:43: error: 'task_mutex' was not declared in this scope
635 | std::unique_lock<std::mutex> lock(task_mutex);
Without giving all the details but the radar is not fully functional please check we need you more than you know :D
When i press F7 it seems to only go to one tab and then checks only that tab for the items needed for the full rare vendor chaos recipe. i was wondering if there was a way to check all tabs, i know this because i put a full rare set in another tab and it did not check it, it only check my 3rd tab
Hi! First, thanks for this amazing script.
Anyone knowns how to increase the FPS from the interface? Or how to completely disable it? Because when I'm playing the game without autohotkeys it runs at 144fps. When the interface from AHK is started the game's fps drops to 60-70 or even less.
Thanks!
^topic, it takes up way to much space and shows on to many irrelevant monsters such as legion chests/tormented spirits.
Is there an option to disable this?
don't work leveling gems by S key, (only on russian game language)
don't work leveling gems by A key, (only on russian game language)
looks like on russian language , autoquit don't work too.
LAlt Hold down the left Alt key to show price of items ( don't work on russian version)
all that tested on steam version of game.
after game update, maphack doesn't work
How to use it in Tencent, or can I revise it
Harvest beast doesnt snow names on map. Can you add it?
Hi,brother:
Can you adapt Garena Version Client if you have time? Thank you very much and wish you happy every day.
googledrive "PathOfExile.exe" file:
https://drive.google.com/file/d/1YPG1HrzjFYg9vDiyhMBnBotOIDt_RcGQ/view?usp=sharing
Getting this Syntax error. please advise how to fix. thank you. Starting with admin rights, newest version of AHK I get this error with the master and the normal Poeapikit 1.2.1
Kind regards,
Error at line 97 in #include file "C:\Users\Computer\Desktop\PoEapikit-1.2.1\lib\ahkpp.ahk".
Line Text: switch params.Count() {
Error: This line does not contain a recognized action.
For example, with 5K monitor I set "Scale" to 200% under System > Display -> Sacle & Layout, and use Windowed Fullscreen in POE with 1080p rendering resolution, to have both sharp text and reasonable performance. PoEapi
overlay is able to calculate the right position, but the text is only half size as it's supposed to be. It's particularly hard to read in expedition encounter.
I'm seeing some codes in plugins/MinimapSymbol
like:
else if (i.id.find(L"Curses") != wstring::npos)
poe->draw_text(L"Curses", x, y - 10, 0xffffff, 0x7f0000, 1.0, 1);
Would it be possible to get system display scale (it may be a bit tricky, see here) and use it to multiple the text size in draw_text
please? Sorry I'm not a windows programmer and lack the knowledge to work on it myself. Thanks!
This is with Patreon installed.. which I believe needs updating. when 3.24 update offsets were released the error message Patreons only error popped up. I recopied the Patreon files they some of the mods started working without MH.
3 out of 5 times when about to die the script logs the character out but when you log back in the script is frozen and is no longer working. Sometimes after about 5 minutes the script comes back online by itself. Sometimes you have to end task with task manager and restart.
After the latest technical update, the following functions stopped working:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.