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

Теория и практика Diablo 3
про то что "это не честно" поржал :thumbup:
близы сами запилят встроенную переодевалку со временем, просто они чудаки на букву м не сделали это сразу, хотя знали что оно понадобится.

по теме - автор на столько наивен, что не понимает простой инстины - если близы захотят докопаться до макросеров и хоткейщиков, то им будет плевать на чем ты быстро переодеваешь вещи - на спец софте или на софте от производителя игровых девайсов. Суть 1 - ты используешь автоматизацию во время игры и они вполне себе могут всех перебанить за это, но без ворнинга этого не будет, поэтому все будут пользоваться макросами.
NIRee
 
Ждал звезду с небес - зарегистрирован до выхода Diablo III Дождались! (3 года на портале)

ТС будь добр помоги для разера черная вдова написать такой же макрос
10k
 

ТС спасибо , по аналогии сделал под себя 8-) 230% мфа под кил элитки и гоблоты решает.
Zgux
 
Ждал звезду с небес - зарегистрирован до выхода Diablo III Дождались! (3 года на портале)

Zgux писал(а):ТС спасибо , по аналогии сделал под себя 8-) 230% мфа под кил элитки и гоблоты решает.


Так я про тоже... вот варваром играю... во втором акте с элитниками танцы шманцы... иногда с неудобными аффиксами по 5-10минут. Убиваешь в боевом гире с 5стаками нимфалемки и видишь как упало две синьки... это же издевательство... а так переодевшись выпадает почти всегда по 2желтых шмотки, иногда даже 3.

Потом переодеваясь в мф гир есть шанс, что тебя ваншотнут(если ты мили), поэтому не считаю это эксплоитом.
Overlol
 
Дождались! (3 года на портале)

ну да риск нормальный ) у меня в мф гире 8к хелсов , а про резисты с армором молчу +/
п.с. мб против непопадания курсора ( бывает , но очень редко ) , сделать блоки поменьше - по краям к погрешности. Пару мм
нужно изменить корды
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}

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

Привет. У меня G13.
Макрос работает но немного странно. То все вещи одеваются, то некоторые. Распологал в инвентаре так же как у тебя прописано. В чем может быть дело? разрешение 1920-1080...
tymka
 

tymka писал(а):Привет. У меня G13.
Макрос работает но немного странно. То все вещи одеваются, то некоторые. Распологал в инвентаре так же как у тебя прописано. В чем может быть дело? разрешение 1920-1080...


разрешение широкоформатное? 16:10?

весь нижний ряд проверял... 100% попапания всегда.... думаю что это или дергаешь мышь в момент переодевания, либо просто немного нужно увеличить задержку со 100мс до 150мс (типа клиент не справляется с анимацией переодевания)
Overlol
 
Дождались! (3 года на портале)

У меня программируемая мышка A4Tech X7.

Также написал под нее подобный скрипт - работает на ура.
nnr
 
Ждал звезду с небес - зарегистрирован до выхода Diablo III Дождались! (3 года на портале)

можно как то поменять значения x y по мыши? ну не попадает в половину слотов

nnr, Можешь выложить? Я взял этот скрипт и поменял клавишу G12 на среднюю кнопку мыши - половина предметов не переодевается, думаю это из-за вибраций мыши при нажатии.
Antix23
 

ВЕЩЬ! Спорим, кол-во плюсов для ТС перевалит кол-во минусов :)

У самого мышь G300. Просто не знал что можно прописать такой макрос. Приду с работы буду тестить

У меня разрешение 1280/1024 монитор не широкоформатный 4/3. Как думаешь, пойдет этот макрос без изменений, или придется прописывать квадраты вручную?

З.Ы.
NIRee писал(а):близы сами запилят встроенную переодевалку со временем

Или введут ограничительную меру на переодевание. Напомните, гобло/сундуко-фарм уже порезали?
Makcu
 
Дождались! (3 года на портале)

Overlol, 1920-1080 разрешение - это же вроде 16-9 получается. мышкой точно не дергаю в момент.я с нее даже руку убираю. задержку ставил и в 200 - все равно результат тот же
tymka
 

какой аргумент вбить, чтобы скрипт срабатывал от кнопок мыши? В частности G8, та, что по умолчанию DPI переключает
Makcu
 
Дождались! (3 года на портале)

Makcu писал(а):какой аргумент вбить, чтобы скрипт срабатывал от кнопок мыши? В частности G8, та, что по умолчанию DPI переключает



Сценарий может в принципе срабатывать только от кнопок макросов по событию НажатаКнопкаМакроса/ОтпущенаКнопкаМакроса, а также переключение между профилями M1-M3

На обычные кнопки можно повесить только последовательность нажатий клавиш(можно с задержкой)

Для тебя ты переодевание можешь повесить на любую клавишу G своей мышы

Изображение


Добавлено спустя 1 минуту 36 секунд:
Makcu писал(а):какой аргумент вбить, чтобы скрипт срабатывал от кнопок мыши? В частности G8, та, что по умолчанию DPI переключает


Для G8 разве это не очевидно из кода?
**********
function OnEvent(event, arg)
if (event == "G_PRESSED" and arg == 8) then
.....
********
Именно параметр arg ответственен за номер G
Overlol
 
Дождались! (3 года на портале)

Overlol, можешь пересчитать координаты квадратов инвенторя для экрана с чекбоксом Letterbox?
Gilzax
 

Gilzax писал(а):Overlol, можешь пересчитать координаты квадратов инвенторя для экрана с чекбоксом Letterbox?


с чекбоксом Letterbox... А че это такое? Оо

Добавлено спустя 20 минут 38 секунд:
Вот нашел функцию SetMouseDPITable() sets the current DPI table for a supported gaming mouse

в последних драйверах...

Идея такая... перед переодеванием выставляю минимально возможный DPI, при котором, вы хоть дерните мышь на пол коврика, но она переместится на несколько пикселей всего.. а после завершения события DPI обратно востановится...

Здесь правда есть засада, т.к. функции, которая бы читала текущее DPI нету, поэтому придется выставить руками в сценарии напрямую...

Надо бы потестить, работает ли функция SetMouseDPITable() для мышей, сторонних производителей а не только Логитех... У меня например РейзерНага...
Overlol
 
Дождались! (3 года на портале)

У кого проблемы с переодеванием в виде не одевания нескольких вещей, вставьте в сценарий -
function OnEvent(event, arg)
if (event == "G_PRESSED" and arg == 6) 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)
EquipItemInventory(5, 5, 2)
EquipItemInventory(4, 5, 2)
EquipItemInventory(3, 5, 2)
EquipItemInventory(2, 5, 2)
EquipItemInventory(1, 6, 1, "lalt")
--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 = {48933, 50610, 52351, 53951, 55630, 57301, 58975, 60580, 62253, 63930}
MaxVal_X = {48938, 50614, 52353, 53958, 55633, 57304, 58979, 60482, 62256, 63934}
MinVal_Y = {36200, 39000, 41800, 44800, 48461, 51561}
MaxVal_Y = {37700, 40500, 43500, 46500, 48468, 51566}
--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(10);
if Modify then
ReleaseKey(Modify)
end
end

Вещи должны располагаться так
Изображение

Задержка стоит
--Mouse right click
PressAndReleaseMouseButton(3)
Sleep(10); Если у кого-то высокий пинг и не одеваются вещи, пробуйте ставить задержку от 10-1000, хотя сам не знаю, зависит ли это от пинга
if Modify then
ReleaseKey(Modify)
Так что моргнуть не успеете, еще быстрее чем у автора.
Всё тестировалось на 1920х1080. За другие разрешения не отвечаю что будет работать.
Тестировал на клавиатуре Logitech G15. На G2 на LCD координаты мыши высвечивает. На G6 сам макрос на свап шмота.

Overlol, Добавь в шапку темы или отредактируй. Помог чем смог.
К тебе еще вопрос, у меня мышка Logitech G500, можно ли как то на нее забиндить кнопку макроса G6 с клавиатуры? А то как то не удобно мизинцем тыкать.
можете посмотреть как работает в данный момент http://www.justin.tv/grumanhd

lelikpwn писал(а):У кого проблемы с переодеванием в виде не одевания нескольких вещей, вставьте в сценарий -
function OnEvent(event, arg)
if (event == "G_PRESSED" and arg == 6) 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)
EquipItemInventory(5, 5, 2)
EquipItemInventory(4, 5, 2)
EquipItemInventory(3, 5, 2)
EquipItemInventory(2, 5, 2)
EquipItemInventory(1, 6, 1, "lalt")
--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 = {48933, 50610, 52351, 53951, 55630, 57301, 58975, 60580, 62253, 63930}
MaxVal_X = {48938, 50614, 52353, 53958, 55633, 57304, 58979, 60482, 62256, 63934}
MinVal_Y = {36200, 39000, 41800, 44800, 48461, 51561}
MaxVal_Y = {37700, 40500, 43500, 46500, 48468, 51566}
--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(10);
if Modify then
ReleaseKey(Modify)
end
end

Вещи должны располагаться так
Изображение

Задержка стоит
--Mouse right click
PressAndReleaseMouseButton(3)
Sleep(10); Если у кого-то высокий пинг и не одеваются вещи, пробуйте ставить задержку от 10-1000, хотя сам не знаю, зависит ли это от пинга
if Modify then
ReleaseKey(Modify)
Так что моргнуть не успеете, еще быстрее чем у автора.
Всё тестировалось на 1920х1080. За другие разрешения не отвечаю что будет работать.
Тестировал на клавиатуре Logitech G15. На G2 на LCD координаты мыши высвечивает. На G6 сам макрос на свап шмота.

Overlol, Добавь в шапку темы или отредактируй. Помог чем смог.
К тебе еще вопрос, у меня мышка Logitech G500, можно ли как то на нее забиндить кнопку макроса G6 с клавиатуры? А то как то не удобно мизинцем тыкать.
можете посмотреть как работает в данный момент http://www.justin.tv/grumanhd



Ну ты просто перебил значения крайних координат
--Default values
MinVal_X = {48933, 50610, 52351, 53951, 55630, 57301, 58975, 60580, 62253, 63930}
MaxVal_X = {48938, 50614, 52353, 53958, 55633, 57304, 58979, 60482, 62256, 63934}
MinVal_Y = {36200, 39000, 41800, 44800, 48461, 51561}
MaxVal_Y = {37700, 40500, 43500, 46500, 48468, 51566}
---
У меня в принципе с моими все норм... добавлю для тех кого не проходит как у меня - твои...

Просто заново все координаты вычислять не охота... у меня же все работает :)

Щас добавлю в шапку темы

Добавлено спустя 4 минуты 27 секунд:
lelikpwn писал(а):Overlol, Добавь в шапку темы или отредактируй. Помог чем смог.
К тебе еще вопрос, у меня мышка Logitech G500, можно ли как то на нее забиндить кнопку макроса G6 с клавиатуры? А то как то не удобно мизинцем тыкать.

К сожаления как я понял скрипт может работать только с кнопками макросов.... поэтому думаю остается тренировать мизинец :)

Также подумываю над тем, чтобы в сценарии предусмотреть отключение функции рандома и кликать мышою по центрам осей X и Y. (думаю это больше поможет тем у кото что-то там не туда кликает)

Также домой приду потестирую тему насчет смены DPI(чувствительности) мыши чтобы избавится от случайного смещения мыши в момент переодевания и выставления предыдущего значения DPI
Overlol
 
Дождались! (3 года на портале)

Overlol, вот эта опция в настройках видео. Делает экран 16:9 независимо от разрешения, что несколько увеличивает обзор.
Изображение

Кстати, у кого не одеваются некоторые вещи, проблема скорее всего в том, то отмечен этот чекбокс и координаты квадратов инвентаря другие.
Последний раз редактировалось Gilzax 14 июн 2012, 12:54, всего редактировалось 1 раз.
Gilzax
 

Overlol писал(а):
function OnEvent(event, arg)
if (event == "G_PRESSED" and arg == 8) then

Именно параметр arg ответственен за номер G


Увы, не пашет. Кто прикрутил макрос на G300, отзовитесь. Чую, что грабли рядом, не могу нащупать
Makcu
 
Дождались! (3 года на портале)

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

У меня движения мыши в момент переодевания никак не влияют на результат. Вещи переодеваются всегда, независимо от того, что я делаю мышью и двигается персонаж или просто стоит на месте. Мышь X-710BH, клавиатура Logitech G13. Макрос на клавиатуре G13.
Gilzax
 

Чувствую выйдет скоро 1.0.2d с кулдауном на обновление шмота )

Gilzax писал(а):Overlol, вот эта опция в настройках видео. Делает экран 16:9 независимо от разрешения, что несколько увеличивает обзор.
Изображение

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



Точно у меня Letterbox не поставлен.... блин приду домой поэксперементирую... снова все квадраты просмотрю... дам новые координаты с учетом галки Леттербокс

Добавлено спустя 11 минут 5 секунд:
Makcu писал(а):
Overlol писал(а):
function OnEvent(event, arg)
if (event == "G_PRESSED" and arg == 8) then

Именно параметр arg ответственен за номер G


Увы, не пашет. Кто прикрутил макрос на G300, отзовитесь. Чую, что грабли рядом, не могу нащупать


Думаю я нашел твои грабли(но это больше похоже изза того что у тебя несколько устройств Логитех на компе (например клава и мышь) и драйвер не может понять чей G8... все дело думаю в дополнительном(необязательном) параметре функции onEvent. Вот вырезка из справочника:
Изображение


Думаю что тебе в сценарии нужно заменить:
*********
function OnEvent(event, arg)
if (event == "G_PRESSED" and arg == 8) then
..............
на:
*********
function OnEvent(event, arg, family)
if (event == "G_PRESSED" and arg == 8 and family == "mouse") then
.............

Попробуй
Overlol
 
Дождались! (3 года на портале)

а если как то сделать, чтобы на кнопку макроса прикрутить например кнопку Pause, а на мышке выставить её??? Про так это не работает

lelikpwn писал(а):а если как то сделать, чтобы на кнопку макроса прикрутить например кнопку Pause, а на мышке выставить её??? Про так это не работает



Кнопка Макроса при ее нажатии будет нажимать Кнопку Pause и Кнопка мыши(которая связана с Pause) при нажатии на ее будет нажимать кнопку Pause. Не путай логическое и физическое нажатие на мышь/клаву

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

А для всяких доп.клавишах на мышах и клавах чтобы они работали - нужны дрова производителя железа, которые и транслируют например нажатия на стандартные клавиши....

Кнопки g1-g18 на клавах Логитех абсолютно бесполезны до тех пор, пока вы не поставите дрова Логитех
Overlol
 
Дождались! (3 года на портале)

Пред.След.

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


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

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