1

Тема: AHK: Дубликат клавиши

Ошибка Duplicate hotkey. Я чайник, помогите фиксануть((((



Gui, Add, Tab,, Выберите ваше разрешение
Gui, Add, Radio, vMyRadio, 1920x1080
Gui, Add, Radio,, 1600x900
Gui, Add, Button, default xm, OK
Gui, Show, Restore h235 
Gui, Show,, FishingBOT
Gui, Color, E6E6FA
Gui, +Lastfound 
Gui, -Caption
return

ButtonOK:
GuiClose:
GuiEscape:
Gui, Submit

if (MyRadio = "1")
{
    MsgBox Бот запущен (1920x1280). Вкл Num8, закрыть бота Num9. Пожалуйста, не забудьте оставить отзыв. Спасибо!
    Numpad8::
    Loop
    {
    sleep, 3000
    ControlSend, , {vk45}, ahk_exe GTA5.exe
    Sleep, 1000
    ControlClick, x1128 y595, ahk_exe GTA5.exe
    Sleep, 1250
    ControlClick, x955 y575, ahk_exe GTA5.exe
    Loop
    {
    Pixelgetcolor, check, 1010, 235
    if(check = 0x72CC72)
    {
    sleep, 1500
    ControlSend, , {vk45}, ahk_exe GTA5.exe
    sleep, 250
    Break
    }
    }
    Loop
    {
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    Break
    }
    }
    Numpad9:: ExitApp
}



else if (MyRadio = "2")
{
    MsgBox Бот запущен (1600x900). Вкл Num8, закрыть бота Num9. Пожалуйста, не забудьте оставить отзыв. Спасибо!
    Numpad8::
    Loop
    {
    sleep, 3000
    ControlSend, , {vk45}, ahk_exe GTA5.exe
    Sleep, 1000
    ControlClick, x965 y530, ahk_exe GTA5.exe
    Sleep, 1250
    ControlClick, x800 y500, ahk_exe GTA5.exe
    Loop
    {
    Pixelgetcolor, check, 845, 200
    if(check = 0x72CC72)
    {
    sleep, 1500
    ControlSend, , {vk45}, ahk_exe GTA5.exe
    sleep, 250
    Break
    }
    }
    Loop
    {
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sleep, 500
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk51}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    sendinput, {vk45}
    Break
    }
    }
    Numpad9:: ExitApp
}

2

Re: AHK: Дубликат клавиши

Настолько корявый код, что даже стыдно читать.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3

Re: AHK: Дубликат клавиши

спасибо, главное что помогли__Михаил__

4

Re: AHK: Дубликат клавиши

В коде используется два объявления перехвата клавиш, это недопустимо.
Нужно отдельно назначить запуск нужного действия по клавише. Например через запуск метки.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

5

Re: AHK: Дубликат клавиши

Gui, +Lastfound -Caption
Gui, Add, Tab,, Выберите ваше разрешение
Gui, Add, Radio, vMyRadio Checked, 1920x1080
Gui, Add, Radio,, 1600x900
Gui, Add, Button, gButtonOK, OK
Gui, Color, E6E6FA
Gui, Show,, FishingBOT
Return

F1:: Gui, Show, Restore	; Меню выбора разрешения монитора:

ButtonOK:
GuiClose:
GuiEscape:
Gui, Submit
If (MyRadio = 1)
 Txt = 1920x1280
Else
 Txt = 1600x900

MsgBox Бот запущен (%Txt%). Вкл Num8, закрыть бота Num9. Пожалуйста, не забудьте оставить отзыв. Спасибо!
Return

Numpad9:: ExitApp

Numpad8::
If (MyRadio = 1)
{
 ToolTip, ...тут код для 1920x1280...
}
Else
{
 ToolTip, ...тут код для 1600x900...
}
Return
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

6

Re: AHK: Дубликат клавиши

Спасибо!, посмотрю

7 (изменено: van1llin, 2021-03-27 02:28:15)

Re: AHK: Дубликат клавиши

Подскажите, что написал не так? Где-то нашел, что если нужны 3 и более значения, пишется else if. Всегда почему-то срабатывает else

Gui, Add, Radio, x12 y9 w110 h30 +Center, 1920x1080
Gui, Add, Radio, x152 y9 w110 h30 +Center, 1600x900
Gui, Add, Radio, x12 y59 w110 h30 +Center, 1280x720
Gui, Add, Button, x192 y59 w40 h30 , OK
Gui, Color, E6E6FA
Gui, Show, x339 y289 h104 w284, Resolution:
Return

F2:: Gui, Show, Restore	; Меню выбора разрешения монитора:

ButtonOK:
GuiClose:
GuiEscape:
Gui, Submit
If (MyRadio) = 1
 Txt = 1920x1080
Else if (MyRadio = 2)
 Txt = 1600x900
Else
 Txt = 1280x720

MsgBox Бот запущен (%Txt%). Вкл б закрыть бота ]. Пожалуйста, не забудьте оставить отзыв. Спасибо!
Return

8

Re: AHK: Дубликат клавиши

Переписав всё по новой - нужно  наверно скопировать и старые опции / переменные, чтобы они работали и в новой версии?

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

9

Re: AHK: Дубликат клавиши

Я вроде все дописал, но все равно выбирается только else

Gui, +Lastfound -Caption
Gui, Add, Radio, x12 y9 w110 h30 +Center, 1920x1080
Gui, Add, Radio, x152 y9 w110 h30 +Center, 1600x900
Gui, Add, Radio, x12 y59 w110 h30 +Center, 1280x720
Gui, Add, Button, x192 y59 w40 h30 , OK
Gui, Color, E6E6FA
Gui, Show, x339 y289 h104 w284, Resolution:
Return

F2:: Gui, Show, Restore	; Меню выбора разрешения монитора:

ButtonOK:
GuiClose:
GuiEscape:
Gui, Submit
If (MyRadio = 1)
 Txt = 1920x1080
Else if (MyRadio = 2)
 Txt = 1600x900
Else
 Txt = 1280x720

MsgBox Бот запущен (%Txt%). Вкл бота Num8, закрыть бота Num9. Пожалуйста, не забудьте оставить отзыв. Спасибо!
Return

Numpad9:: ExitApp

Numpad8::
If (MyRadio = 1)
{
 ToolTip, Loop
{
sleep, 3000
ControlSend, , {vk45}, ahk_exe GTA5.exe
Sleep, 1000
ControlClick, x1128 y595, ahk_exe GTA5.exe
Sleep, 1250
ControlClick, x955 y575, ahk_exe GTA5.exe
Loop
{
Pixelgetcolor, check, 1010, 235
if(check = 0x72CC72)
{
sleep, 1500
ControlSend, , {vk45}, ahk_exe GTA5.exe
sleep, 250
Break
}
}
Loop
{
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 400
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 400
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 400
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 100
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sleep, 100
sendinput, {vk51}
sendinput, {vk51}

Break
}
}
}
Else if (MyRadio = 2)
{
 ToolTip, Loop
{
sleep, 3000
ControlSend, , {vk45}, ahk_exe GTA5.exe
Sleep, 1000
ControlClick, x965 y530, ahk_exe GTA5.exe
Sleep, 1250
ControlClick, x800 y500, ahk_exe GTA5.exe
Loop
{
Pixelgetcolor, check, 845, 200
if(check = 0x72CC72)
{
sleep, 1500
ControlSend, , {vk45}, ahk_exe GTA5.exe
sleep, 250
Break
}
}
Loop
{
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 400
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 400
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 400
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 100
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sleep, 100
sendinput, {vk51}
sendinput, {vk51}
Break
}
}
}

Else
{
 ToolTip, Loop
{
sleep, 3000
ControlSend, , {vk45}, ahk_exe GTA5.exe
Sleep, 1000
ControlClick, x800 y460, ahk_exe GTA5.exe
Sleep, 1250
ControlClick, x640 y430, ahk_exe GTA5.exe
Loop
{
Pixelgetcolor, check, 670, 160
if(check = 0x72CC72)
{
sleep, 1500
ControlSend, , {vk45}, ahk_exe GTA5.exe
sleep, 250
Break
}
}
Loop
{
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 400
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 400
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 400
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 500
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sendinput, {vk51}
sleep, 100
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sendinput, {vk45}
sleep, 100
sendinput, {vk51}
sendinput, {vk51}
Break
}
}
}
Return

10

Re: AHK: Дубликат клавиши

Если бы всё верно было написано - код бы работал, логично?
Разве так сложно проверить каждую переменную на предмет, что она в себе содержит?

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

11

Re: AHK: Дубликат клавиши

скажи что не так, пожалуйста

12

Re: AHK: Дубликат клавиши

Напишу ещё одну подсказку, причина во второй строчке.
Нужно учится читать справку и использовать знания из неё.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101