Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   смена кнопки после выполнения цыкла (http://forum.oszone.net/showthread.php?t=170819)

Syavak 21-03-2010 17:46 1373887

смена кнопки после выполнения цыкла
 
помогите зделать скрипт я ток 5 дней как узнал что такое Аутоит
вот написал такое подскажите пожалуйста что в нем нетак
нада чтоб после 10 цыклов нажималась кнопка 2 , следующих 10 кнопка 3 итд.
и можна ли както оптимизировать или зделать это попроще?
thanks for help

єтот код работает нормально :

Код:

Global $Paused
    HotKeySet("{INS}", "TogglePause")
        WinActive("Game")
    WinActivate("Game")
While 1
$Mob_HP = PixelGetColor(258, 55) ; цвет пикселя на данный момент времени
$Mob_HP_cvet = 0xC00D10 ;цвет, который нужен мне       
$Self_HP = PixelGetColor(147, 816) ; цвет пикселя на данный момент времени
$Self_HP_cvet = 0x555137 ;цвет, который нужен мне
if $Self_HP = $Self_HP_cvet Then
Send("{3}");делается действие трали вали
        EndIf
if $Mob_HP = $Mob_HP_cvet Then
Send("{1}");делается действие трали вали
Sleep(1000)
Send("{1}");делается действие трали вали
        EndIf
WEnd
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Script is "Paused"',0,0)
WEnd
ToolTip("")
EndFunc

этот нет:

Код:

Global $Paused
    HotKeySet("{INS}", "TogglePause")
        WinActive("Игра")
    WinActivate("Игра")
        Dim $Polosa[9] = [1,1,1,1,1,1,1,1,1], $iHP_Use = 0, $iHP = 1
        For $iHP = 1 To 9
                While $iHP_Use <= 10
                        if $iHP = 1 Then
                                $Button = "{2}" EndIf
                        if $iHP = 2 Then
                                $Button = "{3}" EndIf
                        if $iHP = 3 Then
                                $Button = "{4}" EndIf
                        if $iHP = 4 Then
                                $Button = "{5}" EndIf
                        if $iHP = 5 Then
                                $Button = "{6}" EndIf
                        if $iHP = 6 Then
                                $Button = "{7}" EndIf
                        if $iHP = 7 Then
                                $Button = "{8}" EndIf
                        if $iHP = 8 Then
                                $Button = "{9}" EndIf
                        if $iHP = 9 Then
                                $Button = "{0}" EndIf
                    While 1
                                                $Mob_HP = PixelGetColor(258, 55) ; цвет пикселя на данный момент времени
                                            $Mob_HP_cvet = 0xC00D10 ;цвет, который нужен мне       
                                                $Self_HP = PixelGetColor(147, 816) ; цвет пикселя на данный момент времени
                        $Self_HP_cvet = 0x555137 ;цвет, который нужен мне
                        if $Self_HP = $Self_HP_cvet Then
                            Send($Button);хил
                            EndIf
                        if $Mob_HP = $Mob_HP_cvet Then
                            Send("{1}");переключение на оружие
                            Sleep(1000)
                            Send("{1}");удар
                            EndIf
                                $iHP_Use = $iHP_Use + 1
                                $iHP = $iHP + 1
                $Polosa[$iHP] = $Polosa[$iHP] + 1
        WEnd
    Next
        Exit
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Script is "Paused"',0,0)
WEnd
ToolTip("")
EndFunc


Creat0R 21-03-2010 17:56 1373897

Предупреждение за нарушение правил форума, пункт 2.7:

Цитата:

В заголовке темы обязательно обозначайте название предмета, которого касается вопрос, а в теле сообщения максимально подробно опишите проблему (приведите аппаратную/программную конфигурацию, а также изложите ситуацию, в которой возникает проблема).
Переименуйте пожалуйста тему.

А также куски кода заключайте пожалуйста в соответствующий тег (code).

Syavak 21-03-2010 22:24 1374074

вот воде код получше выглядает но кнопка не нажимается
если ктото знает подскажите как в функцию Send("{1}") можна впихнуть переменную $Button чтобы нажимала не 1 а то чему равно $Button
Код:

Global $Paused
    HotKeySet("{INS}", "TogglePause")
        WinActive("Game")
    WinActivate("Game")
        $j = 1 ; Слот аптеки
        $i = 1 ; КОЛИЧЕСТВО использования аптеки
        $Lim = 20 ; КОЛИЧЕСТВО использования аптеки до переключения на следующую
        $Polosa = 1
        Dim $Polosa[9] = [1,2,3,4,5,6,7,8,9]
                While $j <= 9
                        if $Polosa = 1 Then
                            $Button = "{2}"
                                EndIf
                        if $Polosa = 2 Then
                                $Button = "{3}"
                                EndIf
                        if $Polosa = 3 Then
                                $Button = "{4}"
                                EndIf
                        if $Polosa = 4 Then
                                $Button = "{5}"
                                EndIf
                        if $Polosa = 5 Then
                                $Button = "{6}"
                                EndIf
                        if $Polosa = 6 Then
                                $Button = "{7}"
                                EndIf
                        if $Polosa = 7 Then
                                $Button = "{8}"
                                EndIf
                        if $Polosa = 8 Then
                                $Button = "{9}"
                                EndIf
                        if $Polosa = 9 Then
                          $Button = "{0}"
                        EndIf
                            $j = $j + 1
                                        $i = 0       
                    While $i < $Lim
                                                ;MsgBox(0, "Цыкл", "%"&$Button&"="& $j &"<>"& $i &"=", 60 )
                                                $Mob_HP = PixelGetColor(258, 55) ; цвет пикселя на данный момент времени
                                            $Mob_HP_cvet = 0xC00D10 ;цвет, который нужен мне       
                                                $Self_HP = PixelGetColor(147, 816) ; цвет пикселя на данный момент времени
                        $Self_HP_cvet = 0x555137 ;цвет, который нужен мне
                        if $Self_HP = $Self_HP_cvet Then
                            Send($Button);делается действие трали вали
                            EndIf
                        if $Mob_HP = $Mob_HP_cvet Then
                            Send("{1}");делается действие трали вали
                            Sleep(1000)
                            Send("{1}");делается действие трали вали
                            EndIf
                                $i = $i + 1
                        WEnd
                                WEnd
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Script is "Paused"',0,0)
WEnd
ToolTip("")
EndFunc



Время: 18:12.

Время: 18:12.
© OSzone.net 2001-