Такой вид скриптов используется чаще всего для изменения настроек. С помощью одной клавиши вы сможете проходить по циклу, а конце вернутся на начальную позицию.
Ниже приведен синтаксис дял такого вида скриптов:
Начальное значение алиаса cycle
alias cycle "cycle1"
Для каждой настройки назначаем команды и меняем алиас на следующий член цикла
alias cycle1 "команда1; команда2; командаN; alias cycle cycle2"
Повторяем то же самое несколько раз
alias cycle2 "команда1; команда2; командаN; alias cycle cycle3"
alias cycle3 "команда1; команда2; командаN; alias cycle cycleN"
Возвращаемся на исходную настроку
alias cycleN "команда1; команда2; командаN; alias cycle cycle1"
Биндим наше творение
bind "?" "cycle"
Meta скрипты.
Было ли когда-нибудь с вами такое, что вам не хватало клавиш на клавиатуре, потому что вы забиндили и всю покупку, и сообщения, и радиокоманды? А хотели ли вы забиндить на одну и ту же клавишу несколько разных команд? Если ваш ответ да, то эта статья для вас. В ней я расскажу вам как сделать мета-скрипты.
Что ж, начнем с синтаксиса:
Сделаем алиасы для каждой команды
alias command1 "action1; wait; action1"//Алиас для первой команды//
alias command2 "action1; wait; action2" //Алиас для второй...//
Теперь выберем, что будет по дефолту
bind f1 "command1"
Делаем мета-алиасы:
alias +meta1 "bind f1 command2" // Эта команда запускается, когда нажата мета-клавиша
alias -meta1 "bind f1 command1" // А эта, когда не нажата
Назначаем мета-клавишу
bind alt "+meta1"
Теперь приведем пример с радиосообщениями. При нажатии на кнопку "R" клавиши "S", "G", "F", "A" будут вызывать радиосообщения "Storm in Front", "Go, Go, Go", "Team, Fall Back" и "Affirmative" соответственно. Иначе они будут выполнять команды движения назад, выброс оружия, альтернатиная стрельба и стрейф влево.
Делаем алиасы для радиосообщений
alias go "radio2; wait; menuselect 1; wait; wait; wait; slot10; wait; slo10"
alias storm "radio2; wait; menuselect 5; wait; wait; wait; slot10; wait; slo10"
alias aff "radio3; wait; menuselect 1; wait; wait; wait; slot10; wait; slo10"
alias fal "radio2; wait; menuselect 2; wait; wait; wait; slot10; wait; slo10"
Биндим по дефолту
bind s "+back"
bind a "+moveleft"
bind g "drop"
bind f "+attack2"
Делаем мета-алиасы...
alias +meta "bind g go; bind s storm; bind a aff; bind f fal"
alias -meta "bind s +back; bind a +moveleft; bind g drop; bind f +attack2"
Биндим мета-клавишу
bind r +meta
Скрипты переключения(Toggles)
Как видно из названия, переключатели действуют по принципу включить/выключить.
Пример:
alias d0 "developer -1; con_notifytime 0"
alias d1 "con_notifytime 8; developer 1"
alias ngon "d1; echo Net Graph on; d0; net_graph 3; alias ng ngoff"
alias ngoff "d1; echo Net Graph off; d0; net_graph 0; alias ng ngon"
alias ng "ngon"
bind n "ng"
Отражает на экране надпись Net Graph off, выключает Net Graph, назначает кнопку n алиасу ngon
В результате на одной кнопке получаем и включение и выключение.
Скрипты incrementvar
Суть таких скриптов проста, при нажатии на определённую клавишу, циклически меняет значение команды. Начиная от стандартного значения до наименьшего и кончая наибольшим. Пример:
alias crosshaicolor "incrementvar cl_crosshaircolor 0 4 1"
bind n crosshaicolor
Где 0 - это минимальное значение, 4 - максимальное, 1 - стандартно
При нажатии на n цвет прицела будет менятся. Вместо команды cl_crosshaircolor можно поставить далеко не все команды. Поэкспереминтируйте.
Press and Relise скрипты
Механизм этих скриптов такой: при нажатии на клавишу выполняется некоторые команды, а как только эту клавишу отпускаешь - другие.
Написание такого скрипта можно разбить на два шага.
1. Пишем алиасы:
alias "+press" "command1; command2"
alias "-press" "command3; command4"
Обратите особое внимание на "+" и "-". Они должны обязательно ставится перед именем алиаса, иначе сделать "прес-энд-релиз" скрипт невозможно. Второй алиас не является обязательным, если при отпускании клавиши никаких действий совершать не надо.
2. Биндим клавишу
bind "?" "+press"
Вот вообщем-то и все. Осталось только привести пример. Я думаю всем понятен, а может и полезен, будет пример с показом радара:
alias "+radar" "drawradar"
alias "-radar" "hideradar"
bind "q" "+radar"
В заключение, хотелось бы отметить, что скрипты "Press and Relise" можно применять и для других целей, например дял покупки оружия. Кроме того, аналогично работают некоторые встроенные команды в КС, в частности +forward