Автор Тема: скрипт отказывается делить переменные  (Прочитано 589 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Tamago4aRUS

  • Освоившийся
  • **
  • Сообщений: 32
    • Просмотр профиля
8 строка. Пробовал выносить всё отдельно от MOVE. Ни в какую не делит.
Код: Clickermann
  1. $vertical_left_min = 146 //текст
  2. $vertical_left_max = 1039
  3. $horizontal_left_stable = 210
  4. $delay_of_ordinary_actions = 25
  5. $number_of_scrolls = 14
  6.  
  7. $vertical_left_stable = $vertical_left_max - $vertical_left_min
  8. MOVE($horizontal_left_stable,$vertical_left_stable / 2)
  9. WAITMS($delay_of_ordinary_actions)
  10. FOR($var_for = 0, $var_for < $number_of_scrolls, 1)
  11.   WHEELDOWN
  12.   WAITMS($delay_of_ordinary_actions)
  13. END_CYC
  14. WAITMS($delay_of_ordinary_actions)
« Последнее редактирование: Декабрь 18, 2021, 06:51:27 pm от Tamago4aRUS »

ya12

  • Активный участник
  • ***
  • Сообщений: 160
    • Просмотр профиля
Re: скрипт отказывается делить переменные
« Ответ #1 : Декабрь 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

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

Вот весь сценарий который я написал
Код: Clickermann
  1. //Официальный сайт программы с помощью которой сценарий приводится в действие http://crapware.aidf.org/page/clickermann чтобы скачать можно просто перейти по ссылке http://crapware.aidf.org/files/9/
  2. //Версия 1.0. Актуальную версию всегда можно посмотреть тут https://disk.yandex.ru/d/2cEuxDMm2c-Lgw
  3. //Скрипт-сценарий для автоматического изучения предметов на барахолке в игре Escape From Tarkov, для актуальной, на момент 18.12.2021, версии - 0.12.12.2.16165.
  4. //Дискорд автора: Tamago4a#7377 Обо всех багах пишите мне в дискорд или в комментарии под видео.
  5. //Данные настройки являются оптимальными для меня. Они рассчитаны на разрешение экрана 1920 на 1080. Если у вас другое разрешение экрана, то некоторые параметры придётся настраивать под себя.
  6. $vertical_left_min = 146//Минимальная вертикальная кордината, на которой предметы в левом списке прокликиваются.
  7. $vertical_left_max = 1039//Максимальная вертикальная кордината, на которой предметы в левом списке прокликиваются.
  8. $horizontal_left_stable = 210//Стабильная горизонтальная координата, при наведении на которую, левый список может скроллиться.
  9. $horizontal_right_first = 910//Смотри скриншот https://d.radikal.ru/d38/2112/61/1325c911fb72.jpg
  10. $vertical_right_first = 175//Смотри скриншот https://d.radikal.ru/d38/2112/61/1325c911fb72.jpg
  11. $vertical_right_fourth = 395//Смотри скриншот https://d.radikal.ru/d38/2112/61/1325c911fb72.jpg
  12. $delay_of_items_are_loaded = 2000//Задержка действия сценария, до того как предметы прогрузятся в правом списке. "2000" это 2 секунды. Если этого времени будет не хватать, то этот параметр надо увеличивать на "500", пока работа не станет стабильной.
  13. $delay_of_ordinary_actions = 25//Задержка между всеми основными действиями сценария. Если в каких-то моментах скрипт не справляется с задачей, то этот параметр надо увеличивать на "10", пока работа не станет стабильной.
  14. $number_of_scrolls = 14//Количество скроллов, которых достаточно для полной смены списка предметов слева.
  15. $number_of_passable_items = 8//Количество предметов в правом списке которое сценарий будет пытаться изучить.
  16.  
  17. $vertical_right_stepping = ROUND(($vertical_right_fourth - $vertical_right_first) / 3, 0)
  18. $vertical_scroll = $vertical_left_min
  19. WHILE($vertical_left_min < $vertical_left_max)
  20.   $vertical_right_first_most = $vertical_right_first
  21.   $vertical_right_first_for_latest = $vertical_right_first
  22.   MOVE($horizontal_left_stable,$vertical_left_min)
  23.   WAITMS($delay_of_ordinary_actions)
  24.   LCLICK($_xmouse,$_ymouse)
  25.   WAITMS($delay_of_items_are_loaded)
  26.   FOR($var_for = 0, $var_for < $number_of_passable_items, 1)
  27.      MOVE($horizontal_right_first,$vertical_right_first_most)
  28.      WAITMS($delay_of_ordinary_actions)
  29.      MCLICK($_xmouse,$_ymouse)
  30.      WAITMS($delay_of_ordinary_actions)
  31.      $vertical_right_first_most = $vertical_right_first_most + $vertical_right_stepping
  32.   END_CYC
  33.   $vertical_left_min = $vertical_left_min + 25
  34. END_CYC
  35. WAITMS($delay_of_ordinary_actions)
  36. MOVE($horizontal_left_stable,$vertical_left_max)
  37. WAITMS($delay_of_ordinary_actions)
  38. LCLICK($_xmouse,$_ymouse)
  39. WAITMS($delay_of_items_are_loaded)
  40. FOR($var_for = 0, $var_for < $number_of_passable_items, 1)
  41.   MOVE($horizontal_right_first,$vertical_right_first_for_latest)
  42.   WAITMS($delay_of_ordinary_actions)
  43.   MCLICK($_xmouse,$_ymouse)
  44.   WAITMS($delay_of_ordinary_actions)
  45.   $vertical_right_first_for_latest = $vertical_right_first_for_latest + $vertical_right_stepping
  46. END_CYC
  47. WAITMS($delay_of_ordinary_actions)
  48. MOVE($horizontal_left_stable,ROUND(($vertical_left_max - $vertical_scroll) / 2, 0))
  49. WAITMS($delay_of_ordinary_actions)
  50. FOR($var_for = 0, $var_for < $number_of_scrolls, 1)
  51.   WHEELDOWN
  52.   WAITMS($delay_of_ordinary_actions)
  53. END_CYC
  54. WAITMS($delay_of_ordinary_actions)
Демонстрация работы https://disk.yandex.ru/i/gYx9gAAkRiRhmw
Есть ли какие-то предложения или замечания?
« Последнее редактирование: Декабрь 23, 2021, 05:15:14 pm от Tamago4aRUS »

arma

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