01 / 08
세이프 타이머
60초, 그 한 순간을 위한 오버레이 타이머.
게임 ‘데드바이 데이라이트’에는 60초 동안 지속되는 생존자 스킬이 있습니다. 그 시간 안에 생존자를 들어 올리면 역으로 큰 위기를 맞기 때문에, 언제까지 기다려야 하는지가 중요합니다.
세이프 타이머는 이 60초를 재는 오버레이 타이머입니다. 게임 창 위에 항상 떠 있고, Z키 하나로 시작하고 멈춥니다. 창을 숨기면 트레이 아이콘으로만 남아 플레이를 방해하지 않습니다.
주요 기능
Features- 0160초 카운트다운, 15초 이하부터 위험 색상(#990000)으로 전환
- 02Z키 전역 감지 — 게임 중에도 시작·정지, 키 입력은 가로채지 않음
- 03Z키 기능 ON/OFF 버튼과 트레이 메뉴 연동
- 04창 숨김 → 트레이 아이콘, 필요할 때만 꺼내 쓰는 구조
- 05드래그로 옮긴 위치 저장, 모니터를 바꿔도 화면 밖으로 나가지 않음
- 06종료 시 ‘SAFE!’ 표시와 비프음 3회
기술 노트
Engineering- 01
GetAsyncKeyState를 20ms 간격으로 폴링해, 게임 클라이언트의 입력을 빼앗지 않으면서 전역 키를 감지했습니다.
- 02
CreateMutexW로 중복 실행을 막고, GetSystemMetrics(76~79)로 가상 화면 영역을 확인해 창 위치를 복원합니다.
- 03
PyInstaller로 콘솔 창 없는 실행 파일을 만들고, 설정은 %APPDATA%에 JSON으로 저장했습니다.
사용 기술
Stack- Python
- Tkinter
- pystray
- Pillow
- ctypes
- winsound
- PyInstaller