Counter Strike: Скрипты для начинающих

on августа 30, 2003 - 00:00

В ВР №5'2003 вы наверняка читали статью КЕНТАВР'а "Создаем CS конфиг", а посему будем считать, что свой первый конфиг вы уже написали. Но конфиг — это не только возможность повесить всю закупку оружия на одну клавишу, но прежде всего — тонко настроить основные или самые для вас важные параметры игры. Написать свои сообщения для соклановцев и назначить их на удобные клавиши, изменить чувствительность мыши в зуме и т.д. и т.п. Все эти и многие другие команды можно легко найти в Интернете (например, здесь: http://www.nashalife.ru  или через любой поисковик). Большинство из них отсутствуют в файле config.cfg, который загружается по умолчанию. Поэтому, будучи включенными в него, они значительно расширят ваши игровые возможности.



Если вы думаете, что это все, то глубоко ошибаетесь. Умение писать конфиг — это первый шаг для более сложного занятия: написание скриптов. Ваши знания относительно конфига выражаются в усвоении основных команд и их значений (читай: влияния на игру). Даже если вы в этой статье встретите незнакомую команду, то я уверен, что, основываясь на предыдущих знаниях, сможете разобраться в ней самостоятельно. А может быть, после прочтения, возьмете и встанете в авангарде скриптостроительной мысли:). Ну, а если серьезно, то, на мой взгляд, главное — желание и упорство, а все остальное приложится.
С чего надо начать? Во-первых, с усвоения таких команд, как bind и alias. Если с первой вы уже познакомились, то что такое alias и с чем его едят, думаю, надо рассказать поподробнее.
Alias — ближайший родственник макроса, то есть привязывает к какой-нибудь команде ряд определенных действий. Например, alias scout "buy; menuselect 4; menuselect 5; buyammo1; menuselect 0;" создает команду "scout", при исполнении которой открывается меню покупки, выбирается раздел 4 (винтовки), затем раздел 5 (сама "муха"), покупается один комплект патронов и выходится из меню покупки. Теперь, введя в конфиге команду bind f2 "scout", вы получаете на клавише F2 полную последовательность приобретения "мухи". "Зачем все это надо, — спросите вы, — когда можно воспользоваться одной командой bind?" Если сажать на клавиши только покупку оружия, то совершенно незачем, а вот при создании скриптов — просто необходимо. Переписывать каждый раз одни и те же команды не хватит никакого терпения. Например, всем известный скрипт "пьяный ежик":

bind "ALT" "+STARTRUN"
alias +STARTRUN "bind w DRUNKRUN"
alias -STARTRUN "bind w +forward"
alias DRUNKRUN "weapon_knife; wait; +attack; wait; -attack; fw; wait; lw; wait; fw; wait; rw; wait; jp; wait; dk; wait; lw; wait; bw; wait; rw; wait; fw; wait; jp; wait; fw; wait; lw; wait; dk; wait; fw; wait; jp; wait; rw; wait; fw"
alias fw "+forward; wait; wait; wait; -forward"
alias bw "+back; wait; -back"
alias lw "+moveleft; wait; wait; -moveleft"
alias rw "+moveright; wait; wait; -moveright"
alias jp "+jump; wait; -jump"
alias dk "+duck; wait; -duck"
bind "ALT" "+STARTRUN"
alias +STARTRUN "bind w +DRUNKRUN"

В "alias DRUNKRUN" введены такие, до этого не существующие, команды, как "fw", "lw", "jp" и т.д. Чтобы их не переписывать много раз, используют alias fw, alias lw, alias jp, где ясно и понятно для программы говорится, что надо ей делать.
Таким образом, alias служит не только для сокращения места и времени на работу, его основная функция — создание новых команд, используя те, которые заложены в контру изначально. Вышеперечисленные "fw", "lw", "jp" — это новые команды. Для их создания автор скрипта использовал основные команды движения: forward (двигаться вперед), moveleft (двигаться влево), jump (прыжок).
Очень полезно не забывать математические знаки "+" и "-". Это означает начало и конец определенного действия. Например, bind "TAB" "+showscores" означает, что счет будет показан при нажатии и удержании клавиши TAB, а при ее отпускании — исчезнет. Поэтому порой очень полезно использовать такие вот приемы, т.к. клавиатура не резиновая и, тем более, удобных кнопок для игры весьма ограниченное количество.
С этой же проблемой борются так называемые "супербинды" или "метабинды". Их назначение такое же, как и у "shift", "ctrl", "alt". Т.е. они расширяют возможности клавиатуры и уменьшают количество "забинденных" "нужными действиями" клавиш.
Простейший показательный скрипт выглядит так:

alias F4slot "buyAK74"
alias +keep "alias F4slot buymp5"
alias -keep "alias F4slot buyAK74"
alias buyAK74 "buy; menuselect 4; menuselect 1"
alias buymp5 "buy; menuselect 3; menuselect 1"
bind "F4" "F4slot"
bind "SHIFT" "+keep"

Нажимаем F4 — покупается "калаш", жмем одновременно shift — берем на вооружение mp5navy. По аналогии с этим скриптом можно написать и другие, задействовав не только shift, но и более удобное сочетание клавиш.
Во-вторых, для создания скрипта, как и в любом деле, нужно знать конечную цель, т.е. — что мы хотим получить в результате? А уже после этого определять, какие команды потребуются из тех, что уже знаем, и какие еще надо узнать. После этого сесть и написать скрипт на бумаге (только разборчиво и аккуратно), вычеркнуть повторения, заменить, по возможности, бинды на алиасы, еще больше сократив объем, и тогда уже переходить к написанию в блокноте, с последующим пробным запуском в контре.
Один-единственный полезный совет: если не знаете значение той или иной команды, то просто введите ее в консоли. Дальше ввод — и программа сама покажет, каково значение по умолчанию.
Для тех, кому не терпится (а для всех остальных в виде примера), привожу несколько довольно известных скриптов:

1. alias coloratk "+attack; adjust_crosshair" bind "MOUSE1" "coloratk" — этот малыш будет изменять цвет прицела при каждом выстреле.

2. alias dfire "dfireon" alias dfireon "bind mouse1 +fire; alias dfire dfireoff" alias dfireoff "bind mouse1 +attack; alias dfire dfireon" alias +fire "+duck; wait; wait; wait; +attack" alias -fire "-attack; -duck" bind "любая" "dfire" — позволяет приседать автоматически при каждом выстреле.

3. alias +quiksilencer "+attack2; wait; wait; wait" alias -quiksilencer "-attack2; weapon_knife; wait; wait; lastinv" bind "any" "+quiksilencer — очень быстрая накрутка глушителя.

4. alias dev0 "developer 0" alias dev1 "developer 1" hud_fastswitch 1 alias fast "faston" alias faston "bind mouse1 fastatt; dev1; echo Fast Sniper Attack *ON*; dev0; alias fast fastoff" alias fastoff "bind mouse1 +attack; dev1; echo Fast Sniper Attack *OFF*; dev0; alias fast faston" alias fastatt "+attack; wait; -attack; fson; slot2; slot1; fsoff" bind "kp_enter" "fast" — а это уже для снайперов: после выстрела меняет оружие на пистолет и обратно.

В заключение скажу: почти все эти скрипты относятся к "нечестным", и пользоваться ими на любых соревнованиях запрещено. При моем крайне отрицательном отношении к читам, я нахожу, что скрипт — меньшее зло. А если он будет написан собственноручно, то и огромный плюс для вас. Возможно, кто-то именно с них начнет свою карьеру программиста. Удачи!

AloneCat

Подробности № 44 Counter-Strike

Яндекс.Метрика