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

 
Ответить в эту темуОткрыть новую тему
> повтор цикла while
dimas
сообщение 12.10.2019, 11:20
Сообщение #1


*

Registred
Сообщений: 4
Регистрация: 2.10.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.414



Вообщем нужно повторять цикл while, допустим 10 раз
repeat 10
while (координаты и цвет)
left... и далее что сделать
end_while
end_repeat
end_script

Проблема в том, что не ждет цвета в определенных координатах и просто прогоняет 10 раз это дело и останавливается, хотя если написать просто
while (координаты и цвет)
left... и далее что сделать
end_while

он ждет цвет, делает действие и снова ждет цвет.

Пробовал еще так написать:
while 1 = 1 and 823, 314 29351 // условие всегда будет выполняться, а значит цикл - бесконечный
set #счетчик #счетчик + 1 // увеличим значение на 1
set #x 821 + random(30)
set #y 310+ random(5)
left #x, #y
if #счетчик = 2 //если переменная '#счетчик' = 2
break //выходим из цикла
end_if
end_while
End_script

Тоже самое, быстро прогоняет и останавливается.

Как реализовать?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 12.10.2019, 12:58
Сообщение #2


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2420
Пользователь №: 18.746



В твоем скрипте ему приказано ждать пока цвет пропадет. Для ожидания появления цвета:
Код
repeat 10                    // повторить 10 раз
    while_not 823, 314 29351 // ждать цвет
    end_while
    set #x 821 + random(30)
    set #y 310+ random(5)
    left #x, #y
end_repeat
end_script


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
dimas
сообщение 12.10.2019, 14:40
Сообщение #3


*

Registred
Сообщений: 4
Регистрация: 2.10.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.414



Цитата(Fors1k @ 12.10.2019, 12:58) *

В твоем скрипте ему приказано ждать пока цвет пропадет. Для ожидания появления цвета:
Код
repeat 10                    // повторить 10 раз
    while_not 823, 314 29351 // ждать цвет
    end_while
    set #x 821 + random(30)
    set #y 310+ random(5)
    left #x, #y
end_repeat
end_script



спасибо.
не внимательно прочитал про while_not
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 12.10.2019, 17:01
Сообщение #4


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Цитата
while_not 823, 314 29351 // ждать цвет
end_while

Добавьте wait в цикл, чтобы не грузить проц.
Код
while_not 823, 314 29351 // ждать цвет
    wait 10
end_while
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 12.10.2019, 17:36
Сообщение #5


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2420
Пользователь №: 18.746



Цитата(cirus @ 12.10.2019, 17:01) *

Добавьте wait в цикл, чтобы не грузить проц.
Код
while_not 823, 314 29351 // ждать цвет
    wait 10
end_while


А пауза между чтением строк 100 мс не решает этот вопрос? Или wait 10 тут все равно может сыграть роль?


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 12.10.2019, 17:54
Сообщение #6


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Цитата
А пауза между чтением строк 100 мс не решает этот вопрос?

Решает, только всегда ставлю её 0, просто в нужных местах добавлены wait.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 12.10.2019, 18:08
Сообщение #7


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2420
Пользователь №: 18.746



Цитата(cirus @ 12.10.2019, 17:54) *

Решает, только всегда ставлю её 0, просто в нужных местах добавлены wait.

Хм, знаешь, я тут глянул, и с wait 10 нагрузка 0 - 0.1%, а без 0.1 - 0.3% (даже если паузу поднять со 100мс до 150мс, будто количество строк осталось тем же). Странно. А может и показалось, просто совпало...


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 17.10.2019, 9:46
Сообщение #8


***********

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



Цитата
Решает, только всегда ставлю её 0, просто в нужных местах добавлены wait.

Моя школа
Цитата
А может и показалось, просто совпало

Скорее совпадение. Слишком незначительные нагрузки и посторонние процессы могут влиять больше, чем полезная нагрузка.


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

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

 

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