Здравствуйте, гость ( Вход | Регистрация )

52 страниц V « < 48 49 50 51 52 >  
Ответить в эту темуОткрыть новую тему
> Упростить скрипт
veiron
сообщение 12.1.2014, 12:04
Сообщение #981


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Здравствуйте. DarkMaster, если у вас есть еще возможность и желание, может продолжим дописать скрипт? Извиняюсь за долгое отсутствие, не было возможности зайти на сайт.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
facset
сообщение 17.1.2014, 22:17
Сообщение #982


**

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
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 17.1.2014, 23:34
Сообщение #983


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27736
Пользователь №: 11.279



veiron, пока не до этого.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
BSW_rama
сообщение 27.1.2014, 12:30
Сообщение #984


****

Apprentice
Сообщений: 188
Регистрация: 28.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.728
Возраст: 32



объясняю на пальцах:
никакой кликер не может делать больше 100 сканов с экрана в сек.
поэтому есть несколько вариантов как ускорить работу скрипта
1) есть кликер кликерман у него есть функция "getscreen". она загонает скрин в буфер, после чего с ним можно работать.. благодаря этому твои 15 сканов будут занимать несколько милисекунд, что в итоге есть самая высокая скорость.. но в общем арифметика кликермана отстаёт от пилота в 1,5-2 раза, да и функцинал очень убогий, но для твоего скрипта достаточный
2) если пикселы с уникальным цветом или их нужнго цвета на экране не много, можно использовать "findcolor", прописав ему все цвета... проблема в том что он не указывает какой цвет где нашёлся... выигрыш в том что 1 команда - 1 скан...
3) использовать "get color", если требуется отсканировать 15 точек, и потом уже проверять их цветовые комбинации..
при этом напомню что для ускорения скрипта, не нужно париться на тему вычислений между сканами точек.. наоборот учитывая что пилот в промежутке между сканами способен выполнить от нескольких до сотни команд, нужно стараться математику вписывать между самими сканами.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 27.1.2014, 15:40
Сообщение #985


***********

Модератор 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____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
BSW_rama
сообщение 27.1.2014, 17:32
Сообщение #986


****

Apprentice
Сообщений: 188
Регистрация: 28.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.728
Возраст: 32



спасиб за совет "всмотреться в скрипт"...

тогда самое быстрое будет
get color #a #x #y
if #a = color1 or ... or #a = color999
....
end_if
тогда получим 10*15 =150 мс на всю работу цикла.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 27.1.2014, 17:55
Сообщение #987


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27736
Пользователь №: 11.279



Цитата
get color #a #x #y
if #a = color1 or ... or #a = color999

Зачем? Матрицу из этого ты как строить собрался?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
BSW_rama
сообщение 28.1.2014, 2:11
Сообщение #988


****

Apprentice
Сообщений: 188
Регистрация: 28.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.728
Возраст: 32



я не привык тыкать пальцем в небо, будет конкретика будет и решение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 28.1.2014, 2:17
Сообщение #989


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27736
Пользователь №: 11.279



какая еще нужна конкретика то? ты смеешься или реально не понимаешь? Вся конкретика по использованию скана экрана в 1 блоке скрипта при построении матрицы. Он ее собирает за 170мс. Больше скрипт не обращается к экрану вообще.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
BSW_rama
сообщение 28.1.2014, 2:19
Сообщение #990


****

Apprentice
Сообщений: 188
Регистрация: 28.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.728
Возраст: 32



например самый компактный способ собрать скрипт
load_array %pixels path\pixels.txt
set #a size %pixels
for #b 1 #a 1
set #x %pixels[#b 1]
set #y %pixels[#b 2]
get color #c #x #y
if #c = %pixels[#b 3] or #c = %pixels[#b 4] or ... or #c = %pixels[#b n]
......
end_if
end_for
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 28.1.2014, 2:40
Сообщение #991


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27736
Пользователь №: 11.279



и в чем смысл этого варианта? клеток 6*6=36, а вариантов изображения просто 6. Ты сделаешь 36 прогонов на скан экрана, а я сделаю 6.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
BSW_rama
сообщение 28.1.2014, 5:36
Сообщение #992


****

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)
после чего разбираем масив и делаем вывод.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 28.1.2014, 5:44
Сообщение #993


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27736
Пользователь №: 11.279



пффф... дык тут вроде про небеса? не?
твой вариант актуален только при:
видов итемов > количества клеток
и то тут могут возникнуть очень забавные вопросы по поводу сопоставления цвета. Предположим, что у нас будет 40 видов итемов при 36 клетках. При твоем способе на сопоставление цвета через get color с базой цветов в среднем будет уходить 20 if'ов. Будет ли выигрыш в производительности при каком-либо количестве итемов не понятно - все могут угробить тонны ифов.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 28.1.2014, 23:13
Сообщение #994


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(DarkMaster @ 28.1.2014, 5:44) *

все могут угробить тонны ифов.

Я сделал на ифах. Даже с учетом того, что ифы перебирают массив, скорость получается очень медленный.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
BSW_rama
сообщение 30.1.2014, 11:58
Сообщение #995


****

Apprentice
Сообщений: 188
Регистрация: 28.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.728
Возраст: 32



для небес я уже сделал калькулятор, его производительность отточена до совершенства. поэтому, говрить если да если, я не вижу смысла. 1 команда if для матесматики делается за 10мкс, для графики 10мс.. поэтому за время между таймаутом между графикой, можно произвести под сотню математических ифов, так что я не вижу проблемы в консрукции get color с последующими хоть 100 ифов.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.1.2014, 14:35
Сообщение #996


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27736
Пользователь №: 11.279



Цитата
для небес я уже сделал калькулятор, его производительность отточена до совершенства

учитывая, что пару дней назад ты понял, что достаточно 6 сканов на весь ход, а не делать скан для анализа вокруг каждого квадрата и ту поделку под "4 пилота" - заржал... простите...


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 14.7.2014, 19:52
Сообщение #997


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Все, уже эта тема не актуальна. Ввели на поле бабочек, теперь поле ни чем не прочитаешь.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 14.7.2014, 21:47
Сообщение #998


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27736
Пользователь №: 11.279



в смысле?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 14.7.2014, 23:20
Сообщение #999


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(DarkMaster @ 14.7.2014, 21:47) *

в смысле?

Они над шарами сделали крутящихся бабочек, которые при каждом новом ходе в разных местах.
http://s006.radikal.ru/i214/1407/fc/a414e581fa74.png

Как-то уже считывают поле, но не пилотом, а программой.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 15.7.2014, 1:08
Сообщение #1000


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27736
Пользователь №: 11.279



Дык а что его не считывать? Если слушаешь траффик, так вообще не заметишь эту пакость.
Можно взять charles и попробовать подменить этих бабочек.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

52 страниц V « < 48 49 50 51 52 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.4.2024, 3:18
Designed by Nickostyle