Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: Денди, денди пуудж on February 22, 2017, 09:02:42 PM
-
Нужно написать макрос для игры кс:го что-бы после зажатия ЛКМ (допустим в АК-47 разница между выстрелами 80 мс) каждые 80 мс прицел опускался вниз, вот так: после 1-го - на 3 пикселя, 2-го - на 6 пикс., 3-го на 11 пикс., 4-го - на 19 пикс., 5-го - на 27 пикс. Скриптами только начал пользоваться, потому прошу помощи у вас)
И ещё, в кс-ке мышка привязывается в центре екрана в таких координатах - 640,512 , мб поможет.
-
С Праздником Господа Защитники Отечества!
Информации в задаче маловато конечно, плюс мое незнание КС. Нужно ли смещать прицел по обеим осям, или только по вертикальной оси Y?
Суммируются ли смещения прицела после выстрелов, или отсчет идет от положения прицела до стрельбы?
Взял за точку отсчета вот это видео - https://youtu.be/rTqZ3ZmB8U4?t=105
Короче, вот скрипт для компенсации отдачи оружия (для стрельбы очередями от 1 до 5 выстрелов). Между очередями пауза в 100 миллисекунд, и возврат оружия в исходное положение, с учетом текущего положения курсора. Смещение прицела только по вертикальной оси, как в задаче.
Вообще идея с прицелом хорошая, надо развивать.
STRSEPARATE("3:6:11:19:27", ":", $arr) // смещения прицела вниз по оси Y после выстрелов
$arrsize = ARRSIZE($arr)
WHILE(1)
FOR($n = 0, ($n < $arrsize) & (ISKEYDOWN(1) = 1)) // если нажата ЛКМ
$y = $arr[$n] // величина смещения (в пикселах)
MOVE($_xmouse, $_ymouse + $y) // компенсация отдачи оружия (смещение прицела вниз по оси Y)
WAITMS(80) // задержка между выстрелами
INC($z, $y) // СУММА смещений прицела при стрельбе
END_CYC
IF($y ! 0) // если были сделаны выстрелы (нажатия ЛКМ)
MOVE($_xmouse, $_ymouse - $z) // возврат оружия в исходное положение, как до стрельбы
WAITMS(100) // пауза между очередями
UNDEFINE($y)
UNDEFINE($z)
ELSE
WAITMS(10) // интервал между проверками нажатия ЛКМ
END_IF
END_CYC
-
Спасибо огромное за скрипт, но не могу понять в чём проблема, на рабочем столе мышка плавно опускается на заданное количество пикселей, как только нахожу в игру в кс, и начинаю стрелять, прицел мгновенно фиксируется на земле снизу и начинает кружится по кругу, отключаю скрипт - всё норм, не подскажешь в чём проблема? Мб это типо античита?)
Можно как-то фото/видео прицепить сюда?
-
Трудно сказать в чем проблема, в КС как такового курсора нет, возможно смещения нужно подобрать другие. А может и античит. Попробуй смещения поменьше сделать. К сожалению мне негде протестировать скрипт.
Видео и картинки можно залить на хостинг, типа https://www.youtube.com/ или http://hostingkartinok.com/ и в свое сообщение на форуме вставить ссылку.
-
Ок, сегодня не смогу, постараюсь завтра вечером описать проблему как можно лучше
-
Оххх, сорян за качество,
провайдер мудак инет слабый и так еле загрузил, но смысл ты поймёшь https://www.youtube.com/watch?v=4urgJL8Sjxw
-
В этом скрипте есть пара переменных, значения которых не известны заранее. Это системные переменные текущих координат курсора $_xmouse и $_ymouse. От них высчитывается значение смещения прицела. Надо посмотреть какие координаты содержат эти переменные при стрельбе.
В скрипт, в цикл FOR нужно вставить строку:
LOGWRITE ($_xmouse, ",", $_ymouse)
и посмотреть что в журнале будет. Можно и другие переменные тоже проверить, но с ними вроде всё предсказуемо.
-
Надо было вот так дописать?
WHILE(1)
FOR($n = 0, ($n < $arrsize) & (ISKEYDOWN(1) = 1)) // если нажата ЛКМ
LOGWRITE ($_xmouse, ",", $_ymouse)
$y = $arr[$n] // величина смещения (в пикселах)
MOVE($_xmouse, $_ymouse + $y) // компенсация отдачи оружия (смещение прицела вниз по оси Y)
-
Крч я понятия не имею как правильно писать на этом языке, потому лучше будет тебе скинуть весь скрипт как надо и расказать что нажимать и куда смотреть))
-
Да, всё верно. Нужно посмотреть что оставит в логе скрипт при стрельбе и выложить лог сюда.
[spoiler= Скрипт] STRSEPARATE("3:6:11:19:27", ":", $arr) // смещения прицела вниз по оси Y после выстрелов
$arrsize = ARRSIZE($arr)
WHILE(1)
FOR($n = 0, ($n < $arrsize) & (ISKEYDOWN(1) = 1)) // если нажата ЛКМ
LOGWRITE ($_xmouse, ",", $_ymouse)
$y = $arr[$n] // величина смещения (в пикселах)
MOVE($_xmouse, $_ymouse + $y) // компенсация отдачи оружия (смещение прицела вниз по оси Y)
WAITMS(80) // задержка между выстрелами
INC($z, $y) // СУММА смещений прицела при стрельбе
END_CYC
IF($y ! 0) // если были сделаны выстрелы (нажатия ЛКМ)
MOVE($_xmouse, $_ymouse - $z) // возврат оружия в исходное положение, как до стрельбы
WAITMS(100) // пауза между очередями
UNDEFINE($y)
UNDEFINE($z)
ELSE
WAITMS(10) // интервал между проверками нажатия ЛКМ
END_IF
END_CYC
[/spoiler]
-
Нууу, скорее всего это тебя огорчит
21:37:43 640,512
21:37:43 640,512
21:37:43 640,512
21:37:44 640,512
21:37:44 640,512
21:37:44 640,512
21:37:44 640,512
21:37:44 640,512
21:37:44 640,512
21:37:44 640,512
21:37:44 640,512
21:37:44 640,512
21:37:44 640,512
21:37:45 640,512
21:37:45 640,512
21:37:45 640,512
21:37:45 640,512
21:37:45 640,512
21:37:45 640,512
21:37:45 640,512
21:37:45 640,512
21:37:45 640,512
21:37:46 640,512
21:37:46 640,512
21:37:46 640,512
21:37:46 640,512
21:37:46 640,512
21:37:46 640,512
21:37:46 640,512
21:37:46 640,512
21:37:46 640,512
21:37:46 640,512
-
Не то чтоб сильно огорчило, но видимо на эти переменные опереться не получится. Есть еще процедура MOVER в запасе, но с ней тоже не всё гладко. Еще можно попробовать клавиатуру использовать для смещения прицела. Может быть режим ps/2 поможет. Получается гаданием занимаюсь, без самой игры трудно что либо придумать. :-\
А уменьшение смещений что нибудь меняет? Если заменить первую строку вот такой:
STRSEPARATE("1:1:1:1:1", ":", $arr) // смещения прицела вниз по оси Y после выстрелов
З.Ы. Качаю игру, будет время попробую допилить скрипт.
[spoiler=Я буду устанавливать сейчас все игры!](http://s8.hostingkartinok.com/uploads/images/2017/02/3b18b01073be6160b291d463e3238345.jpg) (http://hostingkartinok.com/show-image.php?id=3b18b01073be6160b291d463e3238345)[/spoiler]
-
Нет, не меняется совсем ничего, ни лог, ни действия в игре(
-
В 3D игре правильно работает только MOVER!
STRSEPARATE("3:6:11:19:27", ":", $arr) // смещения прицела вниз по оси Y после выстрелов
$arrsize = ARRSIZE($arr)
WHILE(1)
FOR($n = 0, ($n < $arrsize) & (ISKEYDOWN(1) = 1)) // если нажата ЛКМ
$y = $arr[$n] // величина смещения (в пикселах)
MOVER(0,$y) // компенсация отдачи оружия (смещение прицела вниз по оси Y)
WAITMS(80) // задержка между выстрелами
INC($z, -$y) // СУММА смещений прицела при стрельбе
END_CYC
IF($y ! 0) // если были сделаны выстрелы (нажатия ЛКМ)
MOVER(0,$z) // возврат оружия в исходное положение, как до стрельбы
WAITMS(100) // пауза между очередями
UNDEFINE($y)
UNDEFINE($z)
ELSE
WAITMS(20) // интервал между проверками нажатия ЛКМ
END_IF
END_CYC
-
Я тоже накатал нечто подобное и добавил костыль с биндами. Команду "Огонь" нужно повесить на клавишу HOME, или другую свободную. И можно отлаживать и оптимизировать под конкретные пушки. :)
STRSEPARATE("3:6:11:19:27", ":", $arr) // смещения прицела вниз по оси Y после выстрелов
$arrsize = ARRSIZE($arr)
WHILE(1)
FOR($n = 0, ($n < $arrsize) & (ISKEYDOWN(1) = 1)) // если нажата ЛКМ
IF(ISKEYDOWN(36) = 0)
KEYDOWN(36) // #HOME - Огонь!
END_IF
$y = $arr[$n] // величина смещения (в пикселах)
MOVER(0, $y) // компенсация отдачи оружия (смещение прицела вниз по оси Y)
WAITMS(80) // задержка между выстрелами
INC($z, $y) // СУММА смещений прицела при стрельбе
END_CYC
IF($y ! 0) // если были сделаны выстрелы (нажатия ЛКМ)
IF(ISKEYDOWN(36) = 1)
KEYUP(36) // #HOME - Стоп огонь!
END_IF
MOVER(0, -$z) // возврат оружия в исходное положение, как до стрельбы
WAITMS(200) // пауза между очередями
UNDEFINE($y)
UNDEFINE($z)
ELSE
WAITMS(10) // интервал между проверками нажатия ЛКМ
END_IF
END_CYC
-
""В 3D игре правильно работает только MOVER! ""
К сожалению, работает точно так-же и на видео((
-
Отдачу хочешь компенсировать в кс.)))?! АК-47 там сам по себе 80 милисикунд задержка а не код для него нужно прописывать, просто тебя походу непонимают. Попробуй сначало простой код: включи кликерменн на запись(красная кнопка), и проведи вниз мышкой примерно на те пиксели и по времени, нажми стоп, потом зайди в редактор и уже подредактируй на свои значения в пикселях и времени.-Это будет движения мышкой вниз по времени и по пикселям. И просто сверху в коде пропиши чтобы он запускался от нажатия ЛКМ,-и так далее добавляй свои примочки в код для того что тебе надо. А тебе всего навсего то осталось возврат прицела реализовать.