- 1
- 1
ТОКАРЬ - 1минута 8секунд
ШВЕЙКА - 1минута 28секунд
ГОРЯЧИЕ КЛАВИШИ:
F - Запуск / Пауза секундомера
R - Сброс на 00:00.000
Esc - Закрыть программу
ОСОБЕННОСТИ:
Формат времени: ММ:СС.ммм (минуты:секунды.миллисекунды)
Звуковой сигнал при 1 минуте (за 8 секунд до токаря)
Звуковой сигнал при 1 минуте 20 секунд (за 8 секунд до швейки)
ИСПОЛЬЗОВАНИЕ:
1) Запустите скрипт от администратора,
2) GTA5 в оконном режиме(с/без рамки),
ТРЕБОВАНИЯ:
Установленный AutoHotkey
Внешний вид: [01:28.000]
ШВЕЙКА - 1минута 28секунд
ГОРЯЧИЕ КЛАВИШИ:
F - Запуск / Пауза секундомера
R - Сброс на 00:00.000
Esc - Закрыть программу
ОСОБЕННОСТИ:
Формат времени: ММ:СС.ммм (минуты:секунды.миллисекунды)
Звуковой сигнал при 1 минуте (за 8 секунд до токаря)
Звуковой сигнал при 1 минуте 20 секунд (за 8 секунд до швейки)
ИСПОЛЬЗОВАНИЕ:
1) Запустите скрипт от администратора,
2) GTA5 в оконном режиме(с/без рамки),
ТРЕБОВАНИЯ:
Установленный AutoHotkey
Внешний вид: [01:28.000]
секундомер:
; Секундомер с горячими клавишами
; F - запуск/пауза, R - сброс
#SingleInstance Force
#Persistent
; Скачивание правого логотипа
rightLogoUrl := "https://cdn-icons-png.flaticon.com/512/8120/8120015.png"
rightLogoPath := A_Temp "\timer_right_logo.png"
; Скачиваем логотип если его нет
IfNotExist, %rightLogoPath%
{
UrlDownloadToFile, %rightLogoUrl%, %rightLogoPath%
}
; Настройки GUI
Gui, +AlwaysOnTop -Caption +ToolWindow +LastFound
Gui, Color, 000000
Gui, Font, c00FF00 s24 bold, Consolas
Gui, Add, Text, vTimerText x10 y10 w180 h40 Center, 00:00.000
Gui, Add, Picture, vRightLogo x+10 y10 w40 h40, %rightLogoPath%
Gui, Show, x10 y10 NoActivate, TimerWindow
; Переменные таймера
isRunning := false
startTime := 0
elapsedTime := 0
minuteReached := false
minute20Reached := false
return
; Запуск/пауза по F
F::
if (!isRunning) {
; Запуск таймера
if (startTime = 0) {
startTime := A_TickCount
} else {
; Продолжение после паузы
startTime := A_TickCount - elapsedTime
}
isRunning := true
minuteReached := false
minute20Reached := false
SetTimer, UpdateTimer, 10
} else {
; Пауза
isRunning := false
elapsedTime := A_TickCount - startTime
SetTimer, UpdateTimer, Off
}
return
; Сброс по R
R::
isRunning := false
startTime := 0
elapsedTime := 0
minuteReached := false
minute20Reached := false
SetTimer, UpdateTimer, Off
GuiControl,, TimerText, 00:00.000
return
; Обновление отображения таймера
UpdateTimer:
currentTime := A_TickCount - startTime
; Проверка на достижение 1 минуты
if (currentTime >= 60000 && !minuteReached) {
minuteReached := true
SoundPlay, *64 ; Звук системного колокольчика
}
; Проверка на достижение 1 минуты 20 секунд
if (currentTime >= 80000 && !minute20Reached) {
minute20Reached := true
; Альтернативный звук - бип
Loop, 3 {
SoundBeep, 800, 200
Sleep, 100
}
}
minutes := Floor(currentTime / 60000)
seconds := Floor(Mod(currentTime, 60000) / 1000)
milliseconds := Mod(currentTime, 1000)
timeString := Format("{1:02d}:{2:02d}.{3:03d}", minutes, seconds, milliseconds)
GuiControl,, TimerText, %timeString%
return
; Закрытие скрипта
Esc::
GuiClose:
ExitApp
return
; Перемещение окна мышью
GuiDrag:
PostMessage, 0xA1, 2,,, A
return