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

 
Ответить в эту темуОткрыть новую тему
> Как присвоить переменной элемент массива?
nykep
сообщение 25.2.2019, 20:01
Сообщение #1


****

Apprentice
Сообщений: 233
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1196
Пользователь №: 15.246
Возраст: 25



через поиск цвета у меня получается массив с координатами
set #fog findcolor (#fogx1, #fogy1 #fogx2, #fogy2 1 1 (12356918) %arfog 2 -1 2)
я хочу эти координаты присвоить переменным, пишу
set #tupx %arfog [1 1]
set #tupy %arfog [1 2]
но что то не получается, кажется он присваивает нули, странно что когда я наблюдал за работой скрипта в некоторых случаях вроде срабатывало, не могу найти ошибку может я присваиваю неправильно? Заранее спасибо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
FREEON
сообщение 25.2.2019, 20:47
Сообщение #2


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1316
Пользователь №: 18.346
Возраст: 25



Цитата(nykep @ 25.2.2019, 20:01) *

через поиск цвета у меня получается массив с координатами
set #fog findcolor (#fogx1, #fogy1 #fogx2, #fogy2 1 1 (12356918) %arfog 2 -1 2)
я хочу эти координаты присвоить переменным, пишу
set #tupx %arfog [1 1]
set #tupy %arfog [1 2]
но что то не получается, кажется он присваивает нули, странно что когда я наблюдал за работой скрипта в некоторых случаях вроде срабатывало, не могу найти ошибку может я присваиваю неправильно? Заранее спасибо.

Да вроде нормально все попробуй вывести log
Код

set #tupx %arfog [1 1]
set #tupy %arfog [1 2]
log %arfog [1 1]
log %arfog [1 2]
log #tupx #tupy

Нули потому что нет искомого цвета в области поиска #fogx1, #fogy1 #fogx2, #fogy2
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 25.2.2019, 21:26
Сообщение #3


***********

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



Цитата

Нули потому что нет искомого цвета в области поиска

Тогда крашануть по идее должно было, т.к. обращение к несуществующим индексам бы шло.
Цитата
Да вроде нормально все попробуй вывести log

Присоеденюсь.


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


****

Apprentice
Сообщений: 233
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1196
Пользователь №: 15.246
Возраст: 25



и правда не получалось потому что цвет не находил. скрипт запутанный и я сам запутался, спасибо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 25.2.2019, 22:04
Сообщение #5


***********

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



Пишите на lua - там сразу ошибку крашанет чтобы не гадать (IMG:style_emoticons/default/biggrin.gif)


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


****

Apprentice
Сообщений: 233
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1196
Пользователь №: 15.246
Возраст: 25



Цитата(DarkMaster @ 25.2.2019, 22:04) *

Пишите на lua - там сразу ошибку крашанет чтобы не гадать (IMG:style_emoticons/default/biggrin.gif)

я с пилотом последний раз серьезно работал на версии 2.08, а щас вообще многого не в курсе и что такое луа даже не знаю:)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 25.2.2019, 23:18
Сообщение #7


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Вообще, искать КОНКРЕТНЫЙ цвет, в принципе не очень правильно. Если только заранее известно, что ищутся пиксели на абсолютно стабильном изображении. Лучше всегда задавать диапазон каналов, ну или если не совсем понятно что к чему - задавать адекватный параметр отклонения каналов (deviation), порядка 3-10%.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nykep
сообщение 25.2.2019, 23:31
Сообщение #8


****

Apprentice
Сообщений: 233
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1196
Пользователь №: 15.246
Возраст: 25



Цитата(sutra @ 25.2.2019, 23:18) *

Вообще, искать КОНКРЕТНЫЙ цвет, в принципе не очень правильно. Если только заранее известно, что ищутся пиксели на абсолютно стабильном изображении. Лучше всегда задавать диапазон каналов, ну или если не совсем понятно что к чему - задавать адекватный параметр отклонения каналов (deviation), порядка 3-10%.

к счастью я хотя бы нашел что в %arfog 2 -1 2 последняя цифра означает погрешность, правда как именно работает эта погрешность и в чем выражается я не понял, но все равно это очень помогло. как я и сказал я много чего упустил с развитием пилота и что за deviation и как им пользоваться тоже не знаю, может когда приспичит поищу, а если не найду или не пойму спрошу здесь на форумеЖ)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 25.2.2019, 23:31
Сообщение #9


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата
что такое луа даже не знаю
Не так страшен чёрт, как его малюют. Пробуйте, поначалу конечно непонятно всё, но если на Пилотовском языке есть опыт написания скриптов, то и lua освоите. Я сам всего лишь 3 месяца назад начал пробовать lua, а сейчас уже более менее ориентируюсь и ни малейшего разочарования нет. Преимущества - огромные. А если нужна скорость, тут даже и говорить не о чем - только lua. Справка по lua сейчас вполне приличная, для большинства случаев её достаточно, будет непонятно - спросите. Подскажут что и как.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 26.2.2019, 3:40
Сообщение #10


******

Expert
Сообщений: 517
Регистрация: 17.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.035



Цитата(sutra @ 25.2.2019, 23:31) *

Не так страшен чёрт, как его малюют. Пробуйте, поначалу конечно непонятно всё, но если на Пилотовском языке есть опыт написания скриптов, то и lua освоите. Я сам всего лишь 3 месяца назад начал пробовать lua, а сейчас уже более менее ориентируюсь и ни малейшего разочарования нет. Преимущества - огромные. А если нужна скорость, тут даже и говорить не о чем - только lua. Справка по lua сейчас вполне приличная, для большинства случаев её достаточно, будет непонятно - спросите. Подскажут что и как.


А вот возьму и встречно отвечу, что мне лично не зашел ЛУА, зато дико зашел ПИТОН и вот примеры почему.

1) Отсутствие ендов, конечно же. Т.е. вместо end_if или как в луа просто end, просто тело пишется с отступом таб в новой строке и усё.
Пример:
Код

if x == 5:
    y = 5


2) Гораздо проще синтаксис.
Например если хотим задать переменную в луа, например локальную, то пишем:
Код

local x = 5
(или без равно, подзабыл уже ЛУА)
А в питоне, не надо никаких local писать.
Код

x = 5

И если она указана внутри функции, то она и будет лишь локальной внутри это функции вот и всё =)

далее фор, не помню точно как в луа, но помню что тоже какие-то танцы.
В питоне вот:
Код

For i in x:
    print(i)

Где x - что угодно, число, текст, словарь(ключи\значчения\многоуровневый словарь), список и всё что угодно вообщем.

Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 4:36
Сообщение #11


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата
Где x - что угодно, число, текст, словарь(ключи\значчения\многоуровневый словарь), список и всё что угодно вообщем.

Как уже не раз говорил, стандарта - нет. Я вообще считаю, что уровень FOR, While, Repeat, IF и т.п. элементарщине, лет 20 ещё назад надо было возвести в стандарт. Но, каждый считает, что он умнее всех и норовит придумать своё. Лично моё мнение ... Ежели могёшь (не обделавшись, я про программы) различать число, текст, словарь и что угодно - флаг в руки. Только я пока что видел одни экскременты при таких реализациях.

И тут пока либо Пилот, либо ЛУА, иных альтернатив пока нет. Хотя я наслышан, что как раз ЛУА далёк от идеала и от востребованности. Но на нет и спроса нет. Есть ЛУА, будем делать на ЛУА.

Про Умность ЛУА я уже неоднократно говорил в соответствующей теме. Вопросов много, косяков хватает, но обойти можно.

Вообще, любой программер знает, 90% кода занимает ввод и вывод инфы юзеру. Вот и пытаются все решить этот вопрос. А ещё есть хелп к проге, его нарисовать понятно ещё дольше и сложнее. Вот поэтому и нужен стандарт, но воз и ныне там.

Я такой же юзер, мало что знаю, ещё меньше умею. Просто высказываю свои мысли, сорри, если что не так.

Исходя из понимания принципов работы электроники, всё хранится в байтах (точнее битах). И байтам (битам) глубоко фиолетово, что там в них хранится. И если для определения того, что там хранится, надо опросить всю систему - грош цена таким реализациям. Что мешает указать ЧТО там хранится. Высокий уровень, решает за пользователя такие, вроде незначительные вопросы. Вот только если нужна скорость, то такие размышления системы явно не в плюс. Да, сейчас герцов хватает, памяти - как грязи, винты? чёрта лысого вместят. Вопрос один, а кто кого раньше вычислит и грохнет?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 5:02
Сообщение #12


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Мы решаем "чужие" задачи. Мы пытаемся обмануть "чужие" алгоритмы. "Чужие" хотят денег ... Мы не хотим их "чужим" давать. Вот нарисовала нам "чужая" прога ... "У Васи есть 11 яблок". "Чужая" прога точно знает кто такой Вася и что у него есть яблоки и что их 11 штук. Но прога "чужая" и мы должны понять, что это яблоки, что они у Васи и что их 11 штук. Вот и придумываем обходные пути. Поднимаем планку на уровень выше. А кто по умнее, прошерстит память и поймёт что это Вася, поймёт сколько, чего и у кого есть. А более серьёзный юзер, обладающий многократно превосходящими знаниями и возможностями, спросит самого Васю, да так, чтобы Вася не смог отказать ...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 26.2.2019, 5:10
Сообщение #13


******

Expert
Сообщений: 517
Регистрация: 17.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.035



Цитата(sutra @ 26.2.2019, 4:36) *



Я, на самом деле немного обманул, по-поводу числа, для for что бы по числу пройти, надо добавть range(x)
т.е.
for i in range(x):
тогда будет создано кол-во циклов равное x

Однако, отвечая на твой вопрос, я скажу, что ты немного перегибаешь. for - это синтаксический сахар. Т.е. он создан именно с целью облегчить работу программиста. Поэтому его могут вертеть как захотят. Не хочешь - используй while. И лучшей реализации for, чем в питоне, я пока не видел.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 5:24
Сообщение #14


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата
И лучшей реализации for, чем в питоне, я пока не видел.

А я разве спорю? Вопрос, почему лучшее (если конечно однозначно признали лучшим) не взято на вооружение?

Цитата
Не хочешь - используй while.
В Питоне не пробовал, а в ЛУА - вдоль и поперёк ВСЕ виды циклов, ВО ВСЕХ комбинациях и всё равно остался недоволен. Не знаю про Питон, про прочии прибамбасы, только я в зачуханном Делфи сделаю всё намного эффективнее и не так уж и много это займёт времени. А если будут критические моменты, можно заглянуть в прошлое и нарисовать на АСМе и КТО сможет обогнать??


Цитата
Не хочешь - используй while
С точки зрения НОРМАЛЬНОГО компилятора нет абсолютно никакой разницы между циклами. В разных видах цикла реализован свой вариант сравнения индекса и больше никакой разницы.


У компилятора одна задача - приведение типов переменных. Если переменные одного типа, всё делается мгновенно на битовом уровне.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 5:37
Сообщение #15


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата
for - это синтаксический сахар.
Ну если это сахар, значит я уже "зависимый" или мне на джампы переходить в каменный век.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 26.2.2019, 6:00
Сообщение #16


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Спасибо за интересную дискуссию. Конечно, люди пытаются упростить синтаксис даже элементарных операторов. Да, все ругали begin и end паскалевские, ругались на точку с запятой, конечно же можно всё додумать умному компилятору за тупорылого юзера. Вот только надо ли? Если бы сидеть на одной платформе - ДА, это однозначно в плюс. А если на дню не раз меняешь? и везде свои правила? Кроме глупого засорения собственной памяти никаких преимуществ. И чего уж тут про синтаксис, давайте-ка голосом будем давать команды (тут уже были пожелания на сей счёт), на всех языках и диалектах и пусть только компилятор посмеет меня не понять, даже если я заикаюсь. Да и говорить мне лень, пусть сразу компилятор читает мои мысли и если они неправильные, сразу же исправляет. И вообще, как в тридевятом царстве, пусть вообще компилятор сам пишет прогу и сам играет в игрушку. Шутка! Что-то из этой шутки может и будет реализовано, но нам тупеть как-то вроде не с руки.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 26.2.2019, 13:48
Сообщение #17


******

Expert
Сообщений: 517
Регистрация: 17.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.035



Цитата(sutra @ 26.2.2019, 6:00) *

Спасибо за интересную дискуссию.

Незачно, всего хорошего =)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nykep
сообщение 26.2.2019, 18:42
Сообщение #18


****

Apprentice
Сообщений: 233
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1196
Пользователь №: 15.246
Возраст: 25



Хотел узнать - это нормально что в пилоте 2.41 когда нажимаешь ctrl+A экран моргает?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 26.2.2019, 21:25
Сообщение #19


***********

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



Цитата
Хотел узнать - это нормально что в пилоте 2.41 когда нажимаешь ctrl+A экран моргает?

Теперь при нажатии ctrl+a происходит захват изображения и попытка найти хендл на котором можно снимать в перекрытом состоянии. В достаточно редких случаях (ваще редких) это может привести к морганию, причем моргание зачастую происходит только если в нактивном состоянии в приложении снижается фпс для снижения фоновой нагрузки.


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

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

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