[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Статьи о CS » Мастерская » Создаём конфиг
Создаём конфиг
jopjeДата: Вторник, 24.11.2009, 17:50 | Сообщение # 1
Полковник
Зарегистрирован: 24.11.2009
Группа: Постояный
Пользователь №: 151
Сообщений: 171
Статус:
В данной теме пойдет речь о том, как создавать свой конфиг)
Конфиг (файл cfg) хранит в себе настройки управления, игры и т.п.
Он очень полезен, если на компьютере более одного пользователя, так как не надо каждый раз все заново настраивать под себя, а всего лишь загрузить cfg файл.
Его можно брать с собой на дискете (или другом носителе) к другу, в клуб.

Файл конфигурации игрока называется config.cfg и редактируется обычным текстовым редактором блокнот.(Винда обычно не показывает известные расширения, например txt, doc, mp3 и др.)

Файл конфига игрока в пиратской версии игры находится в дериктории ...\cstrike,

Файл конфига игрока в лицензионной версии игры находится в дериктории ...\Steam\SteamApps\user\counter-strike\cstrike_russian, где user - это имя аккуанта steam.

Важно! Конфиг не может быть очень большого размера - не более 15кБ.

Получение файла настройки (конфиг).

Самый простой способ - это запустить игру, настроить все как положено и в консоли ввести команду writecfg , где , имя создаваемого конфига, указывается без расширения.
Например writecfg player(Расширение cfg указывать не надо). При успешном создании файла настройки консоль ответит: player.cfg successfully created! т.е. конфиг player.cfg успешно создан и в папке появится новый файл с соответственным названием player (расширение не показывается)

Другой вариант - это открыть папку(см. выше) и скопировать стандартный файл config рядом, а потом переименовать в нужный.

Запуск(извлечение) файла конфигурации(конфига) осуществляется командой exec name.cfg, при чем расширение .cfg указывается обязательно.

Редактирование файла настройки (конфига).

[1] Удобный вид и читаемость.

Удобнее всего редактировать файл настройки (конфиг) в текстовом редакторе, а не в игре. Внимание! После создания своего файла, со всеми удобствами и пояснениями НЕ изменяйте его в игре командой write name- иначе, все опять собьется и будет сплошным бардаком.
Начальный файл выглядит не очень, а точнее, совсем НЕ привлекательно, с точки зрения удобочитаемости и поиска информации. Для устранения этой проблемы существует такая вещь как комментарий. Выглядит он как две наклонные вправо черты //, любой текст после которых не воспринимается игрой.

Для начала разбейте ваш файл конфига на группы по типу команд. Откройте свой конфиг, отступите в начале файла несколько строк (клавишей "Интер") и создайте комментарий, например: //======Передвижение=========. Ниже отсортируйте все команды(их придется выискивать в тексте файла,вырезать и вставлять), которые касаются передвижения.

Вот примерный кусочек текста из стандартного отредактированного конфига:

//--------------------------------------------------------------
//-----------------ЭТО МОЙ КОНФИГ------------------------
//--------------------------------------------------------------
//
//-------------Передвижение--------------------------------
bind "w" "+forward" //Идти вперед
bind "s" "+back" //Идти назад
bind "a" "+moveleft" //Приставной шаг влево
bind "d" "+moveright" //Приставной шаг вправо
bind "ctrl" "+duck" //Присесть
bind "space" "+jump" //Прыжок

Аналогично можно отсортировать команды для стрельбы, оружия, звука, видеонастроек и др.

Неиспользованные клавиши.
Естесственно, что после програмирования таких действий, как стрельба, передвижение, переключение оружия, использование доп.устройств, остаются свободные клавиши, которые можно прописать для своих нужд. Плюс использовать клавиши дублирующие основные, например "стрелки".
Для чего же их использовать?
Например для создания игровых сообщений, типа: "куда бежать" и "что делать с бомбой". Так же можно создать клавишу записи и просмотра "демки", смену имени, выхода из игры, алиасы(см. ниже) и т.п.

[2] BIND - Програмирование кнопок.

Команда bind присваивает любое значение или операцию клавишам.

Синтаксис команды:
bind "key" "command"

Можно так же с помощью оператора ; создавать последовательность команд:
bind "key" "command;command2;command3" ...но тут существует ограниечение на количество операций. Для создания множества операций на одну клавишу нужно использовать alias(см. ниже).

Пример текстовых сообщений(можно использовать любые другие клавиши):

bind "f5" "say_team Need backup on point B (2)" //Послать своей команде сообщение Need backup on point B (2)
bind "f6" "say_team 6oM6a Ha To4ke A, Bce Ko MHe" // Поcласть своей команде сообщение 6oM6a Ha To4ke A, Bce Ko MHe

Запись и проигрывание демки:

bind "f9" "record demo1" //Записывает демо с именем demo1
bind "f10" "stoprecord" //Останавливает запись демо
bind "f11" "playdemo demo1" //Проигрывает демо с именем demo1, при этом будет разорвана связь с сервером.

Выход из игры:

bind "f12" "quit" //Выход из игры

[3]Alias - объединение нескольких команд в одну.

Из заголовка понятно, что с помощью алиасов можно создать команду, которая будет выполнять несколько действий.
Внимание:
С помощью алиасов можно создавать различные скрипты, причем как абсолютно безобидные, так и вполне читерские. Многие "хитрые" игроки не согласятся со мной, но "хитрый" конфиг способен изменять физику игры (например прыгать несколько раз без затухания, двигаться быстрее), а значит это есть чит!

Алиас прописывается в конфиге или в отдельном файле с расширением *.cfg и извлекается обычным методом - exec *.cfg

Синтаксис

alias name "kommands"
alias

! Надо обязательно ставить закрывающий тег. Иначе команде name будет присвоено ВСЕ, что следует после нее. Например, если алиас прописан в начале конфига, будет присвоен весь его текст.
Алиасов может быть сколько угодно много.
Начинают они работать только после загрузки файла конфига(exec name.cfg).

Пример алиаса на закупку оружия

//-----ALIAS НА ЗАКУПКУ ОРУЖИЯ------------
alias dgl "buy;menuselect 1;menuselect 4;buy;menuselect 7;slot10" //Покупка Deagle с патронами.
alias

В данном примере я назвал команду dgl. Это вымышленное название от слова deagle и теперь его можно присвоить какой-нибудь клавише, например:

bind "f7" "dgl"

Точно так же эту команду можно использовать в хитром меню;)

Теперь о самой операции: "buy;menuselect 1;menuselect 4;buy;menuselect 7;slot10"
Каждая команда выполняется при помощи оператора ; последовательно, т.е:
"меню покупки;выбор первого пункта;выбор четвертого пункта;меню покупки;выбор седьмого пунтка;закрыть меню покупки"

Вы наверное спросите: А за чем создавать алиас, если можно присвоить клавише эту операцию?
Именно ЭТУ можно, и она даже будет работать, например:

bind "f7" "buy;menuselect 1;menuselect 4;buy;menuselect 7;slot10"

Это практически тоже самое, только есть один минус - существует ограничение на количество операций. Если вы сюда добавите например броник, гранаты да еще и автомат, работать она не будет. Закупится только на половину. Поэтому и есть такая штука, как alias. Вот пример алиаса на покупку для террориста awp с патронами, броником, дигла с патронами и гранатами:

//---ALIAS awp+dgl+kevlar+grenade FOR TERROR--------
alias awpT+ "buy;menuselect 4;menuselect 5;buy;menuselect 6;buy;menuselect 1;menuselect 4;buy;menuselect 7;buy;menuselect 8;menuselect 2;buy;menuselect 8;menuselect 4;buy;menuselect 8;menuselect 3;buy;menuselect 8;menuselect 3;slot10"
alias

! Примечание: Поскольку существует такая вещь как пинг(задержка), а при игре через интернет каждый встречался с торможениеми во время закупки - необходимо между каждым оператором алиаса ставить оператор wait(иногда даже по нескольку раз), иначе меню покупики не закроется.

Вот пример рабочего алиаса(пишется в одну строчку):

//Покупка для Террориста awp с патронами, deagle с патронами, бронижилетом и гранатами
alias awpT+ "buy;wait;wait;menuselect 4;wait;wait;
menuselect 5;wait;wait;buy;wait;wait;menuselect 6;wait;wait;buy;wait;wait;
menuselect 1;wait;wait;menuselect 4;wait;wait;buy;wait;wait;
menuselect 7;wait;wait;buy;wait;wait;menuselect 8;wait;wait;
menuselect 2;wait;wait;buy;wait;menuselect 8;wait;wait;
menuselect 4;wait;wait;buy;wait;wait;menuselect 8;wait;wait;
menuselect 3;wait;wait;buy;wait;wait;menuselect 8;wait;wait;
menuselect 3;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;
wait;wait;wait;wait;wait;slot10"
alias

С помощью алиасов можно создавать и более сложные скрипты.

Например, как часто вы меняете звук в игре? Каким способом? Наверное лезете в консоль (похвально) и набираете там команду volume. Конечно владельцам продвинутых клав повезло больше - такие клавы обычно содержат кнопки управления звуком. Применяя алиас можно менять звук в игре двуми клавишами (громче - тише) или одной (1 2 3 4 5 потом опять с начала 1 2 3 4 5). Так же этот эта конструкция подходит для изменения чувствительности мыши, записи нескольких демок с разными именами и т.п.

Принцип построения алиаса( для удобства пишу по-русски)

алиас звук0 "звук 0.0; алиас громкостьВыше звук1; алиас громкостьНиже звук0"
алиас звук1 "звук 0.2; алиас громкостьВыше звук2; алиас громкостьНиже звук0"
алиас звук2 "звук 0.4; алиас громкостьВыше звук3; алиас громкостьНиже звук1"
//....столько раз, сколько необходимо соблюдая те же условия

т.е. создаем первую команду уровня звука, присваем ей сам уровень звука и тут же присваиваем ее следущей команде уровня звука и предыдущей команде уровня звука (алиас присваивается другому алиасу)

теперь надо создать алиас громкостьВыше и громкостьНиже и присвоить им какие нибудь из уже созданых команд

алиас громкостьВыше "звук1"
алиас громкостьНиже "звук2"

Теперь надо присвоить каким-то клавишам эти алиасы! Для звука будет удобно использовать стрелки вверх и вниз.

бинд апарроу "громкостьВыше"
бинд даунарроу "громкостьНиже"

Что происходит:
Мы нажимаем кнопку апарроу - громкость выставляется на звук1, т.е. на 0.2 и ставит значение кнопки апарроу на звук2, т.е. 0.4 - при следущем нажатии кнопки апарроу громкость уже будет выставлено на значение звук2, т.е. 0.4 и т.д..

Примечание: Можно добавить в алиасы визуальный эффект, чтобы было видно какой уровень звука сейчас вы выбрали, например, [---------0----]. Если воспользоваться командой echo [---------0----], то это нарисуется в консоле. Я лично поступаю немного подругому: во-первых, команда developer 1 пишет вверху слева, над радаром все то, что пишется в консоле в данный момент времени (к сожалению она не выводит то, что пишется с помощью команды echo). Во-вторых, если вы пишите какую-то несуществующую команду в консоли, то появляется ответ unknown command. Просто совмещаем developer 1;[---------0----]. В результате над радаром будет надпись unknown command:[---------0----].

Пример создания алиаса на регулировку громкости игры двуми стрелками:

//
//----------------Изменение громкости звука-------------------------------------------------
//
alias vol00 "developer 1; [Volume]0--------------------[0.00]; volume 0.00; alias volUp vol01; alias volDown vol00; developer 0"
alias vol01 "developer 1; [Volume]-0-------------------[0.05]; volume 0.05; alias volUp vol02; alias volDown vol00; developer 0"
alias vol02 "developer 1; [Volume]--0------------------[0.10]; volume 0.10; alias volUp vol03; alias volDown vol01; developer 0"
alias vol03 "developer 1; [Volume]---0-----------------[0.15]; volume 0.15; alias volUp vol04; alias volDown vol02; developer 0"
alias vol04 "developer 1; [Volume]----0----------------[0.20]; volume 0.20; alias volUp vol05; alias volDown vol03; developer 0"
alias vol05 "developer 1; [Volume]-----0---------------[0.25]; volume 0.25; alias volUp vol06; alias volDown vol04; developer 0"
alias vol06 "developer 1; [Volume]------0--------------[0.30]; volume 0.30; alias volUp vol07; alias volDown vol05; developer 0"
alias vol07 "developer 1; [Volume]-------0-------------[0.35]; volume 0.35; alias volUp vol08; alias volDown vol06; developer 0"
alias vol08 "developer 1; [Volume]--------0------------[0.40]; volume 0.40; alias volUp vol09; alias volDown vol07; developer 0"
alias vol09 "developer 1; [Volume]---------0-----------[0.45]; volume 0.45; alias volUp vol10; alias volDown vol08; developer 0"
alias vol10 "developer 1; [Volume]----------0----------[0.50]; volume 0.50; alias volUp vol11; alias volDown vol09; developer 0"
alias vol11 "developer 1; [Volume]-----------0---------[0.55]; volume 0.55; alias volUp vol12; alias volDown vol10; developer 0"
alias vol12 "developer 1; [Volume]------------0--------[0.60]; volume 0.60; alias volUp vol13; alias volDown vol11; developer 0"
alias vol13 "developer 1; [Volume]-------------0-------[0.65]; volume 0.65; alias volUp vol14; alias volDown vol12; developer 0"
alias vol14 "developer 1; [Volume]--------------0------[0.70]; volume 0.70; alias volUp vol15; alias volDown vol13; developer 0"
alias vol15 "developer 1; [Volume]---------------0-----[0.75]; volume 0.75; alias volUp vol16; alias volDown vol14; developer 0"
alias vol16 "developer 1; [Volume]----------------0----[0.80]; volume 0.80; alias volUp vol17; alias volDown vol15; developer 0"
alias vol17 "developer 1; [Volume]-----------------0---[0.85]; volume 0.85; alias volUp vol18; alias volDown vol16; developer 0"
alias vol18 "developer 1; [Volume]------------------0--[0.90]; volume 0.90; alias volUp vol19; alias volDown vol17; developer 0"
alias vol19 "developer 1; [Volume]-------------------0-[0.95]; volume 0.95; alias volUp vol20; alias volDown vol18; developer 0"
alias vol20 "developer 1; [Volume]--------------------0[1.00]; volume 1.00; alias volUp vol20; alias volDown vol19; developer 0"
alias volUp "vol10"
alias volDown "vol09"
alias
bind "uparrow" "volUp"
bind "downarrow" "volDown"
//

Примечание:
Например, в моем конфиге для этого скрипта места не хватило. Т.е. конечно же он влез в файл player.cfg, но игра не понимает все, что превышает 15кБ. В этом случае можно просто разделить одиг конфиг на два. Например, создаете еще один cfg файл, называете allias.cfg и вписываете туда все ваши алиасы, а в своем конфиге в самом конце прописываете команду на извлечение: exec alias.cfg - Теперь сначала загрузиться Ваш основной конфиг, а следом за ним конфиг с алиасами.

Пример создания алиаса для регулировки чувствительности основной мыши:

//
//------------------Изменение чувствительности мыши----------------------------
//
alias sens00 "developer 1; [Sensitivity]0--------------------[1.0]; sensitivity 1.0; alias sensUp sens01; alias sensDown sens00; developer 0"
alias sens01 "developer 1; [Sensitivity]-0-------------------[1.1]; sensitivity 1.1; alias sensUp sens02; alias sensDown sens00; developer 0"
alias sens02 "developer 1; [Sensitivity]--0------------------[1.2]; sensitivity 1.2; alias sensup sens03; alias sensDown sens01; developer 0"
alias sens03 "developer 1; [Sensitivity]---0-----------------[1.3]; sensitivity 1.3; alias sensup sens04; alias sensDown sens02; developer 0"
alias sens04 "developer 1; [Sensitivity]----0----------------[1.4]; sensitivity 1.4; alias sensup sens05; alias sensDown sens03; developer 0"
alias sens05 "developer 1; [Sensitivity]-----0---------------[1.5]; sensitivity 1.5; alias sensup sens06; alias sensDown sens04; developer 0"
alias sens06 "developer 1; [Sensitivity]------0--------------[1.6]; sensitivity 1.6; alias sensup sens07; alias sensDown sens05; developer 0"
alias sens07 "developer 1; [Sensitivity]-------0-------------[1.7]; sensitivity 1.7; alias sensup sens08; alias sensDown sens06; developer 0"
alias sens08 "developer 1; [Sensitivity]--------0------------[1.8]; sensitivity 1.8; alias sensup sens09; alias sensDown sens07; developer 0"
alias sens09 "developer 1; [Sensitivity]---------0-----------[1.9]; sensitivity 1.9; alias sensup sens10; alias sensDown sens08; developer 0"
alias sens10 "developer 1; [Sensitivity]----------0----------[2.0]; sensitivity 2.0; alias sensup sens11; alias sensDown sens09; developer 0"
alias sens11 "developer 1; [Sensitivity]-----------0---------[2.1]; sensitivity 2.1; alias sensup sens12; alias sensDown sens10; developer 0"
alias sens12 "developer 1; [Sensitivity]------------0--------[2.2]; sensitivity 2.2; alias sensup sens13; alias sensDown sens11; developer 0"
alias sens13 "developer 1; [Sensitivity]-------------0-------[2.3]; sensitivity 2.3; alias sensup sens14; alias sensDown sens12; developer 0"
alias sens14 "developer 1; [Sensitivity]--------------0------[2.4]; sensitivity 2.4; alias sensup sens15; alias sensDown sens13; developer 0"
alias sens15 "developer 1; [Sensitivity]---------------0-----[2.5]; sensitivity 2.5; alias sensup sens16; alias sensDown sens14; developer 0"
alias sens16 "developer 1; [Sensitivity]----------------0----[2.6]; sensitivity 2.6; alias sensup sens17; alias sensDown sens15; developer 0"
alias sens17 "developer 1; [Sensitivity]-----------------0---[2.7]; sensitivity 2.7; alias sensup sens18; alias sensDown sens16; developer 0"
alias sens18 "developer 1; [Sensitivity]------------------0--[2.8]; sensitivity 2.8; alias sensup sens19; alias sensDown sens17; developer 0"
alias sens19 "developer 1; [Sensitivity]-------------------0-[2.9]; sensitivity 2.9; alias sensup sens20; alias sensDown sens18; developer 0"
alias sens20 "developer 1; [Sensitivity]--------------------0[3.0]; sensitivity 3.0; alias sensup sens20; alias sensDown sens19; developer 0"
alias sensup "sens15"
alias sensDown "sens14"
alias
bind "rightarrow" "sensup"
bind "leftarrow" "sensDown"
//

Этим же скриптом можно сделать алиас на изменение чувствительности прицела;)

Пример создания алиаса для записи нескольких демок одной кнопкой с остановкой записи.

В данном примере принцип тот же самый, что и в предыдущих, только используется одна клавиша.

//
//----------Запись демок-----------------------------------------
//
alias dem1 "developer 1;[RECORD]---[DEMO1]; record dem1; alias rec stoprec1; developer 0"
alias stoprec1 "developer 1;[STOP][RECORD]; stop; alias rec dem2"
alias dem2 "developer 1;[RECORD]---[DEMO2]; record dem2; alias rec stoprec2; developer 0"
alias stoprec2 "developer 1;[STOP][RECORD]; stop; alias rec dem3"
alias dem3 "developer 1;[RECORD]---[DEMO3]; record dem3; alias rec stoprec3; developer 0"
alias stoprec3 "developer 1;[STOP][RECORD]; stop; alias rec dem4"
alias dem4 "developer 1;[RECORD]---[DEMO4]; record dem4; alias rec stoprec4; developer 0"
alias stoprec4 "developer 1;[STOP][RECORD]; stop; alias rec dem5"
alias dem5 "developer 1;[RECORD]---[DEMO5]; record dem5; alias rec stoprec5; developer 0"
alias stoprec5 "developer 1;[STOP][RECORD]---[LAST]; stop; alias rec dem1"
alias rec "dem1"
alias
bind "..." "rec" // ... клавиша на ваш выбор
//

Примечание: При записи дэмо, в любом случае вверху у радара появляется надпись record name.dem, при остановке записи - нет. Естесственно, что когда команда пройдет круг, дэмки начнут перезаписываться. Таким же образом можно сделать алиас на смену ника. Например, nick, [clan]nick, [afk]nick, [no_sound]nick, и при нажатии всего одной клавиши эти ники будут менять последовательно. Если не осилите сами, пишите в личку;)

Если хотите, чтобы после прохода полного круга дэмки не перезаписывались, можно в последнем алиасе оборвать цикличность, но тогда скрипт на запись дэмо будет работать только один раз:

alias stoprec5 "developer 1;[STOP][RECORD]---[LAST]; stop; alias rec end"
alias end "developer 1;[END_LIST_OF_DEMO]; developer 0"

Примечание: в этом случае запишутся только определенное количество демок и не более. На мой взгляд это не очень удобно.

Так называемые "Мета" бинды.

Мета бинды дают возможность присвоить клавише значение в зависимости от комбинации. Например, купить пистолет F1, а купить автомат shift+F1. Правда заманчиво)

Для примера возмем кнопку F1 и ALT. Для создания мета бинда на эти кнопки надо сначала сделать для кнопки F1 два варианта команд - т.е. для разного типа нажатия своя команда:

alias buydgl "buy;menuselect 1;menuselect 4;buy;menuselect 7;slot 10" //первая команда для F1
alias buytmp "buy;menuselect 3;menuselect 2;buy;menuselect 6;slot 10" //вторая команда для F1

Теперь надо создать переходный алиас, которому во время выполнения будут присваиваться одна из двух, созданных выше, команд:

alias f1buy "buydgl" //Присваиваем этому алиасу обчное значение F1 (т.е. без зажима alt)

Наверное многие замечали что есть команды с префиксом "+". Это значит, что команда продолжает выполняться до тех пор, пока зажата кнопка. Например, +attack - пока вы зажимает левую кнопку мыши идет атака, а как только отпустите, атака прекратиться - сработает -attack.
Нам также надо создать вариант нажатия и удержания второй кнопки и запрограмировать действия при этом удержании:

alias +clickon "alias f1buy buytmp" //При зажатии какой-то кнопки, команде f1buy присваивается покупка tmp
alias -clickon "alias f1buy buydgl" //При отжатии этой же кнопки, команде f1buy присваивается покупка dgl

Остается только присвоить выше созданное выбранным кнопкам:

bind "F1" "f1buy" //Кнопке присваиватеся основное значени на покупку пистолета
bind "alt" "+clickon" //Кнопке присваивается то, что будет происходить при нажатии

Что получилось:

Кнока F1 запускает команду f1buy, которой изначально присвоено значение buydgl, т.е. при нажатии на F1 покупается пистолет с патронами.
Как только происходит зажатие кнопки ALT, запускается команда +clickon, которая меняет значение f1buy=buydgl на f1buy=buytmp, т.е. в этот момент кнопке F1 присваивается buytmp, т.е. при зажатии ALT кнопка F1 получает новое свойство - купить автомат с патронами.
Как только происходит отжатие кнопки ALT, запускается команда -clickon, которая меняет значение f1buy=buytmp на начальное f1buy=buydgl, т.е. как только отпустили ALT кнопка F1 опять имеет свойство покупать пистолет с патронами.
Соответственно, когда зажата кнопка ALT и нажимается кнопка F1 происходит покупка автомата с патронами.

Теперь соединим все выше сказанное в цельный скрипт:

//
//---------alt + f1 dgl or tmp--------------------------------------------
//
alias buydgl "buy;menuselect 1;menuselect 4;buy;menuselect 7;slot 10" //первая команда для F1
alias buytmp "buy;menuselect 3;menuselect 2;buy;menuselect 6;slot 10" //вторая команда для F1
alias f1buy "buydgl" //Присваиваем этому алиасу обчное значение F1 (т.е. без зажима alt)
alias +clickon "alias f1buy buytmp" //При зажатии какой-то кнопки, команде f1buy присваивается покупка tmp
alias -clickon "alias f1buy buydgl" //При отжатии этой же кнопки, команде f1buy присваивается покупка dgl
alias
bind "F1" "f1buy" //Кнопке присваиватеся основное значени на покупку пистолета
bind "alt" "+clickon" //Кнопке присваивается то, что будет происходить при нажатии
//

Как это можно использовать!

Вы, наверное, уже представили, как будете програмировать кнопки F1-F12 на закупку все мозможного оружия и боеприпасов. Но задайте себе вопрос: за чем?. Посудите сами, закупка оружия происходит только в начале раунда, при чем на некоторых серверах включена опция "заморозки"(что дает спокойно посидеть и подумать над покупкой). А в остальное игровое время закупка же не происходит, и, получается, что клавиши F1-F12, вместо того чтобы приносить пользу, "простаивают". Я, например, использую эти клавиши для текстовых сообщений своей команде, вида: "враг там", "враг тут", "вомба неизвестно где" и т.п. Но закупаться мне тоже хочеться быстро и надежно. Что же делать?

Можно придумать такую раскладку: в начале клавиши F1-F12 используются для закупки оружия, но после нажатия какой-нибудь клавиши, значения этих кнопок меняются на другие. Конечно, в результате получится довольно грамоздкий скрипт, но он будет оч эффективен)
Меняться будут только значения клавиш F1-F12, поэтому принцип зажатия кнопки ALT менять не надо.
Итак, нужна еще одна клавиша, при нажатии на которую, значения кнопки F1 меняется на другое. Воспользуемся клавише, которая обычно трудно доступна, например "K".

Придется создать еще один переходный алиас и немножко кое-что подправить:

//
//------alt + f1=say or alt + f1=buy-----------------------------------------------------------------------
//
alias buydgl "buy;menuselect 1;menuselect 4;buy;menuselect 7;slot10" //первая команда для F1 в режиме покупки
alias buytmp "buy;menuselect 3;menuselect 2;buy;menuselect 6;slot10" //вторая команда для F1 в режиме покупки
alias f1buy "buydgl" //Присваиваем этому алиасу обчное значение F1 (т.е. без зажима alt)
alias +clickon "alias f1buy var2" //При зажатии какой-то кнопки, команде f1buy присваивается покупка tmp
alias -clickon "alias f1buy var1" //При отжатии этой же кнопки, команде f1buy присваивается покупка dgl
alias sayf1 "say_team MocT" //Первая команда для F1 в режиме сообщений
alias sayf11 "say_team 1" //Вторая команда для F1 в режиме сообщений
alias var1 "buydgl" //начальное первое значение переходного алиаса
alias var2 "buytmp" //начальное второе значение переходного алиаса
alias changevar1 "alias var1 sayf1;alias var2 sayf11;bind k changevar2" //Меняет режим покупки на режим сообщений
alias changevar2 "alias var1 buydgl;alias var2 buytmp;bind k changevar1" //Меняет режим сообщений на режим покупки
alias
bind k "changevar1" //Кнопка смены режимов
bind "F1" "f1buy" //Кнопке присваиватеся основное значени на покупку пистолета
bind "alt" "+clickon" //Кнопке присваивается то, что будет происходить при нажатии
//
Кстати, при игре через интернет меню покупки не будет закрываться. Необходимо добавить команду wait

Примечание: Конечно этот скрипт только для оной кнопки. Для большего числа кнопок скрипт получится намного больше - попробуйте составить его сами, использую данный пример.

 
Форум » Статьи о CS » Мастерская » Создаём конфиг
  • Страница 1 из 1
  • 1
Поиск:

Сейчас актуально

Мини-чат

200

Статистика

Случайные новости

Опрос

Как вам новый Дизайн сайта?