Общие сведения
События о клавиатуры и мыши привязываются к конкретным действиям в игре
посредством файла input.cfg, который располагается в директории cfg. Структура
файла достаточно проста. Операторы bindsection [имя секции] разделяют его на
части, определяя, в какой части игры будет действовать привязка. Имя секции
может быть: menu, game, mapeditor, dummy. Те привязки, которые не попадают ни в
одну секцию (т.е. находятся до первого оператора bindsection) действуют везде.
Как не трудно заметить, если Вы расположите привязку в секции dummy (т.е. в
конце файла) она не будет действовать нигде. Отсюда правило - пиво должно быть
правильное, добавляйте новые строчки после оператора bindsection game, или, если
ломает его искать - в начале файла. (Далее я не буду расматривать содержимое
секций mapeditor, редактор на настоящий момент меня мало
интересует).
Основным инструментом работы является оператор bind. Его формат:
bind [+,-,!]'bind-id' 'KEY1' + 'KEY2' + ...где bind-id - идентификатор действия, KEY - событие от клавиатуры либо мыши. Знак "!" перед bind-id означает, что действие будет производиться при прекращении события (т.е. при отпускании клавиши, например) "+" и "-" используются для указания направления действия, в случае, когда действие может этим направлением обладать (+camera_zoom,-camera_zoom и т.п.).
Немного про формат KEY. Кроме собственно алфавитно-цифровых клавиш он может быть одним из приведенного ниже списка.
Кнопки мыши: MOUSE_BUTTON0...MOUSE_BUTTON7
Колесо мыши:
MOUSE_AXIS_Z
Движение мыши: MOUSE_AXIS_Y,
MOUSE_AXIS_X
Разнообразная экзотика: MEDIA_SELECT, MAIL, MYCOMPUTER,
WEB_BACK, WEB_FORWARD,WEB_STOP, WEB_REFRESH, WEB_FAVOR, WEB_SEARCH, WAKE, SLEEP,
POWER, APP_MENU, WEB_HOME, VOL_UP, VOL_DOWN, MEDIA_STOP, PLAY, CALCULATOR, MUTE,
NEXT_TRACK, UNLABELED, STOP, KANJI, PREV_TRACK, ABNT_C2, YEN, NOCONVERT,
CONVERT, ABNT_C1, KANA, OEM_102, NUM.
Прочие клавиши:RWIN, LWIN,
DELETE, INSERT, PG_DOWN, DOWN, END, RIGHT, LEFT, PG_UP, HOME, PAUSE, RALT,
SYSRQ, NUM_DIVIDE, NUM_COMMA, RCTRL, NUM_ENTER, UNDERLINE, COLON, NUM_EQUALS,
F1...F15, NUM_PERIOD, NUM_0...NUM_9, SCROLL, CAPITAL, SPACE, LALT, NUM_MULTIPLY,
RSHIFT, LSHIFT, LCTRL, ENTER, TAB, BACKSPACE, ESC.
Используя bind-id "modificator" в команде bind, можно указать системе, что
данная кнопка будет использоваться не сама по себе, а в качестве модификатора
для других. Так, например, в стандартном input.cfg оформлены клавиши LSHIFT,
LCTRL, RSHIFT, и RCTRL.
Ну вот, с базовыми определениями разобрались, самое
время посмотреть, какие, собственно, бывают bind-id's.
Читы
Забавные эффекты
| Bind-id | Действие |
|---|---|
| toggle_lightmaps | Делает карту темнее/светлее. |
| toggle_transparent | Перебор слоев (?). Затрудняюсь обьяснить. |
| test_snow | Включает снег. Забавно. Но выключить никак :) Можно только... |
| test_rain | ...сменить на дождь. |
| switch_timeofday | Меняет время суток на противоположное. |
| switch_lighting | Переключает освещенность. Выводит диогностику на консоль. Похоже на switch_timeofday, но по другому. |
| test_intersect | Рисует нечто странное. |
| erase_part | Удаляет часть обьекта, на которую указывает курсор мыши. Можно, например, снять с бойца каску. Занятно. |
| wireframe | Как и обещали, анимация скелетная. Убирает часть текстур и кажет эти самые скелеты. |
| explode | Эффект взрыва на выбранном бойце. Ущерба бойцу не наносит. Вспоминается визуализация заклинаний в NeverWinter Nights. |
| switch_particles | Включает/выключает листву на деревьях. Кстати, данный shortcat разработчики забыли включить в input.cfg, поставляющийся с патчем - до патча он там присутствовал и работал по Ctrl-K. |
Не знаю что.
| Bind-id | Действие |
|---|---|
| memorystats | ? |
| toggle_fog | ? |
| toggle_hsr | ? |
| showrad | ? |
Быстрые клавиши
| Bind-id | Действие | Кнопка |
|---|---|---|
| Ниже перечислено то, что включает в себя стандартный файл input.cfg после патча. | ||
| camera_forward | Сдвинуть камеру вперед/назад | UP; DOWN |
| camera_fps_pitch | MOUSE_AXIS_Y | |
| camera_fps_rotate | MOUSE_AXIS_X | |
| camera_pitch | Наклонить камеру | CTRL+UP; CTRL+DOWN |
| camera_rotate | Вращать камеру | CTRL+RIGHT; CTRL+LEFT |
| camera_strafe | Сдвинуть камеру влево/вправо | RIGHT; LEFT |
| camera_zoom | Приблизить/отодвинуть камеру | PG_UP; PG_DOWN |
| cancel | ESC | |
| character | Вывести/скрыть окно параметров персонажа | U |
| clues | Показать журнал | J |
| confirm | ENTER | |
| cursor_x | MOUSE_AXIS_X | |
| cursor_y | MOUSE_AXIS_Y | |
| endofturn | Конец хода | ENTER |
| exitgame | Выход из игры | CTRL+C; CTRL+Q |
| floor_slider | Перключение этажей | CTRL+MOUSE_AXIS_Z |
| focus_unit | Центрировать камеру на выбранном персонаже | HOME |
| gamemenu | Игровое меню | F10 |
| hero_next | Выбрать следующего персонажа | TAB |
| hero_prev | Выбрать предыдущего персонажа | SHIFT+TAB |
| hqscreenshot | Сделать скриншот в высоком качестве | SHIFT+SYSRQ |
| inventory | Вывести/скрыть окно предметов | I |
| leftbutton_down | MOUSE_BUTTON0 | |
| leftbutton_up | MOUSE_BUTTON0 | |
| load | Загрузка быстрой записи | F8 |
| loadmenu | Загрузка игры | F7 |
| modifier | Указывает, что указанные кнопки будут рассматриваться как модификаторык другим клавишам | SHIFT; CTRL |
| next | SPACE | |
| next_floor | Показать уровень (этаж) выше | NUM_PLUS |
| objectives | Показать задание | O |
| pause | Пауза | PAUSE |
| prev_floor | Показать уровень (этаж) ниже | NUM_MINUS |
| rightbutton_down | MOUSE_BUTTON1 | |
| rightbutton_up | MOUSE_BUTTON1 | |
| save | Быстрая запись игры | F5 |
| savemenu | Запись игры | F6 |
| screenshot | Сделать скриншот | SYSRQ |
| scroll | Скроллировать карту | MOUSE_AXIS_Z |
| showitems | Вывести названия всех лежащих предметов | ALT |
| skipScript | Пропустить все фразы и завершить диалог | ESC |
| skipScriptPart | Перейти к следующей фразе | SPACE |
| slot_next | Сделать активным следующий оружейный слот | B |
| startofturn | Перейти в пошаговый режим | ENTER |
| hero_1 | Выбрать 1го персонажа | 1 |
| hero_2 | Выбрать 2го персонажа | 2 |
| hero_3 | Выбрать 3го персонажа | 3 |
| hero_4 | Выбрать 4го персонажа | 4 |
| hero_5 | Выбрать 5го персонажа | 5 |
| hero_6 | Выбрать 6го персонажа | 6 |
| hero_7 | Выбрать 7го персонажа | 7 |
| select_all_units | Выбрать всех персонажей | = |
| hitlocation_body | Целиться в тело | NUM_5 |
| hitlocation_head | Целиться в голову | NUM_8 |
| hitlocation_larm | Целиться в левую руку | NUM_4 |
| hitlocation_lleg | Целиться в левую ногу | NUM_1 |
| hitlocation_rarm | Целиться в правую руку | NUM_6 |
| hitlocation_rleg | Целиться в правую ногу | NUM_3 |
| move | Двигаться | M |
| attack | Атаковать | A |
| firstaid | Первая помощь | A |
| usetool | Использовать инструмент | A |
| setmine | Установить мину | A |
| dropcorpse | Бросить тело | A |
| unit_rotate | Осмотреться | L |
| weapon_reload | Перезарядить оружие | R |
| hide | Замаскироваться | H |
| pose_run | Встать/бежать | Z |
| pose_normal | Встать/идти | X |
| pose_crouch | Присесть/красться | C |
| pose_crawl | Лечь/ползти | V |
| pose_strafe | Держать ориентацию | D |
| continue | Продолжить движение | M |
| weapon_snapshot | Выстрел навскидку | Q |
| weapon_aimedshot | Прицельный выстрел | W |
| weapon_carefulshot | Меткий выстрел | E |
| weapon_shortburst | Короткая очередь | F |
| weapon_longburst | Длинная очередь | G |
| weapon_snipeshot | Режим снайперской стрельбы | T |
| weapon_prevmode | Переключиться в предыдущий режим | [ |
| weapon_nextmode | Переключиться в следующий режим | ] |
| nextenemy | В таком виде не работает. Ошибка разработчиков. Должно быть - next_enemy. Переключиться на следующего видимого врага. | N |
| А это - то, что не включает. | ||
| endmission | Закончить миссию | |
| arrange | ||
| unload | Разрядить оружие | |
| exitpk | Выйти из ПК | |
| next_enemy | Переключиться на следующего видимого врага | |
| slot_prev | Сделать активным предыдущий оружейный слот | |
| snipe_attack | Произвести снайперский выстрел | |
| grenade_settrap | Установить растяжку | |
| grenade_throw | Бросить гранату | |
| collectap_all | Перенести выстрел на следующий ход | |
| collectap_max | Задействовать все AP на прицеливание | |
| collectap_10ap | Задействовать на прицеливание еще 10 AP | |
| collectap_1ap | Задействовать на прицеливание еще 1 AP | |
| submenu_grenademode | Подменю гранат | |
| submenu_weaponmode | Подменю стрелкового оружия | |
| submenu_poseselect | Подменю выбора положения тела | |
| settrap | ||
| cancelaction | ||
К оглавлению