Что нового

[Мышь, клавиатура] одновременное выполнение нескольких условий

Safron9999

Новичок
Сообщения
42
Репутация
0
Подскажите пожалуйста как сделать так, чтобы действие выполнялось при одновременном совпадении нескольких условий? (2-х и более)
Мышь кликала по координатам при одновременном совпадении 2-х и более цветов и только при совпадении всех одновременно, а не одного из...
Код:
If "0x" & Hex(PixelGetColor(1019, 552),6) = 0x181411 Then ;тут еще несколько условий
MouseClick("left",1155,538,1)
EndIf


заранее спасибо.
 
Автор
S

Safron9999

Новичок
Сообщения
42
Репутация
0
спасибо )
Код:
If "0x" & Hex(PixelGetColor(pew pew 2),6) = 0x181411 Then

pew на сколько я понимаю координата? а цифра 2 - это "порядковый номер"? в следующем условии надо ставить 3?
и еще вопрос возник есть ли какое-либо ограничение по использованию PixelGetColor? не будет большое их количество тормозить работу скрипта?
и еще ) с какой периодичностью PixelGetColor считывает цвет? ))
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
используй AND между условиями
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
pew pew 1 и 2 это просто то место куда ты должен подставить свои координаты.
PGC считывает цвет за то время которое проходит после инициализации команды и до ее выполнения. Узнать ее для своего компьютера ты можешь приладив соответствующие таймеры.
 
Автор
S

Safron9999

Новичок
Сообщения
42
Репутация
0
не получается :( одно из условий используется и в первом и во втором случае... когда оно используется одно то действие должно быть одно, а когда в связке с другим условием то действие должно быть другое... а в этом случае всегда выполняется 1 действие... (

Код:
If "0x" & Hex(PixelGetColor(1019, 552),6) = 0x181411 Then
MouseClick("left",848,537,1)
Sleep(Random(450, 600, 1))
EndIf
If "0x" & Hex(PixelGetColor(1019, 552),6) = 0x181411 Then 
"0x" & Hex(PixelGetColor(734, 631),6) = 0xF99B01 Then
MouseClick("left",1013,505,1)
Sleep(Random(450, 600, 1))
EndIf
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Как вариант
Код:
If "0x" & Hex(PixelGetColor(1019, 552),6) = 0x181411 And "0x" & Hex(PixelGetColor(734, 631),6) <> 0xF99B01 Then
    MouseClick("left",848,537,1)
    Sleep(Random(450, 600, 1))
EndIf
If "0x" & Hex(PixelGetColor(1019, 552),6) = 0x181411 And "0x" & Hex(PixelGetColor(734, 631),6) = 0xF99B01  Then
    MouseClick("left",1013,505,1)
    Sleep(Random(450, 600, 1))
EndIf



Добавлено:
Сообщение автоматически объединено:

Как более оптимальный вариант:
Код:
Local $test1 = "0x" & Hex(PixelGetColor(1019, 552),6), $test2 = "0x" & Hex(PixelGetColor(734, 631),6)
If $test1 = 0x181411 And $test2 <> 0xF99B01 Then
    MouseClick("left",848,537,1)
    Sleep(Random(450, 600, 1))
ElseIf $test1 = 0x181411 And $test2 = 0xF99B01 Then
    MouseClick("left",1013,505,1)
    Sleep(Random(450, 600, 1))
EndIf
 
Автор
S

Safron9999

Новичок
Сообщения
42
Репутация
0
последний вариант работает идеально! )) спасибо Belfigor !! )
 
Верх