на саму лкм, отключаемым макросом такого типа - http://csg-split.ru/forum/viewtopic.php ... d11#p25633 - кстати это лучшая схема-концепция антиснайпрерского варианта, но с добавкой антиотдачи и отдельной коррекций 1-го выстрела
csg-split.ru Megalodon оригинал
Код:
EnablePrimaryMouseButtonEvents(true);
local recoil = false delay = 55 -- -- -- задержка между выстрелами (мс) button = 1 -- -- -- кнопка для тройного выстрела - 1 это ЛКМ Repeat = 3 -- -- -- количество повторов
function OnEvent(event, arg) if (event == "MOUSE_BUTTON_PRESSED" and arg == 11) then recoil = not recoil -- -- -- кнопкой G11 активируем макрос end
if (event == "MOUSE_BUTTON_RELEASED" and arg == button) and recoil then -- -- -- ждем отпускания ЛКМ, если макрос активен, то имитируем серию нажатий ЛКМ repeat for i = 1, Repeat do PressMouseButton(button) Sleep(delay) ReleaseMouseButton(button) Sleep(delay) end until not IsMouseButtonPressed(button) end end
сам общий профиль мышки скидывается в .xml - можно открыть его блокнотом (лучше акельпад и нотепад++), и отредактировать вручную без окошек - рационально если собирать длинную последоваптельность
луа-скрипт удобней вставить через меню "сценарии" в лгс - https://youtu.be/jsF2nUlEtmg - но хранить и писать, лучше в отдельном файле .txt или .lua
и еще немного скриптов там - Logitech G700/G700s #12709089 - причем скрипт №4 SCAR-H скачивает какраз полный профиль мышки, с сохраненным внутри скриптом скара
Advanced guest
Статус: Не в сети Регистрация: 03.12.2004
Не использовал нынешний софт Razer. LGS стартует моментально. Задуматься может только при первом открытии окна со списком профилей, когда их очень много. Он в этот момент значки из exe прогружает. Можно избавиться, если на все профили назначить кастомные значки (в таком случае они будут храниться внутри самого профиля). Индикации DPI на мониторе там никогда не было.
_________________ Да не убивайся ты так! Ты же так никогда не убьёшься.
Advanced guest
Статус: Не в сети Регистрация: 03.12.2004
Там вообще-то другой драйвер - SetPointP. У 700s используется LGS. В нем есть индикация низкого заряда батарей. DPI и смену профилей он может показывать только на экране клавиатуры (которая работает с LGS).
_________________ Да не убивайся ты так! Ты же так никогда не убьёшься.
Member
Статус: Не в сети Регистрация: 30.07.2005 Откуда: Москва Фото: 8
Цитата:
4e_alex Там вообще-то другой драйвер - SetPointP.
Я знаю что другой, какой работал на клавиатуре G110. Я предполагал, что в целом "подход" общий. Если есть индикация у K800, то что-то подобное должно быть и у такой флагманской мышки.
Цитата:
4e_alex DPI и смену профилей он может показывать только на экране клавиатуры (которая работает с LGS).
Хитро.
Kaper4e_alex Печально и странно. Ну нажму я случайно несколько раз на кнопку "переключения профилей". Как мне потом понять, сколько мне нужно нажать, чтобы вернуть профиль №1. Предполагал, что какая-то индикация должна быть, хотя бы в трее ОС. Если режимы DPI отображаются на самой мышке, то профили вроде как видны только через ПО?!
Advanced guest
Статус: Не в сети Регистрация: 03.12.2004
Там есть индикация профиля на самой мышке. Теми же самыми светодиодами, но другим цветом в момент переключения профиля.
pa_ul писал(а):
что-то подобное должно быть и у такой флагманской мышки
Скорее всего, не сделали из тех соображений, что у игровой мыши индикация на рабочем столе не будет видна в ее основном рабочем режиме (во время игры на весь экран)
Добавлено спустя 1 минуту 24 секунды:
pa_ul писал(а):
Хитро.
Как вариант есть еще Arx, который ставится на почти любой смартфон или планшет
_________________ Да не убивайся ты так! Ты же так никогда не убьёшься.
Member
Статус: Не в сети Регистрация: 12.06.2009 Откуда: Самара Фото: 71
pa_ul писал(а):
На 700s присутствует встроенная память?
щас с винта удобней - и возможностей там больше
Kaper писал(а):
Изменение DPI происходит 2 кнопками мыши (+/-)
можно одной - цикл профилей
вообще мне он нужен только на время отладки в новой незнакомой игре - если игра есть на http://www.mouse-sensitivity.com - там просчитываю под привычные мне 16/360, и можно без отладки, или пару соседних шагов для пробы
pa_ul писал(а):
Если режимы DPI отображаются на самой мышке, то профили вроде как видны только через ПО?!
для профилей с винта, нет подсветки диодами - кнопки 10 и 11 всеравно малодоступны - ставь на них действие идентифицирующее свой профиль, например нож+ствол а в соседнем пист+ствол
4e_alex писал(а):
из тех соображений, что у игровой мыши индикация на рабочем столе не будет видна в ее основном рабочем режиме (во время игры на весь экран)
Member
Статус: Не в сети Регистрация: 30.07.2005 Откуда: Москва Фото: 8
Цитата:
4e_alex Теми же самыми светодиодами, но другим цветом в момент переключения профиля.
Ясно спасибо.
Цитата:
4e_alexСкорее всего, не сделали из тех соображений, что у игровой мыши индикация на рабочем столе не будет видна в ее основном рабочем режиме (во время игры на весь экран)
Я имел ввиду такую индикацию, как у клавиатуры K800. Нечто подобное (dpi отображается зеленым цветом. У меня установки такие 400, 800, 1500, 2000, 2500. Рабочее значение 2000) есть у razer mamba 2012, но работает через раз, поэтому я ориентируюсь на индикацию на самой мышке (диодами) http://s57...radikal.ru/i155/1411/6e/ed3503ebb2bd.jpg
Цитата:
maxara щас с винта удобней - и возможностей там больше
Полностью согласен. Главное, с винта надежнее работает.
Вброшу ка я Norecoil с девкаме и минибаром в помощь ракообразным дисклеймер: для желающих запросто вытащить рыбку из пруда - никаких комментариев на код не будет.
EnablePrimaryMouseButtonEvents (true) recoil, x, y, firedelay, fshot = false, 0, 5, 43, 1 -- initial value variables
function OnEvent(event, arg, family) if (event == "MOUSE_BUTTON_PRESSED" and arg == 6) then -- recoil = not recoil if recoil then OutputLCDMessage ("NoRecoil ON") else OutputLCDMessage ("NoRecoil OFF") end end if (event == "MOUSE_BUTTON_PRESSED" and arg == 9) then -- norecoil_setup () end if event == "MOUSE_BUTTON_PRESSED" and arg == 1 and recoil then shot () end -- uncomment this block if you need set up -- if (event == "MOUSE_BUTTON_PRESSED" and arg == 8) then -- -- setup_value_minus () -- end -- if (event == "MOUSE_BUTTON_PRESSED" and arg == 10) then -- -- setup_value_plus () -- end -- set up block end end
function shot () if IsMouseButtonPressed (3) then OutputLCDMessage ("Delay = " .. (string.format("%02d", firedelay)) .." Y= " .. (string.format("%d", y)) .. " X=" .. (string.format("%d", x))) Sleep(firedelay) MoveMouseRelative(x, 0) Sleep(firedelay) MoveMouseRelative(0, math.ceil (y * fshot)) repeat Sleep(firedelay) MoveMouseRelative(x, 0) Sleep(firedelay) MoveMouseRelative(0, y) --OutputLogMessage("Fire = %d, Y = %d\n", firedelay, y) until not IsMouseButtonPressed(1) end end
function setup_value_plus () local cntrl = IsModifierPressed ("lctrl") local shift = IsModifierPressed ("lshift") if cntrl then y = y + 1 OutputLCDMessage ("Y = " .. (string.format("%d", y)) .. "\n") elseif shift then x = x + 1 OutputLCDMessage ("X = " .. (string.format("%d", x)) .. "\n") else firedelay = firedelay + 2 OutputLCDMessage ("Delay = " .. (string.format("%02d", firedelay)) .. "\n") end end
function setup_value_minus () local cntrl = IsModifierPressed ("lctrl") local shift = IsModifierPressed ("lshift") if cntrl then y = y - 1 OutputLCDMessage ("Y = " .. (string.format("%d", y)) .. "\n") elseif shift then x = x - 1 OutputLCDMessage ("X = " .. (string.format("%d", x)) .. "\n") else firedelay = firedelay - 2 OutputLCDMessage ("Delay = " .. (string.format("%02d", firedelay)) .. "\n") end end
function norecoil_setup () local shift = IsModifierPressed ("lshift") local cntrl = IsModifierPressed ("rctrl") local alt = IsModifierPressed ("lalt") local lcntrl = IsModifierPressed ("lctrl") if lcntrl then x, y, firedelay, fshot = -1, 6, 36, 2 -- delay for AEK OutputLCDMessage ("Norecoil for AEK-971") elseif alt then x, y, firedelay, fshot = 0, 6, 46, 1.8 -- delay for M240 OutputLCDMessage ("Norecoil for M240") elseif cntrl then x, y, firedelay, fshot = 0, 4, 43, 1.2 -- delay for M4A1 OutputLCDMessage ("Norecoil for M4A1") elseif shift then x, y, firedelay, fshot = 0, 6, 48, 1.1 -- delay for SCAR-H OutputLCDMessage ("Norecoil for SCAR-H") else x, y, firedelay, fshot = 0, 3, 42, 1 -- delay for AUG A3 OutputLCDMessage ("Norecoil for AUG A3") end end
Member
Статус: Не в сети Регистрация: 12.06.2009 Откуда: Самара Фото: 71
Big Brother красиво, только навскидку опять всё циклами - у меня попроще, но зато отстреливал каждый выстрел по горизонтали и вертикали, а потом в поправку 13 шагов дугой, и сверху это число задаваемым диапазоном в экселевский генератор случайных чисел :
кстати, ты правильный неповторяющийся рандомайзер методами logitech-LUA делать не пробовал ? - так чтоб компактно одной строкой умещался - нужно для записей типа MoveMouseRelative((20~25),(60~70))
Big Brother писал(а):
Вброшу ка я Norecoil с девкаме и минибаром в помощь ракообразным
тока нержать, но я антиотдачу стал делать ради ботов - есть в варфейсе режим прохождения "ликвидация", где с самосборным тимом частенько бывает эпикфейл...
ну от меня пара годных из сети - без моих поправок на невозможность игры дать альтернативу лкм, и без моих доработок вроде принудительной поправки первого выстрела из за движка игры - по факту вообще отдельно первые 5-6 выстрелов, а потом можно пускать цикл
local delay = 54 -- -- -- -- -- -- -- задержка между выстрелами local x, y = 0, 50
function OnEvent(event, arg) if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) then Sleep(7) -- -- -- -- -- -- -- БЕЗ ЭТОЙ ЗАДЕРЖКИ СКРИПТ НЕ РАБОТАЕТ, СПАСИБО Nazgool ЗА ИДЕЮ
while IsMouseButtonPressed(1) do Sleep(delay) MoveMouseRelative(x, y) if not IsMouseButtonPressed(1) then break end Sleep(delay) MoveMouseRelative(x,y) if not IsMouseButtonPressed(1) then break end Sleep(delay) MoveMouseRelative(x,y) if not IsMouseButtonPressed(1) then break end
end end end
-- -- -- -- -- -- -- Sleep(7) -- БЕЗ ЭТОЙ ЗАДЕРЖКИ СКРИПТ НЕ РАБОТАЕТ, СПАСИБО Nazgool ЗА ИДЕЮ
-- -- -- -- -- -- -- Идея Nazgool с задержкой тоже оказалась верна, поставил 7 мс, при 5 слегка подлагивает при очень быстрых нажатиях (может исполнение проигнорировать), а на 3 уже не работает.
-- -- -- -- -- -- -- Кстати сегодня задержку между "if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) then" и "while IsMouseButtonPressed(1) do" пришлось до 15 увеличить, видимо от загрузки процессора и приоритетности зависит как быстро драйвер о состоянии кнопки узнает.
-- -- -- -- -- -- -- Да именно так я и понимаю происходящее, может изъяснился запутанно, только 5 день в язык вникаю. И по логике тоже сразу считал что if not IsMouseButtonPressed(1) then проверяет состояние кнопки на каждом шаге цикла, но вот именно что с API мыши это не работает, состояние кнопки становится известно только после последнего шага и принимается решение повторить ли цикл. Но при этом если прописывать "if not IsMouseButtonPressed(1) then break end" после каждого шага цикла, то драйвер прекрасно успевает понять в каком состоянии кнопка и принять решение делать ли следующий шаг. -- -- -- -- -- -- -- И так и так должно работать, но работает почему-то только во втором случае, видимо у лоджитека так реализована работа драйвера, что не все операторы работают как должны. У меня в реальном коде шагов "MoveMouseRelative(x, y)" будет 30(в абойме 30 патронов), точнее 30-1, отклонения начинаются после первого выстрела, и на каждом шаге x,y разные, поэтому придётся прописывать после каждого шага проверку состояния кнопки, если API упорно отказывается понимать другие способы. Возможно лоджитек намеренно ограничила возможности оператора, может быть при очень быстрых нажатиях будет надёжнее проверять состояние кнопки по отдельной команде на каждом шаге цикла.
медленный но удобный антиснайп, строки компесатора вставить самим - Megalodon
local recoil = false delay = 55 -- -- -- задержка между выстрелами (мс) button = 1 -- -- -- кнопка для тройного выстрела - 1 это ЛКМ Repeat = 3 -- -- -- количество повторов -- -- -- нельзя использовать репеат в переменных
function OnEvent(event, arg) if (event == "MOUSE_BUTTON_PRESSED" and arg == 11) then recoil = not recoil -- -- -- кнопкой G11 активируем макрос end
if (event == "MOUSE_BUTTON_RELEASED" and arg == button) and recoil then -- -- -- ждем отпускания ЛКМ, если макрос активен, то имитируем серию нажатий ЛКМ repeat for i = 1, Repeat do PressMouseButton(button) Sleep(delay) ReleaseMouseButton(button) Sleep(delay) end until not IsMouseButtonPressed(button) end end
-- -- -- http://www.cronos.ru/kb-1512.html -- -- -- следующие ключевые слова зарезервированы и не могут быть использованы в именах переменных : -- -- -- and - break - do - else - elseif - end - false - for - function - if - in - local - nil - not - or - repeat - return - then - true - until - while
-- -- -- -- -- -- -- Попробуй такой вариант, сам код немного доработал, вложил повторяющиеся команды в цикл. Если не будет работать, поковыряйся в коде. Это для тебя будет хорошим упражнением в программировании. В этот раз не стал выкладывать готовый текст, тебе придется перепачатать его с изображения.
-- -- -- -- -- -- -- Можно сделать разные задержки на удержание нажатой ЛКМ и на пайузу между нажатиями. Вот пример -- -- -- -- -- -- -- Не подскажете как сделать скрипт, который при нажатии левой кнопки мыши имитировал бы её многократные нажатия. То есть, пока нажата ЛКМ, то происходит постоянное кликание ЛКМ с задержкой между кликами, ну скажем, 230 миллисекунд.
EnablePrimaryMouseButtonEvents(true);
local recoil = false press = 20 -- -- -- время нажатого состояния кнопи (мс) wait = 230 -- -- -- задержка между нажатиями button = 1 -- -- -- кнопка для тройного выстрела - 1 это ЛКМ Repeat = 3 -- -- -- количество повторов
function OnEvent(event, arg) if (event == "MOUSE_BUTTON_PRESSED" and arg == 11) then recoil = not recoil -- -- -- кнопкой G11 активируем макрос end if (event == "MOUSE_BUTTON_RELEASED" and arg == button) and recoil then -- -- -- ждем отпускания ЛКМ, если макрос активен, то имитируем серию нажатий ЛКМ repeat for i = 1, Repeat do PressMouseButton(button) Sleep(press) ReleaseMouseButton(button) Sleep(wait) end until not IsMouseButtonPressed(button) end end
антиснайп на основе Megalodon - невставлен контроль лкм
Код:
EnablePrimaryMouseButtonEvents(true);
local recoil = false button = 1 -- -- -- кнопка для запуска цикла или скрипта -- -- -- 1 это ЛКМ Repeat = 4 -- -- -- количество повторов, без учета первого нулевого -- -- -- урон умножить на шт выстрелов 4*80=320 или 5*80=400
press = 43 -- -- -- время нажатого состояния кнопки после выстрела wait = 49 -- -- -- задержка между нажатиями и коррекцией -- -- -- сумма время 92 мс delay1m = 24 -- -- -- первая задержка между отдельными командами delay2m = 18 -- -- -- вторая задержка между отдельными командами delay3m = 16 -- -- -- третья задержка между отдельными командами - итого время 150 мс - сумма всех задержек на 20 мс более скоростельности первой пары
function OnEvent(event, arg) if (event == "MOUSE_BUTTON_PRESSED" and arg == 11) then recoil = not recoil -- -- -- кнопкой G11 активируем макрос end
if (event == "MOUSE_BUTTON_RELEASED" and arg == button) and recoil then -- -- -- ждем отпускания ЛКМ, если макрос активен, то имитируем серию нажатий ЛКМ Sleep(press) Sleep(wait) MoveMouseRelative(-5,11) Sleep(delay1m) MoveMouseRelative(-11,22) Sleep(delay2m) MoveMouseRelative(-34,37) -- -- -- горизонталь 50 вертикаль 70 Sleep(delay3m) repeat for i = 1, Repeat do PressMouseButton(button) Sleep(press) ReleaseMouseButton(button) Sleep(wait) MoveMouseRelative(-3,12) Sleep(delay1m) MoveMouseRelative(-8,22) Sleep(delay2m) MoveMouseRelative(-29,36) -- -- -- горизонталь 40 вертикаль 70 Sleep(delay3m) end until not IsMouseButtonPressed(button) end end
if (event == "MOUSE_BUTTON_PRESSED" and arg == 11) then -- -- -- по нажатию кнопки G11 recoil = not recoil -- -- -- присваиваем значение переменной recoil = TRUE OutputLogMessage("SCAR-H + RDS", 2014) -- -- -- сообщение в отладочный лог, обычно он не показывается юзеру end
if IsMouseButtonPressed(3) and recoil then -- -- -- если зажата правая кнопка мыши И recoil = TRUE ТО Sleep(1) if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) then -- -- -- по нажатию кнопки arg 1 Sleep(48) ReleaseMouseButton(1) -- -- -- отжимаем кнопку стрельбы, назначенную в игре Sleep(48) MoveMouseRelative(-1,21) MoveMouseRelative(1,0) Sleep(48) ReleaseMouseButton(1) -- -- -- отжимаем кнопку стрельбы, назначенную в игре Sleep(48) MoveMouseRelative(-1,19) MoveMouseRelative(1,0) repeat -- -- -- начало цикла Sleep(48) ReleaseMouseButton(1) -- -- -- отжимаем кнопку стрельбы, назначенную в игре Sleep(48) MoveMouseRelative(-1,14) MoveMouseRelative(1,0) Sleep(48) ReleaseMouseButton(1) -- -- -- отжимаем кнопку стрельбы, назначенную в игре Sleep(48) MoveMouseRelative(0,14) MoveMouseRelative(1,0) until not IsMouseButtonPressed(3) or not IsMouseButtonPressed(1) -- -- -- первое конец цикла правой - второе цикл разрывается, когда кнопка перестает быть нажатой end end end
SKAR-H_RDS с переделкой 5-2 контролем лкм и без переназначения лкм
Код:
EnablePrimaryMouseButtonEvents(true);
local recoil = not true;
function OnEvent(event, arg)
if (event == "MOUSE_BUTTON_PRESSED" and arg == 11) then recoil = not recoil OutputLogMessage("SCAR-H noo PKM - 5-2 kolimator rpk - break end", 15-03-2015) end
if IsMouseButtonPressed(1) and recoil then Sleep(1) if (event == "MOUSE_BUTTON_PRESSED" and arg == 1) then Sleep(53) ReleaseMouseButton(1) Sleep(20) while IsMouseButtonPressed(1) do MoveMouseRelative(-13,30) Sleep(13) MoveMouseRelative(-27,40) -- -- -- задержка 1 - 40-70 Sleep(58) ReleaseMouseButton(1) Sleep(24) if not IsMouseButtonPressed(1) then break end MoveMouseRelative(-24,23) Sleep(33) MoveMouseRelative(-16,47) -- -- -- задержка 2 - 40-70 Sleep(67) ReleaseMouseButton(1) Sleep(16) if not IsMouseButtonPressed(1) then break end MoveMouseRelative(-17,39) Sleep(32) MoveMouseRelative(-23,31) -- -- -- задержка 3 - 40-70 Sleep(64) ReleaseMouseButton(1) Sleep(28) if not IsMouseButtonPressed(1) then break end MoveMouseRelative(-13,18) Sleep(23) MoveMouseRelative(-27,53) -- -- -- задержка 4 - 40-70
-- -- -- смещение после пятого выстрела - плохо принимает игра, часто данные плюсует к 6 выстрелу - корекцию делать ДО всех задержек Sleep(68) ReleaseMouseButton(1) if not IsMouseButtonPressed(1) then break end MoveMouseRelative(32,46) MoveMouseRelative(48,54) -- -- -- задержка 5 - 80-100 Sleep(10) Sleep(37)
repeat -- -- -- начало цикла Sleep(65) ReleaseMouseButton(1) Sleep(19) if not IsMouseButtonPressed(1) then break end MoveMouseRelative(5,22) Sleep(31) MoveMouseRelative(15,18) -- -- -- задержка 6 - 20-40 Sleep(71) ReleaseMouseButton(1) Sleep(24) if not IsMouseButtonPressed(1) then break end MoveMouseRelative(8,15) Sleep(20) MoveMouseRelative(13,25) -- -- -- задержка 7 - 20-40
until not IsMouseButtonPressed(1) or not IsMouseButtonPressed(1) end end end end
EnablePrimaryMouseButtonEvents(true); -- -- -- -- -- -- -- // разрешаем использовать левую кнопку для назначения действий
local recoil = false -- -- -- -- -- -- -- // создаем переменную, она нам понадобится для включения-отключения автоотдачи
function OnEvent(event, arg) -- -- -- -- -- -- --
if (event == "MOUSE_BUTTON_PRESSED" and arg == 11) then -- -- -- -- -- -- -- recoil = not recoil -- -- -- -- -- -- -- end -- -- -- -- -- -- -- // по нажатию кнопки G11 присваиваем значение переменной recoil = TRUE
if IsMouseButtonPressed(1) and recoil then -- -- -- -- -- -- -- // если зажата левая кнопка мыши И recoil = TRUE ТО repeat -- -- -- -- -- -- -- // начало цикла PressMouseButton(2) -- -- -- -- -- -- -- // нажимаем кнопку стрельбы, назначенную в игре, 2 - это колесико Sleep(50) -- -- -- -- -- -- -- // первая половина задержки ReleaseMouseButton(2) -- -- -- -- -- -- -- // отжимаем кнопку стрельбы, назначенную в игре Sleep(50) -- -- -- -- -- -- -- // вторая половина задержки MoveMouseRelative(0,22) -- -- -- -- -- -- -- // самое главное - компенсируем отдачу от выстрела - смещаем курсор на 22 вниз until not IsMouseButtonPressed(1) -- -- -- -- -- -- -- // конец цикла end -- -- -- -- -- -- -- // ниже указаны действия, когда recoil = FALSE (в самом начале, либо если еще раз нажать после включения по ней компенсатора), то есть обычная стрельба по левой кнопке без компенсатора if IsMouseButtonPressed(1) -- -- -- -- -- -- -- // если зажата левая кнопка мыши then PressMouseButton(2) -- -- -- -- -- -- -- // то нажимаем кнопку стрельбы, назначенную в игре, 2 - это колесико else ReleaseMouseButton(2) -- -- -- -- -- -- -- // иначе - отпускаем кнопку стрельбы, назначенную в игре end end end
-- -- -- Интересует сабж (хотелось бы полный FAQ по функциям и синтаксису в LUA для G510) -- -- -- Особенно интересно как заставить включаться например ScrollLock при срабатывании триггера :
if (event == "PROFILE_ACTIVATED") then -- -- -- вот тут нужно что то написать чтобы включить NumLock
-- -- -- в качестве плюшек - бинд на кнопку G1, выдающий на дисплее Hello World!
function OnEvent(event, arg) if (event == "PROFILE_ACTIVATED") then -- profile has been activated ClearLog(); end if (event == "G_PRESSED" and arg == 1) then -- G1 has been pressed ClearLCD() OutputLCDMessage("Hello world1", 2000) Sleep(1000) SetBacklightColor(255, 0, 0) end end
-- -- -- Задача решена! )) скрипт :
function OnEvent(event, arg) OutputLogMessage ("event = %s, arg = %s\n", event, arg) if (event == "PROFILE_ACTIVATED") then PressKey ("ScrollLock") ReleaseKey ("ScrollLock") end if (event == "PROFILE_DEACTIVATED") then PressKey ("ScrollLock") ReleaseKey ("ScrollLock") end end
где и что искать по луа-скриптам -- маленький набор ссылок
http://www.softpanorama.org/Hardware/Pe ... ting.shtml The following LUA built-in functions described in the Lua Online Reference are not available in Logitech's implementation: file.*, io.*, os.*, package.* debug.* -- ??? and possibly debug.*. In Logitech forum was reported that debug.traceback() will crash the software, but other debug functions may work. So LUA functionality is severely castrated. Especially bad is absence of file.* and io.* packages. You can work only with the clipboard. No functions built into Logitech implementation of Lua that give you direct access to Windows DLLs and Logitech doesn't provide any wrapper functions.
http://www.cronos.ru/kb-1512.html следующие ключевые слова зарезервированы и не могут быть использованы в именах переменных : and - break - do - else - elseif - end - false - for - function - if - in - local - nil - not - or - repeat - return - then - true - until - while
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения