UoKit.com Форумы > Кликер > UO Pilot
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9
SeregaB
Столкнулся с проблемой в Lua и обычном коде.
В игре Шутере происходит захват мышки и курсор пропадает.
Далее программа находит цель и ее координаты (set #x и set #y)
После чего идет команта сместить "мышу" move_smooth, но экран не поворачивается.
Сам курсор и все нажатия происходят, но экран в игре остается на месте.
Может надо как то прописать имитацию кода физической мышки, чтобы экран в игре поворачивался?
Такое вообще возможно?
Вот сам код на смещение мышки:

set #x 250
set #y 300
Move #x #y
kleft #x #y // кликнули
kleft_down #x #y // зажали ЛКМ
set clickoffsetx 500 // смещение для координаты X
set clickoffsety 50 // смещение для координаты Y
move_smooth #x #y // Переместили курсор
get mouse_pos #x #y // нашли курсор
kleft_up #x #y
end_script

Вверх
DarkMaster
все сильно зависит от конкретной реализации. Двигать зачастую нужно относительно центра экрана либо координаты 1.1 либо 0.0.
Вверх
SeregaB
Цитата(DarkMaster @ 25.9.2019, 3:46)

все сильно зависит от конкретной реализации. Двигать зачастую нужно относительно центра экрана либо координаты 1.1 либо 0.0.

Тоесть в первом случае сначала навести курсор на центр экрана (X/2 , Y/2), а потом делать смещение?
Тоже самое и с координатами 1.1 и 0.0?
Вверх
Levo222
Цитата(SeregaB @ 26.9.2019, 14:17)

Тоесть в первом случае сначала навести курсор на центр экрана (X/2 , Y/2), а потом делать смещение?
Тоже самое и с координатами 1.1 и 0.0?

Мне кажется нужно производить это совсем другим инструментом, то что сейчас это как будто бы пытаться сделать ногами нежели руками.
Вверх
SeregaB
Цитата(Levo222 @ 26.9.2019, 14:17)

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

Какие есть предложения?
Вверх
SeregaB
Цитата(SeregaB @ 26.9.2019, 10:17)

Тоесть в первом случае сначала навести курсор на центр экрана (X/2 , Y/2), а потом делать смещение?
Тоже самое и с координатами 1.1 и 0.0?

Пробовал все три варианта, экран в игре не поворачивается.
Что можно еще сделать?
Вверх
FREEON
Код
set #poisk findcolor (0, 0 1600, 900 1 1 (3949430) %arr 2 1 abs) //поиск цвета по экрану
if #poisk > 0           // если найден нужный цвет, то
  move %arr [1 1], %arr [1 2] // наведем мышку на точку
end_if
set #vustrel findcolor (795, 445 805, 455 1 1 (3949430) %fire 2 1 abs) //когда цвет попадает в область прицела
if #vustrel > 0           // если если цвет в прицеле, то
  kleft %fire [1 1], %fire [1 2] // сделаем один выстрел
end_if

Вверх
SeregaB
Цитата(FREEON @ 26.9.2019, 23:27)

Код
set #poisk findcolor (0, 0 1600, 900 1 1 (3949430) %arr 2 1 abs) //поиск цвета по экрану
if #poisk > 0           // если найден нужный цвет, то
  move %arr [1 1], %arr [1 2] // наведем мышку на точку
end_if
set #vustrel findcolor (795, 445 805, 455 1 1 (3949430) %fire 2 1 abs) //когда цвет попадает в область прицела
if #vustrel > 0           // если если цвет в прицеле, то
  kleft %fire [1 1], %fire [1 2] // сделаем один выстрел
end_if


Такой код мне не подходит, я по такому принципу и делал
Вверх
Levo222
Цитата(SeregaB @ 26.9.2019, 21:45)

Какие есть предложения?

Делать через C-шную часть игры

Цитата(SeregaB @ 26.9.2019, 14:17)

навести курсор на центр экрана

Запомнить область где она находилась, и с шагом N производить смещения относительно неё в ту область которая нужна
что-то типо SaveMousePos
А еще можно переназначить управление по типу движение мышью = клавиша такая-то(смещение на такое-то кол-во координат) В игре должна быть команда по типу "центрировать прицел" или что-то вроде того вместе с ней производить клики
В некоторых приложениях приходится убивать фон чтобы принялись клики мышью типо KillBackgroundFocus
Вверх
DarkMaster
Цитата
Тоесть в первом случае сначала навести курсор на центр экрана (X/2 , Y/2), а потом делать смещение?
Тоже самое и с координатами 1.1 и 0.0?

при движении учитывать, что курсор всегда находится в этих координатах. Соответственно, если нужно чуть влево, то скажем, move нужно сделать в координаты x/2-1, y/2. Оси могут быть инвертированы.
Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.