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

> while и repeat
kdv
сообщение 12.3.2023, 21:05
Сообщение #1


**

Neophyte
Сообщений: 24
Регистрация: 23.3.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 19.927
Возраст: 40



Здравствует.

Делаю скрипт для игры, и возникла проблема
Код

while 1 == 1 do

local path = [["C:\uopilot\pic\pic_target_red.bmp"]]
local arr, a = findimage (761, 3 , 943, 53 , {path}, 2, 80, 1, 5)

  if a > 80   then     --нашли
        wait (1000)
        hw.mouse.left (453, 1018  ,  "abs")   --удар
   else

       --  while a > 80 do
          repeat
            wait (500)
            hw.mouse.left (514, 1020  ,  "abs")       ---подняли
            wait (1000 + math.random (250))
            hw.mouse.left (823, 1020 ,  "abs")          --ищу
            local path = [["C:\uopilot\pic\pic_target_red.bmp"]]
            local arr, a = findimage (761, 3 , 943, 53 , {path}, 2, 80, 1, 5)
          until  a > 80
       --  end

  end

end



Все хорошо проходить с repeat, только при нахождение объекта лишний раз выполняется команда
Код

wait (500)
            hw.mouse.left (514, 1020  ,  "abs")       ---подняли
            wait (1000 + math.random (250))
            hw.mouse.left (823, 1020 ,  "abs")          --ищу
            local path = [["C:\uopilot\pic\pic_target_red.bmp"]]
            local arr, a = findimage (761, 3 , 943, 53 , {path}, 2, 80, 1, 5)


я предполагал поставить while, так как с начало проверяется условие, но у меня в таком случае не работает вообще все
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
nykep
сообщение 12.3.2023, 22:04
Сообщение #2


****

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



у тебя по коду не понятно что именно ты хочешь
Код

if a > 80 then     --если нашел картинку
    wait (1000)
    hw.mouse.left (453, 1018  ,  "abs")   --удар
else --если не нашел
    --while a > 80 do противоречит условию если не нашел
    repeat
        wait (500)
        hw.mouse.left (514, 1020  ,  "abs")       ---подняли
        wait (1000 + math.random (250))
        hw.mouse.left (823, 1020 ,  "abs")          --ищу
        local path = [["C:\uopilot\pic\pic_target_red.bmp"]] --это лишнее
        local arr, a = findimage (761, 3 , 943, 53 , {path}, 2, 80, 1, 5)
    until  a > 80
       --  end

  end

чтоб два раза не выполняло можешь вместо repeat записать так
Код
while findimage (761, 3 , 943, 53 , {path}, 2, 80, 1, 5) do

и мне интересно что такое hw.mouse.left? объясните кто знает
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kdv
сообщение 13.3.2023, 12:37
Сообщение #3


**

Neophyte
Сообщений: 24
Регистрация: 23.3.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 19.927
Возраст: 40



Цитата(nykep @ 12.3.2023, 22:04) *

у тебя по коду не понятно что именно ты хочешь

чтоб два раза не выполняло можешь вместо repeat записать так
Код
while findimage (761, 3 , 943, 53 , {path}, 2, 80, 1, 5) do

и мне интересно что такое hw.mouse.left? объясните кто знает


Ишу картинку,
Код
local path = [["C:\uopilot\pic\pic_target_red.bmp"]]
local arr, a = findimage (761, 3 , 943, 53 , {path}, 2, 80, 1, 5)

если картинка есть бью,
Код
 hw.mouse.left (453, 1018  ,  "abs")   --удар

пока картинка не исчезнет.

или ищу эту картинку скилом

Код
hw.mouse.left (823, 1020 ,  "abs")          --ищу
local path = [["C:\uopilot\pic\pic_target_red.bmp"]]
local arr, a = findimage (761, 3 , 943, 53 , {path}, 2, 80, 1, 5)


до тех пор пока не найду, как найду возвращаюсь бить

Код
while findimage (761, 3 , 943, 53 , {path}, 2, 80, 1, 5) do

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



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

 

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