Автокликер Clickermann :: Форум

Основной раздел => Использование => Topic started by: Денди, денди пуудж on February 22, 2017, 09:02:42 PM

Title: Нужна лёгкая помощь
Post by: Денди, денди пуудж on February 22, 2017, 09:02:42 PM
Нужно написать макрос для игры кс:го что-бы после зажатия ЛКМ (допустим в АК-47 разница между выстрелами 80 мс) каждые 80 мс прицел опускался вниз, вот так: после 1-го - на 3 пикселя, 2-го - на 6 пикс., 3-го на 11 пикс., 4-го - на 19 пикс., 5-го - на 27 пикс. Скриптами только начал пользоваться, потому прошу помощи у вас)

И ещё, в кс-ке мышка привязывается в центре екрана в таких координатах - 640,512 , мб поможет.
Title: Re: Нужна лёгкая помощь
Post by: Атеист on February 23, 2017, 02:42:47 PM
С Праздником Господа Защитники Отечества!
Информации в задаче маловато конечно, плюс мое незнание КС. Нужно ли смещать прицел по обеим осям, или только по вертикальной оси Y?
Суммируются ли смещения прицела после выстрелов, или отсчет идет от положения прицела до стрельбы?
Взял за точку отсчета вот это видео - https://youtu.be/rTqZ3ZmB8U4?t=105
Короче, вот скрипт для компенсации отдачи оружия (для стрельбы очередями от 1 до 5 выстрелов). Между очередями пауза в 100 миллисекунд, и возврат оружия в исходное положение, с учетом текущего положения курсора. Смещение прицела только по вертикальной оси, как в задаче.
Вообще идея с прицелом хорошая, надо развивать.

Code: (clickermann) [Select]
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
Title: Re: Нужна лёгкая помощь
Post by: Денди, денди пуудж on February 23, 2017, 07:06:46 PM
Спасибо огромное за скрипт, но не могу понять в чём проблема, на рабочем столе мышка плавно опускается на заданное количество пикселей, как только нахожу в игру в кс, и начинаю стрелять, прицел мгновенно фиксируется на земле снизу и начинает кружится по кругу, отключаю скрипт - всё норм, не подскажешь в чём проблема? Мб  это типо античита?)
Можно как-то фото/видео прицепить сюда?
Title: Re: Нужна лёгкая помощь
Post by: Атеист on February 23, 2017, 07:20:41 PM
Трудно сказать в чем проблема, в КС как такового курсора нет, возможно смещения нужно подобрать другие. А может и античит. Попробуй смещения поменьше сделать. К сожалению мне негде протестировать скрипт.

Видео и картинки можно залить на хостинг, типа https://www.youtube.com/ или http://hostingkartinok.com/ и в свое сообщение на форуме вставить ссылку.
Title: Re: Нужна лёгкая помощь
Post by: Денди, денди пуудж on February 23, 2017, 08:01:43 PM
Ок, сегодня не смогу, постараюсь завтра вечером описать проблему как можно лучше
Title: Re: Нужна лёгкая помощь
Post by: Денди, денди пуудж on February 23, 2017, 09:11:50 PM
Оххх, сорян за качество,провайдер мудак инет слабый и так еле загрузил, но смысл ты поймёшь                                                                                                                                                                                 https://www.youtube.com/watch?v=4urgJL8Sjxw
Title: Re: Нужна лёгкая помощь
Post by: Атеист on February 23, 2017, 09:35:20 PM
В этом скрипте есть пара переменных, значения которых не известны заранее. Это системные переменные текущих координат курсора $_xmouse и $_ymouse. От них высчитывается значение смещения прицела. Надо посмотреть какие координаты содержат эти переменные при стрельбе.
В скрипт, в цикл FOR нужно вставить строку:
LOGWRITE ($_xmouse, ",", $_ymouse)
и посмотреть что в журнале будет. Можно и другие переменные тоже проверить, но с ними вроде всё предсказуемо.
Title: Re: Нужна лёгкая помощь
Post by: Денди, денди пуудж on February 23, 2017, 10:09:41 PM
Надо было вот так дописать?

WHILE(1)
 
   FOR($n = 0, ($n < $arrsize) & (ISKEYDOWN(1) = 1)) // если нажата ЛКМ
 
         LOGWRITE ($_xmouse, ",", $_ymouse)
     
        $y = $arr[$n] // величина смещения (в пикселах)
 
      MOVE($_xmouse, $_ymouse + $y) // компенсация отдачи оружия (смещение прицела вниз по оси Y)
 
Title: Re: Нужна лёгкая помощь
Post by: Денди, денди пуудж on February 23, 2017, 10:11:35 PM
Крч я понятия не имею как правильно писать на этом языке, потому лучше будет тебе скинуть весь скрипт как надо и расказать что нажимать и куда смотреть))
Title: Re: Нужна лёгкая помощь
Post by: Атеист on February 23, 2017, 10:20:15 PM
Да, всё верно. Нужно посмотреть что оставит в логе скрипт при стрельбе и выложить лог сюда.

[spoiler= Скрипт]
Code: (clickermann) [Select]
    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]
Title: Re: Нужна лёгкая помощь
Post by: Денди, денди пуудж on February 23, 2017, 10:36:56 PM
Нууу, скорее всего это тебя огорчит

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
Title: Re: Нужна лёгкая помощь
Post by: Атеист on February 23, 2017, 11:20:46 PM
Не то чтоб сильно огорчило, но видимо на эти переменные опереться не получится. Есть еще процедура MOVER в запасе, но с ней тоже не всё гладко. Еще можно попробовать клавиатуру использовать для смещения прицела. Может быть режим ps/2 поможет. Получается гаданием занимаюсь, без самой игры трудно что либо придумать.  :-\

А уменьшение смещений что нибудь меняет? Если заменить первую строку вот такой:
Code: (clickermann) [Select]
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]
Title: Re: Нужна лёгкая помощь
Post by: Денди, денди пуудж on February 23, 2017, 11:49:21 PM
Нет, не меняется совсем ничего, ни лог, ни действия в игре(
Title: Re: Нужна лёгкая помощь
Post by: Oraven on February 24, 2017, 08:45:57 AM
В 3D игре правильно работает только MOVER!

Code: (clickermann) [Select]
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
Title: Re: Нужна лёгкая помощь
Post by: Атеист on February 24, 2017, 09:34:53 AM
Я тоже накатал нечто подобное и добавил костыль с биндами. Команду "Огонь" нужно повесить на клавишу HOME, или другую свободную. И можно отлаживать и оптимизировать под конкретные пушки.  :)
Code: (clickermann) [Select]
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
Title: Re: Нужна лёгкая помощь
Post by: Денди, денди пуудж on February 24, 2017, 06:50:28 PM
""В 3D игре правильно работает только MOVER! ""

К сожалению, работает точно так-же и на видео((
Title: Re: Нужна лёгкая помощь
Post by: Voin12345 on March 09, 2017, 04:12:28 AM
Отдачу хочешь компенсировать в кс.)))?! АК-47 там сам по себе 80 милисикунд задержка а не код для него нужно прописывать, просто тебя походу непонимают. Попробуй сначало простой код: включи кликерменн на запись(красная кнопка), и проведи вниз мышкой примерно на те пиксели и по времени, нажми стоп, потом зайди в редактор и уже подредактируй на свои значения в пикселях и времени.-Это будет движения мышкой вниз по времени и по пикселям. И просто сверху в коде пропиши чтобы он запускался от нажатия ЛКМ,-и так далее добавляй свои примочки в код для того что тебе надо. А тебе всего навсего то осталось возврат прицела реализовать.