디아2를 아~~~주 오랜만에 하다보니 제일 깝깝한게 물약 먹기더군요.

'POE1'처럼 물약 종류가 다양한 것도 아니고 나중엔 활력물약만 쓰는데 이걸 왜 따로 눌러야 하는지 깝깝하죠.
그래서 gemini에게 만들라고 하니 아래 처럼 코드를 만들어 줍니다.
마나 물약과 체력 물약을 따로 사용하려면 gemini에게 python으로 두개의 단축키로 만들어 달라고 하면 잘 만들어 줄겁니다. AI시대에 파이선 코딩은 몰라도 파이선 사용방법은 확실히 익혀 두는게 좋을 듯 합니다.


1. 사전 준비

파이썬이 설치된 상태에서, 키보드 제어를 위해 터미널(CMD)에 아래 명령어를 입력해 라이브러리를 먼저 설치해야 합니다.


Bash

pip install keyboard

2. 순차 물약 파이썬 코드

이 스크립트는 실행해두면 백그라운드에서 대기하다가, 사용자가 지정한 키를 누를 때만 동작합니다.


Python

import keyboard

import time


# 설정 변수

TRIGGER_KEY = 'space'  # 물약을 먹을 트리거 키 (스페이스바)

RESET_KEY = 'f5'       # 순서를 1번으로 초기화할 키

current_slot = 1       # 현재 물약 슬롯 위치


def drink_potion():

    global current_slot

    

    # 현재 슬롯 번호(1~4)를 키보드로 입력

    keyboard.press_and_release(str(current_slot))

    print(f"물약 {current_slot}번 사용!")


    # 다음 슬롯으로 넘어가기 (1->2->3->4->1)

    current_slot += 1

    if current_slot > 4:

        current_slot = 1


def reset_counter():

    global current_slot

    current_slot = 1

    print("물약 순서가 1번으로 초기화되었습니다.")


# 키 이벤트 등록

keyboard.add_hotkey(TRIGGER_KEY, drink_potion)

keyboard.add_hotkey(RESET_KEY, reset_counter)


print(f"[{TRIGGER_KEY}] 키를 누르면 물약을 1~4번 순서대로 하나씩 먹습니다.")

print(f"[{RESET_KEY}] 키를 누르면 다시 1번부터 시작합니다.")

print("프로그램 종료는 Ctrl+C를 누르세요.")


# 프로그램이 종료되지 않고 계속 대기하게 함

keyboard.wait()