Создание скриптов для автозакупки оружия
Как
писать скрипты для CS Source? Эта статья содержит описание основ
написания скриптов для Counter-Strike:Source. Многие из ранее
существовавших команд и правил, применимых к написанию скриптов в
Counter-Strike, по-прежнему применимы и к Source, но некоторые нет.
Поэтому я постараюсь только описать те изменения, которые отличают
Source от других версий Counter-Strike.
1. Файл autoexec.cfg
Да,
этот файл использовался в предыдущих версиях CS, но в текущих версиях
он был заменен на файл userconfig.cfg. Поэтому я начну с информации об
этом файле. Файл autoexec.cfg – это файл, который исполняется во время
загрузки игры и следует за файлом config.cfg. Что он делает на самом
деле, так это переустанавливает значения, ранее заданные файлом
config.cfg.Иногда игра сбрасывает значения файла config.cfg на значения
по умолчанию, поэтому единственное, что сохранит Ваши установки – это
Ваш верный userconfig.cfg. Более подробно о создании файла autoexec.cfg
можно посмотреть здесь.
Сейчас, даже хотя файл autoexec.cfg
автоматически исполняется игрой, Вы должны фактически сами создать этот
файл. Вы можете либо скопировать или переименовать в него Ваш файл
config.cfg, или написать его сами в текстовом редакторе (например, в
WordPad). Создав такой файл, убедитесь, что он находится в правильной
директории. Для Source этот файл должен находится здесь:
C:\Program Files\Valve\Steam\SteamApps\yourusername\counter-strike source\cstrike\cfg
Просто убедитесь, что Вы поместили файл autoexec.cfg в ту же директорию, в которой находится config.cfg.
Как
только Вы создали autoexec.cfg в правильной директории, Вы захотите
добавить в него те настройки и бинды, котороые Вы бы хотели сохранить.
Вы можете либо перенести их из файла config.cfg, либо написать их
вручную. Убедитесь, что Вы сохранили Ваш файл, и при использовании
текстового редактора убедитесь также, что Вы сохраняете этот файл с
расширением .cfg, а не со стандартным расширением .txt (Это одна из
самых распространенных ошибок при редактировании подобных файлов).
После
этого Вы практически готовы. Хорошо еще добавить команду echo в Ваш
файл autoexec.cfg, чтобы быть уверенным, что он загружается должным
образом. Добавьте что-то типа этого и сохраните файл:
echo
echo Autoexec loaded . . . . .
echo
Если
Вы откроете консоль при загрузке игры, то увидите надпись "Autoexec
loaded . . . . .". Если Вы этого не видите, то Ваш файл не грузится. Вы
можете загрузить его вручную, написав в консоли "exec autoexec.cfg" .
2. Размещение.
Следующим
важным фактором при написании скриптов в CS:Source является их
размещение. Хочу еще раз повторить, что Ваши файлы должны быть помещены
в правильную директорию, иначе они не будут работать. Вот для примера
несколько возможных размещений для CS:Source:
Это дефолтная
(домашняя) директория для скриптов. Все, созданные Вами файлы, должны
быть помещены в эту директорию или под-директорию.
C:\Program Files\Valve\Steam\SteamApps\ yourusername \counter-strike source\cstrike\cfg
Сейчас
Вы, возможно, заметили директорию по названием scripts. Единственное,
что должно быть помещено туда – это файл kb_act.lst, для настройки
Вашей клавиатуры.
C:\Program Files\Valve\Steam\SteamApps\yourusername\counter-strike source\cstrike\scripts
Мне
нравится помещать мои скрипт-файлы в под-директорию директории cfg,
чтобы все было четко организовано, похоже на мой AutoScript. У меня
есть скрипт, который создает собственную директорию под названием
autoscript, содержащую все уникальные скрипт-файлы. Поэтому, когда я
даю команду exec на исполнение этих файлов, я включаю полный путь
примерно такой, как этот пример исполнения файла "scripts":
exec autoscript/scripts.cfg
3. Как закупать оружие и оборудование
CS:Source
позволяет игрокам напрямую привязывать (bind) команды на закупку со
следующими процедурами, используя команду купить (“buy”) и предмет
закупки (item).
Вот здесь приводится назначение команды, пример и список команд:
1. Назначение: buy [item]
2. Примеры:
а) Чтобы купить АК47, просто пишете в консоли: buy ak47
б) Чтобы закупить комбинацию оружия и оборудования выможете либо сделать алиас
alias m4combo "buy m4a1; buy vesthelm; buy primammo"
bind "q" "m4combo"
либо сделать прямой бинд:
bind z "buy m4a1; buy vesthelm; buy primammo"
3.
Ниже приводится список команд по оружию и оборудованию, которые
работают с командой “buy”. Заметьте, как некоторые из них отличаются от
прежних версий CS:
galil - IDF Defender
ak47 - CV-47
scout - Schmidt Scout
sg552 - Krieg 552
awp - Magnum Sniper Rifle
g3sg1 - D3/AU1
famas - Clarion 5.56
m4a1 - Maverick M4A1 Carbine
aug - Bullpup
sg550 - Krieg 550 Commando
glock - 9x19mm Sidearm
usp - KM .45 Tactical
p228 - 228 Compact
deagle - Night Hawk .50C
elite - .40 Dual Elites
fiveseven - ES Five-Seven
m3 - Leone 12 Gauge Super
xm1014 - Leone YG1265 Auto Shotgun
mac10 - Ingram MAC-10
tmp - Schmidt Machine Pistol
mp5navy - KM Sub-Machine Gun
ump45 - KM UMP45
p90 - ES C90
m249 - M249
primammo - Primary Ammo
secammo - Secondary Ammo
vest - Kevlar
vesthelm - Kevlar+Helmet
flashbang - Flashbang
hegrenade - HE Grenade
smokegrenade - Smoke Grenade
nvgs - Nightvision
defuser - Defusal Kit
*
Примечание: Команды "buyammo1" и "buyammo2" доступны и применяются для
покупки одной обоймы боеприпасов для первичного и вторичного оружия
соответственно.
4. Команда «Использовать» (“Use ”)
1.
Вы сейчас должны добавлять команду «использовать» («use») к названию
оружия, чтобы немедленно вызвать это оружие для использования.
Использование: use [weapon_xxxx] (xxxx=weapon or item from list below)
2. Вот несколько примеров:
а) Чтобы прямо выбрать M4, напишите в консоли:
use weapon_m4a1
б) Чтобы сделать бинд:
bind c "use weapon_m4a1"
в) Чтобы сделать алиас быстрого переключения оружия
// Quick Pistol Alias //
alias qpist "use weapon_deagle; use weapon_usp; use weapon_glock; use weapon_p228; use weapon_elite; use weapon_fiveseven"
bind z "qpist"
3. Перечень оружия:
weapon_knife
weapon_deagle
weapon_usp
weapon_glock
weapon_p228
weapon_elite
weapon_fiveseven
weapon_ak47
weapon_aug
weapon_g3sg1
weapon_m249
weapon_m4a1
weapon_m3
weapon_mac10
weapon_mp5navy
weapon_p90
weapon_scout
weapon_sg552
weapon_sg550
weapon_ump45
weapon_tmp
weapon_xm1014
weapon_awp
weapon_galil
weapon_famas
weapon_hegrenade
weapon_flashbang
weapon_smokegrenade
weapon_c4
5. Радио алиасы
Алиасы
прямых биндов радиокоманд не включены в CS:Source, поэтому вы должны их
сделать старым добрым способом. Помните, что при использовании этого
типа алиасов Вы должны держать клавишу немного дольше, чтобы закрылось
экранное меню. Вот быстрый пример:
// Roger/Affirmative
alias +roger "rd3; w2; ms1"
alias -roger "close"
alias rd3 "radio3"
alias ms1 "menuselect 1"
6. Команда «incrementvar»
Эта
новая команда в CS:Source позволяет игрокам создавать единичные алиасы
и бинды, которые могут работать циклично между минимальными и
максимальными значениями. Эта команда упрощает способ, который мы
использовали ранее для создания длинных цикличных скриптов, содержащих
значения переменных.
Использование: incrementvar varName minValue maxValue delta
bind F1 "incrementvar cl_crosshaircolor 0 4 1"
**** СТАРЫЙ СПОСОБ ****
alias crsclr "tg_clr"
alias tg_clr "cl_crosshaircolor 1; alias crsclr tg_clr1"
alias tg_clr1 "cl_crosshaircolor 2; alias crsclr tg_clr2"
alias tg_clr2 "cl_crosshaircolor 3; alias crsclr tg_clr3"
alias tg_clr3 "cl_crosshaircolor 4; alias crsclr tg_clr4"
alias tg_clr4 "cl_crosshaircolor 0; alias crsclr tg_clr"
bind m "tg_clr"
**** НОВЫЙ СПОСОБ ****
//Как бинд
bind m "incrementvar cl_crosshaircolor 0 4 1"
//Как алиас
alias tg_clr "incrementvar cl_crosshaircolor 0 4 1"
bind m "tg_clr"
*Единственным
ограничением является то, что Вы можете менять значения либо только в
сторону увеличения, либо в сторону уменьшения. Вы не можете делать
произвольные изменения, поэтому, если Вам нужны другие вариации, Вам
придется использовать старый способ.
7. Команда «BindToggle»
Команда
BindToggle является новой командой, которая позволяет Вам создавать
«связанные выключатели ("bind toggles") для команд, которые обычно
включаются и выключаются , или 0 и 1. Хорошим примером является команда
cl_showfps. Чтобы включить cl_showfps, вы используете значение
cl_showfps 1, и тогда текущее значение fps Вы увидите в верхней правой
части Вашего экрана. Значение cl_showfps 0 убирает эту информацию с
экрана. Ниже приведены примеры, как это делалось раньше и как это можно
делать теперь.
**** СТАРЫЙ СПОСОБ ****
alias fps "fpson"
alias fpson "cl_showfps 1; alias fps fpsoff"
alias fpsoff "cl_showfps 0; alias fps fpson"
bind "m" "fps"
**** НОВЫЙ СПОСОБ ****
BindToggle m cl_showfps
и жизнь станет веселее и играть лучше