КАРТА САЙТА
  ПОИСК
полнотекстовый поиск
ФОРУМ ВИДЕО
ИГРЫ: НОВЫЕ    0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z А-В Г-З И-М Н-П Р-Я

ТАКТИКА ИГРЫ И СОВЕТЫ МАСТЕРОВТАКТИКИ КИБЕРСПОРТА

Автор материала:
Артем Бородатюк
Опубликовано в журнале
«Лучшие компьютерные игры»
№11 (48) ноябрь 2005
вид для печати

Counter-Strike Source
Hello, World!

Жанр:
боевик (сетевой)
Издатель:
Valve Software, Sierra
Системные требования:
PIII-1,2GHz, 256MB, 32MB 3D video (2,4GHz, 512MB, 128MB)
Адрес в сети:
Сетевые режимы:
интернет, локальная сеть

Стоило только попросить мужчину помочь вымыть посуду -
и тут же появилась автоматическая посудомойка.

Сирил Паркинсон


Давайте включим образное мышление и представим, что бы случилось, если бы мы могли написать скрипт какого-нибудь отрезка своей жизни. Допустим, мы заскриптовали ежедневный утренний «ритуал» - и вот вместо многофазового процесса «проснуться, умыться, почистить зубы, сделать зарядку, поесть и т.д.» мы производим всего лишь одно действие - какой-нибудь morningscript. Паранойя? Возможно, но человек всю свою жизнь старается найти путь автоматизации повторяющихся изо дня в день действий. Так почему бы это не сделать с нашей виртуальной жизнью, имя которой - Counter-Strike.

Go, go, go!

скриншот Counter-Strike: Source, 80KB
Быстро поздоровались со всем миром - и в бой.

Написание скриптов для Counter-Strike сродни программированию - а посему не будем уходить от традиций и сходу напишем маленький код, который заставит по нажатию на клавишу [F3] выводить на экран фразу «Hello, World!». Итак, запускаем Counter-Strike, создаем игру на любой карте, открываем консоль (клавиша [~]) и прописываем следующую строку:

bind f3 "say Hello, World!"

Теперь в любой момент игры по нажатию на [F3] вы приветствуете весь мир. В данном скрипте использовалась конструкция bind <название клавиши> "<команды>", которая присваивает указанной клавише некоторую последовательность команд.

В более весомых скриптах наряду с bind’ом используют такую конструкцию: alias <название alias’а> "<последовательность команд>". Использование alias’ов не только облегчает чтение скрипта (что очень полезно при дальнейшем его редактировании) но и расширяет наши возможности. Скоро вы сами поймете, когда можно обойтись, используя лишь bind’ы, а когда к ним необходимо добавлять alias’ы. Кстати, наш первый скрипт мог бы выглядеть и так:

alias salute "say Hello, World!"
bind f3 "salute"

Как сохранить свой первый проект скрипта? Откройте директорию с игрой и перейдите в папку по адресу \cstrike\cfg. Здесь создайте с помощью любого текстового редактора файл с названием autoexec и измените его расширение с txt на cfg. Теперь откройте созданный файл с помощью все того же текстового редактора и занесите в него нашу строку bind f3 "say Hello, World!". Отныне вы будете автоматически загружать этот скрипт при каждом запуске игры.

Это важно: если скрипт не работает, проверьте, какие вы вводите кавычки - должны быть те, что используются при печати в английском регистре.

Вот мы и добрались до следующего жизненно важного вопроса - написания config’ов. Config - это файл, в котором хранятся скрипты и настройки. Например, в папке \cstrike\cfg откройте файл config.cfg - в нем прописаны ваши настройки по умолчанию. По ряду причин я рекомендую вам ничего здесь не менять, а вместо этого написать собственный config. Для этого по приведенному только что алгоритму создайте не autoexec.cfg, а, скажем, myconfig.cfg. Занесите туда все свои настройки (это могут быть не только скрипты, но и обычные консольные команды) и сохраните его. Теперь запустите игру, откройте консоль и пропишите exec myconfig.cfg - все, ваши настройки загружены.

Это совет: добавляйте к вашим скриптам комментарии. Делается это в любом месте после разделителя: //.

Например:

//по нажатию на [F3] на экран выводится фраза "Hello, World!"
//begin
bind f3 say "Hello, World!"
//end

Нетрудно догадаться, что использование config’ов позволяет решить проблему уникальности настроек играющего за компьютером, если последний приходится делить с кем-либо. Достаточно создать для каждого пользователя по одному config-файлу, чтобы он не тратил время и нервы на настройку Counter-Strike в соответствии с его требованиями. Автоматизируем процесс загрузки config’ов, добавив в уже упомянутый autoexec.cfg строки:

bind f3 "exec myconfig.cfg"
bind f4 "exec mother.cfg"
bind f5 "exec father.cfg"
bind f6 "exec brother.cfg"
bind f7 "exec sister.cfg"

Теперь осталось только сообщить каждому пользователю компьютера, какая клавиша соответствует его настройкам.

Это совет: чтобы в консоли при загрузке config-файла появлялось сообщение, добавьте в него строку echo "bla bla bla".

kb_actis

скриншот Counter-Strike: Source, 80KB
В списке стандартных alias'ов можно найти множество очень полезных команд.

В директории \cstrike\scripts находится файл kb_act.lst. Откройте его, чтобы увидеть стандартные alias’ы и их краткое описание. Знание этих alias’ов поможет вам понимать чужие скрипты и писать собственные. Мне, для примера, пригодилась команда, которая производит снятие screenshot’а. Описание его в kb_act было следующим:

jpeg - Valve_Take_Screen_Shot

Новые команды

Incrementvar

В Counter-Strike: Source появилась команда, которая позволяет игроку прокручивать значение от максимального до минимального. Синтаксис команды имеет следующий вид: incrementvar <название переменной> <минимальное значение> <максмимальное значение> <инкремент>.

Вот таким незатейливым образом можно заставить меняться цвет прицела непосредственно во время игры:

bind p "incrementvar cl_crosshaircolor 0 4 1"

А вот еще один демонстративный пример использования команды incrementvar, который позволяет регулировать громкость в любой момент времени. Клавиша [Page Up] - громче, [Page Down] - тише.

bind pgup "incrementvar volume 0 1 0.1"
bind pgdn "incrementvar volume 0 1 0.1"

BindToggle

BindToggle позволяет создавать переключатели для команд, которые могут быть в состоянии on или off (0 или 1). Для примера возьмем команду cl_showfps, которая показывает в верхнем правом углу экрана значение вашего fps. Чтобы по нажатию клавиши [F1] количество fps появилось на экране, а при повторном исчезло - используйте следующий скрипт:

BindToggle f1 cl_showfps

Для сравнения, чтобы сделать подобный переключатель в предыдущих версиях Counter-Strike, вам бы понадобились следующие строки:

alias fps "fpson"
alias fpson "cl_showfps 1; alias fps fpsoff"
alias fpsoff "cl_showfps 0; alias fps fpson"
bind f1 "fps"

Покупки

Пистолеты
Glock18 Select Fire glock
USP .45 Tactical usp
SIG P228 p228
Desert Eagle deagle
FN Five-Seven fiveseven
Dual Beretta 96G Elite elite
Дробовики
Benelli M3 Super 90 m3
Benelli XM1014 xm1014
Автоматы
Steyr TMP tmp
Ingram MAC-10 mac10
MP5 Navy mp5navy
UMP 45 ump45
FN P90 p90
Винтовки
Galil galil
Famas famas
AK-47 ak47
Colt M4A1 Carbine m4a1
SIG 550 Sniper sg550
SIG 552 Commando sg552
Steyr Aug aug
Steyr Scout scout
AI Arctic Warfare/Magnum awp
G3/SG-1 Sniper Rifle g3sg1
Пулемет
FN M249 Para m249
Экипировка
Kevlar Vest vest
Kevlar Vest и Helmet vesthelm
Flashbang flashbang
HE Grenade hegrenade
Smoke Grenade smokegrenade
Defuse Kit defuser
NightVision Goggles nvgs
Primary Ammo primammo
Secondary Ammo secammo

Продолжим наше образование по системе «от простого к сложному». Допустим, вы хотите по нажатию клавиши [F1] купить автомат Калашникова. Для этого добавьте в файл следующую строку:

bind f1 "buy ak47"

Однако один автомат можно купить и через обычные сочетания клавиш, поэтому пока никакой выгоды от нашей настройки мы не получили. Добавим в наш набор покупки патроны, бронежилет, гранату. Выглядеть все это будет следующим образом:

скриншот Counter-Strike: Source, 80KB
Время слишком дорого, чтобы вручную закупать набор оружия. Используйте auto-buy - стандартный или скриптовый.
bind f1 "buy ak47; buy m4a1; buy primammo; buy vest; buy hegrenade"

При этом предметы амуниции в подобном скрипте расставляются в порядке приоритета закупки. Например, если у вас не хватает денег на приобретение всех перечисленных в скрипте элементов, то закупаться будут предметы слева направо. Причем обратите внимание на то, что в приведенном скрипте есть и АК-47, и m4a1. Сделано это для того, чтобы в любой команде по нажатию на [F1] закупался один из стволов - АК отсутствует в арсенале контртеррористов, которые в свою очередь располагают m4a1.

Чтобы узнать скриптовые название оружия, обратитесь к таблице.

Это важно: перед вами список названий клавиш в таком виде, в котором следует их «упоминать» в скриптах: space * capslock * escape * f1 * f2 * f3 * f4 * f5 * f6 * f7 * f8 * f9 * f10 * f11 * f12 * backspace * tab * shift * enter * , * ctrl * alt * 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 0 * a * b * c * d * e * f * g * h * i * j * k * l * m * n * o * p * q * r * s * t * u * v * w * x * y * z * uparrow * downarrow * rightarrow * leftarrow * ins * home * pgup * pgdown * del * end * mouse1 * mouse2 * mouse3 * mouse4 * mouse5 * mwheelup * mwheeldown.

Общение

Зачастую на общение с командой во время игры у вас просто нет времени. К счастью, этот процесс можно автоматизировать. Например, этот скрипт сообщает о вашей перезарядке всей команде:

alias +relsay "+reload; say_team Please, cover me, I am reloading; radio1; menuselect 1; slot10; wait; wait; slot10"
alias -relsay "-reload"
bind "r" "+relsay"

Теперь, нажав на [R], вы перезарядите оружие, скажете по радио «Cover me» и напишете в игровом командном chat’е сообщение «Please, cover me, I am reloading».

Еще пример: членам вышей команды может быть полезна информация о том, что вы заметили противника. Нижеприведенный скрипт при нажатии левой кнопки мыши передает в радиоэфире «Enemy Spotted» и открывает огонь:

alias +attack3 "+attack; radio3; menuselect 2; slot10"
alias -attack3 "-attack; slot10; wait; slot10"
bind mouse1 "+attack3"

Движение

Скрипты, кроме всего прочего, могут облегчить вам управление в игре. Сразу же пример - скрипт, который освобождает вас от обязанности постоянно держать клавишу [Ctrl] нажатой:

alias ctoggle "crouch"
alias stand "-duck; bind mouse1 +attack; alias ctoggle crouch"
alias crouch "+duck; bind mouse1 +release; alias ctoggle stand"
alias +release "+attack; -duck"
alias -release "-attack; bind mouse1 +attack; alias ctoggle crouch"
bind ctrl "ctoggle"

Теперь по нажатию на [Ctrl] вы припадете к земле, а повторное нажатие приведет к тому, что вы подниметесь.

Вот еще один скрипт, подобный предыдущему, который позволяет по нажатию на клавишу [Z] переключаться с бега на ходьбу и обратно.

alias walk "+speed; -duck; bind q run; bind c crouchwalk; dv1; echo Walking; dv0"
alias run "-speed; -duck; bind q walk; bind c crouch; dv1; echo Running; dv0"
alias crouchwalk "+duck; -speed; bind c walk; bind q crouch; dv1; echo Crouching Ready to Run; dv0"
bind z "walk"

Counter-Strike 1.6 и Condition Zero

Несмотря на выход Source, многие до сих пор продолжают играть в предыдущие версии Counter-Strike. Мы приведем некоторые интересные скрипты для этих версий.

  • Разворот на 180 градусов:
alias turn "fps_max 20; cl_yawspeed 3600; wait; +left; wait; -left; wait; +left; wait ;-left; w; fps_max 100"
bind z turn
  • Стрельба по одному патрону и по три:
скриншот Counter-Strike: Source, 80KB
Теперь стрельба по три патрона возможна не только с FAMAS и Glock.
alias long "wait; wait; wait"
alias burst "+attack; long; -attack; long; +attack; long; -attack; long; +attack; long; -attack; long"
alias one "+attack; long; -attack"
bind z "burst"
bind x "one"

Это важно: советую повесить bind на правую кнопку мыши - mouse2: со снайперской винтовкой теперь не побегаешь, зато с АК и m4a1 будете делать одни headshot’ы.

  • Быстрый бросок НЕ гранаты
alias warn "say_team Warning - HE-grenade"
alias +heg "warn; use weapon_hegrenade; wait; +attack"
alias -heg "-attack; wait; lastinv"
bind p heg

Для броска ослепляющей гранаты замените use weapon_hegrenade в приведенном выше скрипте на use weapon_flashbang, а для броска дымовой - на use weapon_smokegrenade. Ну, и не забудьте сменить предупреждение с say_team Warning - HE-grenade на соответствующее бросаемой гранате.

  • Быстрый выход из игры
alias disquit "disconnect; wait; wait; wait; quit"
bind f10 "disquit"

Team, fall back

В качестве эпилога предлагаю вам небольшое лирическое отступление. Как известно, на серьезных чемпионатах использование собственных config’ов запрещено. Если вы думаете, что, играя дома или в клубе со своим config’ом, вы потом сможете запросто вернуться к первоначальному варианту, то сильно ошибаетесь. Вообще предчувствую негодование многих читателей - использование config’ов некоторыми считается занятием столь же низким, сколь и использование cheat’ов. За свою жизнь я встречал некоторых таких людей, а через некоторое время замечал их с дискеткой, на которой было записано не поверите что - правильно, config. Легче всего кричать, что config - это зло, если ты не умеешь или не хочешь научиться их писать. Не стоит забывать про возможности, которые дали нам разработчики игры. Ну, и в конце концов, вы же не все время участвуете в чемпионатах - дайте себе свободу проявляться по-разному.

Статьи появляются на сайте не ранее, чем через 2 месяца после публикации в журнале.
ЧИТАТЕЛЬСКИЙ
РЕЙТИНГ
МАТЕРИАЛА
8.6
проголосовало человек: 617
1 2 3 4 5 6 7 8 9 10
вверх
Rambler's Top100 Рейтинг@Mail.ru Яндекс цитирования