Ваша первая модификация

From Valve Developer Community
< Ru
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
English (en)Deutsch (de)Español (es)Polski (pl)Português (pt)Português do Brasil (pt-br)Русский (ru)中文 (zh)Translate (Translate)

Этот учебник научит вас создавать, настраивать и собирать вашу первую простую модификацию (мод) для движка Source Source. В ней мы изменим скорость, с которой в Half-Life 2 Half-Life 2 ракеты будут путешествовать по миру.

Создание проекта

Для ясности в этом учебнике мы назовём наш первый мод "MyMod". Когда Вы создаете Ваш собственный мод, Вы можете назвать его как хотите (например "QuickMod", "TreasureTroll" и т.д.)

Note.pngПримечание:Чтобы получить последний исходный код необходимо обновить содержимое SDK(en)

Для создания проекта мода:

  1. Откройте Source SDK из меню Инструменты Steam'a.
  2. Откройте Create A Mod из группы Utilities.
  3. Выберите Modify Half-Life 2 single-player или Modify Half-Life 2 Multiplayer.
  4. Укажите, куда вы хотите разместить ваш проект мода (например C:\MyMod).
  5. Введите имя вашего мода. В этом примере мы используем "MyMod".
  6. Vista может потребовать дополнительных шагов в зависимости от ваших параметров настройки безопасности. (см. известные проблемы ниже)

Steam скопирует все важные файлы в указанный Вами целевой каталог. Теперь у вас есть копия исходного кода Half-Life 2, который вы можете изменять.

Подготавливаем решение

  1. Внимательно следуйте инструкциям Компиляции в VS2008(en) / 2005(en) / 2010(en).
  2. Внимательно следуйте инструкциям Запуска из Visual Studio(en).

Изменяем скорость ракет

Если вы редактируете Half-life Single-player, откройте файл hl2_dll/weapon_rpg.cpp. В противном случае откройте hl2mp_dll/weapon_rpg.cpp.

В начале файла найдите строку:

#define RPG_SPEED 1500

Измените эту строку так:

#define RPG_SPEED 400

Изменяя это число, мы говорим ракете перемещаться со скоростью 400 юнитов в секунду (примерно 7 - 8 метров в секунду). Раньше ракета перемещалась со скоростью 1500 юнитов в секунду (около 30 метров в секунду). Разница в скорости будет очень заметна когда вы скомпилируете и запустите мод.

Note.pngПримечание: Измерения ведутся в системе unit'ов редактора: для уровня и объектов 16 юнитов = 1 фут, для персонажей 12 юнитов = 1 фут. Подробнее здесь(en).

Выбор активной конфигурации

Нам нужно установить активную configuration в "Release HL2".

Чтобы сделать это:

  1. Выберите Build->Configuration Manager.
  2. Измените Active Solution Configuration в выпадающем списке в значение "Release HL2"
  3. Нажмите Close.

Для пользователей Visual Studio 2005/2008:

  1. Выберите Project -> Properties (последний пункт в меню)
  2. Нажмите кнопку Configuration Manager (в правом верхнем углу)
  3. В выпадающем списке Active Solution Configuration проставьте опцию "Release"

Компиляция проекта

Теперь вы готовы скомпилировать solution. Выберите Build->Build Solution для начала. Когда запрошенная компиляция будет завершена появится файл server.dll и client.dll в директории MyMod/bin (например C:\MyMod\MyMod\Bin). Это ваши серверная и клиентская DLL для вашего мода и это часть того что вы должны распространять конечным пользователям.

Запуск мода

Прежде чем запустить мод, надо убедиться, что есть что запускать. К примеру, новые моды используют AppId 215 (Ep1) или 218 (Orange Box). Он загружает правильную версию Source SDK Base(en), который доступен почти каждому вместе с играми Valve и, в случае с 218/Orange Box, поддерживает последнюю версию движка. Вы можете оставить или изменить свой AppId в файле GameInfo.txt(en).

SDK Base обеспечивает только общим контентом Half-Life 2. Если Вы хотите использовать контент из других игр, или карт HL2, Вам нужно сменить AppId на ту игру, из которой Вы хотите загружать(en). Если Вы хотите 'монтировать' более одной игры, Вы можете так сделать(en), но Вы должны избежать этого метода, если Вам действительно этого не надо по причине, описанной на этой странице.

В директории, в которой Вы создали мод, есть командный файл под названием run_mod.bat. Не используйте bat файл для запуска Вашего мода, пока он не обновлён для SDK Base. Лучший путь для запуска Вашего мода - перезапуск Steam и запуск из Вашего Games list (где он, будем надеяться, появится - если нет, проверьте свой AppId) или через опцию наладки в vis (читайте как наладить код source).

Теперь, когда контент загружен, запускайте игру. Когда движок загружен, Вам покажется главный экран. Если вас предупредят об отсутствующих файлах, таких как maplist.txt, игнорируйте это.

В "Опции", "Клавиатура", "Дополнительно", включите Консоль Разработчика. Нажмите тильду (~), чтобы открыть Консоль Разработчика(en). Эта консоль предоставляет Вам множество инструментов, помогающих Вам создавать контент для движка Source.

В Вашем одиночном моде нет карт, так что скопируйте карту из карт HL2 с GCFScape(en) в папку Вашего мода /maps/ в SteamApps/SourceMods. Загрузите карту, набрав "map " (включая пробел) в консоли и выберите из списка (например "map d1_canals_01"), затем введите "impulse 101", чтобы дать себе гору оружия.

Note.pngПримечание:Разрешите читы в игре, введя "sv_cheats 1" в консоле (~), чтобы команда "impulse 101" работала

Выберите и выстрелите из RPG, чтобы посмотреть на Ваши изменения.

Вы создали свой первый мод

Теперь вы установили и компилировали свой первый мод.

  • Смотрите в Category:Modding(en) статьи, которые помогут Вам добавить больше возможностей в Ваш мод.
  • Смотрите в Category:Programming(en) список документации для программистов.
  • Смотрите в Category:Level_Design(en) статьи по созданию уровней для вашего мода.
  • Смотрите в Category:Modeling(en) статьи, которые помогут вам добавить модели в ваш мод.