Переодевание вещей для Logitech(клавыG15.. мышиG300 итд)

Теория и практика Diablo 3
Итак возрадуйтесь обладатели продукции Logitech:

Keyboard devices (G15, G11, G19)
Left handed controllers (G13)
Gaming mouse (G300, G400)


Я все тестировал на своей клавиатуре G15, все работает.

Данная штука не использует никакой автокликер. Все построено на встроенном API интерфейсе продукции Логитех в сценариях

Все происходит следующим образом:
1. У меня в инвентаре есть несколько вещей с МФ, которые я хочу поменять одной кнопкой
Изображение

2. Я нажимаю Кнопку макросов, в данном примере G12 и у меня автоматом заменяются вещи. открыв инвентарь я вижу уже следующее
Изображение

3. Как это работает?
3.1. При нажатии на кнопку макроса G12, нажимается клавиша C, открывая инвентарь
3.2. Мышь позиционируется на самый самый правый слот инвентаря (по центру вещи)
3.3. Нажимается правая клавиша мыши, одевая тем самым предмет
3.4. Мышь переносится на следующий слот
3.5. Нажимается правая клавиша мыши, одевая тем самым предмет
3.6. И так далее пока не наденутся все предметы
3.7. Нажимается клавиша C, закрывая инвентарь

При повторном нажатии на G12 все шмотки одеваются обратно

4. Необходимые условия
Перед нажатием клавиши G12, инвентарь должен быть скрыт и мы не двигаем мышь 1секунду, чтобы она не сбилась.
Убедитесь что у вас стоят последние драйвера для игровых устройств Logitech http://www.logitech.com/en-gb/support

5. Как настраивать?
5.1. Открываем утилиту LogitechGamingSowtware и на используемом профиле нажимаем Сценарий(входя в редактор сценария)
Изображение

5.2.Вставляем этот код в сценарий (Кнопки макросов G12 и G2 можно поменять на свои) и сохраняем сценарий

function OnEvent(event, arg)
if (event == "G_PRESSED" and arg == 12) then
Letterbox = "X"
Random = "X"
--Save current cursor position
x, y = GetMousePosition();
--Open Inventory
PressAndReleaseKey("c")
Sleep(20);
--Equip items by X and Y axis, Item Volume (1 or 2), IsLetterbox(VideoOption in game "X" if set),
--IsRandom(set "X' if you need random mouse pointer), Modificator ("ralt", etc)
EquipItemInventory(10, 5, 2, Letterbox, Random)
EquipItemInventory(9, 5, 2, Letterbox, Random)
EquipItemInventory(8, 5, 1, Letterbox, Random)
EquipItemInventory(8, 6, 1, Letterbox, Random)
EquipItemInventory(7, 5, 2, Letterbox, Random)
EquipItemInventory(6, 5, 2, Letterbox, Random)
--Close Inventory
PressAndReleaseKey("c")
MoveMouseTo(x, y)
end
-------------------------------------------
--View current mouse position on LCD screen
if (event == "G_PRESSED" and arg == 2) then
ClearLCD ()
x, y = GetMousePosition();
OutputLCDMessage("Mouse is at x=" .. x .. "; y= " .. y, 60000)
-- OutputLogMessage("x=" .. x .. "; y= " .. y .. "\n")
end
end
----------------------------------------
--Random clicking inside square limits--
----------------------------------------
function EquipItemInventory (Item_X, Item_Y, SlotVolume, IsLetterbox, IsRandom, Modify)
--Default values

if IsLetterbox == "X" then
MinVal_X = {48400, 50600, 51800, 53500, 55200, 56700, 58500, 60200, 61800, 63500}
MaxVal_X = {49400, 51000, 52700, 54300, 56000, 57700, 59300, 61000, 62700, 64300}
MinVal_Y = {35700, 38500, 41000, 43800, 46400, 48800}
MaxVal_Y = {37700, 39800, 42500, 45000, 47700, 50200}
else
MinVal_X = {46600, 48400, 50300, 52100, 53900, 55800, 57500, 59500, 61300, 63100}
MaxVal_X = {47600, 49500, 51300, 53200, 55100, 56900, 58800, 60500, 62500, 64200}
MinVal_Y = {36200, 39000, 41800, 44800, 47800, 50500}
MaxVal_Y = {37300, 40500, 43500, 46500, 49450, 52100}
end
--Use random function
if IsRandom == "X" then
MouseX = MinVal_X[Item_X] + math.random(1, math.abs(MaxVal_X[Item_X] - MinVal_X[Item_X]))
if SlotVolume == 1 then
MouseY = MinVal_Y[Item_Y] + math.random(1, math.abs(MaxVal_Y[Item_Y] - MinVal_Y[Item_Y]))
elseif SlotVolume == 2 then
MouseY = MinVal_Y[Item_Y] + math.random(1, math.abs(MaxVal_Y[Item_Y+1] - MinVal_Y[Item_Y]))
end
else
MouseX = math.ceil((MinVal_X[Item_X] + MaxVal_X[Item_X])/2)
if SlotVolume == 1 then
MouseY = math.ceil((MinVal_Y[Item_Y] + MaxVal_Y[Item_Y])/2)
elseif SlotVolume == 2 then
MouseY = math.ceil((MinVal_Y[Item_Y] + MaxVal_Y[Item_Y+1])/2)
end
end

MoveMouseTo(MouseX, MouseY)
if Modify then
PressKey(Modify)
Sleep(50);
end
--Mouse right click
PressAndReleaseMouseButton(3)
Sleep(100);
if Modify then
ReleaseKey(Modify)
Sleep(50);
end
end


Получается чтото вроде этого (устаревшая картинка, но в целом пойдет)
Изображение

5.3 Обычно кнопки G1 - G18 связаны с клавишами по-умолчанию (типа F1, F2 итд) и их нам надо сбросить(на картинке у меня G12 связан с кнопкой F12), а то при нажатии на G1 произойдет отрабока Сценарии + нажмется кнопка F1, а нам нужен только сценарий. Поэтому удаляем присвоение (посредством пункта ОтменитьНазначение)
Изображение

5.4. Как вы уже могли заметить у меня в сценарии закодирована G2, при нажатии на которую на LCD экране высветися абсолютные координаты Мыши по x и y, которые вы можете забить в сценарий для G12, если позиционирование мыши идет не корректно, но я вроде все проверял. Значения x и y не меняются с разрешением экрана.
Изображение


6. Как редактировать, добавалять изменять итд.
6.1.Теория.
Для общего понимания - разбил рюкзак на квадраты
Изображение
***
В Экселе
Изображение

6.2.Практика
Для того чтобы поменять вещи в любом месте экрана, вам необходимо просто добавить пару строчек с узазанием ячеек Инвенторя
Чтобы переодеть 6 вещей (я закрасил их цветами), необходимо просто в сценарии добавить следующие строчки(в том сценарии который я дал, они уже есть). Переменная Letterbox отображает включена ли галочка в видеонастройках игры, а переменная Random - использовать ли случайное позиционирование по вещи
EquipItemInventory(10, 5, 2, Letterbox, Random)
EquipItemInventory(9, 5, 2, Letterbox, Random)
EquipItemInventory(8, 5, 1, Letterbox, Random)
EquipItemInventory(8, 6, 1, Letterbox, Random)
EquipItemInventory(7, 5, 2, Letterbox, Random)
EquipItemInventory(6, 5, 2, Letterbox, Random)

Как вы видите я все скрыл в функции EquipItemInventory, в которой может быть 4 параметра:
1. Номер ячейки по горизонтали (Х) (от 1 до 10)
2. Номер ячейки по вертикали (Y) (если вещь занимает 2 ячейки, то необходимо указать самую верхнию) (от 1 до 6)
3. Размер ячейки (1 место или 2 - 2 места)
4. Letterbox - отвечает за то выбрана ли галочка Letterbox в видеонастройках игры ("X" или "")
Изображение

5. Random - выбирает случаную позицию в ячейке, если выставлено "X"
6. Модификатор (например "lalt" если необходимо надеть через альт (необязательный параметр) (список всех модификаторов ниже)
"lshift"
"rshift"
"lctrl"
"lalt"
"ralt"
"rctrl"
"lctrl"



ИТОГ: За 1секунду у меня меняются все вещи... Дешего и сердито :)

PS Все это я проверил на своей клаве G15. Все в рамках правил. Никаких автокликеров

UPDATE1 Добавил возвращение курсора мыши после смены в инвентаре обратно(стало много удобнее)
UPDATE2 Сократил задержку между переключениями(исключить задержку нельзя, иначе не будет работать)
UPDATE3 Добавил рандом курсора мыши (для отчаянных параноиков) :)
UPDATE4 Для тех у кого не все предметы переключаются, скорее всего вы не обратили внимание на значение переменной Letterbox. Вы должны выставить ее в зависимости от того что вы выбрали в Видеонастройках
Изображение
Последний раз редактировалось Overlol 14 июн 2012, 19:38, всего редактировалось 18 раз(а).
Overlol
 
Дождались! (3 года на портале)

Фууууу, читер !! :doubt:

Overlol писал(а):Все в рамках правил. Никаких автокликеров

Когда-то на офф форуме ВоВа спрашивали по поводу использования возможностей игровых мышей и клав.
Ответ был таков: как клаву и мышь юзайте, за все остальные функции бан.
На практике отслеживать и проверять это скорее всего никто не будет.

у меня G11, нужно будет глянуть
Zgux
 
Ждал звезду с небес - зарегистрирован до выхода Diablo III Дождались! (3 года на портале)

G110 можно тоже добавить

Еще один капитан, одной темы мало?
Тоесть программа для макроса , которая работает как автокликер, уже не автокликер программа для макросов.. :O

penetrator, Коль говорите А,то говорите и Б - пруф пожалуйста.

Хм. У меня как раз G15... Соблазнительно, но как-то это всё нечестно.
Saruman
 
Ждал звезду с небес - зарегистрирован до выхода Diablo III Дождались! (3 года на портале)

vladislav писал(а):Еще один капитан, одной темы мало?
Тоесть программа для макроса , которая работает как автокликер, уже не автокликер программа для макросов.. :O



Это стандартная утилита Logitech с которой поставляются все ее клавы.

Мне пофигу что вы там думаете... я пользуюсь и доволен... просто хотел поделиться радостью.
Overlol
 
Дождались! (3 года на портале)

Silvermind писал(а):penetrator, Коль говорите А,то говорите и Б - пруф пожалуйста.

Я не найду блупост полутарогодичной давности в миллионах других блупостов. Не веришь - спроси техподдержку или содай тему на офе.

Наконец то я нашел того кто шарит в скриптах.
Стоит такая задача - превратить клавишу G12 в левую кнопку мыши, только с небольшой модернизацией:
При разовом нажатии G12 происходит одиночный клик левой кнопки мыши.
При удержании G12 левый клик зацикливается с интервалом 50мс.
Если ТС напишет под это скрипт буду благодарен.
Смысл затеи перенести управление персом на клаву, а мышь использовать просто как прицел.

З.Ы. У меня клава Logitech G13.

Большое спасибо за тему.

А как сделать чтоб мышка с "Alt" нажималась для щита и второго кольца?
Elreg
 

Elreg писал(а):Большое спасибо за тему.

А как сделать чтоб мышка с "Alt" нажималась для щита и второго кольца?


....
MoveMouseTo(60000, 51500)
PressKey("lalt")
Sleep(20);
PressAndReleaseMouseButton(3)
Sleep(100);
ReleaseKey("lalt")
.....

Чтото вроде такого для левого альта можно сделать
Overlol
 
Дождались! (3 года на портале)

Подскажите,а можно ли сделать что-нибудь подобное на клавиатуре Razer(Anansi)
Hitrec
 
Ждал звезду с небес - зарегистрирован до выхода Diablo III Дождались! (3 года на портале)

Overlol,
Спасибо.
Ночью ещё пришло в голову. Возможно ли сделать чтоб клик происходил в случайном месте выбранного квадрата и задержку сделать случайной в определённом интервале? Чтоб если что отследить сложнее было )))

ЗЫ
у меня G11 так что экранчика нету. Можно ли координаты курсора в буфер обмена сразу заносить или на монитор вывести?
Последний раз редактировалось Elreg 09 июн 2012, 14:22, всего редактировалось 1 раз.
Elreg
 

у меня как раз g110 =) самое то держи + :thumbup:
Tigel
 
Ждал звезду с небес - зарегистрирован до выхода Diablo III Дождались! (3 года на портале)

Elreg писал(а):Overlol,
Спасибо.
Ночью ещё пришло в голову. Возможно ли сделать чтоб клик происходил в случайном месте выбранного квадрата и задержку сделать случайной в определённом интервале? Чтоб если что отследить сложнее было )))

ЗЫ
у меня G11 так что экранчика нету. Можно ли координаты курсора в буфер обмена сразу заносить или на монитор вывести?



Можно рандом ввести но там лупы надо сделать подпрограмму вызвать :) Седня посмотрю гайд по LUA ченить придумаю

Есть интересная функция
math.random ([m [, n]])

Эта функция является интерфейсом к простейшему генератору псевдослучайных чисел rand, предоставляемому ANSI C. (Нет никаких гарантий по поводу его статистических свойств.)

При вызове без аргументов, возвращает псевдо-случайное действительной число в интервале [0,1). При вызове с аргументом m, math.random возвращает псевдослучайное целое число из отрезка [1, m]. При вызове с двумя аргументами – m и n, math.random возвращает псевдослучайное целое число из отрезка [m, n].
Overlol
 
Дождались! (3 года на портале)

Итак, мои маленькие любители переодеваний у меня получилось сделать рандом по области и я переделал полностью скрипт.
Тепрь вообще не нужно париться с координатами мыши... я сделал все проще:
1. Разбил рюкзак на квадраты
Изображение


Изображение

2. Вам нужно вместо существующего скрипта вставить вот этот: (ах да чуть не забыл я привязал переодевание на клавишу G12)
function OnEvent(event, arg)
if (event == "G_PRESSED" and arg == 12) then
--Save current cursor position
x, y = GetMousePosition();
--Open Inventory
PressAndReleaseKey("c")
Sleep(20);
--Equip items by X and Y axis, Item Volume (1 or 2), Modificator ("ralt", etc)
EquipItemInventory(10, 5, 2)
EquipItemInventory(9, 5, 2)
EquipItemInventory(8, 5, 1)
EquipItemInventory(8, 6, 1)
EquipItemInventory(7, 5, 2)
EquipItemInventory(6, 5, 2)
--Close Inventory
PressAndReleaseKey("c")
MoveMouseTo(x, y)
end
-------------------------------------------
--View current mouse position on LCD screen
if (event == "G_PRESSED" and arg == 2) then
ClearLCD ()
x, y = GetMousePosition();
OutputLCDMessage("Mouse is at x=" .. x .. "; y= " .. y, 60000)
-- OutputLogMessage("x=" .. x .. "; y= " .. y .. "\n")
end
end
----------------------------------------
--Random clicking inside square limits--
----------------------------------------
function EquipItemInventory (Item_X, Item_Y, SlotVolume, Modify)
--Default values
MinVal_X = {46600, 48400, 50300, 52100, 53900, 55800, 57500, 59500, 61300, 63100}
MaxVal_X = {47600, 49500, 51300, 53200, 55100, 56900, 58800, 60500, 62500, 64200}
MinVal_Y = {36200, 39000, 41800, 44800, 47800, 50500}
MaxVal_Y = {37700, 40500, 43500, 46500, 49450, 52100}
--Use random function
MouseX = MinVal_X[Item_X] + math.random(1, math.abs(MaxVal_X[Item_X] - MinVal_X[Item_X]))
if SlotVolume == 1 then
MouseY = MinVal_Y[Item_Y] + math.random(1, math.abs(MaxVal_Y[Item_Y] - MinVal_Y[Item_Y]))
elseif SlotVolume == 2 then
MouseY = MinVal_Y[Item_Y] + math.random(1, math.abs(MaxVal_Y[Item_Y+1] - MinVal_Y[Item_Y]))
end
MoveMouseTo(MouseX, MouseY)
if Modify then
PressKey(Modify)
Sleep(20);
end
--Mouse right click
PressAndReleaseMouseButton(3)
Sleep(100);
if Modify then
ReleaseKey(Modify)
end
end

3 Для того чтобы поменять вещи в любом месте экрана, вам необходимо просто добавить пару строчек с узазанием ячеек Инвенторя
Например для как на картинке:
Изображение

чтобы переодеть 6 вещей (я закрасил их цветами), необходимо просто в сценарии добавить следующие строчки(в том сценарии который я дал, они уже есть)
EquipItemInventory(10, 5, 2)
EquipItemInventory(9, 5, 2)
EquipItemInventory(8, 5, 1)
EquipItemInventory(8, 6, 1)
EquipItemInventory(7, 5, 2)
EquipItemInventory(6, 5, 2)

Как вы видите я все скрыл в функции EquipItemInventory, в которой может быть 4 параметра:
1. Номер ячейки по горизонтали (Х) (от 1 до 10)
2. Номер ячейки по вертикали (Y) (если вещь занимает 2 ячейки, то необходимо указать самую верхнию) (от 1 до 6)
3. Размер ячейки (1 место или 2 - 2 места)
4. Модификатор (например "lalt" если необходимо надеть через альт (необязательный параметр) (список всех модификаторов ниже)
"lshift"
"rshift"
"lctrl"
"lalt"
"ralt"
"rctrl"
"lctrl"



Все проверил на себе все работает просто круть :)

ЗЫ Ща прикреплю в начало темы
Overlol
 
Дождались! (3 года на портале)

А как насчет повторения цикла пока кнопка G зажата?

у меня оно как-то не всегда и не все итемы меняет.
код
function OnEvent(event, arg)
if (event == "G_PRESSED" and arg == 3) then
--Save current cursor position
x, y = GetMousePosition();
--Open Inventory
PressAndReleaseKey("c")
Sleep(20);
--Equip items by X and Y axis, Item Volume (1 or 2), Modificator ("ralt", etc)
EquipItemInventory(10, 5, 2)
EquipItemInventory(9, 5, 2)
EquipItemInventory(8, 5, 1)
EquipItemInventory(8, 6, 1, "lalt")
EquipItemInventory(7, 5, 1)
EquipItemInventory(6, 5, 2)
EquipItemInventory(5, 5, 2)
EquipItemInventory(4, 5, 2)
EquipItemInventory(3, 5, 2)
EquipItemInventory(2, 5, 2)
EquipItemInventory(1, 5, 1)
EquipItemInventory(1, 6, 1)
--Close Inventory
PressAndReleaseKey("c")
MoveMouseTo(x, y)
end
-------------------------------------------
--View current mouse position on LCD screen
if (event == "G_PRESSED" and arg == 1) then
ClearLCD ()
x, y = GetMousePosition();
OutputLCDMessage("Mouse is at x=" .. x .. "; y= " .. y, 60000)
-- OutputLogMessage("x=" .. x .. "; y= " .. y .. "\n")
end
end
----------------------------------------
--Random clicking inside square limits--
----------------------------------------
function EquipItemInventory (Item_X, Item_Y, SlotVolume, Modify)
--Default values
MinVal_X = {46600, 48400, 50300, 52100, 53900, 55800, 57500, 59500, 61300, 63100}
MaxVal_X = {47600, 49500, 51300, 53200, 55100, 56900, 58800, 60500, 62500, 64200}
MinVal_Y = {36200, 39000, 41800, 44800, 47800, 50500}
MaxVal_Y = {37700, 40500, 43500, 46500, 49450, 52100}
--Use random function
MouseX = MinVal_X[Item_X] + math.random(1, math.abs(MaxVal_X[Item_X] - MinVal_X[Item_X]))
if SlotVolume == 1 then
MouseY = MinVal_Y[Item_Y] + math.random(1, math.abs(MaxVal_Y[Item_Y] - MinVal_Y[Item_Y]))
elseif SlotVolume == 2 then
MouseY = MinVal_Y[Item_Y] + math.random(1, math.abs(MaxVal_Y[Item_Y+1] - MinVal_Y[Item_Y]))
end
MoveMouseTo(MouseX, MouseY)
if Modify then
PressKey(Modify)
Sleep(20);
end
--Mouse right click
PressAndReleaseMouseButton(3)
Sleep(100);
if Modify then
ReleaseKey(Modify)
end
end

инвентарь
Изображение


прошу, помогите решить сею траблу =(
Miri
 

Miri,

Самое главное в момент нажатия кнопки переодеваний НЕ ДЕРГАТЬ МЫШЬ. В пылу боя такое сложно сделать, поэтому когда я играю варваром, то когда мне нужно переодеться с элитниками, то я выпрыгиваю из толпы, от бегаю чуть подальше, не трогаю мышь и тогда нажимаю переодевание.

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

А если по теме, то какие предметы не переодеваются? (с альтом?)

Я посмотрел на твой инвентарь, там вроде все нормально кроме (хотя для штанов (7) можно было бы и размер 2 поставить EquipItemInventory(7, 5, 2) )
EquipItemInventory(10, 5, 2)
EquipItemInventory(9, 5, 2)
EquipItemInventory(8, 5, 1)
EquipItemInventory(8, 6, 1, "lalt")
EquipItemInventory(7, 5, 1)
EquipItemInventory(6, 5, 2)
EquipItemInventory(5, 5, 2)
EquipItemInventory(4, 5, 2)
EquipItemInventory(3, 5, 2)
EquipItemInventory(2, 5, 2)
EquipItemInventory(1, 5, 1)
EquipItemInventory(1, 6, 1)

Щас полностью протестировал на себе все одевается и даже с альтом, 2одноручки с щитом меняются

Так что я полагаю - не дергать мышкой..

Я объясню вообще когда я это пользую:
1. Когда фармлю (именно фарлю что-то, когда я влюбом случае заберу элитников, а не когда переодевшись они меня положат с двух ударов). Очень тяжело переодеться в пылу боя, особенно когда только осваиваешь акт и все очень и очень сложно.
2. Подошел к сундуку, спокойно переоделся, открыл, переоделся
3. БОСС файт... довожу босса почти до нуля... отпрыгиваю от него подальше и спокойно без дерганей мышой переодеваюсь

Добавлено спустя 45 минут 24 секунды:
Darkaction писал(а):А как насчет повторения цикла пока кнопка G зажата?

Darkaction писал(а):Наконец то я нашел того кто шарит в скриптах.
Стоит такая задача - превратить клавишу G12 в левую кнопку мыши, только с небольшой модернизацией:
При разовом нажатии G12 происходит одиночный клик левой кнопки мыши.
При удержании G12 левый клик зацикливается с интервалом 50мс.
Если ТС напишет под это скрипт буду благодарен.
Смысл затеи перенести управление персом на клаву, а мышь использовать просто как прицел.

З.Ы. У меня клава Logitech G13.


Чтобы сработал сценарий нужно событие, события бывают следующие (согласно документации по API интерфейсу для клавы)
Изображение

Как видишь есть "G_PRESSED" и "G_RELEASED". Нет такого понятия Удержание. Конечно можно зациклить в событии "G_PRESSED" левый клик с интервалом в 50мс, но как потом от туда выйти? При отпускании G12 сработает свое событие "G_RELEASED", а "G_PRESSED" будет продолжать работать и выключить я думаю нельзя будет.
Для того чтобы вырубить, нужно проверять Нажата ли еще клавиша G12, но в документации такой функции нету, есть только:
1 The IsModifierPressed() function is used to determine if a particular modifier key is currently in a pressed state.
2 The IsMouseButtonPressed() function is used to determine if a particular mouse button is currently in a pressed state.
3 The IsKeyLockOn() function used to determine if a particular lock button is currently in an enabled state .
если было бы что-то типа IsKeyPressed(), то не вопрос, хотя как таковых кнопок G1-G18 не существуют в ANSI кодах, и поэтому нажать кнопку макроса невозможно функцией PressAndReleaseKey(), хотя для таких извращений есть функция PlayMacro () function is used to play an existing macro.
Overlol
 
Дождались! (3 года на портале)

всегда по разному. я ещё в боевых условиях не тестил. только в городе. + он делает выстрел правой кнопкой после завершения переодевания, так должно быть?


выкладка
1е переодевание не переодело шапку, чест, перчатки, пояс
2е ботинки, штаны, брасы, пояс
3е левое кольцо, плечи, штаны, нек
4 ботинки, шапка, перчатки, левое кольцо
Miri
 

Miri, у меня тоже сначало не переодевало некоторые вещи, я решил проблему увеличением задержки
вот в этом месте
MoveMouseTo(MouseX, MouseY)
if Modify then
PressKey(Modify)
Sleep(20);
Elreg
 

не помогло. все так же 3-4 вещи стабильно не одевает
Miri
 

Miri,

Чтобы понять что происходит, выствте задержку в 2секунды

--Mouse right click
PressAndReleaseMouseButton(3)
Sleep(2000);

т.о. вы точно увидите где позиционируется мышь и куда она кликает...

Задержку в 100миллисекунд убрать нельзя, т.к. просто игра не успевает обрабатывать... вполне возможно для вашего компа стоит задержку увеличить до 200мс

Щас переключал на разрешение 1600Х1200 16х10 все также норм работает
Overlol
 
Дождались! (3 года на портале)

След.

Вернуться в Игровая механика


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2