Что нового

[Автоматизация] Кликер для игры Requiem Online

volkov1

Новичок
Сообщения
17
Репутация
0
Уважаемые форумчане, помогите отловить ошибку в коде. Задача такая: кликер для игры (Requiem-online), простая бафалка, чтобы можно было афк перса оставить на час-полтора. GUI-интерфейс, где вводится откат бафа(или скила для некоторых классов) и задается клавиша, на которую следует жать. Так-то вроде все работает по отдельности, но когда скрипт прикручиваю к GUI лажа выходит, конкретно - не получается реализовать нажатие на паузу. Т.е. при запуске скрипта нажатие на кнопки в GUI не дает никакой реакции, он продолжает выполняться и отсылать нажатия, только при открытии Меню и т.п. нажатие на клавиши ставится на паузу.
Пробовал разные варианты: If-EndIf, Switch-Case-EndSwitch. На самом деле не пойму алгоритм взаимодействия GUI и скрипта...И еще, может посоветуете как реализовать вариант, когда человек вводит не 5 бафов, а 2-3, например, чтобы не грузить лишними процессами.

Код:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=D:\AutoIT\Koda\Test Click!T.kxf
$Form1 = GUICreate("TEST Click!T", 453, 312, 192, 124)
$Menu1 = GUICtrlCreateMenu("Меню")
$start = GUICtrlCreateMenuItem("Click!T", $Menu1)
$pause = GUICtrlCreateMenuItem("Пауза", $Menu1)
$exit = GUICtrlCreateMenuItem("Выход", $Menu1)
$info = GUICtrlCreateMenu("Инфо")
$help = GUICtrlCreateMenuItem("Помощь", $info)
$about = GUICtrlCreateMenuItem("О программе", $info)
$time1 = GUICtrlCreateLabel("Длительность бафа, сек", 16, 32, 184, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$time2 = GUICtrlCreateLabel("Длительность бафа, сек", 16, 69, 184, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$time3 = GUICtrlCreateLabel("Длительность бафа, сек", 16, 106, 184, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$time4 = GUICtrlCreateLabel("Длительность бафа, сек", 16, 143, 184, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$time5 = GUICtrlCreateLabel("Длительность бафа, сек", 16, 180, 184, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$T1 = GUICtrlCreateInput("0", 208, 32, 49, 21)
$T2 = GUICtrlCreateInput("0", 208, 69, 49, 21)
$T3 = GUICtrlCreateInput("0", 208, 106, 49, 21)
$T4 = GUICtrlCreateInput("0", 208, 141, 49, 21)
$T5 = GUICtrlCreateInput("0", 208, 180, 49, 21)
$button1 = GUICtrlCreateLabel("Кнопка", 272, 32, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$button2 = GUICtrlCreateLabel("Кнопка", 272, 68, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$button3 = GUICtrlCreateLabel("Кнопка", 272, 105, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$button4 = GUICtrlCreateLabel("Кнопка", 272, 142, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$button5 = GUICtrlCreateLabel("Кнопка", 272, 178, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$K1 = GUICtrlCreateCombo("1", 344, 32, 80, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL, $WS_VSCROLL))
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9")
$K2 = GUICtrlCreateCombo("2", 344, 68, 80, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL, $WS_VSCROLL))
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9")
$K3 = GUICtrlCreateCombo("3", 344, 103, 80, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL, $WS_VSCROLL))
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9")
$K4 = GUICtrlCreateCombo("4", 344, 139, 80, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL, $WS_VSCROLL))
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9")
$K5 = GUICtrlCreateCombo("5", 344, 175, 80, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL, $WS_VSCROLL))
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9")
$bStart = GUICtrlCreateButton("Click!T", 42, 232, 97, 25)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$bPause = GUICtrlCreateButton("Пауза", 178, 232, 97, 25)
$bExit = GUICtrlCreateButton("Выход", 314, 232, 97, 25)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Opt("SendKeyDownDelay", 500) ; задержка нажатия клавиш, т.е. клавиша будет удерживаться 0,5 сек
Global $clicker
Global $key1 = GUICtrlRead($K1), $key2 = GUICtrlRead($K2), $key3 = GUICtrlRead($K3), $key4 = GUICtrlRead($K4), $key5 = GUICtrlRead($K5) ; назначаем горячие клавиши из ComboBox'a
Global $timer1 = Number(GUICtrlRead($T1)), $timer2 = Number(GUICtrlRead($T2)), $timer3 = Number(GUICtrlRead($T3)), $timer4 = Number(GUICtrlRead($T4)), $timer5 = Number(GUICtrlRead($T5)) ; объявляем введенные таймеры
Global $otkat1, $otkat2, $otkat3, $otkat4, $otkat5

While 1
    
    $nMsg = GUIGetMsg()
    
        If $nMsg = $bPause Or $nMsg = $pause Then $clicker = False
            If $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $bExit Or $nMsg = $exit Then ExitLoop
                If $nMsg = $about Then MsgBox(0, "About", "Requiem clicker 0.0.1")
                    If $nMsg = $help Then MsgBox(0, "Помощь", "Выберете длительность бафа (или скорость отката каста) и горячую клавишу этого заклинания, после этого нажмите 'Click!T' или 'Старт'. По умолчанию горячие клавиши: 1, 2, 3, 4, 5. А скорость отката равна 0.")
                        If $nMsg = $bStart Or $nMsg = $start Then count1()            
    
WEnd
Exit
GUIDelete()


Func count1()
    $otkat1 = TimerInit()
    $otkat2 = TimerInit()
    $otkat3 = TimerInit()
    $otkat4 = TimerInit()
    $otkat5 = TimerInit()
    While True
        Switch $nMsg
        Case TimerDiff($otkat1)>$timer1 Then
            Send($key1)
        Case TimerDiff($otkat2)>$timer2 Then
            Send($key2)
        Case TimerDiff($otkat3)>$timer3 Then
            Send($key3)
        Case TimerDiff($otkat4)>$timer4 Then
            Send($key4)
        Case TimerDiff($otkat5)>$timer5 Then
            Send($key5)
        Case $nMsg = $bPause Or $nMsg = $pause Then $clicker = False
        EndSwitch
        
    WEnd
EndFunc
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Код:
While 1
   
    $nMsg = GUIGetMsg()
   
        ;If $nMsg = $bPause Or $nMsg = $pause Then $clicker = False
        If $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $bExit Or $nMsg = $exit Then ExitLoop
        If $nMsg = $about Then MsgBox(0, "About", "Requiem clicker 0.0.1")
        If $nMsg = $help Then MsgBox(0, "Помощь", "Выберете длительность бафа (или скорость отката каста) и горячую клавишу этого заклинания, после этого нажмите 'Click!T' или 'Старт'. По умолчанию горячие клавиши: 1, 2, 3, 4, 5. А скорость отката равна 0.")
        If $nMsg = $bStart Or $nMsg = $start Then count1()            
        If $nMsg = $bPause Or $nMsg = $pause Then
            Do
                $nMsg = GUIGetMsg()
                ToolTip("Paused",0,0)
            Until $nMsg = $bPause Or $nMsg = $pause
            ToolTip("")
        EndIf
WEnd


Про баффы - просто сделай обработку например с помощью If, что если бафф не задан, то он не обрабатывается.
 
Автор
V

volkov1

Новичок
Сообщения
17
Репутация
0
не помогло :( все так же не реагирует на нажатие кнопки пауза
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
аха, еще у тебя вот тут вот фишка:
Код:
Func count1()
    $otkat1 = TimerInit()
    $otkat2 = TimerInit()
    $otkat3 = TimerInit()
    $otkat4 = TimerInit()
    $otkat5 = TimerInit()
    While True
        nMsg = GuiGetMsg() ;Вот этого не хватало, иначе скрипт не получал данные от ГУИ
        Switch $nMsg
        Case TimerDiff($otkat1)>$timer1 Then
            Send($key1)
        Case TimerDiff($otkat2)>$timer2 Then
            Send($key2)
        Case TimerDiff($otkat3)>$timer3 Then
            Send($key3)
        Case TimerDiff($otkat4)>$timer4 Then
            Send($key4)
        Case TimerDiff($otkat5)>$timer5 Then
            Send($key5)
        Case $nMsg = $bPause Or $nMsg = $pause Then $clicker = ExitLoop ;Просто завершаем цикл, и выскакиваем в главный цикл обработки гуи.
        EndSwitch
       
    WEnd
EndFunc


То есть когда ты нажимал старт, бот уходил в цикл этой функции и не выходил оттуда ибо условие выхода не было описано.
 
Автор
V

volkov1

Новичок
Сообщения
17
Репутация
0
Belfigor, сначала этот код вообще ошибку выдавал, после работы напильником стал кое-как кликать...в общем работал он через пень, при нажатии на Старт, не всегда происходил запуск выполнения, Пауза опять же если срабатывала, то продолжить выполнение скрипта было уже невозможно, максимум делал 3 клика и уходил в себя ;D Решил немного изменить код, теперь это выглядит так:
Код:
While 1
   
    $nMsg = GUIGetMsg()
   
        ;If $nMsg = $bPause Or $nMsg = $pause Then $clicker = False
        If $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $bExit Or $nMsg = $exit Then ExitLoop
        If $nMsg = $about Then MsgBox(0, "About", "Requiem clicker 0.0.1")
        If $nMsg = $help Then MsgBox(0, "Помощь", "Выберете длительность бафа (или скорость отката каста) и горячую клавишу этого заклинания, после этого нажмите 'Click!T' или 'Старт'. По умолчанию горячие клавиши: 1, 2, 3, 4, 5. А скорость отката равна 0.")
        If $nMsg = $bStart Or $nMsg = $start Then
            $clicker = True
            count1()
            EndIf
        If $nMsg = $bPause Or $nMsg = $pause Then
            Do
                $nMsg = GUIGetMsg()
                TrayTip("", "Paused",0,0)
            Until $nMsg = $bStart Or $nMsg = $start
            TrayTip("", "", 0, 0)
        EndIf
WEnd
Exit
GUIDelete()


Func count1()
    
    While True
        
        $nMsg = GuiGetMsg() ;Вот этого не хватало, иначе скрипт не получал данные от ГУИ
        
        If $nMsg = $bPause Or $nMsg = $pause Then
            $clicker = False
            ExitLoop ;Просто завершаем цикл, и выскакиваем в главный цикл обработки гуи.
            EndIf
        If TimerDiff($otkat1)>$timer1 Then click1()
        If TimerDiff($otkat2)>$timer2 Then click2()
        If TimerDiff($otkat3)>$timer3 Then click3()
        If TimerDiff($otkat4)>$timer4 Then click4()
        If TimerDiff($otkat5)>$timer5 Then click5()
                       
    WEnd
EndFunc

Func click1()
    Send($key1)
    $otkat1 = TimerInit()
    Sleep(50)
EndFunc
    
Func click2()
    Send($key2)
    $otkat2 = TimerInit()
    Sleep(50)
EndFunc

Func click3()
    Send($key3)
    $otkat3 = TimerInit()
    Sleep(50)
EndFunc

Func click4()
    Send($key4)
    $otkat4 = TimerInit()
    Sleep(50)
EndFunc

Func click5()
    Send($key5)
    $otkat5 = TimerInit()
    Sleep(50)
EndFunc


Сейчас он как бы работает...только опять же, не реагирует на Паузу. Да и кликает почему-то без учета заданных таймеров, а тупо по очереди клавиши перебирает. Голова от него кругом :wacko:
 

spider_xr

Знающий
Сообщения
14
Репутация
7
ну помолясь.
1) никого не смутил тот факт что переменные $timer и $key получают свои значения один раз, при создание гуи, тайм всегда 0 а кнопки 1,2,3,4,5 что-бы там не вбивали в гуи)
2)я так и не понял зачем обрабатывать событие паузы в окне гуи(когда кликер не работает)
3) клавиши F1,F2.... надо назначать так {F1}

в общем попробуй так(добавил горячую клавишу чтоб не переключатся с клиента на кликер и если тебе нужно использовать меньше чем 5 кнопок - просто оставь значение "Длительность бафа" = 0(и незабывай что оно у тедя в миле секундах))

Код:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=D:\AutoIT\Koda\Test Click!T.kxf
$Form1 = GUICreate("TEST Click!T", 453, 312, 192, 124)
$Menu1 = GUICtrlCreateMenu("Меню")
$start = GUICtrlCreateMenuItem("Click!T", $Menu1)
$pause = GUICtrlCreateMenuItem("Пауза", $Menu1)
$exit = GUICtrlCreateMenuItem("Выход", $Menu1)
$info = GUICtrlCreateMenu("Инфо")
$help = GUICtrlCreateMenuItem("Помощь", $info)
$about = GUICtrlCreateMenuItem("О программе", $info)
$time1 = GUICtrlCreateLabel("Длительность бафа, м.сек", 16, 32, 184, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$time2 = GUICtrlCreateLabel("Длительность бафа, м.сек", 16, 69, 184, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$time3 = GUICtrlCreateLabel("Длительность бафа, м.сек", 16, 106, 184, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$time4 = GUICtrlCreateLabel("Длительность бафа, м.сек", 16, 143, 184, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$time5 = GUICtrlCreateLabel("Длительность бафа, м.сек", 16, 180, 184, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$T1 = GUICtrlCreateInput("0", 208, 32, 49, 21)
$T2 = GUICtrlCreateInput("0", 208, 69, 49, 21)
$T3 = GUICtrlCreateInput("0", 208, 106, 49, 21)
$T4 = GUICtrlCreateInput("0", 208, 141, 49, 21)
$T5 = GUICtrlCreateInput("0", 208, 180, 49, 21)
$button1 = GUICtrlCreateLabel("Кнопка", 272, 32, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$button2 = GUICtrlCreateLabel("Кнопка", 272, 68, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$button3 = GUICtrlCreateLabel("Кнопка", 272, 105, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$button4 = GUICtrlCreateLabel("Кнопка", 272, 142, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$button5 = GUICtrlCreateLabel("Кнопка", 272, 178, 57, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$K1 = GUICtrlCreateCombo("1", 344, 32, 80, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL, $WS_VSCROLL))
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=|{F1}|{F2}|{F3}|{F4}|{F5}|{F6}|{F7}|{F8}|{F9}|{F10}|{F11}|{F12}|{NUMPAD0}|{NUMPAD1}|{NUMPAD2}|{NUMPAD3}|{NUMPAD4}|{NUMPAD5}|{NUMPAD6}|{NUMPAD7}|{NUMPAD8}|{NUMPAD9}")
$K2 = GUICtrlCreateCombo("2", 344, 68, 80, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL, $WS_VSCROLL))
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=|{F1}|{F2}|{F3}|{F4}|{F5}|{F6}|{F7}|{F8}|{F9}|{F10}|{F11}|{F12}|{NUMPAD0}|{NUMPAD1}|{NUMPAD2}|{NUMPAD3}|{NUMPAD4}|{NUMPAD5}|{NUMPAD6}|{NUMPAD7}|{NUMPAD8}|{NUMPAD9}")
$K3 = GUICtrlCreateCombo("3", 344, 103, 80, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL, $WS_VSCROLL))
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=|{F1}|{F2}|{F3}|{F4}|{F5}|{F6}|{F7}|{F8}|{F9}|{F10}|{F11}|{F12}|{NUMPAD0}|{NUMPAD1}|{NUMPAD2}|{NUMPAD3}|{NUMPAD4}|{NUMPAD5}|{NUMPAD6}|{NUMPAD7}|{NUMPAD8}|{NUMPAD9}")
$K4 = GUICtrlCreateCombo("4", 344, 139, 80, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL, $WS_VSCROLL))
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=|{F1}|{F2}|{F3}|{F4}|{F5}|{F6}|{F7}|{F8}|{F9}|{F10}|{F11}|{F12}|{NUMPAD0}|{NUMPAD1}|{NUMPAD2}|{NUMPAD3}|{NUMPAD4}|{NUMPAD5}|{NUMPAD6}|{NUMPAD7}|{NUMPAD8}|{NUMPAD9}")
$K5 = GUICtrlCreateCombo("5", 344, 175, 80, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL, $WS_VSCROLL))
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|-|=|{F1}|{F2}|{F3}|{F4}|{F5}|{F6}|{F7}|{F8}|{F9}|{F10}|{F11}|{F12}|{NUMPAD0}|{NUMPAD1}|{NUMPAD2}|{NUMPAD3}|{NUMPAD4}|{NUMPAD5}|{NUMPAD6}|{NUMPAD7}|{NUMPAD8}|{NUMPAD9}")
$bStart = GUICtrlCreateButton("Click!T", 42, 232, 97, 25)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$bPause = GUICtrlCreateButton("Пауза", 178, 232, 97, 25)
$bExit = GUICtrlCreateButton("Выход", 314, 232, 97, 25)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Opt("SendKeyDownDelay", 500) ; задержка нажатия клавиш, т.е. клавиша будет удерживаться 0,5 сек

Global $key1, $key2, $key3, $key4, $key5 ; назначаем горячие клавиши из ComboBox'a
Global $timer1, $timer2, $timer3, $timer4, $timer5 ; объявляем введенные таймеры
Global $otkat1, $otkat2, $otkat3, $otkat4, $otkat5
Global $Paused
HotKeySet("{PAUSE}", "count1")

While 1
    
    $nMsg = GUIGetMsg()

	If $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $bExit Or $nMsg = $exit Then ExitLoop
    If $nMsg = $about Then MsgBox(0, "About", "Requiem clicker 0.0.1")
    If $nMsg = $help Then MsgBox(0, "Помощь", "Выберете длительность бафа (или скорость отката каста) и горячую клавишу этого заклинания, после этого нажмите 'Click!T' или 'Старт'. По умолчанию горячие клавиши: 1, 2, 3, 4, 5. А скорость отката равна 0.")
    If $nMsg = $bStart Or $nMsg = $start Then count1()            
Sleep(20) ;дань традициям.
WEnd
Exit
GUIDelete()


Func count1()
	
	_updatekey()
	$Paused = NOT $Paused
    While $Paused
		$nMsg = GuiGetMsg()
		if $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $bExit Or $nMsg = $exit Then ExitLoop 2
		if $nMsg = $bPause Or $nMsg = $pause Then ExitLoop
		If TimerDiff($otkat1)>$timer1 And $timer1 <> 0 Then
			Send($key1)
			$otkat1 = TimerInit()
			Sleep(50)
		EndIf
        If TimerDiff($otkat2)>$timer2 And $timer2 <> 0 Then
			Send($key2)
			$otkat2 = TimerInit()
			Sleep(50)
		EndIf
        If TimerDiff($otkat3)>$timer3 And $timer3 <> 0 Then
			Send($key3)
			$otkat3 = TimerInit()
			Sleep(50)
		EndIf
        If TimerDiff($otkat4)>$timer4 And $timer4 <> 0 Then
			Send($key4)
			$otkat4 = TimerInit()
			Sleep(50)
		EndIf
        If TimerDiff($otkat5)>$timer5 And $timer5 <> 0 Then
			Send($key5)
			$otkat5 = TimerInit()
			Sleep(50)
		EndIf
	Sleep(20)
    WEnd
EndFunc

Func _updatekey()
$key1 = GUICtrlRead($K1)
$key2 = GUICtrlRead($K2)
$key3 = GUICtrlRead($K3)
$key4 = GUICtrlRead($K4)
$key5 = GUICtrlRead($K5)
$timer1 = GUICtrlRead($T1)
$timer2 = GUICtrlRead($T2)
$timer3 = GUICtrlRead($T3)
$timer4 = GUICtrlRead($T4)
$timer5 = GUICtrlRead($T5)
$otkat1 = TimerInit()
$otkat2 = TimerInit()
$otkat3 = TimerInit()
$otkat4 = TimerInit()
$otkat5 = TimerInit()
EndFunc


зы: зачем тебе Global $clicker если ты так им и не воспользовался?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
КомбоБоксам без разницы отображается в них текст с кавычками или нет
51.gif
 

spider_xr

Знающий
Сообщения
14
Репутация
7
комбобоксам может и без разницы а вот команде send() нет, если без ковычек то сенд пошлет сначала букавку F а затем цифру, в нашем случае мы вроде эмулируем нажатие F1,F2 и т.д.

или я неправ? о_О
 
Автор
V

volkov1

Новичок
Сообщения
17
Репутация
0
spider_xr , $clicker был нужен в коде до этого, пережитки прошлого как говорится :smile: насчет милисекунд - согласен, недоглядел, надо проставить в формуле *1000, чтоб народ не мучился пересчитывать. И да! сейчас он работает, по крайней мере на блокноте все отлично жмет :ok: вечером проверю на клиенте...
И по поводу назначения клавиш F1,F2 и т.д. тоже была такая мысль хотел проверить сначала на клиенте как себя поведет, не это главное было на тот момент ;)
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
spider_xr сказал(а):
комбобоксам может и без разницы а вот команде send() нет, если без ковычек то сенд пошлет сначала букавку F а затем цифру, в нашем случае мы вроде эмулируем нажатие F1,F2 и т.д. или я неправ? о_О
Не увидел что он импортирует данные о кнопках напрямую из контролов из гуи, думал там что-то типа Send("{"&$var&"}")
 
Верх