создание мода для half life 1

Source Modding — Часть 1 — Основы основ

В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

В этом (пилотном) уроке мы разберем простейшие действия с исходными кодами SDK, а также внесем наше первое изменение в код Half-Life 2.

создание мода для half life 1. image loader. создание мода для half life 1 фото. создание мода для half life 1-image loader. картинка создание мода для half life 1. картинка image loader. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

Вступление

Немножко терминов

Сам по себе Source SDK — набор утилит и программ, помогающих в разработке собственных уровней и модификаций для игры, а также исходные коды Half-Life 2 и эпизодов.

Игра/Мод (Для сурса нет никакой разницы, игра это или мод :p) — скомпилированные исходные коды SDK.

Так почему же именно Source?!

Что нам необходимо?

Введение в сурс дела

Репозиторий

Исходный код SDK находится в репозитории на GitHub. Склонируйте его в любое удобное для вас место:

Выбор ветки

Если вы хотите написать свой первый мод для Half-Life 2/Episode 1/2, то используйте директорию sp/ и Source SDK Base 2013 Singleplayer.

Стиль кода

Поля класса именуются с префиксом m_, использование венгерской нотации рекомендуется (на то есть свои причины, которые здесь обсуждать нет смысла):

Структура кода

SDK, так же как и движок, разделён на несколько частей.

Вот пути до некоторых таких файлов:

ВАЖНО: При внесении ЛЮБЫХ изменений в VPC файл решение должно быть заново перегенерировано!

Генерация проектов

создание мода для half life 1. image loader. создание мода для half life 1 фото. создание мода для half life 1-image loader. картинка создание мода для half life 1. картинка image loader. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

Исключение HL2

SDK имеет внутри себя также разделение на HL2 и Episodic. Использование второго позволит нам иметь некоторые фичи, например отдельную от стамины шкалу заряда фонарика.

И поэтому, чтобы не компилировать лишний код, мы можем просто исключить HL2 из скриптов:

Другие скрипты

Рядом с creategameprojects.bat также лежит его клон для bash а также два интересных файла — createallprojects.bat и его клон для bash.

Эти два скрипта заставляют VPC создавать проекты не только для чистых библиотек мода, но и для различных утилит, таких как vrad (Radiosity!) или height2normal.

Сейчас использовать я его вам настоятельно не рекомендую, так как свои собственные компиляторы карт нам пока не нужны.

Первичная сборка и запуск

Сборка

Чтобы удостовериться, что вы всё сделали правильно, необходимо собрать всё сгенерированное решение. Итак, собираем (вы же ведь открыли решение в IDE?):

После сборки в папке game/mod_hl2/bin/ или game/mod_episodic/bin/ должны появится наши клиентская и серверная библиотеки!

Запуск — Способ 1 — Steam

Запуск — Способ 2 — Visual Studio

Я рекомендую использовать именно этот способ — не копировать же бинарники мода каждый раз после сборки!

Если карта загрузилась и вы можете передвигаться и двигать камеру мышью — сборка успешна!

создание мода для half life 1. image loader. создание мода для half life 1 фото. создание мода для half life 1-image loader. картинка создание мода для half life 1. картинка image loader. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

Первая модификация в коде

Функции семейства Msg()

создание мода для half life 1. image loader. создание мода для half life 1 фото. создание мода для half life 1-image loader. картинка создание мода для half life 1. картинка image loader. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

Заключение

Чему мы научились?

[Я надеюсь, что] из данного урока мы выяснили:

Что дальше?

Во второй части мы разберем систему сущностей Source SDK.

Источник

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

создание мода для half life 1. En. создание мода для half life 1 фото. создание мода для half life 1-En. картинка создание мода для half life 1. картинка En. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями. создание мода для half life 1. De. создание мода для half life 1 фото. создание мода для half life 1-De. картинка создание мода для half life 1. картинка De. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями. создание мода для half life 1. Es. создание мода для half life 1 фото. создание мода для half life 1-Es. картинка создание мода для half life 1. картинка Es. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями. создание мода для half life 1. Pl. создание мода для half life 1 фото. создание мода для half life 1-Pl. картинка создание мода для half life 1. картинка Pl. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями. создание мода для half life 1. Pt. создание мода для half life 1 фото. создание мода для half life 1-Pt. картинка создание мода для half life 1. картинка Pt. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями. создание мода для half life 1. Pt br. создание мода для half life 1 фото. создание мода для half life 1-Pt br. картинка создание мода для half life 1. картинка Pt br. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями. создание мода для half life 1. Ru. создание мода для half life 1 фото. создание мода для half life 1-Ru. картинка создание мода для half life 1. картинка Ru. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.создание мода для half life 1. Cn. создание мода для half life 1 фото. создание мода для half life 1-Cn. картинка создание мода для half life 1. картинка Cn. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

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

Contents

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

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

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

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

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

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

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

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

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

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

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

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

Запуск мода

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

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

В «Опции», «Клавиатура», «Дополнительно», включите Консоль Разработчика. Нажмите тильду (

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

), чтобы команда » impulse 101 » работала

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

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

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

Источник

Создание Модификации

создание мода для half life 1. En. создание мода для half life 1 фото. создание мода для half life 1-En. картинка создание мода для half life 1. картинка En. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями. создание мода для half life 1. Es. создание мода для half life 1 фото. создание мода для half life 1-Es. картинка создание мода для half life 1. картинка Es. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями. создание мода для half life 1. Fr. создание мода для half life 1 фото. создание мода для half life 1-Fr. картинка создание мода для half life 1. картинка Fr. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями. создание мода для half life 1. Hu. создание мода для half life 1 фото. создание мода для half life 1-Hu. картинка создание мода для half life 1. картинка Hu. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями. создание мода для half life 1. Cn. создание мода для half life 1 фото. создание мода для half life 1-Cn. картинка создание мода для half life 1. картинка Cn. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

Contents

Кнопка Create a Mod автоматизирует процесс создания Source мода. Она:

Версии движка

Перед созданием мода необходимо выбрать версию движка которую вы будете использовать. Измените версию SDK на ту которую вы хотите использовать.

Мастер создания

Тип проекта

Когда вы запустите мастер, у вас будет возможность выбрать что вы хотите сделать.

создание мода для half life 1. Create mod step1. создание мода для half life 1 фото. создание мода для half life 1-Create mod step1. картинка создание мода для half life 1. картинка Create mod step1. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

Half-Life 2 Single Player Проекты для Episode One (2006) или Two (2007). Если у вас нет Ep1/2 эта опция будет недоступна. Half-Life 2 Multiplayer Проекты для Half-Life 2: Deathmatch. Эта опия доступна только если у вас есть Half-Life 2: Deathmatch; Multiplayer mod from template Этот проект даёт возможность настроить такие параметры, как командный режим или пользовательские модификации. Эта опция не требует Half-Life 2: Deathmatch. Source code only Дамп кода без необходимости создавать мод. Этот вариант удобен, если вы просто хотите создать server plugin.

Какой бы вариант вы ни выбрали, вы получите файлы исходного кода (даже если вы не владели той или иной игрой). Вы также получаете «все» доступные программы, которые включают в себя набор средств разработки.

Информация о Моде

создание мода для half life 1. Create mod step2. создание мода для half life 1 фото. создание мода для half life 1-Create mod step2. картинка создание мода для half life 1. картинка Create mod step2. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

В этом окне вам предложат указать каталог, в который будут распакованы файлы и указать название мода. В первом поле указывается путь, куда распакуются все исходные файлы, которые вы будете использовать при создании модификации. Он может быть каким угодно, но делайте его простым, к примеру «C:\mymod-source». Во второе поле введите название вашего мода. Нажмите Next, когда вы будете готовы.

Источник

Создание мода для half life 1

Краткое пособие по созданию и настройке мода на движке Source©.

(по состоянию на 14.11.11) (то есть пока вэльв опять какую-то хрень не утворили с SDK)

создание мода для half life 1. s80651242. создание мода для half life 1 фото. создание мода для half life 1-s80651242. картинка создание мода для half life 1. картинка s80651242. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

создание мода для half life 1. s01925230. создание мода для half life 1 фото. создание мода для half life 1-s01925230. картинка создание мода для half life 1. картинка s01925230. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

Пишем путь к моду (устанавливаем в папку Steam\steamapps\sourcemods\mymod_01)

ВНИМАНИЕ! Избегайте пробелов в имени мода, т. к. это повлечет за собой копирования файлов в 2 разные папки!

создание мода для half life 1. s75369473. создание мода для half life 1 фото. создание мода для half life 1-s75369473. картинка создание мода для half life 1. картинка s75369473. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

Ждем пока скопируются файлы

создание мода для half life 1. s69598029. создание мода для half life 1 фото. создание мода для half life 1-s69598029. картинка создание мода для half life 1. картинка s69598029. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

Убираем опцию Open readme file и нажимаем Finish.

Стим предложит открыть страницу справки, но если что- вот ссылка на русском языке (много полезной инфы, поиск неисправностей, ответы на вопросы и т. д.) :

Теперь мы можем запускать мод со стима, но он не подключен к Source SDK.

2) Подключаем к Source SDK.

создание мода для half life 1. s11511952. создание мода для half life 1 фото. создание мода для half life 1-s11511952. картинка создание мода для half life 1. картинка s11511952. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

Жмем ок. Переключим туда и обратно на любую конфигурацию в Engine version для обновления конфигурации.

Теперь можно работать в SDK:

создание мода для half life 1. s55259267. создание мода для half life 1 фото. создание мода для half life 1-s55259267. картинка создание мода для half life 1. картинка s55259267. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

В свойствах запуска мода в стиме для разработчиков обычно прописывается команда -dev (по желанию):

*) отключает вступительные видеоролики ;

*) показывает отладочную информацию об ошибках в игре (отключение ее командой developer 0 ( developer 2 +показ аутпутов));

Если вы создаете карту в мультиплеерной игре и не хотите чтобы подключались другие люди пропишите команду +sv_lan 1 ).

создание мода для half life 1. s77272633. создание мода для half life 1 фото. создание мода для half life 1-s77272633. картинка создание мода для half life 1. картинка s77272633. В мире существует множество игровых движков, но нет ни одного движка, похожего на Source своей историей и особенностями.

Открываем файл Steam\steamapps\sourcemods\mymod_01\gameinfo.txt

Примечание: если значения (пути) содержат пробелы- берем в кавычки «».

SearchPaths
<
Game |gameinfo_path|.
Game |all_source_engine_paths|ep2
Game |all_source_engine_paths|episodic
Game |all_source_engine_paths|hl2
>
>
>

Источник

Создание мода для half life 1

Для начала, откроем папку с игрой, где лежит hl.exe, и создаём папку. Называем его как хотим, но только на латинице и без пробелов.

Папка есть, теперь нужно скопировать liblist.gam из папки valve в папку которую мы создали.

А теперь открываем liblist.gam из нашей папки и редактируем обычным блокнотом.

*game «Half-Life» это название вашего будущего мода
*startmap «c0a0» тут мы пишем название карты, с какого будет начинаться игра, если нажать Новая игра и выбрать лёгкость. Если стереть эту строку, то режим «Новой игры» будет не доступен (В WON и Xash версий). Для Steam версий при выборе этого режима, игра просто запустит оригинальную карту из Half-Life (Но можно удалить этот пункт в /resource/NewGameDialog.res).
*trainmap «t0a0» тут мы пишем название карты, с какого будет включаться тренировочная карта. Если стереть эту строку, то режима тренировки будет не доступен (В WON и Xash версий) Для Steam версий при выборе этого режима, игра просто игра просто запустит тренировочную карту из Half-Life (Но можно удалить этот пункт в /resource/NewGameDialog.res).
*mpentity «info_player_deathmatch» это означает с какой энтеси, карты будут отображать в списке создание игры (для игры в сетевую игру). Если вы создаёте одиночную модификацию, то можно стереть. Но если вы хотите сделать сетевую, то оставьте. Это работает так: Если на карте есть ентеси info_player_deathmatch (т.е. спавн игрока для игры в сетевую), то эта карта будет отображаться в списке карт.
*gamedll «dlls\hl.dll» это указывает на dll мода, если вы не будете менять изменять название и место dll или вообще не хотите изменять исходные коды Half-Life, то оставьте эту строчку как есть. А если исходные коды изменены и сама dll переименована (ну например в code.dll, или теперь у неё директория такая «D://Half-Life/mymod/bin/code.dll»), то переименуйте, что в кавычках на bin\code.dll. Но ещё в этом случае не забудьте написать ниже cldll «1».
*cldll «1» — Это если у вас свой dll. В оригинальной liblist.gam (от Steam версий) этого нет.
*gamedll_linux «dlls/hl.so» это тоже самое, что и выше, но уже если мод на linux-е
*gamedll_osx «dlls/hl.dylib» это тоже самое, что и выше, но уже если мод на macOS
*secure «1» это на случай использования консоли (которое через «ё» открывается). Если стоит 1, то консоль открываться не будет, если 0 то будет. Хотя этот пункт нужен исключительно в WON версий Half-Life и Xash3D. В Steam версий, она не работает.
*type «singleplayer_only» а это уже означает какой мы мод делаем: одиночный (singleplayer_only) или сетевой (multiplayer_only). Хотя этот пункт нужен исключительно в WON версий Half-Life и Xash. В Steam версий как-то пофигу, он будет выводить меню так, как будет написано в /resource/GameMenu.res, что даже удобней.
Ну вроде всё. Хотя можно добавить ещё не обязательные элементы:

Ну вроде всё. Сохраняем наш liblist.gam и технически мод создан. Только без карт и моделей (Чистый проект).

А если вы оставили startmap и trainmap как есть, то запускаться самый обычный Half-Life, только без возможности выбора карт в сетевой игре (Но я бы сказал, что это уже не «самый обычный Half-Life», а уже технически мод, только запускает карты от Half-Life как одиночную игру) (Если у вас на Half-Life стоит AMX, то он просто вылетит при выборе уровня сложности).

Ну что-же вот и создан чистый наш мод. Первый начальный шаг уже сделан, осталось сделать карты или накидать моделей, по необходимости, или вообще изменить исходный код игры или накидать звуков.

Если вы знаете больше, или где-то я не прав, или ошибки какие-то. Пишите. Обсудим с вами всё.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *