UoKit.com Форумы > Кликер > UO Pilot
Страницы: 1, 2, 3
Bluuu.
Всем привет.

Непонятная проблема, подскажите, добрые люди.

У нас есть вики ссылки Color и Get color, где приведены отличныe работающиe примеры работы с handle, а значит и set Workwindow. Однако, есть при этом if, который уже часов 12 проб и изучений вики, какие бы костыли не пробовал, не дает запустить скрипт в работу. К счастью, хоть разобрался что проблема именно с IF.

Конкретнее: Надо сидеть работать за компом, потому держать активным окно в котором будет работать скрипт возможности нет. Окно которое надо проверять - делаем на фулл экран, окно в котором работаю - не на фулл, так чтобы за ним была видна часть на проверку цвета (color и get color это разрешают). НО скрипт просто пропускает весь блок if (как если бы его вообще не было), если основное окно ИЛИ UoPilot не выбраны как активные (повторюсь, работа не позволяет держать их активными).

Код скрипта:
Цитата
get color #color 418, 29 abs handle
// msg цвет: #color
if #color = 261891
//msg if сработал
Send217 {F5}
end_if

Очень прошу помочь, плюс, уверен найдутся и другие кому этот вопрос будет актуальный.

Заранее огромное спасибо всем кто откликнется
Вверх
Bluuu.
Цитата(cirus @ 22.2.2021, 23:42)


Спасибо, но или не работает или что-то делаю не так.
Скачал, распаковал (создал папку плагинов, в нее же выложил dll, т.к. ее не было), перезапустил UoPilot, во время запуска выскочил лог с сообщением о загрузке плагина. Запустил скрипт - не сработало.

Автор писал что фиксил иф и гет колор, написал скрипт только с иф и гет калор, но все равно та же проблема - If блок пропускается скриптом, если пилот или рабочее окно не выбраны как активное (в неактивном окне пилота видно как скрипт просто перепрыгивает блок if и продолжает дальше, как ни в чем не бывало).

Цитата
get color #2 417, 29 abs
//msg #2
if #2 = 261891
// Цвет совпал
send {F5}
end_if

Вверх
cirus
Код
--lua
local ffi = require("ffi")
local lib = ffi.load("getpix.dll")
ffi.cdef[[
   __cdecl int getpix(int h, int x, int y);
]]

local result = lib.getpix(workwindow(), 417, 29)
log (result)
if result == 261891 then
    log('Цвет совпал')
    send ('{F5}')
else
    log('Цвет не совпал')
end

Вверх
Bluuu.
Цитата(cirus @ 23.2.2021, 0:30)

Код
--lua...


Спасибо большое. Сработало. Только как с этим работать? в плане, как я понял это видимо уже язык луа, а не пилотовский коддинг? Как заставить эту схему работать циклично? и как объявлять такие схемы когда надо несколько проверок?. Если в конце добавлять Start_script и этот же скрипт - получаем ошибку. Аналогично если объявлять маркеры через :marker1, goto marker1

Такие траблы из-за ограничения плагина или это другой язык? Если да, как вернуться в рамках одного скрипта на обычный пилотный код? Ну или как выходить из этой ситуации когда нужна цикличность проверки. Сори, если вопросы глупые, возможно решение гораздо проще, но лучше спросить. Заранее благодарен
Вверх
cirus
Пишите скрипт на луа, примеры тут: https://uopilot.uokit.com/wiki/index.php?ti...к_функций_(Lua)
Цитата
как вернуться в рамках одного скрипта на обычный пилотный код?

Не рекомендую так делать.
Код
--lua
log 'clear' log 'mode compact'
local x = 123
log(x)
log('Код на луа')
--endlua

set #y 456
log #y
log Код на языке пилота

--lua
log('Снова код на луа')
--endlua

end_script

Цитата
Как заставить эту схему работать циклично?

Код
--lua
while true do
    log ('Нужный код')
    wait(500)
end


Вверх
Bluuu.
Цитата(cirus @ 23.2.2021, 1:06)

Пишите скрипт на луа, примеры тут: https://uopilot.uokit.com/wiki/index.php?ti...к_функций_(Lua)

Не рекомендую так делать.
Код
--lua
log 'clear' log 'mode compact'
local x = 123
log(x)
log('Код на луа')
--endlua

set #y 456
log #y
log Код на языке пилота

--lua
log('Снова код на луа')
--endlua

end_script


Код
--lua
while true do
    log ('Нужный код')
    wait(500)
end




Начал тестить с вов, пытаясь заставить этот скрипт работать, получил бан 180 дней... до этого все было хорошо...
Вверх
DarkMaster
Цитата
Начал тестить с вов, пытаясь заставить этот скрипт работать, получил бан 180 дней... до этого все было хорошо...

Какой именно код был использован? Сервер офф или нет? Я ни разу не видел и не слышал, чтобы вов как-то реагировал на пилота. Возможно какие-то общие ошибки были допущены, например, спам очень сильный кнопок.
Вверх
Bluuu.
Цитата(DarkMaster @ 23.2.2021, 19:07)

Какой именно код был использован? Сервер офф или нет? Я ни разу не видел и не слышал, чтобы вов как-то реагировал на пилота. Возможно какие-то общие ошибки были допущены, например, спам очень сильный кнопок.


Офф. Не спамил ничего. Тестил исключительно этот кусок скрипта с плагином который посоветовали выше. Думал не работает - скачал 2.41 версию (до использовалась 2.40). Не переименовал 2.41 пилот, начал запускать скрипт этот - вылетел бан. Грешу или на скрипт, или на не переименованый пилот.

Есть где-то тема по общим рекомендациям использования пилота на проэктах вроде офф вова? И, к слову, какие типичные ошибки могут быть кроме спама и шаблонных сторого повторябщихся циклов?
Вверх
kyja
вов по крайне мере классик очень хорошо видит пилота в луа формате после последних обновлений так вообще практически сразу, если задержок практически нет. На чистом пилоте еще нормально но тоже все до поры до времени и баны. Как обладатель 40+ забаненых аков на классике
Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.