Ru/Mini-mod tutorial

Руководство по созданию мини-мода
==Введение==
Модификация геймплея игры на движке Source, такой как, например, Half-Life 2 не требует особых знаний в программировании или Source-моддинге. Это короткое руководство научит Вас, как использовать для модифицирования геймплея. Конфигурационные файлы - это обычные текстовые файлы, содержащие список инструкций для выполнения их движком Source. Инструкции являются консольными командами разработчика, таким образом всё что пишется в консоли, может быть записано в конфигурационные файлы.
Консольными командами Вы можете изменить все - от максимальной вместимости оружия до урона, который наносит муравьиный лев. Полный список консольных команд доступен , однако запомните, что некоторые из них доступны только в Half-Life 2 и её эпизодах. Если напротив команды в списке в столбце Читы написано Да, Вы должны добавить sv_cheats 1 в начало конфигурационного файла перед использованием.
==Создание конфига==
Откройте блокнот или любой другой текстовый редактор, и запишите несколько консольных команд на свой выбор, каждую в отдельной строке. Для применения вышеупомянутых изменений касательно оружия и муравьиного льва, Вы должны ввести эти две команды:
sk_max_crossbow 30
sk_antlionguard_dmg_charge 60
Очевидно, что есть гораздо больше регулируемых параметров, эти лишь приводятся в качестве примера.
Используя конфигурационные файлы, Вы также можете привязать определённые клавиши к определённым действиям. Например, если вы хотите, чтобы при нажатии клавиши включался режим 'bullet-time', вы можете ввести это (включаем читы в начале конфига):
sv_cheats 1
alias "BulletTimeOn" "host_timescale 0.5; mat_yuv 1; switchToOff"
alias "BulletTimeOff" "host_timescale 1; mat_yuv 0; switchToOn"
alias "switchToOff" "bind tab BulletTimeOff"
alias "switchToOn" "bind tab BulletTimeOn"
switchToOn
При запуске данного конфига, при нажатии клавиши Tab происходит замедление игры и создаётся монохромный эффект на экране, при следующем нажатии всё возвращается обратно. Для большей информации по работе этого переключателя (кажется сложным, но это не так)), смотрите команды и .
==Сохранение конфига==
При сохранении конфигурационного файла обязательно выбирайте в поле 'Тип файла' - 'Все типы файлов'. Название может быть любым, но расширение - обязательно .cfg. Если вы создаёте конфиг для Half-Life 2, сохраните его в данную папку:
WhereSteamIs\steamapps\YourUsername\half-life 2\hl2\cfg
==Запуск конфига в процессе игры==
Для запуска конфига в процессе игры, откройте консоль разработчика (на тильду - `)и введите:
exec CONFIGNAME.cfg
Данный способ работает, только если Вы сохранили конфиг в верную папку (как написано в разделе сохранение конфига). Если повезет, то изменения, сделанные в Вашем конфигурационном файле будут иметь место.
==Удаление конфига==
Есть одна проблемка. После запуска конфига, ваши команды будут загружаться даже при следующем запуске игры, на любой карте. Для обхода этого, создайте конфигурационный файл с названием uninstall.cfg (ну, или любым другим) и в этом файле, отвяжите все клавиши, которые Вы привязали в своём конфиге. Чтобы это сделать, используйте эту команду для каждой такой клавиши:
unbind KEY
Например, если вы привязывали клавиши стрелок и Tab, вы должны внести в конфиг это:
unbind tab
unbind uparrow
unbind downarrow
unbind leftarrow
unbind rightarrow
==Конфигурация для определённой карты==
Если Вы хотите, чтобы конфиг запускался автоматически при загрузке Вашей карты, просто добавьте сущности (энтити) и (или для многопользовательской игры) на карту. В поле имя эти сущности point_clientcommand/point_servercommmand введите 'console'. Теперь добавьте в logic_auto данный выход (аутпут):
Output: OnMapSpawn
Target entity: console
Input: Command
Parameter: exec YOURCONFIG
При передаче куда-либо данной карты, не забудьте также передать и файлы cfg.
Также добавьте инструкции по их установке/применению и их удалению.
==Альтернативный вариант==
If you wanted to adjust settings for your map like you can in a config file, but you didn't want to have to bother with installing/uninstalling config files, you could use logic_auto and point_clientcommand/point_servercommand alone. Simply use the output shown in the previous section, but change the parameter to the command of your choice.