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

11 страниц V < 1 2 3 4 > »   
Ответить в эту темуОткрыть новую тему
> Научить пилот логике в игре Небеса
veiron
сообщение 3.1.2013, 2:27
Сообщение #21


********

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



Цитата(DarkMaster @ 3.1.2013, 3:12) *

Отадаленно узнаю знакомые черты)
Тут пропущенна переменная которой присваивается значение. В таком виде будет уничтожен массив, если не ошибаюсь, хотя откуда тогда тут взялись <x><y> не понятно. Вобщем или пропустили или лишнего добавили, в зависимости от того, чего хотели.


Это я с Вики стащил)) Там еще, что то есть, но я там не понял ни чего, вот и выбрал самое простое)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.1.2013, 2:32
Сообщение #22


***********

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



Я оказался почти прав) Убрав <x> <y> будет задан нулевой размер, т.е. массив будет уничтожен.
А вики правду говорит, вам нужно вот это:
set %q [4 3] test string here
set %q [7 5] 0
set $q 123 + 8645
set #q 12
msg size (%q [ 4 3 ] ) // 16 - длина элемента массива
msg size (%q [ 4 ] ) // 5 - вторая размерность массива
msg size (%q ) // 7 - первая размерность массива
msg size ($q) // 10 - длина строки
msg size (#q) // 2 - количество разрядов
msg size ( another test string ) // 19 - длина строки.

msg size (%q) - вот так в вашем случае.


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


********

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



Цитата(DarkMaster @ 3.1.2013, 3:32) *

Я оказался почти прав) Убрав <x> <y> будет задан нулевой размер, т.е. массив будет уничтожен.
А вики правду говорит, вам нужно вот это:
set %q [4 3] test string here
set %q [7 5] 0
set $q 123 + 8645
set #q 12
msg size (%q [ 4 3 ] ) // 16 - длина элемента массива
msg size (%q [ 4 ] ) // 5 - вторая размерность массива
msg size (%q ) // 7 - первая размерность массива
msg size ($q) // 10 - длина строки
msg size (#q) // 2 - количество разрядов
msg size ( another test string ) // 19 - длина строки.

msg size (%q) - вот так в вашем случае.


Интересно, как это мне поможет, я тут только понял, что заменяя здесь(set %q [7 5] 0) цифру 7, на любое число к примеру 22, то и результат msg size (%q) тоже будет 22
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.1.2013, 2:43
Сообщение #24


***********

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



Цитата
set %q [7 5] 0)

А этого вам делать и не надо. С какой целью вы задаете размер массива? Вам его узнать надо, а не задать. Накидайте себе любой тестовый массивчик, посмотрите что возвращается. Пример кстати очень неплохой, показывает все грани, но над ним надо думать.


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


********

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



Цитата(DarkMaster @ 3.1.2013, 3:43) *

А этого вам делать и не надо. С какой целью вы задаете размер массива? Вам его узнать надо, а не задать. Накидайте себе любой тестовый массивчик, посмотрите что возвращается. Пример кстати очень неплохой, показывает все грани, но над ним надо думать.

Набросал, первую двойную картинку нашел и выдал мне вот это:
Код
         msg - 0
         msg - 0
         msg - 0
         msg - 2
         msg - 2
         msg - 19

только не могу понять, что мне это дало, координат ведь тут нет. И вот, что интересно, в каком месте картинка не находится, эти цифры не меняются.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.1.2013, 10:36
Сообщение #26


***********

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



Цитата
msg size (%q) - вот так в вашем случае

Вас интересует только этот момент. Он вернет количество найденных изображений.


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


********

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



Цитата(DarkMaster @ 3.1.2013, 11:36) *

Вас интересует только этот момент. Он вернет количество найденных изображений.

Вот что у меня вышло:
Код

if $a > 1
wait 2s
set %q [4 3] test string here
set %q [7 5] 0  
msg size (%q ) // 7 - первая размерность массива
end_if


только почемутио сколько нету изображений на поле, все равно пишет 7
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.1.2013, 11:02
Сообщение #28


***********

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



дык потому, что вы ручками задаете элемент массива в 7 строке. Соответсвенно у вас и размер массива 7 показывает.


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


********

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



Цитата(DarkMaster @ 3.1.2013, 12:02) *

дык потому, что вы ручками задаете элемент массива в 7 строке.

А я и смотрю, что на какое число я 7 не заменю, такое мне и показывает. Заменил 7 на n, показывает 1,хотя их 3 .Так на вики так написано, вот и я так пишу, я верю тому, что там написано. А про то, как самому не задавать, там нету.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 3.1.2013, 11:50
Сообщение #30


********

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



попробовал так:
Код
 
set %q [1 8]
msg size (%q ) // найдено изображений

Было 3 и ообразило, что найдено 3. Вроде нашел, то что надо, такое же сделал для 1 шарика, там вообще полный капец, он их много нашел. А как теперь это связать?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.1.2013, 12:30
Сообщение #31


***********

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



Цитата
там вообще полный капец, он их много нашел.

Можно как-то более технически обосновано и точно?
Цитата
там вообще полный капец, он их много нашел.

Ну логику я вам уже писал. Фор, сравниваете каждую координату с каждой предыдущего поиска.


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


********

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



Цитата(DarkMaster @ 3.1.2013, 13:30) *

Можно как-то более технически обосновано и точно?

Извините.Впредь буду более обоснованным.
Цитата
Ну логику я вам уже писал. Фор, сравниваете каждую координату с каждой предыдущего поиска.

Так у меня же нет координат, у меня есть только количество картинок, найденных на поле?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.1.2013, 12:40
Сообщение #33


***********

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



А в массиве финдимиджа что возвращается?


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


********

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



Цитата(DarkMaster @ 3.1.2013, 13:40) *

А в массиве финдимиджа что возвращается?

Непонял вопроса? у меня в финдимидже массив %q , указана область поиска координаты всего поля.

Код

set $a
set $a Findimage
while ( $a <= 0 )
set $a Findimage (leftX rightY  ($RED2) %q 2 60 -1 2 )
if $a > 1
wait 2s
set %q [1 7]
msg size (%q ) // найдено картинок c двумя шарами
end_if
end_while
set $b
set $b Findimage
while ( $b <= 0 )
set $b Findimage (leftX rightY  ($RED1) %u 2 60 -1 2 )
if $b > 1
wait 2s
set %u [1 7]
msg size (%u ) // найдено картинок с одним шаром
end_if
end_while

Вот, что у меня вышло, и так 1 для 2 шариков вместе, второе для 1 шарика, и ни какие координаты, вроде ни где не пишутся и не отображаются!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.1.2013, 13:11
Сообщение #35


***********

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



Цитата
%q , указана область поиска координаты всего поля.

ничего подобного. там координаты найденных изображений. вы же сами по ним кликали.


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


********

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



Цитата(DarkMaster @ 3.1.2013, 14:11) *

ничего подобного. там координаты найденных изображений. вы же сами по ним кликали.


После 2 часов проб и ошибок, научился кликать во все найденные изображения. А как командой фор сравнить, что возле 2 шариков есть похожий 1 шарик
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 3.1.2013, 16:38
Сообщение #37


********

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



Почему так получается, найдено три изображения, все прекрасно находится и кликается по ним. Но только стоит хотя бы одно из них перекрыть чем нибудь и все сразу выдает ошибку
Код
set - (21): Символ не распознан (pos:1)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 3.1.2013, 17:36
Сообщение #38


********

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



Цитата(veiron @ 3.1.2013, 17:38) *

Код
set - (21): Символ не распознан (pos:1)


С этим тоже разобрался. Но с команде FOR ни как ни выходит. Не могу сообразить и на форуме ни чего не нашел, как к с его помощью к 2 шарам найти и подставить еще 1
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.1.2013, 19:18
Сообщение #39


***********

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



показывай, что делал с фором.


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


********

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



Цитата(DarkMaster @ 3.1.2013, 20:18) *

показывай, что делал с фором.

Вот только это и смог сделать:
Код

For #i #q 5 10 1  
  set #X %q[#i 1]
  set #Y %q[#i 2]
Left #x, #y
end_for

Он все равно не работает, сразу ошибку пилот выдает.
Код

for #i 1 1 1
    for #n 1 1 1
        set %q [ #i #n ]
Left #x, #y
end_for
end_for

Этот пробовал,ошибку не выдает, но и ни чего не делает.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

11 страниц V < 1 2 3 4 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

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