POE (Path of Exile) automatic drink potion macro (software)
Warning
This posting is for educational purposes only. Never abuse,
To do! Life on the room.
The other postings, did you take the potion on the POE game using the hardware mechs? In this post, I’ll try only using Python.
1. New Code
Did you make a file called Post drinkPortion.py the other time? Use the code below instead of that code. In fact, it’s almost changed. After you Import the keyEvent library, it is not fillers to call the Ke.press function instead of ser.keyboardInput within the generateKeyEvent function. The keyEvent library is described after this code. In fact, it’s a library of example code that’s been uploaded to GitHub.
To Keyboard the Arduino to serial communication, the serialFunc.py file giving the Mouse key command is not required here. So I treated it as a try. !
import mouse as mo import keyboard as keys import time import configparser import os import keyEvent as ke try: import serialFunc as sf ser = sf.ExternalHID('COM16') except Exception as e: print(e) print("Hardware Macro Disabled") def generateKeyEvent(val, key_s, delay): if val == True: for outVal in key_s: # hardware macro #ser.keyboardInput(outVal) # software macro ke.press(outVal) time.sleep(delay) def drinkPortionWithInput(listDevKeyOutVal, delay=0.001): listKeyState = [0] * len(listDevKeyOutVal) while True: for idx, dictDevVal in enumerate(listDevKeyOutVal): keyormo = list(dictDevVal.keys())[0] generateKeys = dictDevVal[keyormo].split(',') # [0] = k is keyboard [1] = pushed key if keyormo.split('_')[0].strip() == 'k': value = keys.is_pressed(keyormo.split('_')[1].strip()) if listKeyState[idx] != value: generateKeyEvent(value, generateKeys, delay) listKeyState[idx] = value # [0] = m is mouse [1] = pushed mouse btn elif keyormo.split('_')[0].strip() == 'm': possList = [mo.LEFT, mo.RIGHT, mo.MIDDLE] try: possList.index(keyormo.split('_')[1].strip()) except Exception as e: continue value = mo.is_pressed(keyormo.split('_')[1].strip()) if listKeyState[idx] != value: generateKeyEvent(value, generateKeys, delay) listKeyState[idx] = value if __name__=="__main__": configFile = os.path.dirname(os.path.realpath(__file__)) + '\\' + 'config.cfg' config = configparser.ConfigParser() config.read(configFile) itemList = [] for option in config.options('portion_key'): itemList.append({option:config['portion_key'][option]}) drinkDelay = float(config['portion_drink_delay']['delay']) print("macro start drink delay %s " % str(drinkDelay)) while True: time.sleep(0.001) drinkPortionWithInput(itemList, drinkDelay)
Then create a file named keyEvent.py in the folder where the drinkPortion.py file is located, and then repeat the code in the URL below.
Https://gist.github.com/chriskiehl/2906125
At the top of the code, write down the text below.
import win32API import time import win32con
To use this library, you need to lay out a library called Pywin32. The command below.
pip install pywin32
If you have finished the task, run the Pycharm as an administrator and try to turn the code back on and go to POE and press the right-click and “F2” button. Then the potion will be eaten!
Subscribe to the Blog!!