XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Другие игры (только чтение)> Counter-Strike
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
Артте
Open up your eyes
offline
Опыт: 23,823
Активность: 51
Участник проектов:
-Counter-Strike
Scripting CS 1.6
В этой статье я вам раскажу о такой важной игровой части кс, как скриптинг. Иными словами о консольных командах. Для чего же они нужны? Во-первых для удобства. Есть неисчислимое множество игровых моментов, которые можно улучшить с помощью консольных команд. Давайте рассмотрим самые простые:

Допустим, вас не устраивает торможение при приземлении на 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.
________________
Map info
Game: WarCraft3; Name: WitD; Category: Stealth;
Старый 25.05.2009, 23:06

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 03:11.