Author Topic: скрипт отказывается делить переменные  (Read 2375 times)

0 Members and 1 Guest are viewing this topic.

Tamago4aRUS

  • Освоившийся
  • **
  • Posts: 32
    • View Profile
8 строка. Пробовал выносить всё отдельно от MOVE. Ни в какую не делит.
Code: (clickermann) [Select]
$vertical_left_min = 146 //текст
$vertical_left_max = 1039
$horizontal_left_stable = 210
$delay_of_ordinary_actions = 25
$number_of_scrolls = 14

$vertical_left_stable = $vertical_left_max - $vertical_left_min
MOVE($horizontal_left_stable,$vertical_left_stable / 2)
WAITMS($delay_of_ordinary_actions)
FOR($var_for = 0, $var_for < $number_of_scrolls, 1)
   WHEELDOWN
   WAITMS($delay_of_ordinary_actions)
END_CYC
WAITMS($delay_of_ordinary_actions)
« Last Edit: December 18, 2021, 06:51:27 PM by Tamago4aRUS »

ya12

  • Активный участник
  • ***
  • Posts: 165
    • View Profile
Re: скрипт отказывается делить переменные
« Reply #1 on: December 18, 2021, 10:08:12 AM »
Вынеси деление в отдельную строку, а результат округли до целого числа.

ROUND (arg, prec)

Параметры
arg - число
prec - точность

Пример

$r = ROUND(1.236, 0)  // $r = 1

Примечания
Округление происходит в сторону от нуля. То есть prec = 2 округлит число до сотен, а prec = -2 до сотых (два знака после точки). Откругление происходит по стандартному правилу 0.5

Tamago4aRUS

  • Освоившийся
  • **
  • Posts: 32
    • View Profile
Re: скрипт отказывается делить переменные
« Reply #2 on: December 18, 2021, 06:49:48 PM »
Да это помогло. Я до этого использовал в этом же месте ROUND(так как понимал что пиксели не могут быть с запятой), потом немного поменял код и что-то затупил жестко  :)

Вот весь сценарий который я написал
Code: (clickermann) [Select]
//Официальный сайт программы с помощью которой сценарий приводится в действие http://crapware.aidf.org/page/clickermann чтобы скачать можно просто перейти по ссылке http://crapware.aidf.org/files/9/
//Версия 1.0. Актуальную версию всегда можно посмотреть тут https://disk.yandex.ru/d/2cEuxDMm2c-Lgw
//Скрипт-сценарий для автоматического изучения предметов на барахолке в игре Escape From Tarkov, для актуальной, на момент 18.12.2021, версии - 0.12.12.2.16165.
//Дискорд автора: Tamago4a#7377 Обо всех багах пишите мне в дискорд или в комментарии под видео.
//Данные настройки являются оптимальными для меня. Они рассчитаны на разрешение экрана 1920 на 1080. Если у вас другое разрешение экрана, то некоторые параметры придётся настраивать под себя.
$vertical_left_min = 146//Минимальная вертикальная кордината, на которой предметы в левом списке прокликиваются.
$vertical_left_max = 1039//Максимальная вертикальная кордината, на которой предметы в левом списке прокликиваются.
$horizontal_left_stable = 210//Стабильная горизонтальная координата, при наведении на которую, левый список может скроллиться.
$horizontal_right_first = 910//Смотри скриншот https://d.radikal.ru/d38/2112/61/1325c911fb72.jpg
$vertical_right_first = 175//Смотри скриншот https://d.radikal.ru/d38/2112/61/1325c911fb72.jpg
$vertical_right_fourth = 395//Смотри скриншот https://d.radikal.ru/d38/2112/61/1325c911fb72.jpg
$delay_of_items_are_loaded = 2000//Задержка действия сценария, до того как предметы прогрузятся в правом списке. "2000" это 2 секунды. Если этого времени будет не хватать, то этот параметр надо увеличивать на "500", пока работа не станет стабильной.
$delay_of_ordinary_actions = 25//Задержка между всеми основными действиями сценария. Если в каких-то моментах скрипт не справляется с задачей, то этот параметр надо увеличивать на "10", пока работа не станет стабильной.
$number_of_scrolls = 14//Количество скроллов, которых достаточно для полной смены списка предметов слева.
$number_of_passable_items = 8//Количество предметов в правом списке которое сценарий будет пытаться изучить.

$vertical_right_stepping = ROUND(($vertical_right_fourth - $vertical_right_first) / 3, 0)
$vertical_scroll = $vertical_left_min
WHILE($vertical_left_min < $vertical_left_max)
   $vertical_right_first_most = $vertical_right_first
   $vertical_right_first_for_latest = $vertical_right_first
   MOVE($horizontal_left_stable,$vertical_left_min)
   WAITMS($delay_of_ordinary_actions)
   LCLICK($_xmouse,$_ymouse)
   WAITMS($delay_of_items_are_loaded)
   FOR($var_for = 0, $var_for < $number_of_passable_items, 1)
      MOVE($horizontal_right_first,$vertical_right_first_most)
      WAITMS($delay_of_ordinary_actions)
      MCLICK($_xmouse,$_ymouse)
      WAITMS($delay_of_ordinary_actions)
      $vertical_right_first_most = $vertical_right_first_most + $vertical_right_stepping
   END_CYC
   $vertical_left_min = $vertical_left_min + 25
END_CYC
WAITMS($delay_of_ordinary_actions)
MOVE($horizontal_left_stable,$vertical_left_max)
WAITMS($delay_of_ordinary_actions)
LCLICK($_xmouse,$_ymouse)
WAITMS($delay_of_items_are_loaded)
FOR($var_for = 0, $var_for < $number_of_passable_items, 1)
   MOVE($horizontal_right_first,$vertical_right_first_for_latest)
   WAITMS($delay_of_ordinary_actions)
   MCLICK($_xmouse,$_ymouse)
   WAITMS($delay_of_ordinary_actions)
   $vertical_right_first_for_latest = $vertical_right_first_for_latest + $vertical_right_stepping
END_CYC
WAITMS($delay_of_ordinary_actions)
MOVE($horizontal_left_stable,ROUND(($vertical_left_max - $vertical_scroll) / 2, 0))
WAITMS($delay_of_ordinary_actions)
FOR($var_for = 0, $var_for < $number_of_scrolls, 1)
   WHEELDOWN
   WAITMS($delay_of_ordinary_actions)
END_CYC
WAITMS($delay_of_ordinary_actions)
Демонстрация работы https://disk.yandex.ru/i/gYx9gAAkRiRhmw
Есть ли какие-то предложения или замечания?
« Last Edit: December 23, 2021, 05:15:14 PM by Tamago4aRUS »

arma

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: скрипт отказывается делить переменные
« Reply #3 on: December 27, 2021, 05:52:25 PM »
Проблема в обработке ошибок: если в функцию, принимающию координаты, дать дробное число, то эта команда МОЛЧА игнорируется.
Ни варнинга, ни ошибки, ни остановки скрипта, ничего.