Author Topic: не нажимается в браузере при 1 цикле  (Read 3007 times)

0 Members and 1 Guest are viewing this topic.

FJ

  • Освоившийся
  • **
  • Posts: 59
    • View Profile
Доброго дня форумчане!
Подскажите, почему в браузере опера при $vbr = 1 не кликает? остальные кликает без проблем. Именно в опере... Уже пару раз переписывал код,  не могу ничего понять!

Code: [Select]
$mr = INPUTBOX("1 - Настройка. 2 - Напасть без усиления. 3 - Напасть с усилением. 4 - Автонападение.", "2", 100)
if ($mr < 1 & $mr > 3) // выходим, если неправильно выбрано
   halt
end_if
if ($mr = 1) // Настраиваем
   TFCLEAR ("\screens\temp\музмех\config.txt") // чистим конфиг
   
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------------------------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------>" )
   waitms (80)
   
   $xattak1 = $_xmouse
   $yattak1 = $_ymouse
   TFWRITE  ("\screens\temp\музмех\config.txt", $xattak1 , 1 )
   TFWRITE  ("\screens\temp\музмех\config.txt", $yattak1 , 2 )
   
   $xattak2 = $_xmouse + 180
   $yattak2 = $_ymouse
   TFWRITE  ("\screens\temp\музмех\config.txt", $xattak2 , 3 )
   TFWRITE  ("\screens\temp\музмех\config.txt", $yattak2 , 4 )
   halt
end_if

if ($mr = 2) //Напасть без уселения
   
   $xattak2 = TFREAD ("\screens\temp\музмех\config.txt", 3 )
   $yattak2 = TFREAD ("\screens\temp\музмех\config.txt", 4 )
   $vbr = 2
   
end_if

if ($mr = 3) //  с уселением
   
   $xattak1 = TFREAD ("\screens\temp\музмех\config.txt", 1 )
   $yattak1 = TFREAD ("\screens\temp\музмех\config.txt", 2 )
   $xattak2 = TFREAD ("\screens\temp\музмех\config.txt", 3 )
   $yattak2 = TFREAD ("\screens\temp\музмех\config.txt", 4 )
   $vbr = 1
end_if

//Настраиваемся на атаку
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------>" )
waitms (80)

$xattak3 = $_xmouse
$yattak3 = $_ymouse

$r = 0
vbr:

WAITMS(300)
$hg = HGET(100,10)
//WNDSTATE($hg, 0)


SWITCH($r)
CASE(1)
   $hw = WNDFIND("yandex",0) // $hw = 328108
CASE(2)
   $hw = WNDFIND("Google Chrome",0) // $hw = 4391430
   
CASE(3)
   //$hw = WNDFIND("Mozilla Firefox",0) // $hw = 1442366
   $hw = WNDFIND("Opera",0) // $hw = 1442366
   
   $vbr = $vbr + 1
   $r = 0
CASE(4)
   
   $hw = WNDFIND("yandex",0) // $hw = 328108
   
   WNDBUMP($hw)
   WAITMS(100)
   halt
   
DEFAULT
   
END_SWITCH
WAITMS(100)

IF($hw > 0) // если HWND найден
   
   WNDBUMP($hw)
   WAITMS(400)
   
   SWITCH($vbr)
      WAITMS(100)
   CASE(1)
      move ( $xattak1 , $yattak1 )
      waitms (50)
      LCLICK ( $xattak1 , $yattak1 )
      waitms (50)
      LCLICK ( $xattak1 , $yattak1 )
      waitms (100)
   CASE(2)
      waitms (100)
      LCLICK ( $xattak2 , $yattak2 )
      waitms (100)
   CASE(3)
      waitms (100)
      LCLICK ( $xattak3 , $yattak3 )
      waitms (100)
   DEFAULT
      $r = 4
      print ( "$r = 4" )
      GOTO(vbr)
   END_SWITCH
   
END_IF
print ( "$r ", $r , " / $vbr " , $vbr )
$r = $r + 1
GOTO(vbr)

halt

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: не нажимается в браузере при 1 цикле
« Reply #1 on: January 28, 2016, 09:56:16 PM »
Исправляем ошибки для начала.

Не правильно. Где скобки?
Code: (clickermann) [Select]
if ($mr < 1 & $mr > 3) // выходим, если неправильно выбраноПравильно
Code: (clickermann) [Select]
if (($mr < 1) & ($mr > 3)) // выходим, если неправильно выбрано
Не правильно. Сюда не стоит ничего вставлять.
Code: (clickermann) [Select]
   SWITCH($vbr)
      WAITMS(100)
   CASE(1)
Правильно
Code: (clickermann) [Select]
   SWITCH($vbr)
   CASE(1)

Code: (clickermann) [Select]
$mr = INT(INPUTBOX("1 - Настройка. 2 - Напасть без усиления. 3 - Напасть с усилением. 4 - Автонападение.", "2", 100))
if (($mr < 1) & ($mr > 3)) // выходим, если неправильно выбрано
   halt
end_if
if ($mr = 1) // Настраиваем
   TFCLEAR ("\screens\temp\музмех\config.txt") // чистим конфиг
   
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------------------------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------------------>" )
   waitms (80)
   HINTPOPUP( "Наведи на усиление" , "Фиксирую ------------>" )
   waitms (80)
   
   $xattak1 = $_xmouse
   $yattak1 = $_ymouse
   TFWRITE  ("\screens\temp\музмех\config.txt", $xattak1 , 1 )
   TFWRITE  ("\screens\temp\музмех\config.txt", $yattak1 , 2 )
   
   $xattak2 = $_xmouse + 180
   $yattak2 = $_ymouse
   TFWRITE  ("\screens\temp\музмех\config.txt", $xattak2 , 3 )
   TFWRITE  ("\screens\temp\музмех\config.txt", $yattak2 , 4 )
   halt
end_if

if ($mr = 2) //Напасть без уселения
   
   $xattak2 = TFREAD ("\screens\temp\музмех\config.txt", 3 )
   $yattak2 = TFREAD ("\screens\temp\музмех\config.txt", 4 )
   $vbr = 2
   
end_if

if ($mr = 3) //  с уселением
   
   $xattak1 = TFREAD ("\screens\temp\музмех\config.txt", 1 )
   $yattak1 = TFREAD ("\screens\temp\музмех\config.txt", 2 )
   $xattak2 = TFREAD ("\screens\temp\музмех\config.txt", 3 )
   $yattak2 = TFREAD ("\screens\temp\музмех\config.txt", 4 )
   $vbr = 1
end_if

//Настраиваемся на атаку
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------>" )
waitms (80)

$xattak3 = $_xmouse
$yattak3 = $_ymouse

$r = 0
vbr:

WAITMS(300)
$hg = HGET(100,10)
//WNDSTATE($hg, 0)


SWITCH($r)
CASE(1)
   $hw = WNDFIND("yandex",0) // $hw = 328108
CASE(2)
   $hw = WNDFIND("Google Chrome",0) // $hw = 4391430
   
CASE(3)
   //$hw = WNDFIND("Mozilla Firefox",0) // $hw = 1442366
   $hw = WNDFIND("Opera",0) // $hw = 1442366
   
   $vbr = $vbr + 1
   $r = 0
CASE(4)
   
   $hw = WNDFIND("yandex",0) // $hw = 328108
   
   WNDBUMP($hw)
   WAITMS(100)
   halt
   
DEFAULT
   
END_SWITCH
WAITMS(100)

IF($hw > 0) // если HWND найден
   
   WNDBUMP($hw)
   WAITMS(400)
   
   SWITCH($vbr)
   CASE(1)
      move ( $xattak1 , $yattak1 )
      waitms (50)
      LCLICK ( $xattak1 , $yattak1 )
      waitms (50)
      LCLICK ( $xattak1 , $yattak1 )
      waitms (100)
   CASE(2)
      waitms (100)
      LCLICK ( $xattak2 , $yattak2 )
      waitms (100)
   CASE(3)
      waitms (100)
      LCLICK ( $xattak3 , $yattak3 )
      waitms (100)
   DEFAULT
      $r = 4
      print ( "$r = 4" )
      GOTO(vbr)
   END_SWITCH
   
END_IF
print ( "$r ", $r , " / $vbr " , $vbr )
$r = $r + 1
GOTO(vbr)
« Last Edit: January 28, 2016, 10:00:22 PM by Oraven »

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: не нажимается в браузере при 1 цикле
« Reply #2 on: January 28, 2016, 10:12:55 PM »
Code: (clickermann) [Select]
if (($mr < 1) & ($mr > 3))
как mr может быть одновременно меньше еденицы и больше тройки!? правильно - либо меньше 1, либо больше 3.

Code: (clickermann) [Select]
if (($mr < 1) | ($mr > 3))

а еще правильнее, это
Code: (clickermann) [Select]
if (($mr < 1) | ($mr > 3) | ($mr = ""))это если пользователь нажал "отмена".
« Last Edit: January 28, 2016, 10:16:35 PM by dramster »

FJ

  • Освоившийся
  • **
  • Posts: 59
    • View Profile
Re: не нажимается в браузере при 1 цикле
« Reply #3 on: January 29, 2016, 05:28:27 AM »
блин, точно, упущение!))
спасибо!
но суть проблемы это не решит!)

Золотой

  • Оплот сообщества
  • ****
  • Posts: 312
    • View Profile
Re: не нажимается в браузере при 1 цикле
« Reply #4 on: January 29, 2016, 11:42:34 AM »
Подскажите, почему в браузере опера при $vbr = 1 не кликает? остальные кликает без проблем. Именно в опере... Уже пару раз переписывал код,  не могу ничего понять!
Code: (clickermann) [Select]
$r = 0// переменная равна НУЛЮ!
vbr:
 WAITMS(300)
$hg = HGET(100,10)
//WNDSTATE($hg, 0)
 SWITCH($r)// свич от 1до 4 !!!
HWND браузера определяться не будет,
Code: (clickermann) [Select]
IF($hw > 0) // соответственно все что внутри этого условия тоже неработает
Вопрос ну и зачем нужен этот холостой проход?
Code: (clickermann) [Select]
//Настраиваемся на атаку
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------------------>" )
waitms (80)
HINTPOPUP( "Наведи на цель 3" , "Фиксирую ------------>" )
waitms (80)

$xattak3 = $_xmouse
$yattak3 = $_ymouse
неужели за 0.56 сек ты успеваешь навести на цель?
 Если нет, то клик  будет мимо цели.
Code: (clickermann) [Select]
  $hw = WNDFIND("Opera",0) // $hw = 1442366   
   $vbr = $vbr + 1// для оперы предусмотренны особые клики? с усЕлением- будет клик без оного, а  без усЕления клик по особой настройке $xattak3 = $_xmouse, $yattak3 = $_ymouse  ?
   $r = 0// это вообще за гранью добра и зла, учитывая, что ниже $r = $r + 1, GOTO(vbr)  снова получаем $hw =0 и нерабочий код
Смущает только, что одни настройки "Наведи на усиление", другие "Наведи на цель 3", а кликаются в общей куче.
« Last Edit: January 29, 2016, 11:45:42 AM by Золотой »

FJ

  • Освоившийся
  • **
  • Posts: 59
    • View Profile
Re: не нажимается в браузере при 1 цикле
« Reply #5 on: January 29, 2016, 05:59:28 PM »
Code: (clickermann) [Select]
if (($mr < 1) | ($mr > 3) | ($mr = ""))
У меня что-то ошибку выдает, убрал
Code: [Select]
($mr = "") - работает нормально, сам не понимаю, почему!

[/code]
Вопрос ну и зачем нужен этот холостой проход?
неужели за 0.56 сек ты успеваешь навести на цель?
Да, я успеваю! :) Я это написал, для того чтобы играть на ПК через телефон, запускаю скрипт, навожу на цель, нажимаю ентер, и все! :)

Code: (clickermann) [Select]

   $vbr = $vbr + 1// для оперы предусмотренны особые клики?
[/quote]
А вот и причина! Спасибо большее за подсказку! :)
[quote author=Золотой link=topic=2353.msg14642#msg14642 date=1454056954]
[code=clickermann]
$r = 0// это вообще за гранью добра и зла, учитывая, что ниже $r = $r + 1, GOTO(vbr)  снова получаем $hw =0 и нерабочий код
[/quote]
Ну вообще то сначала идет $r = 0, затем $r = $r + 1(то есть $r = 0 + 1) в итоге получаем $r =1 :)
так что тут $hw не будет равен 0! :)
Но вот в начале, то что идет $r = 0, это да... Но почему- то работает как нужно! Возможно он пропускал свич 1 раз, наращивался и дальше работал в нормальном режиме, я хз! :)

[quote author=Золотой link=topic=2353.msg14642#msg14642 date=1454056954]
Смущает только, что одни настройки "Наведи на усиление", другие "Наведи на цель 3", а кликаются в общей куче.
[/quote]
не совсем так, после "Наведи на усиление" стоит halt. Это нужно только для того, чтоб настроить координату кнопки(Да, я знаю, что можно сделать поиск картинки, но мне пока нужно именно так! :))
А вот "Наведи на цель 3" уже другое :)

В общем спасибо, очень помогли! :)
Может еще где замечания есть? я по образованию вовсе не программист, а так, самоучка! :)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: не нажимается в браузере при 1 цикле
« Reply #6 on: January 29, 2016, 06:26:45 PM »
У меня что-то ошибку выдает

Если ты добавил INT то нажав Cancel в переменной будет 0. Без INT там будет пусто.
Code: (clickermann) [Select]
$mr = INT(INPUTBOX("1 - Настройка. 2 - Напасть без усиления. 3 - Напасть с усилением. 4 - Автонападение.", "2", 100))
IF(($mr > 0)&($mr < 5))
   LOGWRITE ("1-4")
ELSE
   IF($mr = 0)
      LOGWRITE ("Нажат Cancel")
   END_IF
END_IF

HALT