昨晚心血来潮,写了一个DNF“手搓”脚本,脚本很简单,直接上代码:
import pydirectinput
from pynput import keyboard
def shoucuo():
def on_press(key):
try:
if key.char == 'a':
pydirectinput.press('up')
pydirectinput.press('up')
pydirectinput.press('right')
pydirectinput.press('up')
pydirectinput.press('z', interval=0.01)
elif key.char == 's':
pydirectinput.press('up')
pydirectinput.press('down')
pydirectinput.press('right')
pydirectinput.press('up')
pydirectinput.press('z', interval=0.01)
elif key.char == 'd':
pydirectinput.press('down')
pydirectinput.press('down')
pydirectinput.press('right')
pydirectinput.press('up')
pydirectinput.press('z', interval=0.01)
elif key.char == 'f':
pydirectinput.press('down')
pydirectinput.press('up')
pydirectinput.press('right')
pydirectinput.press('up')
pydirectinput.press('z', interval=0.01)
elif key.char == 'g':
pydirectinput.press('up')
pydirectinput.press('up')
pydirectinput.press('right')
pydirectinput.press('down')
pydirectinput.press('z', interval=0.01)
elif key.char == 'h':
pydirectinput.press('up')
pydirectinput.press('down')
pydirectinput.press('right')
pydirectinput.press('down')
pydirectinput.press('z', interval=0.01)
elif key.char == 'q':
pydirectinput.press('down')
pydirectinput.press('down')
pydirectinput.press('right')
pydirectinput.press('down')
pydirectinput.press('z', interval=0.01)
elif key.char == 'w':
pydirectinput.press('down')
pydirectinput.press('up')
pydirectinput.press('right')
pydirectinput.press('down')
pydirectinput.press('z', interval=0.01)
elif key.char == 'e':
pydirectinput.press('up')
pydirectinput.press('right')
pydirectinput.press('up')
pydirectinput.press('up')
pydirectinput.press('z', interval=0.01)
elif key.char == 'r':
pydirectinput.press('up')
pydirectinput.press('right')
pydirectinput.press('down')
pydirectinput.press('up')
pydirectinput.press('z', interval=0.01)
elif key.char == 't':
pydirectinput.press('down')
pydirectinput.press('right')
pydirectinput.press('down')
pydirectinput.press('up')
pydirectinput.press('z', interval=0.01)
elif key.char == 'y':
pydirectinput.press('down')
pydirectinput.press('right')
pydirectinput.press('up')
pydirectinput.press('up')
pydirectinput.press('z', interval=0.01)
elif key.char == '\'':
pydirectinput.press('up')
pydirectinput.press('right')
pydirectinput.press('up')
pydirectinput.press('down')
pydirectinput.press('z', interval=0.01)
elif key.char == '\\':
pydirectinput.press('up')
pydirectinput.press('right')
pydirectinput.press('down')
pydirectinput.press('down')
pydirectinput.press('z', interval=0.01)
except AttributeError:
pass
with keyboard.Listener(on_press=on_press) as listener:
listener.join()
if __name__ == '__main__':
shoucuo()
pydirectinput貌似不支持'alt'、'shift'等等这些特色按键,没深入研究;
GUI窗口没做,有兴趣大佬可以写一个支持自定义快捷键的GUI窗口。