Counter-Strike: Scripting CS 1.6

» Раздел: Общее о CS

Давайте рассмотрим самые простые:
Допустим, вас не устраивает торможение при приземлении на 1 сек, правильно? Я думаю оно многих не устраивает. Давайте проведем небольшой эксперимент..
Введем в консоли developer 1, затем fps_max 500, пробуем прыгнуть..опа, торможение увеличилось до 2-х секунд! Странно, не правда ли? Теперь введем fps_max 20, прыгаем... Замедление исчезло! Это, конечно, один из багов КС, поэтому его использование везде запрещено, на creedz-серверах даже не получится выставить такое значение. Только fps_max 101, однако на других серверах пользуйтесь сколько угодно.
Теперь давайте рассмотрим весьма забавные команды для примера и разберем их по частям:
bind f "+fonarik"
alias +fonarik "impulse 100; wait;impulse 100;wait;impulse 100; wait;impulse 100; wait;impulse 100"
alias -fonarik ""
Первая строка- мы привязываем с помощью команды bind на клавишу f команду +fonarik. Синтаксис команды bind:
bind KEY "COMMANDS"
Вторая строка- тут мы создаем alias, т.е. набор команд, обозначенных одним именем, для их удобного вызова. В будущем можно будет обращатсья к этому alias из любого места. У нас alias +fonarik обозначает действия, которые будут совершаться после вызова +fonarik. Итак, что мы имеем: при нажатии на клавишу f у нас в течение ~1 секунды включится фонарик, но включается он не сразу, что может отвлечь противника на нужное вам время. Рассмотрим используемые команды impulse 100 и wait. impulse 101 просто включает фонарик, либо выключает его, если он включен. wait создает задержку, приблизительно равную 0,15 сек. Ну и в последней строке мы дописываем alias, который будет вызываться по завершении +fonarik действия, и при отжатии клавиши, если она была зажата.
Рассмотрим пример посложнее:
alias +duckjump "+jump; +duck"
alias -duckjump "-jump; -duck"
alias djbhopon "bind space +duckjump"
alias djbhopoff "bind space +jump"
bind F11 "djbhopon"
bind F12 "djbhopoff"
Детально уже описывать не буду, опишу в общих словах. На F11 и F12 мы привязываем включение и отключение функции, которую мы описываем ранее. djbhopon привязывает на пробел наше действие +duckjump, djbhopoff возвращает все на круги своя. Действие +duckjump заставляет нас прыгнуть, сразу присесть. Затем вызывается -duckjump, если мы не зажали клавишу, который возвращает нас в исходное состояние. Поясню чем это удобно и зачем это нужно. При прыжке присев сразу и выпрямив ноги, мы получаем небольшое ускорение по сравнению с обычным прыжком. Еще это удобно тем, что не надо зажимать ctrl для того, чтобы залезть с прыжка куда-либо. Достаточно зажать пробел вплоть до приземления, но тогда мы не получим ускорения при прыжке.
Немного модифицируем пример:
alias +duckjump "+jump; +duck;wait;-duck;wait;+duck" 
Теперь мы получаем ускорение, даже если зажали пробел!
Рассмотрим последний пример:
alias +defuse "+use; radio1; menuselect 1; slot10; say_team Cover me! Defusing the bomb..."
alias -defuse "-use; slot10"
bind "d" "+defuse"
Жмем клавишу d и разминируем бомбу, попутно предупреждая своих.
Итак, в этой статье мы рассмотрели основы скриптинга в CS 1.6, дальше, я думаю, вы уже сможете продолжить сами. Последнее, о чем хочу сообщить в этой статье, это то, как сделать, чтобы ваши скрипты загружались сами при старте игры: создаем файл autoexec.cfg в папке cstrike, в него записываем все ваши скрипты. В конец файла config.cfg дописываем exec autoexec.cfg(для того, чтобы переписать все значения, которые установил файл config.cfg, т.к. он вызывается после файла autoexec.cfg). Для получения списка всех доступных команд введите cmdlist, для получения всех переменных - cvarlist.

Просмотров: 8 183

LordSerga #1 - 9 лет назад 0
Консоль в контре я знаю, но в CS ваше не играю. bind - хорошая штука. Я к бинду ботов привязываю всем =)