Ru/My First Mod: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
mNo edit summary
 
m (obsolete language category)
 
(44 intermediate revisions by 19 users not shown)
Line 1: Line 1:
[[Category:Russian]][[Category:Программирование]][[Category:Уроки]][[Category:Modding:ru]]
{{lang|My First Mod|title=Ваша первая модификация}}
== Introduction ==


This tutorial will teach you how to create, setup and build your first simple HL2 MOD. In this MOD we will change the speed at which Half-Life 2's rocket travels through the world.
Этот учебник научит вас создавать, настраивать и собирать вашу первую простую модификацию (мод) для движка {{Source|4}}. В ней мы изменим скорость, с которой в {{hl2|4}} ракеты будут путешествовать по миру.


== Create the MOD project ==
== Создание проекта ==


For the purpose of this tutorial we will call our first MOD, "MyMod". When you make your own MOD this can be any name you wish (i.e. "QuickMod", "TreasureTroll", etc.)
Для ясности в этом учебнике мы назовём наш первый мод "MyMod". Когда Вы создаете Ваш собственный мод, Вы можете назвать его как хотите (например "QuickMod", "TreasureTroll" и т.д.)
Please note, to get the latest source-code, [[Refresh SDK Content|refresh the SDK content]].
{{Note|Чтобы получить последний исходный код необходимо {{L|Refresh SDK Content|обновить содержимое SDK}}}}


To create a MOD project:  
Для создания проекта мода:  
# Open the '''Source SDK''' application from Steam's '''Tools''' menu.
# Откройте '''Source SDK''' из меню '''Инструменты''' Steam'a.
# Open '''Create A Mod''' from the '''Applications''' group.
# Откройте '''Create A Mod''' из группы '''Utilities'''.
# Select either '''Modify Half-Life 2 single-player''' or '''Modify Half-Life 2 multi-player'''.
# Выберите '''Modify Half-Life 2 single-player''' или '''Modify Half-Life 2 Multiplayer'''.
# Specify where you would like the MOD's project to be placed (i.e. <code>C:\MyMod</code>).
# Укажите, куда вы хотите разместить ваш проект мода (например <code>C:\MyMod</code>).
# Enter the name of your MOD. In this example, we'll use &quot;MyMod&quot;.
# Введите имя вашего мода. В этом примере мы используем "MyMod".
# Vista может потребовать дополнительных шагов в зависимости от ваших параметров настройки безопасности. (см. известные проблемы ниже)


The Steam application will then copy all the relevant files to the destination directory that you specified. You now have a copy of Half-Life 2's source code at that location which you can modify.
Steam скопирует все важные файлы в указанный Вами целевой каталог. Теперь у вас есть копия исходного кода Half-Life 2, который вы можете изменять.


== Open the MOD solution ==
== Подготавливаем решение ==


# Launch the '''Microsoft Visual C++ .NET''' '''2003 v7.1 '''application. If you only have '''Microsoft Visual C++ .NET 2002''' read [[Compiling under VS2002]] on how to convert the project files. In case you're using '''Microsoft Visual C++ .NET 2005''' read [[Compiling under VS2005]].
# Внимательно следуйте инструкциям {{L|Compiling under VS2008|Компиляции в VS2008}} / {{L|Compiling under VS2005|2005}} / {{L|Compiling under VS2010|2010}}.
# Select '''File-&gt;Open Solution''' from the menu and open the ''' Game_SDK''' solution located in your MOD's <code>src</code> directory.
# Внимательно следуйте инструкциям {{L|Launching from Visual Studio|Запуска из Visual Studio}}.


== Alter the rocket's speed ==
== Изменяем скорость ракет ==


If you are editing Half-life Single-player, open file <code>hl2_dll/weapon_rpg.cpp</code>. Otherwise open <code>hl2mp_dll/weapon_rpg.cpp</code>.
Если вы редактируете Half-life Single-player, откройте файл <code>hl2_dll/weapon_rpg.cpp</code>. В противном случае откройте <code>hl2mp_dll/weapon_rpg.cpp</code>.


At the top of the file, find the line:
В начале файла найдите строку:


  #define RPG_SPEED 1500
  #define RPG_SPEED 1500


Change this line to read:
Измените эту строку так:


  #define RPG_SPEED 400
  #define RPG_SPEED 400


By altering this number, we've told the rocket to travel at 400 units per second (or about 33 feet per second). Previously the rocket traveled at 1500 units per second (125 feet per second). The difference in speed will be very apparent when we compile and run the MOD.
Изменяя это число, мы говорим ракете перемещаться со скоростью 400 юнитов в секунду (примерно 7 - 8 метров в секунду). Раньше ракета перемещалась со скоростью 1500 юнитов в секунду (около 30 метров в секунду). Разница в скорости будет очень заметна когда вы скомпилируете и запустите мод.


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


We'll need to set our active ''configuration'' to &quot;Release HL2&quot;.
== Выбор активной конфигурации ==


To do this:
Нам нужно установить активную ''configuration'' в "Release HL2".  
# Select '''Build-&gt;Configuration Manager'''.
# Change the '''Active Solution Configuration''' drop-down list to &quot;Release HL2&quot;
# Select '''Close'''.


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


Now we are ready to build the solution. Choose '''Build-&gt;Build Solution''' to begin. When the requested compilation has completed there will be a <code>server.dll</code> and <code>client.dll</code> file in the <code>MyMod/bin</code> directory <code>(i.e. C:\MyMod\MyMod\Bin)</code>. This is the custom server and client DLL for our MOD and is one of the pieces that would be distributed to end-users.
Для пользователей Visual Studio 2005/2008:
# Выберите Project -> Properties (последний пункт в меню)
# Нажмите кнопку Configuration Manager (в правом верхнем углу)
# В выпадающем списке '''Active Solution Configuration''' проставьте опцию "Release"


== Run the MOD ==
== Компиляция проекта ==


In the directory that you created your MOD, there will be a batch file called <code>run_mod.bat</code>. Use this batch file to launch your MOD.  When the engine has loaded, you'll be taken to the title screen. If you are warned about missing content, such as <code>maplist.txt</code>, ignore it. Hit the tilde key (<b>~</b>) to bring up the [[Developer Console]]. This console will provide you with numerous tools to help you create content for the Source engine. Load a map by typing "map " (including the space) into the console and select from the list (i.e. "<code>map d1_canals_01</code>"), then type "<code>impulse 101</code>" to give yourself a load of weapons.
Теперь вы готовы скомпилировать solution. Выберите '''Build-&gt;Build Solution''' для начала. Когда запрошенная компиляция будет завершена появится файл <code>server.dll</code> и <code>client.dll</code> в директории <code>MyMod/bin</code> (например <code>C:\MyMod\MyMod\Bin)</code>. Это ваши серверная и клиентская DLL для вашего мода и это часть того что вы должны распространять конечным пользователям.


{{note|Enable cheats in the game by typing "<code>sv_cheats 1</code>" in the console (~) for the "<code>impulse 101</code>" command to work}}
== Запуск мода ==
Прежде чем запустить мод, надо убедиться, что есть что запускать. К примеру, новые моды используют AppId 215 (Ep1) или 218 (Orange Box). Он загружает правильную версию {{L|Source SDK Base}}, который доступен почти каждому вместе с играми Valve и, в случае с 218/Orange Box, поддерживает последнюю версию движка. Вы можете оставить или изменить свой AppId в {{L|Gameinfo.txt|файле GameInfo.txt}}.


Select and fire the RPG to view the changes you've made.
SDK Base обеспечивает только общим контентом Half-Life 2. Если Вы хотите использовать контент из других игр, или карт HL2, Вам нужно сменить AppId {{L|Steam Application IDs|на ту игру, из которой Вы хотите загружать}}. Если Вы хотите 'монтировать' более одной игры, {{L|Mounting Other Content|Вы можете так сделать}}, но Вы должны избежать этого метода, если Вам действительно этого не надо по причине, описанной на этой странице.


== You’ve built your first MOD ==
В директории, в которой Вы создали мод, есть командный файл под названием <code>run_mod.bat</code>. Не используйте bat файл для запуска Вашего мода, пока он не обновлён для SDK Base. Лучший путь для запуска Вашего мода - перезапуск Steam и запуск из Вашего Games list (где он, будем надеяться, появится - если нет, проверьте свой AppId) или через опцию наладки в vis (читайте как наладить код source).


You’ve now setup and built your first MOD. See [[:Category:Modding]] for articles to help you add more features to your MOD. See [[:Category:Programming]] for a listing of programmer-specific documentation.
Теперь, когда контент загружен, запускайте игру. Когда движок загружен, Вам покажется главный экран. Если вас предупредят об отсутствующих файлах, таких как <code>maplist.txt</code>, игнорируйте это.


{{otherlang:ru}} {{otherlang:ru:en|My First Mod}}, {{otherlang:ru:de|My First Mod:de}}, {{otherlang:ru:pl|My First Mod:pl}}
В "Опции", "Клавиатура", "Дополнительно", включите Консоль Разработчика. Нажмите тильду ('''~'''), чтобы открыть {{L|Developer_Console|Консоль Разработчика}}. Эта консоль предоставляет Вам множество инструментов, помогающих Вам создавать контент для движка Source.
 
В Вашем одиночном моде нет карт, так что скопируйте карту из карт HL2 с {{L|GCFScape}} в папку Вашего мода /maps/ в SteamApps/SourceMods. Загрузите карту, набрав "map " (включая пробел) в консоли и выберите из списка (например "<code>map d1_canals_01</code>"), затем введите "<code>impulse 101</code>", чтобы дать себе гору оружия.
 
{{Note|Разрешите читы в игре, введя "<code>sv_cheats 1</code>" в консоле (~), чтобы команда "<code>impulse 101</code>" работала}}
 
Выберите и выстрелите из RPG, чтобы посмотреть на Ваши изменения.
 
== Вы создали свой первый мод ==
 
Теперь вы установили и компилировали свой первый мод.
* Смотрите в {{LCategory|Modding}} статьи, которые помогут Вам добавить больше возможностей в Ваш мод.
* Смотрите в {{LCategory|Programming}} список документации для программистов.
* Смотрите в {{LCategory|Level_Design}} статьи по созданию уровней для вашего мода.
* Смотрите в {{LCategory|Modeling}} статьи, которые помогут вам добавить модели в ваш мод.
 
{{ACategory|Programming}}
{{ACategory|Tutorials}}
{{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) статьи, которые помогут вам добавить модели в ваш мод.