Создание мини-мода

From Valve Developer Community
Jump to: navigation, search
English

Руководство по созданию мини-мода

Введение

Модификация геймплея игры на движке 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 происходит замедление игры и создаётся монохромный эффект на экране, при следующем нажатии всё возвращается обратно. Для большей информации по работе этого переключателя (кажется сложным, но это не так)), смотрите команды alias и bind.


Сохранение конфига

При сохранении конфигурационного файла обязательно выбирайте в поле 'Тип файла' - 'Все типы файлов'. Название может быть любым, но расширение - обязательно .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


Конфигурация для определённой карты

Если Вы хотите, чтобы конфиг запускался автоматически при загрузке Вашей карты, просто добавьте сущности (энтити) logic_auto и point_clientcommand (или point_servercommand для многопользовательской игры) на карту. В поле имя эти сущности 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.