.: Как делать скрипты :.
Писать скрипты совсем нетрудно но, тем не менее, далеко не все умеют это делать. Для написания скриптов вам, наконец - то пригодятся ваши мозги :-) . Еще один компонент - эта статья. Сам я научился писать скрипты примерно месяц назад и теперь с гордостью могу сказать, что у меня это дело получается. Здесь нет ничего сложного, и если вы хоть немного понимаете в программировании, то для вас это будет парой пустяков.
Вообще - то, скрипты считаются ЧИТЕРСТВОМ. Будь - то скрипт на автоматический хедшот или скрипт, меняющий цвет прицела. Большинство CS юзеров (исключая ламьё) негативно относятся к ним и ими не пользуются. Я думаю, все рано или поздно встречаются с ними, учатся их писать, юзают их, а потом думают: "Ну нах эти скрипты! Я и без них клево играю!". Действительно, нужен мне скрипт на покупку, если я итак покупаю все необходимое(4-1, 6, 1-3, 7, 8-4, 8-3, 8-3, 8-2) за три секунды.
Начнем с того, что создадим файл, в котором у вас и будут находиться скрипты. Называйте его, как хотите, расширение давайте ему, какое в голову взбредет. Хоть *.dll, хоть *.lox. Но только до верси 1.5 (или 1.4). Все дело в том, что в версии 1.5 было введено новое новшество, связанное с консольной командой exec. Теперь эта команда работает только с файлами, имеющими разрешение .cfg и .rc (это разрешение, видимо, - сокращение от Ricochet, еще одного мода к HL). Для того, чтобы запустить ваш файл с скриптами, необходимо прописать в консоли exec имя_файла.расширение. Кстати, создавать файл совсем не обязательно - вы можете вписывать скрипты прямо в ваш config.cfg, но я предпочитаю иметь скрипты в отдельном файле.
Теперь откройте файл с помощью любого текстового редактора (например, Блокнот) и приступим к обучению.
1) Для начала научимся понимать некоторые команды. Тег Bind присваивает клавише какое-нибудь значение. Например, Bind "c" "+duck". Теперь, при нажатии клавиши "c" игрок будет приседать. Разберем подробнее этот пример. Bind присваивает клавише "c" действие "приседание". Структура выглядит так: [тег]["клавиша"]["действие"], то есть [bind]["c"]["duck"]. Понятно? Тогда читаем дальше.
Попробуем понять скрипт посложнее: bind space "+jump; wait; say look, i can jump!; echo ZzZzZzZzZzZz". Другими словами, нажимая пробел, вы подпрыгнете и скажете всем "look, i can jump!". Тег say не говорит, как может показаться из его названия, а всего лишь выводит сообщения на экран. Wait - это небольшая пауза в скрипте. Wait лучше ставить после каждой команды. Если требуется большой промежуток времени, то wait можно поставить несколько раз. Echo - выводит сообщения в консоль. Данный скрипт является трехступенчатым, так как содержит в себе три действия. Попробуйте посоставлять простые скрипты сами, а потом возвращайтесь к статье...
2) Ну как, получается? Ну, тогда двинемся дальше.
Команда Alias - самая распространенная в скриптах команда. В переводе с английского она означает "Псевдоним", то есть, фактически, она тоже присваивает какие - то значения, но не кнопкам, как это было в случае с Bind. Рассмотрим тот же пример, что и в 1 части, но изменим его, добавив Alias:
bind space "xХx"
alias xХx "+jump; wait; say look, i can jump!; echo ZzZzZzZzZzZz"
Здесь действия в кавычках выполняются уже не пробелом, а параметром xХx, а вот параметр хХх уже выполняется нажатием пробела. Врубаетесь? Такая структура используется в сложных скриптах. Рассмотрим пример "Длинный прыжок":
bind space "+ljump"
alias +ljump "+jump; +duck"
alias -ljump "-jump; -duck"
Данный скрипт очень популярен. С его помощью игрок прыгает+приседает нажатием всего одной клавиши (пробелом). Без скрипта ему пришлось бы прыгать пробелом и сразу приседать клавишей приседания. Вы спрашиваете: "Че это за "+" и "-" в скрипте? У меня итак с арифметикой неладно!". Отвечаю. "+" означает как бы открытие действия, а минус, соответственно, закрытие. Другими словами, если в скрипте стоит +attack, а -attack нет, то при нажатии на клавишу игрок расстреляет всю обойму. Если вы забудете поставить -duck после +duck, то игрок будет сидеть все время, даже с отжатой клавишей приседания.