|
|
|
Упростить скрипт |
|
|
facset |
17.1.2014, 22:17
|
Neophyte
Сообщений: 10
Регистрация: 21.12.2013 Группа: Пользователи Наличность: 0
Пользователь №: 16.508
Возраст: 23
|
Цитата(veiron @ 31.7.2013, 17:52) Код /////////блок 1 if 357, 431 12316912 or 357, 431 11075325 or 357, 431 9566451 set #tx 356 + random (3) set #ty 426 + random (3) set #tm 1 left #tx #ty end_if
/////////блок 15 if 436, 385 7798269 or 436, 385 7798269 or 436, 385 5170675 set #rx 356 + random (3) set #ry 426 + random (3) set #rm 1 left #rx #ry end_if Скрипт состоит из вот таких 15 ифоф, всего 90 строк. Подскажите, можно его как-то упростить и будет ли он от этого работать быстрее. уже немного не по теме но если еще актуально: то можно сократить скрипт так как советовал в начале DarkMaster только координаты и цвет загнать в строковую Код // 1й иф set $a 403, 845 12642802 // подставляешь свои значения gosub bbb
// 2й иф set $a 755, 567 12642802 gosub bbb
// 3й иф set $a 434, 645 12642802 gosub bbb
// и так далее end_script
:bbb if $a // ваше действие end_if return
|
|
|
|
BSW_rama |
27.1.2014, 12:30
|
Apprentice
Сообщений: 188
Регистрация: 28.1.2013 Группа: Пользователи Наличность: 0
Пользователь №: 15.728
Возраст: 32
|
объясняю на пальцах: никакой кликер не может делать больше 100 сканов с экрана в сек. поэтому есть несколько вариантов как ускорить работу скрипта 1) есть кликер кликерман у него есть функция "getscreen". она загонает скрин в буфер, после чего с ним можно работать.. благодаря этому твои 15 сканов будут занимать несколько милисекунд, что в итоге есть самая высокая скорость.. но в общем арифметика кликермана отстаёт от пилота в 1,5-2 раза, да и функцинал очень убогий, но для твоего скрипта достаточный 2) если пикселы с уникальным цветом или их нужнго цвета на экране не много, можно использовать "findcolor", прописав ему все цвета... проблема в том что он не указывает какой цвет где нашёлся... выигрыш в том что 1 команда - 1 скан... 3) использовать "get color", если требуется отсканировать 15 точек, и потом уже проверять их цветовые комбинации.. при этом напомню что для ускорения скрипта, не нужно париться на тему вычислений между сканами точек.. наоборот учитывая что пилот в промежутке между сканами способен выполнить от нескольких до сотни команд, нужно стараться математику вписывать между самими сканами.
|
|
|
|
DarkMaster |
27.1.2014, 15:40
|
Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27736
Пользователь №: 11.279
|
Цитата никакой кликер не может делать больше 100 сканов с экрана в сек. это нахрен не нужно. Если ты этого еще не понял - мне жаль. Тебе это уже объясняли несколько раз. Весь скан и построение у меня занимало около 170мс. Цитата 2) если пикселы с уникальным цветом или их нужнго цвета на экране не много, можно использовать "findcolor", прописав ему все цвета... проблема в том что он не указывает какой цвет где нашёлся... выигрыш в том что 1 команда - 1 скан... Сюрприз - узнавать координаты тоже не нужно. Достаточно грамотно использовать финдколор в данной ситуации. Цитата 3) использовать "get color", если требуется отсканировать 15 точек, и потом уже проверять их цветовые комбинации.. Бессмысленно, ведь для этого можно использовать финдколор и проскнировать пачкой. Ты хоть бы скрипта начало посмотрел что ли, чтобы не позориться...
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
BSW_rama |
28.1.2014, 5:36
|
Apprentice
Сообщений: 188
Регистрация: 28.1.2013 Группа: Пользователи Наличность: 0
Пользователь №: 15.728
Возраст: 32
|
вот ты и указал "конкретику". т.е. если есть фиксированная матрица 6х6 и 6 цветов тогда делаем findcolor для каждого цвета, set #a findcolor (#x1 #y1 #x2 #y2 #sx #sy (#(IMG: style_emoticons/default/cool.gif) %m 2) после чего разбираем масив и делаем вывод.
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|