Ru/My First Mod: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m (Convert {{otherlang2}} to {{lang}}.)
m (obsolete language category)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{lang|My First Mod|title=Ваша первая модификация}}
{{lang|My First Mod|title=Ваша первая модификация}}


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


== Создание проекта ==
== Создание проекта ==
Line 7: Line 7:
Для ясности в этом учебнике мы назовём наш первый мод "MyMod". Когда Вы создаете Ваш собственный мод, Вы можете назвать его как хотите (например "QuickMod", "TreasureTroll" и т.д.)
Для ясности в этом учебнике мы назовём наш первый мод "MyMod". Когда Вы создаете Ваш собственный мод, Вы можете назвать его как хотите (например "QuickMod", "TreasureTroll" и т.д.)
{{note:ru|Чтобы получить последний исходный код необходимо [[Refresh SDK Content|обновить содержимое SDK]]}}
{{Note|Чтобы получить последний исходный код необходимо {{L|Refresh SDK Content|обновить содержимое SDK}}}}


Для создания проекта мода:  
Для создания проекта мода:  
Line 14: Line 14:
# Выберите '''Modify Half-Life 2 single-player''' или '''Modify Half-Life 2 Multiplayer'''.
# Выберите '''Modify Half-Life 2 single-player''' или '''Modify Half-Life 2 Multiplayer'''.
# Укажите, куда вы хотите разместить ваш проект мода (например <code>C:\MyMod</code>).
# Укажите, куда вы хотите разместить ваш проект мода (например <code>C:\MyMod</code>).
# Введите имя вашего мода. В этом примере мы используем &quot;MyMod&quot;.
# Введите имя вашего мода. В этом примере мы используем "MyMod".
# Vista может потребовать дополнительных шагов в зависимости от ваших параметров настройки безопасности. (см. известные проблемы ниже)
# Vista может потребовать дополнительных шагов в зависимости от ваших параметров настройки безопасности. (см. известные проблемы ниже)


Line 21: Line 21:
== Подготавливаем решение ==
== Подготавливаем решение ==


# Внимательно следуйте инструкциям [[Compiling under VS2008:ru|Компиляции в VS2008]] / [[Compiling under VS2005:ru|2005]] / [[Compiling under VS2010:ru|2010]].
# Внимательно следуйте инструкциям {{L|Compiling under VS2008|Компиляции в VS2008}} / {{L|Compiling under VS2005|2005}} / {{L|Compiling under VS2010|2010}}.
# Внимательно следуйте инструкциям [[Launching from Visual Studio:ru|Запуска из Visual Studio]].
# Внимательно следуйте инструкциям {{L|Launching from Visual Studio|Запуска из Visual Studio}}.


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


{{note| Измерения ведутся в системе unit'ов редактора: для уровня и объектов 16 юнитов <nowiki>=</nowiki> 1 фут, для персонажей 12 юнитов <nowiki>=</nowiki> 1 фут. Подробнее [[Unit|здесь]]. }}
{{note| Измерения ведутся в системе unit'ов редактора: для уровня и объектов 16 юнитов <nowiki>=</nowiki> 1 фут, для персонажей 12 юнитов <nowiki>=</nowiki> 1 фут. Подробнее {{L|Unit|здесь}}. }}


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


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


Чтобы сделать это:
Чтобы сделать это:
# Выберите '''Build-&gt;Configuration Manager'''.
# Выберите '''Build-&gt;Configuration Manager'''.
# Измените '''Active Solution Configuration''' в выпадающем списке в значение &quot;Release HL2&quot;
# Измените '''Active Solution Configuration''' в выпадающем списке в значение "Release HL2"
# Нажмите '''Close'''.
# Нажмите '''Close'''.


Line 52: Line 52:
# Выберите Project -> Properties (последний пункт в меню)
# Выберите Project -> Properties (последний пункт в меню)
# Нажмите кнопку Configuration Manager (в правом верхнем углу)
# Нажмите кнопку Configuration Manager (в правом верхнем углу)
# В выпадающем списке '''Active Solution Configuration''' проставьте опцию &quot;Release&quot;
# В выпадающем списке '''Active Solution Configuration''' проставьте опцию "Release"


== Компиляция проекта ==
== Компиляция проекта ==
Line 59: Line 59:


== Запуск мода ==
== Запуск мода ==
Прежде чем запустить мод, надо убедиться, что есть что запускать. К примеру, новые моды используют AppId 215 (Ep1) или 218 (Orange Box). Он загружает правильную версию [[Source SDK Base]], который доступен почти каждому вместе с играми Valve и, в случае с 218/Orange Box, поддерживает последнюю версию движка. Вы можете оставить или изменить свой AppId в [[The_GameInfo.txt_File_Structure:ru|файле GameInfo.txt]].
Прежде чем запустить мод, надо убедиться, что есть что запускать. К примеру, новые моды используют AppId 215 (Ep1) или 218 (Orange Box). Он загружает правильную версию {{L|Source SDK Base}}, который доступен почти каждому вместе с играми Valve и, в случае с 218/Orange Box, поддерживает последнюю версию движка. Вы можете оставить или изменить свой AppId в {{L|Gameinfo.txt|файле GameInfo.txt}}.


SDK Base обеспечивает только общим контентом Half-Life 2. Если Вы хотите использовать контент из других игр, или карт HL2, Вам нужно сменить AppId [[Steam Application IDs|на ту игру, из которой Вы хотите загружать]]. Если Вы хотите 'монтировать' более одной игры, [[Mounting Other Content|Вы можете так сделать]], но Вы должны избежать этого метода, если Вам действительно этого не надо по причине, описанной на этой странице.
SDK Base обеспечивает только общим контентом Half-Life 2. Если Вы хотите использовать контент из других игр, или карт HL2, Вам нужно сменить AppId {{L|Steam Application IDs|на ту игру, из которой Вы хотите загружать}}. Если Вы хотите 'монтировать' более одной игры, {{L|Mounting Other Content|Вы можете так сделать}}, но Вы должны избежать этого метода, если Вам действительно этого не надо по причине, описанной на этой странице.


В директории, в которой Вы создали мод, есть командный файл под названием <code>run_mod.bat</code>. Не используйте bat файл для запуска Вашего мода, пока он не обновлён для SDK Base. Лучший путь для запуска Вашего мода - перезапуск Steam и запуск из Вашего Games list (где он, будем надеяться, появится - если нет, проверьте свой AppId) или через опцию наладки в vis (читайте как наладить код source).
В директории, в которой Вы создали мод, есть командный файл под названием <code>run_mod.bat</code>. Не используйте bat файл для запуска Вашего мода, пока он не обновлён для SDK Base. Лучший путь для запуска Вашего мода - перезапуск Steam и запуск из Вашего Games list (где он, будем надеяться, появится - если нет, проверьте свой AppId) или через опцию наладки в vis (читайте как наладить код source).
Line 67: Line 67:
Теперь, когда контент загружен, запускайте игру. Когда движок загружен, Вам покажется главный экран. Если вас предупредят об отсутствующих файлах, таких как <code>maplist.txt</code>, игнорируйте это.
Теперь, когда контент загружен, запускайте игру. Когда движок загружен, Вам покажется главный экран. Если вас предупредят об отсутствующих файлах, таких как <code>maplist.txt</code>, игнорируйте это.


В "Опции", "Клавиатура", "Дополнительно", включите Консоль Разработчика. Нажмите тильду (<b>~</b>), чтобы открыть [[Developer_Console:ru|Консоль Разработчика]]. Эта консоль предоставляет Вам множество инструментов, помогающих Вам создавать контент для движка Source.
В "Опции", "Клавиатура", "Дополнительно", включите Консоль Разработчика. Нажмите тильду ('''~'''), чтобы открыть {{L|Developer_Console|Консоль Разработчика}}. Эта консоль предоставляет Вам множество инструментов, помогающих Вам создавать контент для движка Source.


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


{{note:ru|Разрешите читы в игре, введя "<code>sv_cheats 1</code>" в консоле (~), чтобы команда "<code>impulse 101</code>" работала}}
{{Note|Разрешите читы в игре, введя "<code>sv_cheats 1</code>" в консоле (~), чтобы команда "<code>impulse 101</code>" работала}}


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


Теперь вы установили и компилировали свой первый мод.
Теперь вы установили и компилировали свой первый мод.
* Смотрите в [[:Category:Modding:ru]] статьи, которые помогут Вам добавить больше возможностей в Ваш мод.
* Смотрите в {{LCategory|Modding}} статьи, которые помогут Вам добавить больше возможностей в Ваш мод.
* Смотрите в [[:Category:Programming:ru]] список документации для программистов.
* Смотрите в {{LCategory|Programming}} список документации для программистов.
* Смотрите в [[:Category:Level_Design:ru]] статьи по созданию уровней для вашего мода.
* Смотрите в {{LCategory|Level_Design}} статьи по созданию уровней для вашего мода.
* Смотрите в [[:Category:Modeling:ru]] статьи, которые помогут вам добавить модели в ваш мод.
* Смотрите в {{LCategory|Modeling}} статьи, которые помогут вам добавить модели в ваш мод.


[[Category:Programming:ru]]
{{ACategory|Programming}}
[[Category:Tutorials:ru]]
{{ACategory|Tutorials}}
[[Category:Modding:ru]]
{{ACategory|Modding}}

Latest revision as of 03:53, 22 August 2024

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) статьи, которые помогут вам добавить модели в ваш мод.