|
|
  |
Где ошибка? Пишите у кого мелкие вопросы, сюда! |
|
|
| Санчес |
18.12.2012, 20:41
|
   
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31

|
Добрый вечер.Сегодня специально зарегился чтобы разобраться с пилотом.К сожалению только начинаю,и многое непонятно.Прочитав Введение в скриптинг и справку в пилоте не догнал что такое переменная и как ее применять.Кому не лень объясните на пальцах,или пошлите на статью с основами скриптинга.Пока скрипты пишу только с помошью условий if,while,goto,..все работает отлично,и в принципе почти все задачи реализую,но много писать приходится(около 100 строк на обработку малой области) и главное много повторов.Не сомневаюсь что это можно упростить с помощью переменных и ,наверное массивов,но я не могу понять их суть.Спасибо заранее.
|
|
|
|
|
|
| Zeleax |
18.12.2012, 20:50
|
        
ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010 Группа: Пользователи Наличность: 0 Из: Киев
Пользователь №: 13.093

|
--------------------
|
|
|
|
|
|
| Санчес |
18.12.2012, 21:29
|
   
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31

|
вот именно слово "обращаться" меня больше всего интересует,попробую написать пример того что мне нужно без команд и если можно скажите можно ли применить в нем переменные или другие команды это наверное называется... в области 10*100 найти цвет1,искать с шагом 10 если найдено(допустим) на шаге2 то выполнить комплекс действий над этим цветом,если нет то продолжить поиск цвета в шаге3 и теде да 10го учитывая смену координат если не найдено начать поиск заново но искать цвет2,с найденым цветом проделать тот же комплекс и с цветом1 но учитывая что это цвет два. наверное путано,но может суть будет ясна.
Комплекс действий один,но координаты найденого цвета будут меняться от 1 до 10,нужно чтобы комплекс "думал" что независимо от координат в окне,для него,комплекса,координаты найденого цвета были как бы 0.0 и он выполнялся в соответствии с ними
Если,я так думаю,у переменной как раз такая функция,то может файнд колор будет записывать в нее координаты найденного цвета а в комплексе можно указать отклонения по осям от тех координат которые записаны в переменную...
Но как "сказать" этому срипту чтобы он "посмотрел" координаты в переменной которые туда вписал файндколор?
|
|
|
|
|
|
| Санчес |
18.12.2012, 22:23
|
   
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31

|
с десятичным цветом 207. Все найденные координаты пикселей будут записаны в массив %close. Где этот массив искать после выполнения строки?
Вы меня конечно извините,но я повторюсь,я только начинаю изучать все это.в разделе про файндколор самая верхняя строка,я ее скопировал,вставил в скрипт,указал все значения,запустил скрипт и...Что должно произойти дальше то??
я понимаю что для вас это тупые вопросы,но справочной инфы я не нашел,мне что ща Турбопаскаль изучать чтобы понять команды и принцип работы пилота??
Мне кажется или в самом начале страницы написано "Это небольшое обучение расчитано на тех кто не знаком со скриптами и программированием."И вы действительно считаете что человек которому фраза "Хелло Ворлд" ни о чем не говорит,сразу поймет что и как писать прочитав это Введение на три страницы?Простой рядовой пользователь который не имеет понятия что такое машинный код,скрипт,html...Поймет вы считаете?
Я понимаю что вы не ставили перед собой задачу обучать программированию каждого нуба на этом форуме,но тогда вместо "Введение" напишите "Для тех кто знает и разбирается".А для тех кто не знает либо дайте ссылки на Основы и действительно с начала,либо "Проходите мимо и не забивайте голову нормальным пацанам своими тупыми вопросами типа"А что такое set #a 1 set $b "asd" set %c[1] 1 set %c[2] "asd" set %c[3] "asd 1"" Потому как я,например,ничего не понимаю из того что написано в этих пяти строках. Уж извините.
Если кому то покажется что я слишком много лишнего написал,то удалите мои посты, а я сотрусь и более не побеспокою.
|
|
|
|
|
|
| Shefon |
18.12.2012, 22:26
|
 
Neophyte
Сообщений: 35
Регистрация: 16.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.571
Возраст: 35

|
Цитата(Санчес @ 18.12.2012, 21:14)  с десятичным цветом 207. Все найденные координаты пикселей будут записаны в массив %close. Где этот массив искать после выполнения строки?
Массив не надо искать. Вот он %close <--- это и есть массив. Если вы прочитаете о массивах и работе с ними то всё станет ясно. Грубо говоря вам нужны первые 10 точек из этого массива. вот они: %close [1 1] //это координата Х первой найденной точки %close [1 2] //это координата Y первой найденной точки %close [2 1] //это координата X второй найденной точки %close [2 2] //это координата Y второй найденной точки %close [3 1] //это координата X третьей найденной точки %close [3 2] //это координата Y третьей найденной точки ... %close [10 1] //это координата X десятой найденной точки %close [10 2] //это координата Y десятой найденной точки что бы перебирать эти переменные по очереди вочпользуйтесь цыклом for
|
|
|
|
|
|
| Shefon |
18.12.2012, 22:49
|
 
Neophyte
Сообщений: 35
Регистрация: 16.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.571
Возраст: 35

|
Цитата Добрый вечер.Сегодня специально зарегился чтобы разобраться с пилотом.К сожалению только начинаю,и многое непонятно.Прочитав Введение в скриптинг и справку в пилоте не догнал что такое переменная и как ее применять.Кому не лень объясните на пальцах,или пошлите на статью с основами скриптинга.Пока скрипты пишу только с помошью условий if,while,goto,..все работает отлично,и в принципе почти все задачи реализую,но много писать приходится(около 100 строк на обработку малой области) и главное много повторов.Не сомневаюсь что это можно упростить с помощью переменных и ,наверное массивов,но я не могу понять их суть.Спасибо заранее. Грубый вопрос , но я его всё таки задам.. Вы в школе учились? Уроки математики посещали? Если да то там вы наверняка видели переменные. x+1=5 чему равен x? так вот x это и есть переменная. Это вообщем что б вы поняли что оно такое переменная. Вобщем переменная это то же что и число , только оно ещё не определено. Теперь к нашим баранам.. В этом языке скриптов переменные обозначаются набором букв перед которыми стоит # то есть #x это переменная. Раз есть переменные , значит в них можно записать какое то определённое значение. Делается это с помощью оператора set пример set #x 4 записали число 4 в переменную x теперь мы везде где хотим в программе можем пользоваться этой переменной вместа 4 то есть было у тебя к примеру такая запись left 4, 5 , а теперь можно будет записать так left #x, 5 и оно сработает точно так как и в первом случае. Ну это в простейшем случае, но в отличии от просто 4, переменную x можно переписать. set #x 7 и в ней уже будет число 7, и когда программа снова приведёт вас к left #x, 5 то оно кликнет уже не по координатам 4, 5 а по координатам 7, 5 что то в этом роде) Цитата в чем разница я че то не пойму? Разница в том что до строки set $b findcolor ( 79 108 282 313 40 40 (2035082,525218,1970304) %close 2) в массиве %close небыло ничего, а после появились значения, конечно при условиии что оно нашло хоть одну точку.
|
|
|
|
|
|
| Санчес |
18.12.2012, 22:51
|
   
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31

|
спасибо за разжевывание,это мне и нужно было,в школе мы учились,без обид,но теперь меня волнуют другие бараны,а именно те которые указаны в строке срипта выше.Вы написали сет х 4 и тра ля ля,это ВЫ написали,а как это же туда напишет файндколор?
небыло ничего, а после появились значения, конечно при условиии что оно нашло хоть одну точку. Где я должен увидеть эти значения?
|
|
|
|
|
|
| Shefon |
18.12.2012, 23:17
|
 
Neophyte
Сообщений: 35
Регистрация: 16.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.571
Возраст: 35

|
Цитата(Санчес @ 18.12.2012, 21:51)  спасибо за разжевывание,это мне и нужно было,в школе мы учились,без обид,но теперь меня волнуют другие бараны,а именно те которые указаны в строке срипта выше.Вы написали сет х 4 и тра ля ля,это ВЫ написали,а как это же туда напишет файндколор?
небыло ничего, а после появились значения, конечно при условиии что оно нашло хоть одну точку. Где я должен увидеть эти значения?
%close [1 1] //это координата Х первой найденной точки %close [1 2] //это координата Y первой найденной точки %close [2 1] //это координата X второй найденной точки %close [2 2] //это координата Y второй найденной точки %close [3 1] //это координата X третьей найденной точки %close [3 2] //это координата Y третьей найденной точки ... %close [10 1] //это координата X десятой найденной точки %close [10 2] //это координата Y десятой найденной точки вот эти значения. Массивы это те же самые переменные, только с числовым индексом, это сделано для удобства работы. простейший пример : set %x [1] 2 сейчас я поместил в переменную x1 число 2 set %x [2] 6 сейчас я поместил в переменную x2 число 6 теперь кликнем по координатам 2, 6 используя наш масив left %x [1], %x [2] эквивалентно left 2, 6 Это был простой одномерный массив. Но у нас же 2 координаты X и Y так почему бы не присвоить каждому номеру массива по две координаты? вот как это реализуется set %x [1 1] 2 set %x [1 2] 6 здесь мы присвоили первой части ячейки 1 значение 2 [1 <-- ячейка 1 1] <-- первая часть дальше мы присвоили второй части ячейки 1 значение 6 [1 <-- ячейка 1 2] <-- вторая часть теперь кликаем по тем же координатам 2, 6 c помощью двуразмерного масива left %x [1 1], %x [1 2] эквивалентно left 2, 6 set %x[2 1] 8 set %x[2 2] 15 set %x[3 1] 7 set %x[3 2] 12 вот я ещё заполнил 2 и третью ячейки массива %x координатами 8, 15 и 7, 12
|
|
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|