Исходная схема клавиатуры
Многие из вас возможно задавались подобными вопросами:
- Для чего служат файлы kb_act.lst, kb_def.lst, kb_keys.lst?
- Как производится исходная настройка клавиш "по умолчанию" для мода?
В данном учебнике мы попытаемся раскрыть эти вопросы.
Исходная схема клавиатуры отображаемая в опциях настройки клавиатуры меню Настройка -> Клавиатура создается связанными коммандами из файла {ИМЯ_МОДА}/cfg/config_default.cfg.
Это означает что НЕ требуется использовать kb_def.lst.
Файл config_default.cfg не содержит всех переменных с архивным флагом которые содержаться вconfig.cfg. Файл config_default.cfg может загружаться из source engine.gcf,вот как он выглядит в оригинале:
// YWB 10/10/03:
// If the user doesn't have a config.cfg when they run, this gets executed the first time they run the engine
// It doesn't execute if they have their own config.cfg saved out.
unbindall

bind "ESCAPE" "cancelselect"
bind "`" "toggleconsole"
bind "w" "+forward"
bind "s" "+back"
bind "a" "+moveleft"
bind "d" "+moveright"
bind "SPACE" "+jump"
bind "CTRL" "+duck"
bind "e" "+use"
bind "c" "impulse 50"
bind "r" "+reload"
bind "ALT" "+walk"
bind "SHIFT" "+speed"
bind "MOUSE1" "+attack"
bind "MOUSE2" "+attack2"
bind "f" "impulse 100"
bind "1" "slot1"
bind "2" "slot2"
bind "3" "slot3"
bind "4" "slot4"
bind "5" "slot5"
bind "6" "slot6"
bind "7" "slot7"
bind "MWHEELUP" "invprev"
bind "MWHEELDOWN" "invnext"
bind "q" "lastinv"
bind "F5" "jpeg"
bind "F6" "save quick"
bind "F9" "load quick"
bind "PAUSE" "pause"
bind "z" "+zoom"
bind "g" "phys_swap"
Комманды клавиатуры
Клавиатурные комманды ссылаются на список комманд и заголовков в файле scripts/kb_act.lst который отображается в опциях настройки клавиатуры меню Настройка -> Клавиатура.
Для создания заголовка, использется следующий формат в kb_act.lst:
"blank" "=========================="
"blank" "#Tokenized_String"
"blank" "=========================="
Строка Tokenized_String должна присутствовать в файле resource/ИМЯ_МОДА_english.txt идругих языковых скриптах которые используются в вашем моде.Если вы используете русский язык, следует сохранять файл в кодировке UTF-8.
Оригинальный kb_act.lst из source engine.gcf выглядит следующим образом:
"blank" "=========================="
"blank" "#Valve_Movement_Title"
"blank" "=========================="
"+forward" "#Valve_Move_Forward"
"+back" "#Valve_Move_Back"
"+moveleft" "#Valve_Move_Left"
"+moveright" "#Valve_Move_Right"
"+speed" "#Valve_Sprint"
"+jump" "#Valve_Jump"
"+duck" "#Valve_Duck"
"blank" "=========================="
"blank" "#Valve_Combat_Title"
"blank" "=========================="
"+attack" "#Valve_Primary_Attack"
"+attack2" "#Valve_Secondary_Attack"
"+reload" "#Valve_Reload_Weapon"
"+use" "#Valve_Use_Items"
"phys_swap" "#Valve_Gravity_Gun"
"impulse 100" "#Valve_Flashlight"
"+zoom" "#Valve_Suit_Zoom"
"impulse 50" "#Valve_Commander_Mode"
"slot1" "#Valve_Weapon_Category_1"
"slot2" "#Valve_Weapon_Category_2"
"slot3" "#Valve_Weapon_Category_3"
"slot4" "#Valve_Weapon_Category_4"
"slot5" "#Valve_Weapon_Category_5"
"slot6" "#Valve_Weapon_Category_6"
"invnext" "#Valve_Next_Weapon"
"invprev" "#Valve_Previous_Weapon"
"lastinv" "#Valve_Last_Weapon_Used"
"blank" "=========================="
"blank" "#Valve_Miscellaneous_Title"
"blank" "=========================="
"incrementvar closecaption 0 1 1" "#Valve_CC_Toggle"
"jpeg" "#Valve_Take_Screen_Shot"
"save quick" "#Valve_Quick_Save"
"load quick" "#Valve_Quick_Load"
"pause" "#Valve_Pause_Game"
"quit" "#Valve_Quit_Game"
"blank" "=========================="
"blank" "#Valve_Miscellaneous_Keyboard_Keys_Title"
"blank" "=========================="
"+walk" "#Valve_Walk"
"+left" "#Valve_Turn_Left"
"+right" "#Valve_Turn_Right"
"+moveup" "#Valve_Swim_Up"
"+movedown" "#Valve_Swim_Down"
"+lookup" "#Valve_Look_Up"
"+lookdown" "#Valve_Look_Down"
"+strafe" "#Valve_Strafe_Modifier"
"+klook" "#Valve_Keyboard_Look_Modifier"
Как видно, формат добавления комманд в список довольно прост. Следуетобратить внимание что комманды с "+" автоматически создают "-" коммандыиспользуещиеся при отпускании клавиши. Для примера можно создать,произвольную комманду "+camera"и привязать ее к клавише "TAB". Теперь если зпустить игру и нажать TAB,открыв консоль можно увидеть следующие сообщения:
Unknown command: +cameraUnknown command: -camera
Используйте данную информацию при проектировании собственных клавиатурных комманд.
Источник: http://developer.valvesoftware.com/wiki/The_Default_Keyboard_Layout
Перевод и дополнения: DarkLight

Источник: Source Inside

CMT (CS Mapping Tutorials) - © 2006-2011+. Created by VM
[ Script Execution time: 0.0051 ]