알림

메시지

🎉 커뮤니티 프리셋 공유 기능 출시

게임 자동화의
새로운 기준.

시각 인식 기반 매크로. 반복 작업에서 벗어나세요.

눈으로 보듯
화면을 인식.

OpenCV 기반 시각 인식으로 픽셀 좌표에 의존하지 않습니다. 해상도가 바뀌어도, UI가 조금 달라져도 정확하게 작동합니다.

  • 템플릿 매칭으로 이미지 자동 탐색
  • OCR로 텍스트 인식
  • 멀티스케일 매칭 지원
시각 인식
NEW

프리셋을 공유하고
함께 성장.

다른 사용자가 만든 자동화 프리셋을 다운로드하세요. 내가 만든 프리셋을 공유하고 커뮤니티에 기여하세요.

  • 검색 및 필터로 원하는 프리셋 탐색
  • 다운로드 수로 인기 프리셋 확인
  • 버전 관리로 항상 최신 유지
커뮤니티 프리셋
Premium

코딩 없이
복잡한 로직을.

조건문, 반복문, 변수를 드래그 앤 드롭으로 구성하세요. 프로그래밍 경험 없이도 고급 자동화를 구현할 수 있습니다.

  • 시각적 블록 에디터
  • 조건 분기 및 반복 로직
  • 변수와 연산자 지원
블록 에디터

모든 에뮬레이터.
하나의 도구.

MuMu Player, LDPlayer 등 주요 에뮬레이터를 완벽 지원. DLL 캡처로 게임 감지 없이 백그라운드에서 작동합니다.

  • MuMu Player 12 지원
  • LDPlayer 9 지원
  • Android 스마트폰 지원
  • PC 프로그램 지원
멀티 에뮬레이터

직접 눈으로 확인하세요

직관적인 인터페이스로 누구나 쉽게

메인 화면

메인 화면

에뮬레이터 연결 및 실시간 화면 캡처

자동화 규칙

자동화 규칙

조건/액션 기반 자동화 설정

블록 에디터

블록 에디터

시각적 시퀀스 편집

규칙 편집기

규칙 편집기

세부 조건 및 액션 설정

녹화 기능

녹화 기능

입력 녹화 및 재생

스케줄 관리

스케줄 관리

예약 실행 설정

숫자로 보는 pqp

성능과 효율성을 동시에

60
FPS 화면 캡처
<50
ms 입력 딜레이
99%
이미지 매칭 정확도
커스텀 액션
24/7
자동 실행
0
코딩 필요

프리미엄으로 더 강력하게.

모든 제한을 해제하고 전체 기능을 경험하세요

월간

₩9,900
30일 이용권

무료 vs 프리미엄

기능
무료
💎 프리미엄
일일 사용 시간
1h
무제한
프리셋 개수
1
무제한
자동화 규칙
5
무제한
커뮤니티 프리셋 열람
커뮤니티 프리셋 다운로드
커뮤니티 프리셋 공유
블록 에디터
우선 지원

🚀 빠른 시작 가이드

3단계로 시작하는 게임 자동화

1

다운로드 및 실행

ZIP 파일을 다운로드하고 압축을 풀어주세요. pqp.exe를 실행하면 끝!

💡 설치 없이 바로 사용 가능한 포터블 버전
2

에뮬레이터 연결

MuMu Player나 LDPlayer를 실행하고 새로고침(🔄) 버튼을 눌러 장치를 선택하세요.

📱 휴대폰도 유선(USB) 또는 무선(Wi-Fi)으로 연결 가능!
3

자동화 시작

커뮤니티 프리셋을 다운로드하거나 직접 규칙을 만들고 ▶️ 시작!

✨ 프리셋 프리셋 탭에서 인기 프리셋 다운로드

📚 더 알아보기

🎯

이미지 매칭

화면에서 특정 이미지를 찾아 자동으로 클릭. 스크린샷으로 템플릿을 캡처하세요.

📝

OCR 텍스트 인식

화면의 텍스트를 읽어 조건 분기. "HP가 50% 이하면 포션 사용" 같은 로직 구현.

🔁

시퀀스 매크로

여러 동작을 순서대로 실행. 스킬 콤보, 퀘스트 자동화에 활용하세요.

스케줄 예약

특정 시간에 자동 실행. 매일 오전 6시에 출석체크 등 반복 작업 자동화.

🔧 스크립트 API 문서

Python, Lua, JavaScript로 고급 자동화 구현

📱 입력 제어 (Input)

tap(x: int, y: int) → bool 화면의 특정 좌표를 탭합니다.

매개변수

xintX 좌표
yintY 좌표

예제 코드

double_tap(x: int, y: int, interval: int = 50) → bool 화면의 특정 좌표를 더블 탭합니다.

매개변수

xintX 좌표
yintY 좌표
intervalint탭 간격 (ms), 기본값 50

예제 코드

swipe(x1: int, y1: int, x2: int, y2: int, duration: int = 200) → bool 화면에서 스와이프합니다.

매개변수

x1, y1int시작 좌표
x2, y2int끝 좌표
durationint이동 시간 (ms)

예제 코드

long_press(x: int, y: int, duration: int = 1000) → bool 화면의 특정 좌표를 길게 누릅니다.

매개변수

xintX 좌표
yintY 좌표
durationint누르는 시간 (ms)

예제 코드

key_press(key: str) → bool 키를 누릅니다.

매개변수

keystr키 이름 (ENTER, BACK, HOME 등)

예제 코드

text_input(text: str) → bool 텍스트를 입력합니다.

매개변수

textstr입력할 텍스트

예제 코드

multi_tap(x: int, y: int, count: int, interval: int = 50) → bool 같은 좌표를 여러 번 탭합니다.

매개변수

xintX 좌표
yintY 좌표
countint탭 횟수
intervalint탭 간격 (ms), 기본값 50

예제 코드

drag(x1: int, y1: int, x2: int, y2: int, duration: int = 500) → bool 시작점에서 끝점으로 드래그합니다.

매개변수

x1int시작 X
y1int시작 Y
x2int끝 X
y2int끝 Y
durationint지속 시간 (ms), 기본값 500

예제 코드

🖼️ 이미지 매칭 (Image)

capture() → ndarray | None 현재 화면을 캡처합니다.

예제 코드

match_template(template: str, threshold: float = 0.8, roi: tuple = None) → dict | None 화면에서 템플릿 이미지를 찾습니다.

매개변수

templatestr템플릿 이미지 경로
thresholdfloat매칭 임계값 (0.0 ~ 1.0)
roituple검색 영역 (x, y, w, h)

반환값

{"center": (x, y), "rect": (x, y, w, h), "score": float} 또는 None

예제 코드

wait_template(template: str, timeout: float = 10.0, threshold: float = 0.8) → dict | None 템플릿이 나타날 때까지 대기합니다.

매개변수

templatestr템플릿 이미지 경로
timeoutfloat최대 대기 시간 (초)
thresholdfloat매칭 임계값

예제 코드

match_and_tap(template: str, threshold: float = 0.8, offset: tuple = (0, 0)) → bool 템플릿을 찾아서 탭합니다.

예제 코드

get_pixel_color(x: int, y: int) → tuple | None 특정 좌표의 픽셀 색상을 가져옵니다.

예제 코드

check_pixel_color(x: int, y: int, color: tuple, tolerance: int = 20) → bool 픽셀 색상이 지정 색상과 일치하는지 확인합니다.

예제 코드

find_all(path: str, threshold: float = 0.8, max_count: int = 10) → list 화면에서 모든 매칭 위치를 찾습니다.

매개변수

pathstr템플릿 이미지 경로
thresholdfloat매칭 임계값 (0~1), 기본값 0.8
max_countint최대 결과 수, 기본값 10

예제 코드

wait_vanish(path: str, timeout: float = 10.0, threshold: float = 0.8) → bool 이미지가 화면에서 사라질 때까지 대기합니다.

매개변수

pathstr템플릿 이미지 경로
timeoutfloat대기 시간 (초), 기본값 10
thresholdfloat매칭 임계값, 기본값 0.8

예제 코드

compare_images(path1: str, path2: str) → float 두 이미지의 유사도를 비교합니다.

매개변수

path1str첫 번째 이미지 경로
path2str두 번째 이미지 경로

예제 코드

📝 OCR (문자 인식)

ocr_read(roi: tuple = None) → str 화면 영역에서 텍스트를 읽습니다.

매개변수

roituple읽을 영역 (x, y, w, h), None이면 전체 화면

예제 코드

ocr_find(text: str, roi: tuple = None) → dict | None 화면에서 특정 텍스트를 찾습니다.

반환값

{"text": str, "center": (x, y), "rect": (x, y, w, h)} 또는 None

예제 코드

ocr_tap_text(text: str, roi: tuple = None) → bool 화면에서 텍스트를 찾아서 탭합니다.

예제 코드

ocr_read_number(roi: tuple = None) → int | None 화면 영역에서 숫자를 읽습니다.

예제 코드

ocr_read_all(roi: list = None) → list 화면의 모든 텍스트와 위치를 반환합니다.

매개변수

roilist[x, y, w, h] 영역 (선택)

예제 코드

ocr_wait_text(text: str, timeout: float = 10.0, roi: list = None) → dict | None 텍스트가 화면에 나타날 때까지 대기합니다.

매개변수

textstr찾을 텍스트
timeoutfloat대기 시간 (초), 기본값 10
roilist[x, y, w, h] 영역 (선택)

예제 코드

📊 변수 관리 (Variable)

get_var(name: str, default: Any = None) → Any 변수 값을 가져옵니다.

예제 코드

set_var(name: str, value: Any) → None 변수 값을 설정합니다.

예제 코드

list_vars() → dict 모든 변수 목록을 가져옵니다.

예제 코드

🔧 유틸리티 (Utility)

wait(seconds: float) → None 지정된 시간만큼 대기합니다.

예제 코드

wait_random(min_sec: float, max_sec: float) → float 랜덤 시간만큼 대기합니다.

예제 코드

log(message: str, level: str = 'info') → None 로그 메시지를 출력합니다.

레벨

info, warning, error, debug

예제 코드

notify(title: str, message: str) → bool Windows 알림을 전송합니다.

예제 코드

screenshot(filename: str = None) → str 스크린샷을 저장합니다.

예제 코드

random_int(min: int, max: int) → int 지정 범위의 랜덤 정수를 반환합니다.

매개변수

minint최솟값
maxint최댓값

예제 코드

random_float(min: float, max: float) → float 지정 범위의 랜덤 실수를 반환합니다.

매개변수

minfloat최솟값
maxfloat최댓값

예제 코드

timestamp() → float 현재 에포크 시간을 초 단위로 반환합니다.

예제 코드

crop_and_save(roi: list, filename: str = '') → str 화면 영역을 캡처하여 파일로 저장합니다.

매개변수

roilist[x, y, width, height] 영역
filenamestr파일명 (선택, 미지정시 자동생성)

예제 코드

📲 디바이스 제어 (Device)

get_screen_size() → tuple 화면 해상도를 가져옵니다.

예제 코드

get_current_app() → str | None 현재 실행 중인 앱 패키지명을 가져옵니다.

예제 코드

start_app(package: str) → bool 앱을 시작합니다.

예제 코드

stop_app(package: str) → bool 앱을 종료합니다.

예제 코드

restart_app(package: str) → bool 앱을 재시작합니다 (종료 후 시작).

매개변수

packagestr앱 패키지 이름

예제 코드

get_device_info() → dict 연결된 디바이스 정보를 반환합니다.

예제 코드

is_screen_on() → bool 디바이스 화면이 켜져 있는지 확인합니다.

예제 코드

⚙️ 매크로 제어 (Control)

pause_macro() → None 매크로 실행을 일시 중지합니다.

예제 코드

stop_macro() → None 매크로 실행을 완전히 중지합니다.

예제 코드

call_sequence(name: str) → bool 다른 시퀀스를 호출합니다.

예제 코드

get_macro_state() → str 현재 매크로 상태를 반환합니다.

예제 코드

is_running() → bool 매크로가 실행 중인지 확인합니다.

예제 코드

자주 묻는 질문

네, 무료로 사용하실 수 있습니다. 무료 버전은 하루 1시간 사용, 1개 프리셋, 5개 자동화 규칙 제한이 있습니다. 커뮤니티 프리셋은 목록 열람만 가능하며, 다운로드와 공유는 프리미엄 기능입니다.

다른 사용자가 만든 자동화 프리셋을 다운로드하거나, 내가 만든 프리셋을 공유할 수 있는 기능입니다. 검색과 필터링으로 원하는 프리셋을 쉽게 찾을 수 있으며, 다운로드 수를 확인할 수 있습니다.

MuMu Player 12, LDPlayer 9을 공식 지원합니다. MuMu Extras(DLL 캡처)를 사용하면 게임 감지 없이 백그라운드에서 작동하며, GDI 캡처로 일반 PC 프로그램도 자동화할 수 있습니다.

Discord DM으로 구매 문의 주세요. 결제 확인 후 라이선스 키를 발급해 드립니다.

지금 바로 시작하세요.

무료로 다운로드하고 게임 자동화의 새로운 경험을 시작하세요

다운로드 →