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

 
Ответить в эту темуОткрыть новую тему
> Помощь в написании скрипта
vcore30
сообщение 10.12.2021, 14:50
Сообщение #1


*

Registred
Сообщений: 3
Регистрация: 10.12.2021
Группа: Пользователи
Наличность: 0
Пользователь №: 20.148
Возраст: 32



Всем привет. Есть онлайн игра и нужно следить движется ли полоска с опытом, движется она очень медленно и нужно делать 100+ сравнений цвета. Создавать 100+ переменных ну как то не ахти, но вот что то не могу сообразить как сократить код используя для этого массив. Вот пример кода на сравнение цвета в 10ти координатах.
Код

--lua


local ml1
local ml11
local ml2
local ml22
local ml3
local ml33
local ml4
local ml44
local ml5
local ml55
local ml6
local ml66
local ml7
local ml77
local ml8
local ml88
local ml9
local ml99
local ml10
local ml100




if color(6, 595) == 0      then
    log ("Цвет полоски черный")
    --записываем цвет полоски

    ml1 = color(40, 594 )
    ml2 = color(124, 595 )
    ml3 = color(200, 596 )
    ml4 = color(280, 595 )
    ml5 = color(354, 594 )
    ml6 = color(435, 594 )
    ml7 = color(516, 594 )
    ml8 = color(599, 596 )
    ml9 = color(675, 594 )
    ml10 = color(750, 595 )

    wait (420000)  --ждем 7 минут

    ml11 = color(40, 594 )
    ml22 = color(124, 595 )
    ml33 = color(200, 596 )
    ml44 = color(280, 595 )
    ml55 = color(354, 594 )
    ml66 = color(435, 594 )
    ml77 = color(516, 594 )
    ml88 = color(599, 596 )
    ml99 = color(675, 594 )
    ml100 = color(750, 595 )

    --сверяем цвет
    if ml1 == ml11   then
        if ml2 == ml22   then
            if ml3 == ml33   then
                if ml4 == ml44   then
                    if ml5 == ml55   then
                        if ml6 == ml66   then
                            if ml7 == ml77   then
                                if ml8 == ml88   then
                                    if ml9 == ml99   then
                                        if ml10 == ml100   then
                                            log ("Цвет не изменился")
                                        end
                                    end
                                 end
                            end
                        end
                    end
                end
             end
         end
    end
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 10.12.2021, 15:14
Сообщение #2


**********

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



Обычно используется findcolor, который ищет пиксели в указанной области. Например, нашлось 150 пикселей, дальше ждём пока их количество не изменится.
Код
--lua
log 'clear' log 'mode compact'

local count = findcolor ("14, 34, 258, 52  (1384585) %arr")
hint ("Найдено пикселей: " .. tostring(count))
while count == findcolor ("14, 34, 258, 52  (1384585) %arr") do
    wait (100)
end
hint ("Количество пикселей изменилось")
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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