UoKit.com Форумы > Кликер > UO Pilot > Плагины и доп. ПО
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
KotMC
Сам спросил, сам отвечу для моего применения можно просто удалить лишние строки в скрипте. Работать будет точно также как в первом варианте.

было
Код

hw.mouse_move (arrP[1][1], arrP[1][2])
wait (300 + math.random (100))
hw.mouse_left_down () -- зажать левую кнопку мыши
wait (300 + math.random (100))
hw.mouse_move (arrP[1][1], arrP[1][2] + (2 + math.random (3)))
wait (300 + math.random (100))
hw.mouse_left_up () -- отжать левую кнопку мыши


стало
Код

hw.mouse_move (arrP[1][1], arrP[1][2])
wait (300 + math.random (100))
hw.mouse_left_down (arrP[1][1], arrP[1][2]) -- зажать левую кнопку мыши
                               --wait (300 + math.random (100))
                               --hw.mouse_move (arrP[1][1], arrP[1][2] + (2 + math.random (3)))
wait (300 + math.random (100))
hw.mouse_left_up (arrP[1][1], arrP[1][2] + (2 + math.random (3))) -- отжать левую кнопку мыши


Перемещение "зажатого" курсора происходит, и отпускание так же работает.

И все же первоначальный вопрос не потерял актуальности
Цитата

Пилот ругается на не правильный аргумент в строке "hw.mouse_left_down () и hw.mouse_left_up ()", возможно ли сделать клик (зажатие, отпускание), в том месте где уже находится курсор?

Вверх
cirus
Цитата
Пилот ругается на не правильный аргумент в строке "hw.mouse_left_down () и hw.mouse_left_up ()

Потому что надо передавать координаты, в которых зажимать. Смотрите тип и количество передаваемых параметров:
Код
int mouse_left_down (int x, int y);

Цитата
возможно ли сделать клик (зажатие, отпускание), в том месте где уже находится курсор?

код
Код
--lua
local ffi = require("ffi")
local hw = ffi.load('Arduino.dll')

local MOUSE_LEFT = 1
local MOUSE_RIGHT = 2
local MOUSE_MIDDLE = 4

ffi.cdef[[
    int get_port (int vid, int pid);
    int set_port (int COMport);
    int mouse_left (int x, int y);
    int mouse_click (int button);
    int mouse_left_down (int x, int y);
    int mouse_left_up (int x, int y);
]]


local com = hw.get_port(2341, 8036)
--hint('Номер порта: ' .. tostring(com))
if com < 1 then -- если номер порта меньше 1
log ('error = ' .. tostring(com)) -- код ошибки, если 0 значит устройство с указанными vip и pid не найдено
end_script ()
end
hw.set_port(com)

wait(3000)

hw.mouse_click(MOUSE_LEFT)    -- клик левой кнопкой мыши в текущих координатах
wait(2000)

local x, y = mouse_pos ()   -- получить текущие координаты курсора
hw.mouse_left_down (x, y)   -- зажать левую кнопку мыши
wait(2000)
hw.mouse_left_up (x+300, y-100)    -- отпустить левую кнопку мыши




Вверх
KotMC
"Обрамил" всё что возможно выводом в лог, получается следующие.

Пилот зависает (открывает порт без закрытия) всегда в одном и том же месте:

Код

hw.set_port(com)
hw.set_delay_mouse (100)            -- установить паузу между нажатиями клавиш мыши
hw.set_random_delay_mouse(50)    -- установить рандом между нажатиями клавиш мыши
hw.set_offset_mousemove(5)        -- шаг перемещения курсора, чем больше тем быстрее перемещается
hw.set_delay_mousemove(5)        -- установить паузу между каждый шагом перемещения мыши, чем меньше, тем быстрее перемещается
hw.set_delay_key (300)            -- установить задержку нажатий клавиатуры
hw.set_random_delay_key(10)        -- рандом в мсек между нажатием и отпусканием клавиш клавиатуры


Проявляется как при использовании луа модуля, так и dll.
Вверх
kyja
Цитата(cirus @ 23.2.2021, 12:24)

Код
--lua
local hw = require'arduino'
hw.com = hw.get_port (2341, 8036)    -- указать vid и pid ардуино
if hw.com < 1 then   -- если номер порта меньше 1
     log ('error = ' .. tostring(hw.com))    -- код ошибки, если 0 значит устройство с указанными vip и pid не найдено
     end_script ()
end

local x, y = mouse_pos ()
hw.mouse.move (x+3, y)     -- вправо на 3 пикселя


Если не использовать привязку к окну то все работает ок, но при привязке к окну смешение происходит вверх, подскажите как с привязаным окном смешять?
Вверх
cirus
Цитата
Если не использовать привязку к окну то все работает ок, но при привязке к окну смешение происходит вверх, подскажите как с привязаным окном смешять?

В файле arduino.lua в строке mouse_pos('abs') убрать 'abs'.
Вверх
Madeus
Замечена такая проблема, если подключать arduino после подключения нового findcolor вылетает ошибка
arduino.lua:208: bad argument #4 to 'CreateFileA' (cannot convert 'number' to 'struct 181 *')
если порядок изменить все ок.
Вверх
cirus
Выкладывайте код, который вызывает ошибку.
Вверх
Madeus
Цитата(cirus @ 9.4.2021, 1:34)

Выкладывайте код, который вызывает ошибку.

Код
--lua
log ('clear') log ('mode compact')

local ext = require('color')
local hw = require('arduino')

hw.com = hw.get_port (2341, 8036)
if hw.com < 1 then
  log ('error = ' .. tostring(hw.com))
  end_script ()
end
hw.set_delay_key (30)
hw.set_random_delay_key(10)
hw.set_delay_mouse (30)
hw.set_random_delay_mouse(10)
hw.set_offset_mousemove(10)
hw.set_delay_mousemove(2)

Вверх
cirus
Обновил архив в первом посте, теперь не должно быть ошибки.
Вверх
Madeus
Цитата(cirus @ 9.4.2021, 2:39)

Обновил архив в первом посте, теперь не должно быть ошибки.

Все ок, спасибо!
Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.