Игры серии Battlefield: все равны, но кто-то равнее

1 июня 2012, пятница 00:04
для раздела Блоги




Всем доброго времени суток!
 
Данная заметка посвящена компьютерной игре Battlefield 3 и написана по просьбе нескольких товарищей из ветки Battlefield 3: FAQ на первой странице
Нынче многие опытные (и не очень) игроки слышали о неких чудотворных макросах, но очень не многие представляют, что это такое и с чем это едят, а ведь даже простенький макрос порой позволяет приобрести существенное преимущество над другими игроками ценой 30-40 минут интенсивного гугления. Все, что требуется игроку для того, чтобы превзойти хотя бы самого себя в умении обращаться с игровым стрелковым оружием - это компьютерная мышка A4 Tech со встроенной памятью и немножечко желания разобраться в процедуре написания макроса (мышки других производителей тоже поддерживают нечто подобное, но реализовано там все несколько по иному, хотя принцип тот же). Для начала разберемся, что же такое собственно макрос? Макросы бывают разные: есть макросы на быстрое переключение оружия (полезно для снайперов, после выстрела из медленной винтовки моментально переключаться на пистолет для возможного добивания), есть макросы на джойстики, которые в старом добром Battlefield 2 позволяли пилотам бомбардировщика точечно метать бомбы, были и автокликеры для ТВ ракеты, автоспоты для командиров, много чего было! Но в нашем конкретном случае под макросом мы будем понимать некую программу с заранее записанной последовательностью действий, которая будет помогать бороться с отдачей силами самой мышки. По нажатию определенной клавиши, мышка будет сама исполнять заранее рассчитанные поправки для того, чтобы побороть отдачу стрелкового оружия, а также задавать необходимый темп стрельбы. Думаю сначала стОит продемонстрировать конечный результат работы для того, чтобы сразу для себя решить, надо оно вам или нет.
Пример макроса, написанного специально для винтовки H&K G3A3 (это и дальнейшие видео наверное лучше смотреть непосредственно на Youtube, качество вроде как получше, ну или выставлять в превьюшке качество 480р):

Все игроки знают, что G3A3 в игре обладает самой большой отдачей среди штурмовых винтовок и невозможно нормально стрелять очередями, состоящими из более чем 2-3 пуль потому, что ствол так и норовит уйти куда-нибудь в направлении потолка, но что мы видим на видео? Винтовка прекрасно бьет в одно место при стрельбе очередью из 20 патронов, вертикальной отдачи как таковой больше нет (при том, что сама винтовка укомплектована тяжелым стволом, который еще более увеличивает вертикальную отдачу). Как? - спросите вы. На самом деле все очень не сложно, для начала необходимо скачать программу, которая предназначена специально для игровых мышек A4Tech X7 серии, называется она Oscar Editor, скачать можно отсюда, раздел Downloads (перед тем, как качать, убедитесь, что ваша X7 мышка обладает встроенной памятью). Скачали? - запускаем, вот так выглядит главное меню программы:

Ничего криминального: можно настроить действия при нажатии каждой определенной кнопки мыши (кроме левой), можно отрегулировать кнопку изменения разрешения сенсора (вместо шести режимов DPI оставить, скажем, два). Нас здесь интересует лишь функция привязки макроса к определенной кнопке, я привязывал макрос к кнопке тройного клика:

Теперь о том, как сделать сам макрос: можно воспользоваться этим же Oscar Editor, а можно сделать в блокноте, я делал в блокноте, мне так было удобнее. Макрос на G3A3 выглядит следующим образом (ссылку на скачивание этого и всех последующих макросов я приведу в конце статьи):




 

  <Root>

<DefaultMacro>

<Major></Major>

<Description></Description>

<Comment></Comment>

<GUIOption>

<RepeatType>1</RepeatType>

</GUIOption>

<KeyUp>

<Syntax></Syntax>

</KeyUp>

<KeyDown>

<Syntax>//-------------------


KeyDown 20 1

Delay 1 ms

KeyUp 20 1

Delay 1 ms

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 11


LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 11

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 11

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 11

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 11

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 11

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 11

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 10

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 10

LeftDown 1

Delay 55 ms   100

LeftUp 1

Delay 55 ms

MoveR 0 10

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 10

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 10

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 9

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 9

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 9

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 9

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 9

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 0

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 0

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms   200

MoveR 0 0

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 0
</Syntax>

</KeyDown>

<Software>BD2

</Software></DefaultMacro>

</Root>


 



Разберем выделенный жирным участок:


LeftDown 1  - действие: нажатие левой кнопки мышки

Delay 55 ms - задержка перед следующим действием

LeftUp 1 - действие: отпустить левую кнопку мышки

Delay 55 ms - задержка перед следующим действием

MoveR 0 11 - команда на корректировку положения курсора мышки, эта команда гасит отдачу
Дальше идут вариации именно этой части макроса, команды те же, меняется лишь корректировка отдачи, потому, что в игре отдача оружия постепенно уменьшается, если вести непрерывный огонь.
Теперь немного поподробнее: задержка выбирается исходя из скорострельности оружия. На примере G3A3: темп стрельбы у этой винтовки - 550 выстрелов в минуту, то есть промежуток между двумя следующими друг за другом выстрелами составляет ~109 миллисекунд. В макросе задержка между двумя соседними выстрелами должна быть больше или равна этому значению, поэтому я и выбрал значение в 55 миллисекунд (Delay 55 ms), то есть идет нажатие на левую кнопку мышки -> задержка 55мс -> левая кнопка мышки отпускается -> задержка 55мс -> корректировка положения курсора -> снова нажатие левой кнопки мышки и так далее. Таким образом выходит, что между двумя соседними нажатиями левой кнопки мышки проходит ровно 110мс (55 х 2). Данный промежуток индивидуален для каждого вида оружия (скорострельность того или иного оружия можно посмотреть тут), потому, что они отличаются скорострельностью, если значение в макросе выставить меньше, чем реально может оружие, то автомат/пулемет начнет захлебываться, ибо быстрее он стрелять физически не может. Оружие может заклинить, макрос может заклинить, для того, чтобы избежать подобного стечения обстоятельств, промежуток стОит брать с небольшим запасом, либо кругло.
 
Теперь о команде корректировки положения курсора: MoveR 0 11
Первая цифра (в нашем случае 0) отвечает за смещение ствола вправо или влево, то есть если у нашего оружия преобладает отдача в какую либо сторону, то надо вводить эту поправку (к примеру, для G3A3, SCAR-H, М60 не нужно: боковая отдача с установленной рукояткой у них совсем невелика по-умолчанию). Значения со знаком минус (как -1, -2, -3...) отвечают за смещение ствола в левую сторону, значения со знаком плюс (как просто 1, 2, 3...) отвечают за смещение в правую сторону. Повторюсь, что в случае с G3A3 горизонтальная отдача очень невелика, поэтому значение я оставил равным нулю.
Вторая цифра (в нашем случае 11) отвечает за смещение ствола вверх или вниз. Значения со знаком минус отвечают за смещение ствола вверх, значения со знаком плюс отвечают за смещение ствола вниз. Так как у всего оружия в Battlefield 3 вертикальная отдача толкает ствол лишь вверх, то, следовательно, в макросах для любого оружия второе число в команде на корректировку положения курсора будет положительным, будет меняться лишь его величина, у каждого оружия своя вертикальная отдача.
Далее в самом макросе будет идти лишь копипаст этих пяти строчек, которые отвечают за выстрел и корректировку отдачи каждой отдельной пули. В макросе на G3A3, который я приводил выше, числа 100 и 200 обозначают, что в этом месте находится участок 10й и 20й пули соответственно, вводил эти цифры лишь для того, чтобы мне было удобнее ориентироваться в самом макросе. В каждом макросе я подписываю местонахождение участка, отвечающего за корректировку каждой десятой пули, повторюсь, что только для удобства ориентирования. Как вы понимаете, лучше всего макрос работает на оружии с незначительной горизонтальной и значительной вертикальной отдачей, ибо горизонтальная отдача непредсказуема и нельзя сказать в какую сторону понесет ствол (влево или вправо) после следующего выстрела.
 
Для закрепления знаний приведу пример участка макроса, написанного для винтовки М16А3:





 <Root>

<DefaultMacro>

<Major></Major>

<Description></Description>

<Comment></Comment>

<GUIOption>

<RepeatType>1</RepeatType>

</GUIOption>

<KeyUp>

<Syntax></Syntax>

</KeyUp>

<KeyDown>

<Syntax>//-------------------


KeyDown 20 1

Delay 2 ms

KeyUp 20 1

Delay 2 ms

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR 0 7


LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR 0 7

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR -1 7

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR -1 7

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR 0 7

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR 0 7

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR -1 7

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR 0 7

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR -1 7


......

......

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR -1 0

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR 0 0

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR -1 0

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR 0 0
</Syntax>

</KeyDown>

<Software>BD2

</Software></DefaultMacro>

</Root>


 



Принцип абсолютно тот же, что и в макросе для G3A3, отличаются лишь значения: Delay 40 ms и Delay 35 ms, вместо 55 ms у G3A3. У М16А3 скорострельность равна 800 выстрелам в минуту -> промежуток между выстрелами составляет 75 миллисекунд. Под этот промежуток я и подобрал задержку между соседними кликами на левую кнопку мышки, ведь 40 и 35 в сумме как раз дают необходимые нам 75 миллисекунд. Далее: MoveR 0 7 и MoveR -1 7 - у М16А3 вертикальная отдача существенно меньше, чем у G3A3 -> поправка на ее гашение тоже меньше и, в данном случае, составляет 7, также М16А3 имеет ярко выраженную отдачу в правую сторону, поэтому пришлось для части выстрелов (~ для каждого третьего) ввести значение первого числа равным -1, приблизительно через каждые два выстрела мышка смещает курсор в левую сторону для гашения возникающей отдачи вправо. Вот так выглядит правильно работающий макрос для штурмовой винтовки М16А3:

Как видно все пули ложатся практически в одну точку, винтовка не потеряла в скорострельности, можно за раз выпустить во врага весь магазин, никакого ручного контроля отдачи и стрельбы короткими очередями более не нужно.
 
Но макросы для штурмовых винтовок не самое страшное, что может поджидать простого игрока на просторах игры Battlefield 3, ведь с той же М16А3 можно прекрасно бегать и без всяких макросов, ведя огонь короткими очередями и руками гася увод ствола винтовки. Самое страшное - это макрос на пулемет, на тяжелый пулемет... Тяжелые пулеметы (M60E4, M240, PKP) обладают внушительными повреждениями, как у G3A3, при этом десятикратно бОльшим магазином и бОльшей скорострельностью, но все плюсы нивелируются большой отдачей и рассеянием, вести огонь с тяжелого пулемета без сошек на сколь-нибудь большое расстояние занятие весьма и весьма сомнительное, но тут на помощь приходит макрос! Приведу пример участка макроса, написанного для пулемета М60Е4:




 <Root>

<DefaultMacro>

<Major></Major>

<Description></Description>

<Comment></Comment>

<GUIOption>

<RepeatType>1</RepeatType>

</GUIOption>

<KeyUp>

<Syntax></Syntax>

</KeyUp>

<KeyDown>

<Syntax>//-------------------


KeyDown 20 1

Delay 1 ms

KeyUp 20 1

Delay 1 ms     000

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 8


LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 8

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 8

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 7

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 7

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 7

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 7

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 7

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 7

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms  100

MoveR 0 7

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 7

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 7


.....

.....

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 0

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 0

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 0

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms  2000

MoveR 0 0
</Syntax>

</KeyDown>

<Software>BD2

</Software></DefaultMacro>

</Root>


 



Думаю у внимательного читателя на этом этапе уже нету вопросов относительно того, откуда взялись цифры (100 - обозначает первый десяток выстрелов, 2000 - двухсотый, последний выстрел), которые присутствуют в данном макросе, но для закрепления материала я повторю:  Delay 53 ms подобран таким, чтобы соответствовать скорострельности пулемета в 580 выстрелов в минуту. Задержку взял с запасом, потому, что при меньших значениях иногда наблюдалось заклинивание пулемета, то есть мы немного потеряли в скорострельности (порядка 20 выстрелов в минуту). Поправка курсора: MoveR 0 7 - М60Е4 обладает мизерной горизонтальной отдачей (если укомплектовать его ручкой), поэтому в ее корректировке он не нуждается вовсе, все, что нам необходимо - это корректировка вертикальной отдачи. Некоторые, думаю, заметили, что на определенном этапе в каждом макросе мы вообще перестаем гасить отдачу, то есть в команде на корректировку курсора проставлены нули (MoveR 0 0), все дело в том, что с каждым последующим выстрелом отдача становится все меньше и меньше, и в определенный момент отдачу гасить более не нужно, этот момент бычно наступает на 15-20 выстреле, в зависимости от вида оружия, после этого выстрела в корректировке вертикальной отдачи оружие более не нуждается. Приведу пример работы макросов на тяжелые пулеметы:
 
1) Пулемет M60E4:

 
2) Пулемет ПКП Печенег:

 
3) Пулемет M240B:

Прекрасно видно, что тяжелый пулемет с макросом превращается в луч смерти, тот же М240В с его скорострельностью в 650 выстрелов в минуту и уроном от каждой пули равным 34 создает непроходимый поток пуль, который мало того, что убивает в мгновение ока и сильно подавляет спрятавшегося противника,  так еще благодаря существенно возросшей точности и практически полному уничтожению разброса (в сравнении с тем, что имеем по умолчанию) позволяет успешно гонять снайперов на дистанции в полторы сотни метров. Сошки? Не, не слышали)
 
Последняя и очень важная часть, касающаяся создания и использования макроса: макрос индивидуален, нельзя успешно использовать чужой макрос, не внеся в него соответствующих правок. Ведь у каждого игрока выставлена своя чувствительность мышки в игре, разное разрешение сенсора и разное разрешение экрана, то есть чужой готовый макрос необходимо править конкретно под себя, хотя можно выставить настройки такие же, как и у человека, написавшего макрос (в моем случае 6 делений чувствительности мышки в опциях Windows, ~40 делений чувствительности в опциях игры и 1200 DPI разрешение сенсора, разрешение монитора 1680х1050). Более того: любой навес на оружие, который каким-либо образом влияет на отдачу (рукоятка, тяжелый ствол, пламегаситель, глушитель звука выстрела) влияет и на работу макроса! Даже прицел влияет на его работу, ведь каждый их вид обеспечивает разное увеличение и макрос, прекрасно работающий с прицелом ACOG будет плохо работать с прицелом RDS при прочих одинаковых навесах на оружии. Итог таков: для каждой конфигурации оружия, которую вы используете, необходимо делать отдельный макрос, хотя "делать" слишком громко сказано, необходимо будет лишь немного изменить корректировку вертикальной и горизонтальной отдачи (к примеру я делал отдельные макросы для М16А3 с тяжелым стволом и с глушителем, с прицелом RDS и PKA x3,4). Далее - все значения корректировок положения курсора подбираются методом тыка, для примера участок макроса сделанного для M16A3:


KeyDown 20 1

Delay 2 ms

KeyUp 20 1

Delay 2 ms

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR 0 7

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR 0 7

LeftDown 1

Delay 40 ms

LeftUp 1

Delay 35 ms

MoveR -1 7




Итак, берем готовый чужой макрос под интересующее нас оружие (чтобы не возиться с корректировкой промежутков времени между выстрелами), заливаем в свою мышку, Oscar Editor и папку, где храним макросы не сворачиваем. Ставим на оружие интересующие нас навесы и идем на пустую карту Operation Metro, желательно на не ранговую (чтобы не испортить статистику меткости, пока будем стрелять в стены, на не ранговых статистика не учитывается).



Для начала стОит побороть вертикальную отдачу, для этого пристраиваемся напротив стены и начинаем стрелять, используя макрос. Следим за тем, как ведут себя следы пуль на стене: след от пуль понесло вверх? - меняем значения в строках MoveR 0 11, вместо 11 ставим значение на единичку бОльше, т.е 12. Опять стреляем в стену, опять несет вверх ствол? - ставим еще на единичку больше - уже 13 и так до тех пор, пока ствол не станет стрелять в точку. Наоборот, если несет ствол вниз, то действуем по аналогии, теперь вместо 11 поставим значение на единичку меньше, т.е 10 и будем уменьшать до тех пор, пока не погасим. Участок, где начинают стоять нули в макросе, заместо 11 - трогать не стоит, отдача пропадает после определенного выстрела и эти нули как раз символизируют начало этого участка.



После того, как побороли вертикальную отдачу - стоит позаботиться о ее горизонтальной составляющей: порядок действий аналогичен описанному выше, идем к стене и начинаем стрелять и следить за следами пуль. След уносит вправо? - меняем каждый первый из трех нолик на -1, стреляем. смотри. Опять несет вправо? - меняем оставшиеся нолики на -1. Опять стреляем и смотрим, если все еще несет вправо - меняем каждую третью -1 на -2. Если же ствол несет влево, то каждую -1 меняем на 0, если продолжит нести, то уже нолики заменяем на плюс 1 и так до тех пор пока не поборешь. Повторюсь, что у М16 отдача вправо лишь немного преобладает над левой, поэтому в корректировку нуждается лишь каждый третий выстрел, на другом оружии, где, допустим, отдача в одну сторону будет сильно преобладать над отдачей в другую стОит вносить горизонтальную корректировку уже в каждый второй или первый выстрел.
 
Подводя итог вышесказанному: весь процесс состоит в том, что мы ставим сначала одни цифры, заходим на метро, стреляем в стену, смотрим что вышло, вносим необходимые изменения в макрос, загружаем в мышку, пробуем снова и так пока результат не начнет вас устраивать, при дОлжном усердии можно добиться того, чтобы практически любое оружие било в точку. Если есть желание довести свой макрос до совершенства, то можно воспользоваться утилитой MSI Afteburner для записи видео стрельбы. После каждой правки макроса, просматривать записанное с уменьшенной скоростью воспроизведения и следить за тем, куда летит каждая конкретная пуля, а затем вносить необходимые правки. Повторюсь, что при корректировке уже готового и хорошо работающего чужого макроса необходимо править лишь строчки MoveR, ведь промежуток времени между выстрелами у всех одинаков, независимо от установленных на оружие обвесов, да и момент, когда отдача перестает действовать у всех наступает в одно и тоже время, а после строчки MoveR 0 0 и вовсе корректировать ничего и не нужно. Замечу, что в моих макросах много лишних строчек, а именно лишнее все, что идет после первого MoveR 0 0. На примере того же макроса для М60Е4 можно заменить все, что идет после первого же MoveR 0 0 на следующее:


loop

{

LeftDown 1

Delay 53 ms

LeftUp 1

Delay 53 ms

MoveR 0 0


}

</Syntax>

</KeyDown>

<Software>BD2

</Software></DefaultMacro>

</Root>


 

Макрос станет значительно короче и будет занимать меньше места в памяти мышки.
 
Отдельно стоит отметить, что если вы делаете макрос в блокноте, то расширение текстового файла .txt стоит руками поменять на .amc. Макросы должны храниться в папке, расположенной по адресу: C:\Program Files (x86)\Anti-Vibrate Oscar Editor\ScriptsMacros\Russian\MacroLibrary, его можно повесить на любую кнопку мышки, кроме левой (о ней отдельно), я вешал на кнопку тройного клика, по нажатию на нее активировался макрос, по нажатию на левую кнопку можно было вести обычную стрельбу по старинке. Для того, чтобы воспользоваться готовым макросом, необходимо сначала поместить его в указанную папку, а затем, с помощью Oscar Editor привязать макрос к выбранной кнопке мышки (просто открыть всплывающую менюшку и нажать на "Выбрать макро файл"), далее необходимо нажать на "Download to Mouse":

 
Из очевидных минусов макроса - придется менять манеру стрельбы, макрос, подобный моему, предполагает стрельбу зажимом, оружие превращается в своеобразный луч смерти (хотя можете сделать себе макрос для стрельбы короткими очередями), а так как нельзя макрос повесить на левую кнопку мышки, то дополнительно придется приучать себя к стрельбе по нажатию на кнопку тройного клика (или на какую-либо другую). Еще один существенный минус - сильному игроку бегать на паблике станет банально не интересно. Для слабых игроков - макрос не сделает из вас убер-нагибаторов, к нему не прилагается способность видеть карту, понимать как правильно действовать в той или иной ситуации, но макрос, определенно, даст возможность быстро превзойти самого себя в плане стрельбы, превзойти многократно. Добавлю еще несколько примеров макросов на различное оружие:
 
1) Пулемет H&K MG36:

 
2) Карабин SCAR-H:

 
3) Автомат ВАЛ:

 
Думаю у многих прочитавших игроков отпали вопросы относительно того, как некоторые умудряются убивать вас из пулемета за пару сотен метров и тому подобное (особенно это касается отморозков с ВАЛами, которые юзают софтину и не стесняются). Так как сами макросы по принципу действия ничем не отличаются от работы кнопки тройного клика на мышках A4Tech и их можно написать при помощи фирменной же утилиты от A4Tech, которая помимо макросо писания позволяет тонко настраивать мышку под себя. Сами макросы хранятся в памяти мышки и никакой Punkbuster никогда вам ничего не сделает за их использование, иначе придется ему банить всех владельцев мышек A4 и им подобных со встроенной памятью...


 
Теперь несколько слов о том, как переназначить исполнение макроса на левую кнопку мышки.
 
Способ первый: переназначить исполнение макроса на левую кнопку мышки можно путем посредством программы AutoHotKey. Способ не элегантный ввиду того, что автор сих строк в программе AutoHotKey разбирается не так, как ему хотелось бы. Идея простая: сделать так, чтобы посредством скрипта AutoHotKey левая кнопка инициировала срабатывание другой кнопки мышки (в моем случае боковой, четвертой), на которую повесить макрос можно через стандартный Oscar Editor. Текст самого скрипта выглядит вот так:
 
~LButton::Send, % "{XButton1 "((isState:=!isState) ? "Down":"Up")"}"
 
Если добавить групповой символ *, то скрипт будет игнорировать зажатый Shift или Ctrl, иначе при иных зажатых клавишах он работать не будет:
 


*~LButton::Send, % "{XButton1 "((isState:=!isState) ? "Down":"Up")"}"

 
Нажатие на левую кнопку будет вызывать зажатие 4й (если хотите повесить все на 5ю, 6ю или 7ю кнопку, то в тексте скрипта замените единицу (1) на 2, 3 или 4 соответственно) и исполнение макроса, если он был повешен на 4ю кнопку. Для того, чтобы этот вариант работал придется переназначать стрельбу в игре на другую кнопку мышки (отличную от ЛКМ и той кнопки, на которой будет висеть скрипт), соответственно придется и в готовом макросе сменить значения ЛКМ на ту кнопку, на которую вы назначите стрельбу. То есть макрос из такого:


....

KeyDown 20 1

Delay 1 ms

KeyUp 20 1

Delay 1 ms

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 11

LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 11

LeftDown 1

Delay 55 ms


....

превратится в такой:


....

KeyDown 20 1

Delay 1 ms

KeyUp 20 1

Delay 1 ms

Button5down 1

Delay 55 ms

Button5Up 1

Delay 55 ms

MoveR 0 11

Button5down 1

Delay 55 ms

Button5Up 1

Delay 55 ms

MoveR 0 11

Button5down 1

Delay 55 ms


....

То есть все строки LeftDown 1 и LeftUp 1 должны будут быть заменены строками Button5down 1 и Button5Up 1 соответственно при условии, что стрельбу в игре вы назначили на кнопку мыши 5. Для старта и остановки скрипта (мало ли) понадобиться дополнительный скрипт :x следующего вида:
 
Home:: - кнопка запуска скрипта, который переназначает ЛКМ, кнопку можно заменить на любую



fullScriptPath = C:\Users\"Имя пользователя"\Desktop\LMB.exe - адрес, где находится скрипт для переназначения

DetectHiddenWindows, On

Run, %fullScriptPath% ahk_class AutoHotkey



End:: - кнопка закрытия скрипта, который переназначает ЛКМ, кнопку можно заменить на любую



fullScriptPath = C:\Users\"Имя пользователя"\Desktop\LMB.exe - адрес, где находится скрипт для переназначения

DetectHiddenWindows, On

WinClose, %fullScriptPath% ahk_class AutoHotkey
 
Итого, для успешной работы метода необходимо:
1. Переназначить стрельбу в игре с левой кнопки мышки на 5ю (как в моем примере, можно и на другую здесь и далее)
2. Заменить в готовом макросе строки LeftDown 1 и LeftUp 1на Button5down 1 и Button5Up 1
3. Прикрепить этот макрос к 4й кнопке мышки
4. Запустить скрипт AutoHotKey, который запускает/останавливает скрипт переназначающий действие левой кнопки мышки
5. Кнопкой Home запустить второй скрипт и радоваться, что левая кнопка мышки теперь запускает наш макрос на мышке, кнопкой End можно прекратить сие безобразие
6. Да, мсье знает толк в извращениях :-P
 
Скачать готовые скрипты для AutoHotKey можно отсюда. Там находятся как готовые вышеописанные .exe файлы, так и .ahk, которые можно изменить под себя.
 
Способ второй: немного откорректировать строки в начале уже готового макроса (на примере G3A3), было:


 <Root>

<DefaultMacro>

<Major></Major>

<Description></Description>

<Comment></Comment>

<GUIOption>

<RepeatType>1</RepeatType>

</GUIOption>

<KeyUp>

<Syntax></Syntax>

</KeyUp>

<KeyDown>

<Syntax>//-------------------


KeyDown 20 1

Delay 1 ms

KeyUp 20 1

Delay 1 ms


LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 11


....

Станет:

 <Root>

<DefaultMacro>

<Major></Major>

<Description></Description>

<Comment></Comment>

<GUIOption>

<RepeatType>1</RepeatType>

</GUIOption>

<KeyUp>

<Syntax></Syntax>

</KeyUp>

<KeyDown>

<Syntax>//-------------------


IfKey 1 1 3

IfKey 1 0 1


LeftDown 1

Delay 55 ms

LeftUp 1

Delay 55 ms

MoveR 0 11


....

Заменяем четыре старые строчки на две новые, вешаем готовый макрос на любую кнопку мышки и запускаем этой же кнопкой. Теперь левая кнопка мышки будет выступать в роли ключа, который запускает исполнение макроса.
Из минусов: после запуска макроса кликом левой кнопкой мышки, остановить его можно будет лишь кликнув на кнопку, к которой он был привязан, т.е запустив макрос на стрельбу из пулемета левым кликом, он не остановится до тех пор, пока не будет исполнен весь, до конца (т.е пока патроны не кончатся), либо пока не поставим макрос на паузу путем нажатия кнопки, к которой он привязан в Oscar Editor. С виду этот способ не лучше первого, но мои макросы изначально делались с расчетом лишь на стрельбу длинными очередями (как самый простой в освоении вариант), в то время как способ 2 явно более благосклонен к стрельбе короткими (чтобы не ставить макрос на паузу лишней кнопкой). Если мои макросы обрезать до уровня корректировки первых 5-6 патронов, то никакая пауза нам больше не понадобиться, левая кнопка просто будет инициировать исполнение всего макроса на 5-6 патронов, надобность в паузе пропадет, ибо после 5-6 патронов макрос итак перестанет стрелять, а далее, по мере надобности, можно опять будет нажать на ЛКМ и выпустить в цель еще 5-6 пуль, если первой очереди было недостаточно. Но придется ввести дополнительную поправку вверх в макрос после последнего выстрела, чтобы оружие не улетало сильно вниз и, к моменту посылания второй очереди, выходило туда, куда мы изначально целились.
Способ третий: купить новую мышку A4 Tech серии Bloody V3/V5/V7, в ПО мышки была добавлена возможность вешать макрос сразу на левую кнопку мышки без всяких костылей. Обзор, кстати, можно посмотреть тут.
 
Как и обещал, прилагаю архив с уже готовыми макросами для некоторого оружия (пароль: over). Для некоторых стволов макросы экспериментальные, потому, что поднять эту тему для себя решил на этапе, когда от игры уже тошнило, а пара дней игры в макросо-писание окончательно отбило у меня охоту тратить свое время на Battlefield 3, соответственно часть макросов не закончена или только начата. Повторюсь, что для успешного применения придется править каждый макрос под себя, это не так сложно, как кажется, нужно оно вам или нет решайте сами.
 
З.Ы Во-первых, всем бугурт посоны!
З.Ы.Ы Во-вторых, в Battlefield 4 все останется по-прежнему!
З.Ы.Ы.Ы В-третьих, если Вас что-то не устраивает, то Вам необходимо заполнить особую форму.
З.Ы.Ы.Ы Ну и чтобы не было иллюзий, наш главный борец с макросами оказывается... Wait, OH SHI
Оценитe материал

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают