Css - css - статті

Швидко привіталися з усім світом - і в бій.
Написання скриптів для Counter-Strike на кшталт програмування - а тому не будемо йти від традицій і відразу напишемо маленький код, який змусить після натискання на клавішу [F3] виводити на екран фразу «Hello, World!». Отже, запускаємо Counter-Strike, створюємо гру на будь-якій карті, відкриваємо консоль (клавіша [

]) І прописуємо наступний рядок:

bind f3 "say Hello, World!"

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

У більш вагомих скриптах поряд з bind'ом використовують таку конструкцію: alias "". Використання alias'ов не тільки полегшує читання скрипта (що дуже корисно при подальшому його редагуванні) але і розширює наші можливості. Скоро ви самі зрозумієте, коли можна обійтися, використовуючи лише bind'и, а коли до них необхідно додавати alias'и. До речі, наш перший скрипт міг би виглядати і так:

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

Це важливо: якщо скрипт не працює, перевірте, які ви вводите лапки - повинні бути ті, що використовуються при друку в англійському регістрі.

Ось ми і дісталися до наступного життєво важливого питання - написання config'ов. Config - це файл, в якому зберігаються скрипти і настройки. Наприклад, в папці # 92; cstrike # 92; 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".

У списку стандартних alias'ов можна знайти безліч дуже корисних команд.
В директорії # 92; cstrike # 92; scripts знаходиться файл kb_act.lst. Відкрийте його, щоб побачити стандартні alias'и і їх короткий опис. Знання цих alias'ов допоможе вам розуміти чужі скрипти і писати власні. Мені, для прикладу, в нагоді команда, яка виробляє зняття screenshot'а. Опис його в kb_act було наступним:

нові команди
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"

Однак один автомат можна купити і через звичайні поєднання клавіш, тому поки ніякої вигоди від нашої настройки ми не отримали. Додамо в наш набір покупки патрони, бронежилет, гранату. Виглядати все це буде наступним чином:
Час занадто дорого, щоб вручну закуповувати набір зброї. Використовуйте 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

Стрілянина по одному патрону і по три:

Тепер стрілянина по три патрона можлива не тільки з 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 - це зло, якщо ти не вмієш чи не хочеш навчитися їх писати. Не варто забувати про можливості, які дали нам розробники гри. Ну, і врешті-решт, ви ж не весь час берете участь в чемпіонатах - дайте собі свободу проявлятися по-різному.