PDA

Показать полную графическую версию : смена кнопки после выполнения цыкла


Syavak
21-03-2010, 17:46
помогите зделать скрипт я ток 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
Предупреждение за нарушение правил форума, пункт 2.7 (http://forum.oszone.net/rules.html#2.7):

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

Переименуйте пожалуйста тему.

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

Syavak
21-03-2010, 22:24
вот воде код получше выглядает но кнопка не нажимается
если ктото знает подскажите как в функцию 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




© OSzone.net 2001-2012