1 (изменено: kydryaviy, 2020-12-31 13:32:16)

Тема: AHK: Не могу разобраться, как сохранить бинды клавиш

Сделал небольшой скрипт для игры, всё впринципе работает,  уже часа 4 не могу сделать сохранение. Нужно просто чтобы горячае клавиши сохранялись после перезапуска AHKшки.

#UseHook
IniRead, Key1, IniFile.ini, Section, Key1, % A_Space
IniRead, Key2, IniFile.ini, Section, Key2, % A_Space 
IniRead, Key3, IniFile.ini, Section, Key3, % A_Space 

Gui Add, Picture,  x159 y249 w170 h165, C:\Users\demon\Desktop\ahk bronik\logo ahk.png
Gui Add, Link, x8 y412 w120 h23, <a href="https://vk.com/kydryaviy">Создатель</a>
Gui Add, Text, x195 y10 w170 h26 +0x200, Бинд на свап бронижелета.
Gui, Show, w353 h429,

Gui, Add, Hotkey, x12 y9 w90 h30 vKey1, % Key1
Gui, Add, Hotkey, x12 y49 w90 h30 vKey2, % Key2
Gui, Add, Hotkey, x12 y89 w90 h30 vKey3, % Key3

Gui, Add, Button, x112 y9 w80 h30 gButton1, Назначить
Gui, Add, Button, x112 y49 w80 h30 gButton2, Назначить
Gui, Add, Button, x112 y89 w80 h30 gButton3, Назначить


Button1:
	Gui, Submit, NoHide
	Hotkey, % PrKey1, off, UseErrorLevel
	Hotkey, % PrKey1 := Key1, Key1, on, UseErrorLevel
	IniWrite, % Key1, IniFile.ini, Section, Key1
	return

Button2:
	Gui, Submit, NoHide
	Hotkey, % PrKey2, off, UseErrorLevel
	Hotkey, % PrKey2 := Key2, Key2, on, UseErrorLevel
	IniWrite, % Key1, IniFile.ini, Section, Key2
	return 

Button3:
	Gui, Submit, NoHide
	Hotkey, % PrKey3, off, UseErrorLevel
	Hotkey, % PrKey3 := Key3, Key3, on, UseErrorLevel
	IniWrite, % Key1, IniFile.ini, Section, Key3
	return 
	
Key1:
	Loop 1
	{
		if not GetKeyState("Key1" "P")
			sendinput, {F2} ;
sleep, 35 ; Задержка. Скрипт/сервер работает через жопу = увеличиваем, перезапускаем скрипт.
MouseMove, 40, 383
sleep, 35 ; Задержка. Скрипт/сервер работает через жопу = увеличиваем, перезапускаем скрипт.
MouseClick, Left ;
MouseClick, Left ;
MouseClick, Left ;
MouseClick, Left ;
sleep, 35 ; Задержка. Скрипт/сервер работает через жопу = увеличиваем, перезапускаем скрипт.
MouseMove, 313, 724
sleep, 5 ; Задержка. Скрипт/сервер работает через жопу = увеличиваем, перезапускаем скрипт.
MouseClick, Left ;
MouseClick, Left ;
MouseClick, Left ;
MouseClick, Left ;
sendinput, {Esc} ;
Return

	}
	return
	
Key2:
	Loop 1
	{
		if not GetKeyState("Key2" "P")
			sendinput, {i} ;
sleep, 300 ; 
MouseMove, 538, 800
MouseClick, Right ;
MouseMove, 567, 830
MouseClick, Left ;
MouseMove, 640, 800
MouseClick, Right ;
MouseMove, 680, 830
MouseClick, Left ;
MouseMove, 735, 800
MouseClick, Right ;
MouseMove, 770, 830
MouseClick, Left ;
sendinput, {Esc} ;
Return
	}
	return

Key3:
	Loop 1
	{
		if not GetKeyState("Key3" "P")
			sendinput, {F1} ;
MouseMove, 915, 133
MouseClick, Left ;

	}
	return

GuiClose:
	ExitApp

2

Re: AHK: Не могу разобраться, как сохранить бинды клавиш

Сразу после запуска никаких г.к. не действует, они назначаются по ходу выполнения кода скрипта.
А теперь скажите пожалуйста, до какой строки дойдет выполнение вашего кода сразу после запуска?

0xFFFFFF
0xFF0000
0xFFFFFF

3

Re: AHK: Не могу разобраться, как сохранить бинды клавиш

До key1. Дальше уже идёт сами бинды, которые активируются по клавише. Которые мне и нужно сохранят после перезапускаstealzy

4

Re: AHK: Не могу разобраться, как сохранить бинды клавиш

Нет, стартовое выполнение идет с начала скрипта до первой команды Return.
Чтобы, как вы пишите сохранят, нужно прочитать их из ini и назначить командой Hotkey.

0xFFFFFF
0xFF0000
0xFFFFFF

5

Re: AHK: Не могу разобраться, как сохранить бинды клавиш

Хорошо, можете подсказать как это сделать?stealzy

6

Re: AHK: Не могу разобраться, как сохранить бинды клавиш

В этом посте второй код.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui