Понедельник, 20.05.2024, 23:48
Приветствую Вас SPECTATOR | RSS

Just 4 Fun

Главная | Регистрация | Вход

Главная » Статьи » Настройки

Биндинг. Постройка, покупка и разные мелочи.

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

В начале нам надо определить как мы будем узнавать какие настройки в каком случае применять. Для этого забиндим в общем файле две команды - зайти за команду людей и зайти за команду пришельцев. И при выполнении одного из этих биндов будем загружать соответсвующие настройки.

bind F10 "team spectate; echo ^1Specator"
bind F11 "team humans;echo ^1Human -:Builder =:Rifle; set nc1 vstr hc11; set nc2 vstr hc12"
bind F12 "team aliens;echo ^1Alien -:Grandger =:Dretch; set nc1 vstr ac11; set nc2 vstr ac12"


Хотелось бы ограничиться меньшим числом клавиш. Сразу ясно что когда мы строитель мы не воюем (практически), а когда воюем мы не строим. Поэтому мы сделаем 2 отдельных режима для постройки и покупки, и когда нам нужно будем между ними переключаться. Задействуем кнопки 1-0, для покупки или постройки и переключения режима.

Как же нам в зависимости от ситуации для одной кнопке сделать несколько возможных команд? Мы можем делать unbind при смене режима. Но есть способ проще - использование вспомогательной переменной с помощью vstr. При этом ничего unbind`ить не придется, а просто можно назначать переменной новое значение. При этом эта переменная связана с определенной кнопкой.

Здесь будет маленькое лирическое отступление с показом принципа работы vstr. Например мы хотим забиндить на кнопку F4 песню Beatles - Yellow submarine (за идею огромное спасибо [L]Kuzmee4) что б попеть в компании с товарищами =). Не будем же мы каждую строчку песни биндить свою кнопку? Нет конечно.
А делается это так -

bind F4 "vstr Beatles"

set Beat0 "set Beatles vstr Beat1"
set Beat1 "say_team In the town where I was born,; set Beatles vstr Beat2"
set Beat2 "say_team Lived a man who sailed to sea,; set Beatles vstr Beat3"
set Beat3 "say_team And he told us of his life,; set Beatles vstr Beat4"
set Beat4 "say_team In the land of submarines, ; set Beatles vstr Beat5"

set Beat5 "say_team So we sailed on to the sun,; set Beatles vstr Beat6"
set Beat6 "say_team Till we found the sea of green,; set Beatles vstr Beat7"
set Beat7 "say_team And we lived beneath the waves,; set Beatles vstr Beat8"
set Beat8 "say_team In our ^3yellow submarine,; set Beatles vstr Beat9"

set Beat9 "say_team We all live in a ^3yellow submarine,; set Beatles vstr Beat10"
set Beat10 "say_team ^3yellow submarine, yellow submarine,; set Beatles vstr Beat11"
set Beat11 "say_team We all live in a ^3yellow submarine,; set Beatles vstr Beat12"
set Beat12 "say_team ^3yellow submarine, yellow submarine.; set Beatles vstr Beat1"

vstr Beat0


Вот и все, можно петь. Вернемся к конфигу.

В начале создадим болванку - виртуальные переменные для каждой из клавиш от 1 до 0 и кнопок - и =.

bind 1 vstr n1
bind 2 vstr n2
bind 3 vstr n3
bind 4 vstr n4
bind 5 vstr n5
bind 6 vstr n6
bind 7 vstr n7
bind 8 vstr n8
bind 9 vstr n9
bind 0 vstr n0
bind - vstr nc1
bind = vstr nc2


Зачем нам кнопки - и = ? Этими двумя кнопками мы будем выбирать кем родиться - строителем или обычным игроком (с рифлом или дретчем).

set ac11 "echo Builder;class builder;vstr abuild"
set ac12 "echo Buy;class level0;vstr abuy"
set hc11 "echo Builder;class ackit;class ckit;sell weapons;buy ackit;buy ckit;vstr hbuild"
set hc12 "echo Buy;class rifle;sell weapons;buy rifle;vstr hbuy"


Теперь у нас каждой клавише 1-0 присвоена виртуальная переменная n1-n0, значение которых мы можем менять. Примерно вот так

set abuy "vstr abuy_echo; set n1 vstr abuy1; set n2 vstr abuy2; set n3 vstr abuy3; set n4 vstr abuy4; set n5 vstr abuy5; set n6 vstr abuy6; set n7 vstr abuy7; set n8 vstr abuy8; set n9 vstr abuy9; set n0 vstr abuy0;"

set abuild "vstr abuild_echo; set n1 vstr abuild1; set n2 vstr abuild2; set n3 vstr abuild3; set n4 vstr abuild4; set n5 vstr abuild5; set n6 vstr abuild6; set n7 vstr abuild7; set n8 vstr abuild8; set n9 vstr abuild9; set n0 vstr abuild0;"

set hbuy "vstr hbuy_echo; set n1 vstr hbuy1; set n2 vstr hbuy2; set n3 vstr hbuy3;set n4 vstr hbuy4; set n5 vstr hbuy5; set n6 vstr hbuy6; set n7 vstr hbuy7;set n8 vstr hbuy8; set n9 vstr hbuy9; set n0 vstr hbuy0;"

set hbuild "vstr hbuild_echo; set n1 vstr hbuild1; set n2 vstr hbuild2; set n3 vstr hbuild3; set n4 vstr hbuild4; set n5 vstr hbuild5; set n6 vstr hbuild6; set n7 vstr hbuild7; set n8 vstr hbuild8; set n9 vstr hbuild9; set n0 vstr hbuild0;"



Настроим переменные, которые связывают виртуальные кнопки с каждым из режимов - покупки/постройки.

Для покупки (human) -

set hbuy_echo "echo Buy Binding"
set hbuy1 "echo Rifle;sell weapons;buy rifle;itemact rifle;buy larmour;sell battpack"
set hbuy2 "echo Saw;sell weapons;buy psaw;itemact psaw;buy larmour;sell battpack"
set hbuy3 "echo Shot;sell weapons;buy shotgun;itemact shotgun;buy larmour;sell battpack"
set hbuy4 "echo Laser;sell weapons;buy lgun;itemact lgun;buy larmour;buy battpack"
set hbuy5 "echo Chain;sell weapons;buy chaingun;itemact chaingun;buy larmour;sell battpack"
set hbuy6 "echo MD;sell weapons;buy mdriver;itemact mdriver;buy larmour;buy battpack"
set hbuy7 "echo Pulse;sell weapons;buy prifle;itemact prifle;buy larmour;buy battpack"
set hbuy8 "echo Flamer;sell weapons;buy flamer;itemact flame;buy larmour;sell battpack"
set hbuy9 "echo Lucifer;sell weapons;buy lcannon;itemact lcannon;buy larmour;buy battpack"
set hbuy0 "sell weapons;buy ackit;buy ckit;itemact ackit;itemact ckit;vstr hbuild"


Для постройки (human) -

set hbuild_echo "echo build: 1:Telenode 2:Reactor 3:Turret 4:MedStation 5:Armory 6:Repeater 7:DefenceCPU 8:Tesla 0:Buy Mode"
set mouseBuild "+attack; -attack; vstr sayTeam; bind MOUSE1 +attack"
set hbuild1 "build telenode;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Telenode building"
set hbuild2 "build reactor;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Reactor building"
set hbuild3 "build mgturret;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Turret building"
set hbuild4 "build medistat;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Medipad building"
set hbuild5 "build arm;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Armory building"
set hbuild6 "build repeater;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Repeater building"
set hbuild7 "build dcc;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Defense computer building"
set hbuild8 "build tesla;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Tesla building"
set hbuild9 ""
set hbuild0 "sell weapons;vstr hbuy"


Для постройки (alien) -

set abuild_echo "echo build: 1:Egg 2:OverMind 3:Acid 4:Trapper 5:Booster 6:Hive 7:Hovel 8:Barricade 0:Evolve Mode"
set mouseBuild "+attack; -attack; vstr sayTeam; bind MOUSE1 +attack"
set abuild1 "build eggpod;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Egg building"
set abuild2 "build overmind;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Overmind building"
set abuild3 "build acid_tube;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Acid Tube building"
set abuild4 "build trapper;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Trapper building"
set abuild5 "build booster;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Booster building"
set abuild6 "build hive;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Hive building"
set abuild7 "build hovel;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Hovel building"
set abuild8 "build barricade;bind MOUSE1 vstr mouseBuild; set sayTeam say_team Barricade building"
set abuild9 ""
set abuild0 "vstr abuy"


Для эволюционирования (alien) -

set abuy_echo "echo Evolve: 1:Dretch 2:Basilisk 3:Adv.Basilisk 4:Marauder 5:Adv.Marauder 6:Goon 7:Adv.Goon 8:Tyrant 0:Build Mode"
set abuy1 "class level0;echo Dretch"
set abuy2 "class level1;echo Basilisk"
set abuy3 "class level1upg;echo Adv.Basilisk"
set abuy4 "class level2;echo Marauder"
set abuy5 "class level2upg;echo Adv.Marauder"
set abuy6 "class level3;echo Goon"
set abuy7 "class level3upg;echo Adv.Goon"
set abuy8 "class level4;echo Tyrant"
set abuy9 "class builder; vstr abuild"
set abuy0 "class builderupg;vstr abuild"


Ну вот, теперь поговрим об особенностях такого биндинга. Режимы переключаются через кнопку 0. Но, когда вы играете за алиенов вам нельзя назад эволюционировать в гранджера, поэтому рождаться им надо сразу с кнопки - или =. Так же для людей.

О режиме постройке. При нажатии на клавишу вы выбираете тип постройки и назначаете сообщение которое будет выдаваться при постройке. Сама постройка будет происходить при нажатии на правую клавишу мыши, после этого выдается сообщение, строиться постройка и клавиша снова перебиндивается на атаку.

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

Граната - bind g "itemact gren;say_team Grenade!"
Аптечка - bind m "itemact medkit"
Переключение с бластером (на первую добавочную кнопку мыши) - bind AUX1 "itemtoggle blaster"
Скриншот - bind F9 "cg_drawhbuy 0;cg_draw2d 0;wait 25;screenshotjpeg;cg_drawhbuy 1;cg_draw2d 1"

Потом надо же как то общаться с командой, забиндим на клавиши F5-F8 самые информативные сообщения.

bind F5 "say_team ^1Base ^7under ^1Attack!"
bind F6 "say_team ^7Rush!!!"
bind F7 "say_team ^1We need buider!"
bind F8 "say_team ^
3Go together"

Вот и получили первый простейший набор биндов для Tremulous. Можно создать файл с этими биндами и применить его по случаю (команда exec имя_файла).




Категория: Настройки | Добавил: Odissey (16.10.2008)
Просмотров: 1669 | Комментарии: 1 | Рейтинг: 0.0/0 |
Всего комментариев: 1
1 Слава  
0
а где кнопка скачать готовый файл :(

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Категории каталога

Настройки [6]
(Обзоры технических особенностей)
Стратегия и тактика [1]
(Приемы и методы борьбы)
Just4Fun [3]
(Другие грани жизни)

Форма входа

Поиск