Суббота, 23.11.2024, 00:42
Wolfenstein - Enemy Territory ClaN [EoH      Site homeRegister nowLog in
Привет Гость | RSS
Главное меню
Категории каталога
Полезная информация [9]
Другое [153]
Интересно [9]
Опрос
Какого вы мнения о Upse?!
Всего ответов: 150
 Каталог статей 
Начало » Статьи » Полезная информация

Скрипты
Скриптование классов в Enemy Territory

Наверное, это самый часто задаваемый вопрос по скриптованию в Enemy Territory - "Как забиндить классы". Способ выбора класса и оружия без limbo-меню в Enemy Territory значительно отличается от старого, вольфенштейнового, поэтому старые скрипты выбора класса работать не будут. Для меня остается загадкой, почему они, вместо того, чтобы оставить старую проверенную схему, сделали новую, настолько неудобную, что хочется плеваться. Теперь прежде, чем выбрать класс и оружие, необходимо сначала выбрать сторону, за которую вы играете (axis или allies). Ошибетесь - и внезапно окажетесь во вражеской команде. Пусть и с правильным классом :-) Я спросил разработчиков, мол, планируете ли вы етот геморрой фиксить - заявили, что нет, скорее всего.

Ну да ладно. Перейдем непосредственно к техническим аспектам. Выбор стороны, класса и оружия теперь осуществляется одной-единственной командой team. Формат ее таков:

team <буква команды> <код класса> <код оружия>

где
буква команды - это r для axis и b для allies
код класса - это цифра, указывающая класс:
0 - солдат
1 - медик
2 - инженер
3 - лейтенант (field ops)
4 - шпион (covert ops)

код оружия - цифра, указывающая выбранное оружие
3 - mp40
4 - томпсон
5 - панцер
6 - огнемет
8 - автомат по умолчанию (мп40 или томпсон, в зависимости от стороны)
10 - стен
23 - к43 для инженера
24 - Garand для инженера
25 - снайперский Garand
31 - мг42
32 - снайперская к43
33 - FG42
35 - Мортира

Типичное скриптование

Итак, перейдем к практическим примерам.
Очевидно, что сначала надо выбрать команду. Сделать это можно следующим скриптом (предполагается, что кнопка переключения команды у вас - PGDN, "Page Down")

set go-axis "echo team ^1AXIS; bind PGDN vstr go-allies;"
set go-allies "echo team ^4ALLIES; bind PGDN vstr go-axis;"
bind PGDN vstr go-axis

(для тех, кто не знаком с такими популярными скриптовыми конструкциями - это простейший образец переключателя. Нажатие кнопки вызывает выполнение скриптовой строки go-axis, которая при выполнении автоматически перепрограммирует кнопку PGDN так, что она в следующий раз вызовет уже другую скриптовую строку - go-allies. Которая в свою очередь запрограммирует кнопку на изначальную строку. Таким образом последовательные нажатия кнопки будут по очереди выполнять макросы go-axis и go-allies :)

В дальнейшем мы чуть модифицируем макросы go-axis и go-allies, а пока перейдем к программированию непосредственно классов.

Начнем с немцев:
set axis-medic "team r 1 8; say_team spawning as ^3MEDIC with MP40"
set axis-fieldops "team r 3 8; say_team spawning as ^3FIELD OPS with MP40"
set axis-engineer-smg "team r 2 8; say_team spawning as ^3ENGINEER with MP40"
set axis-engineer-k43 "team r 2 23; say_team spawning as ^3ENGINEER with K43"
set axis-covert-k43 "team r 4 32; say_team spawning as ^3COVERT with K43"
set axis-covert-sten "team r 4 10; say_team spawning as ^3COVERT with Sten"
set axis-covert-fg42 "team r 4 33; say_team spawning as ^3COVERT with FG42"
set axis-soldier-panzer "team r 0 5; say_team spawning as ^3SOLDIER with PANZER"
set axis-soldier-flamer "team r 0 6; say_team spawning as ^3SOLDIER with FLAMER"
set axis-soldier-mortar "team r 0 35; say_team spawning as ^3SOLDIER with MORTAR"
set axis-soldier-mg42 "team r 0 31; say_team spawning as ^3SOLDIER with MG42"
set axis-soldier-smg "team r 0 8; say_team spawning as ^3SOLDIER with MP40"

Теперь американцы:
set allies-medic "team b 1 8; say_team spawning as ^3MEDIC with THOMPSON"
set allies-fieldops "team b 3 8; say_team spawning as ^3FIELD OPS with THOMPSON"
set allies-engineer-smg "team b 2 8; say_team spawning as ^3ENGINEER with THOMPSON"
set allies-engineer-k43 "team b 2 24; say_team spawning as ^3ENGINEER with Garand"
set allies-covert-k43 "team b 4 32; say_team spawning as ^3COVERT with K43"
set allies-covert-sten "team b 4 10; say_team spawning as ^3COVERT with Sten"
set allies-covert-fg42 "team b 4 33; say_team spawning as ^3COVERT with FG42"
set allies-soldier-panzer "team b 0 5; say_team spawning as ^3SOLDIER with PANZER"
set allies-soldier-flamer "team b 0 6; say_team spawning as ^3SOLDIER with FLAMER"
set allies-soldier-mortar "team b 0 35; say_team spawning as ^3SOLDIER with MORTAR"
set allies-soldier-mg42 "team b 0 31; say_team spawning as ^3SOLDIER with MG42"
set allies-soldier-smg "team b 0 8; say_team spawning as ^3SOLDIER with THOMPSON"

Теперь - простенький цикл, который позволит нам выбирать разновидности солдат перебором по одной кнопке (предположим, что это кнопка END). Цикл - panzer -> mg42 -> mortar -> flamer

set axis-gopanzer "vstr axis-soldier-panzer; bind END vstr axis-gomg42"
set axis-gomg42 "vstr axis-soldier-mg42; bind END vstr axis-gomortar"
set axis-gomortar "vstr axis-soldier-mortar; bind END vstr axis-goflamer"
set axis-goflamer "vstr axis-soldier-flamer; bind END vstr axis-gopanzer"

set allies-gopanzer "vstr allies-soldier-panzer; bind END vstr allies-gomg42"
set allies-gomg42 "vstr allies-soldier-mg42; bind END vstr allies-gomortar"
set allies-gomortar "vstr allies-soldier-mortar; bind END vstr allies-goflamer"
set allies-goflamer "vstr allies-soldier-flamer; bind END vstr allies-gopanzer"

Все, что теперь осталось - дописать макросы выбора сторон. Они должны задавать соответсвие кнопок макросам. Допустим, я хочу, чтобы кнопка Insert (код INS) меняла класс на медика, Home (HOME) - на инженера, Delete (DEL) - на лейта, а END выбирала между солдатами.

set go-axis "echo team ^1AXIS; bind PGDN vstr go-allies; bind INS vstr axis-medic; bind HOME vstr axis-engineer-smg; bind DEL vstr axis-fieldops; bind END vstr axis-gopanzer"

set go-allies "echo team ^4ALLIES; bind PGDN vstr go-axis;bind INS vstr allies-medic; bind HOME vstr allies-engineer-smg; bind DEL vstr allies-fieldops; bind END vstr allies-gopanzer"

Если вам нужны дополнительные классы, то добавьте их по образу и подобию в данный конфиг. Я планирую написать программу, которая будет полностью конфигурировать Enemy Territory, включая полностью программируемый биндер классов, как допишу - сообщу в новостях. А пока - вот полный конфиг.

по поводу спавнов
seta spawn1 "setspawnpt 1;echo бла-бла-бла 1"
seta spawn2 "setspawnpt 2;echo бла-бла-бла 2"
seta spawn0 "setspawnpt 0;echo бла-бла-бла 0"
seta GoSpawn1 "vstr spawn1; bind Q vstr GoSpawn2"
seta GoSpawn2 "vstr spawn2; bind Q vstr GoSpawn0"
seta GoSpawn0 "vstr spawn0; bind Q vstr GoSpawn1"

Источник: http://rtcw.gazeta.ru/www/news/a16119.shtml

Категория: Полезная информация | Добавил: LauncheR (26.04.2007)
Просмотров: 1421

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

      Счетчики
      Copyright LauncheR & djmelnik© 2007 Хостинг от uCoz