Расскажу о переодевании одной кнопкой с помощью клавиатуры G15. Способ годится для всех программируемых девайсов Logitech.
Создаем сценарий.
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
function TypeOutString(typeString)
for i=0,string.len(typeString) do
char = string.sub(typeString, i, i);
OutputLogMessage(char .. "\n" );
if(char == " " ) then
char = "spacebar";
elseif(char == "," ) then
char = "comma";
elseif(char == "[" ) then
char = "lbracket";
elseif(char == "]" ) then
char = "rbracket";
elseif(char == "=" ) then
char = "equal";
elseif(char == "/" ) then
char = "slash";
elseif(char == "-" ) then
char = "numminus";
elseif(char == ":" ) then
PressKey("lshift" );
PressAndReleaseKey("semicolon");
ReleaseKey("lshift" );
elseif(char == "." ) then
char = "period";
elseif(char == "!" ) then
PressKey("lshift" );
PressAndReleaseKey("1");
ReleaseKey("lshift" );
-- return;
elseif(char == "'" ) then
char = "quote";
elseif(char == "u" ) then
char = "u";
end
PressAndReleaseKey(char);
Sleep(1);
end
end
function OnEvent(event, arg)
if (event == "G_PRESSED" and arg == 5) then
Letterbox = "0"
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, 2, Letterbox, Random)
EquipItemInventory(7, 5, 2, Letterbox, Random)
EquipItemInventory(6, 5, 2, Letterbox, Random)
EquipItemInventory(5, 5, 2, Letterbox, Random)
EquipItemInventory(4, 5, 2, Letterbox, Random)
EquipItemInventory(3, 5, 1, Letterbox, Random)
EquipItemInventory(3, 6, 1, Letterbox, Random)
EquipItemInventory(2, 6, 1, Letterbox, Random)
--Close Inventory
PressAndReleaseKey("c")
MoveMouseTo(x, y)
end
end
Вешаем сценарий на кнопку, в приведенном примере кнопка G5.
Переменная Letterbox должна отражать значение в ваших видеонастройках. Если в соответствующем боксе настроек Дьябло у вас стоит галочка, то Letterbox должна быть равна "X", иначе все будет работать косо.
Функция EquipItemInventory заведует собственно переодеванием. Пример: EquipItemInventory(10, 5, 2, Letterbox, Random)
Оставив у моба кропаль хп, отбегайте в сторону, жмите кнопку и переодевайтесь в МФ. В этот момент старайтесь не дергать мышкой, чтобы не сбить наводку. Спамить кнопку тоже не нужно.
Вышеописанная процедура дает настолько нереальный выигрыш по баблу, что даже стремно. Потратил 400к на фулл МФ обвес, отбил за час.
Пользуйтесь, пока не прикрыли лавочку.