Ru/Making Your Portal Mod

Эта статья описывает процесс создания модификации Portal с нуля. Почему с нуля? Да потому что Valve не предоставляет специальный SDK или шаблон мода для этой игры. Однако, создать свой мод с нуля не так уж и сложно, так что давайте приступим.
==Необходимые требования==
Чтобы приступить к созданию Portal-мода, вам сперва необходим сам Portal, установленный в Steam. Инструмент Source SDK загружается по необходимости.
==Создание мода==
Создание мода представляет собой создание игровой директории и последующее её заполнение определенными файлами конфигурации и специальными файлами для мода. Давайте создадим мод с названием "My Portal Mod".
===Создание игровой директории===
Зайдите в папку C:\Program Files (x86)\Steam\SteamApps\SourceMods и создайте там папку. Назовите её "MyPortalMod". Это и будет наша игровая директория.
Внутри этой новой папки создайте файл GameInfo.txt.
Запишите в него код, схожий с приведенным ниже, и отредактируйте его так, как вам требуется. Для подробной информации о структуре этого файла прочтите . 
"GameInfo"
{
	game 		"My Portal Mod" 
 title 		"My Portal Mod" 
	type		singleplayer_only 
	nodifficulty	1 
	hasportals	1 
	nocrosshair	1
	nomodels	1
 
	developer		" Name " 
	developer_url		" Link " 
	manual		" - "
	icon		"resource/icon"
	FileSystem
	{
		SteamAppId				400
		ToolsAppId				211
		SearchPaths
		{
			game+mod			|gameinfo_path|.
			platform			|gameinfo_path|.
			// We search VPK files before ordinary folders, because most files will be found in
			// VPK and we can avoid making thousands of file system calls to attempt to open files
			// in folders where they don't exist. (Searching a VPK is much faster than making an operating
			// system call.)
			game_lv				portal/portal_lv.vpk
			game+mod			portal/portal_sound_vo_english.vpk
			game+mod			portal/portal_pak.vpk
			game				|all_source_engine_paths|hl2/hl2_textures.vpk
			game				|all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
			game				|all_source_engine_paths|hl2/hl2_sound_misc.vpk
			game				|all_source_engine_paths|hl2/hl2_misc.vpk
			platform			|all_source_engine_paths|platform/platform_misc.vpk
			// Now search loose files. We'll set the directory containing the gameinfo.txt file
			// as the first "mod" search path (after any user customizations). This is also the one
			// that's used when writing to the "mod" path.
			mod+mod_write+default_write_path		|gameinfo_path|.
			// Add the Portal directory as a game search path. This is also where where writes
			// to the "game" path go.
			game+game_write		portal
			// Where the game's binaries are
			gamebin				portal/bin
			// Last, mount in shared HL2 loose files
			game				|all_source_engine_paths|hl2
			platform			|all_source_engine_paths|platform
		}
	}
}
Теперь перезагрузите Steam-клиент. На данном этапе, если всё сделано верно, в списке игр появиться наш мод.
===Конфигурация мода===
====Подготовка====
А теперь, давайте создадим некоторые обязательные папки, без которого наш мод не может существовать.
Добавьте следующие папки в игровую директорию:
* cfg
* resource
* maps.
Также, можно добавить и эти папки, если у вас в моде присутствуют свои модели или звуки:
* materials
* models
* scenes
* scripts
* sound
====Создание списка карт====
В вашей игровой директории создайте файл maplist.txt. В нем мы запишем список названий всех карт (без расширения .bsp), используемых в моде. Это позволит нашей модификации заранее подзагрузить звуки для них, дабы карты запускались быстрее .
Для примера, внесем в наш maplist.txt две карты: myportalmod_map_00.bsp и myportalmod_map_01.bsp.
myportalmod_map_00
myportalmod_map_01
====Создание глав====
Ваш мод, само собой, будет делиться на главы. Для этого нужно создать определенные конфигурационные файлы в папке cfg: для первой главы - chapter1.cfg, для второй - chapter2.cfg и т.д
В этих файлах прописываются консольные команды, выполняемые при запуске главы. Как правило, применяется одна единственная команда: map название_карты
Например, первая глава начинается на карте myportalmod_map_00. Тогда в файле chapter1.cfg нужно прописать следующее:
map myportalmod_map_00
====Создание файла локализации====
Далее создадим файл локализации. Это нужно для того, чтобы можно было легко редактировать или переводить его на другой язык текст, применяемый в моде.
Сначала создадим английскую локализацию. Для этого создайте файл MyPortalMod_english.txt в нашей папке resource.
Теперь пропишите в него текст, схожий с приведенным ниже:
"lang"
{
"Language" "english"
"Tokens"
{
"MyPortalMod_chapter1"	"The First Chapter"
"MyPortalMod_chapter2"	"The Second Chapter"
}
}
MyPortalMod используется в названии локализации, поскольку точно так была названа игровая директория. "The First Chapter" - английский вариант названия первой главы. Аналогично можно прописать и названия последующих глав.
==Настройка Hammer'а==
Запустите в Steam инструмент 'Source SDK' из раздела 'Tools'. Убедитесь, что в пункте 'Engine Version' выбрано "Source Engine 2009". В меню выберите пункт 'Edit 
Game Configurations', и в новом окне кликните 'Add'. Появится ещё одно окно, спрашивающее имя и игровую директорию. В графе Name пишем название мода (пробелы допустимы), а в Directory - путь к нашей игровой директории игры. В нашем случае это: (C:\Program Files (x86)\Steam\SteamApps\sourcemods\MyPortalMod).
Кликните 'OK' на обоих всплывающих окнах. Наша конфигурация создана!
Перезапустите 'Source SDK'. Убедитесь, что в 'Engine Version' и 'Current Game' 
выставлено 'Source Engine 2009' и 'My Portal Mod', соответственно. Теперь, выберите пункт 'Hammer Editor'. В редакторе зайдите в пункт Tools > Options. Появится окно 'Configure Hammer'. Выберите вкладку 'Game Configurations' и кликните кнопку 'Add' рядом с 'Game Data Files'. Выберите файл portal.fgd (C:\Program Files (x86)\Steam\SteamApps\common\SourceSDK\bin\source2009\bin). Сохраните настройки и перезапустите Hammer.
===Альтернатива===
Если предыдущий способ не сработал: Hammer вылетает при создании файла или интерфейс отображается неверно... то лучше вообще не трогать 'Source SDK'. Вместо этого проще воспользоваться Hammer'ом, представляемым в самой игре. Он расположен в директории C:\Program Files (x86)\Steam\SteamApps\common\Portal\bin и представлен файлом hammer.exe
Используемый модом контент можно временно закинуть в игровую директорию оригинального Portal'а, стараясь избегать удаления стандартных файлов.
==Смотрите также==
* 
Category:Russian