Ru/Gameinfo.txt: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m (Nesciuse moved page Gameinfo.txt/ru to Ru/Gameinfo.txt over redirect: Language prefixes)
m (-Using L template for links)
Line 1: Line 1:
:''Для Half-Life 1/[[GoldSrc]], см. статью [[The liblist.gam File Structure|liblist.gam]].''
:''Для Half-Life 1/{{L|GoldSrc}}, см. статью {{L|The liblist.gam File Structure|liblist.gam}}.''


{{toc-right}}
{{toc-right}}
Line 7: Line 7:
SDK launcher сгенерирует gameinfo.txt, как только вы запустите Create a Mod Wizard. Он подходит для разработки, но перед релизом, вы захотите изменить информацию об игре.
SDK launcher сгенерирует gameinfo.txt, как только вы запустите Create a Mod Wizard. Он подходит для разработки, но перед релизом, вы захотите изменить информацию об игре.


{{Note|[[Boolean|Логические]] значения представлены в виде [[integer|целых числел]].}}
{{Note|{{L|Boolean|Логические}} значения представлены в виде {{L|integer|целых числел}}.}}
{{Warning|Если значение имеет пробелы, нужно "поместить его в кавычки".}}
{{Warning|Если значение имеет пробелы, нужно "поместить его в кавычки".}}


== Настройки UI ==
== Настройки UI ==
=== Название ===
=== Название ===
;<code>game <[[String/ru|строка]]></code>
;<code>game <{{L|String|строка}}></code>
: Название вашего мода в [http://ru.wikipedia.org/wiki/ASCII ASCII]. Отображается в Steam и на панели задач Windows, но ''не'' в главном меню (если вы не определили <code>title</code>).
: Название вашего мода в [http://ru.wikipedia.org/wiki/ASCII ASCII]. Отображается в Steam и на панели задач Windows, но ''не'' в главном меню (если вы не определили <code>title</code>).
; <code>title <строка></code>
; <code>title <строка></code>
Line 18: Line 18:
: Эти значения отображаются в виде [http://ru.wikipedia.org/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4 Юникода] в главном меню вашего мода. Они могут отличаться от отображаемых в Steam и на рабочем столе, если вы используете свой шрифт.
: Эти значения отображаются в виде [http://ru.wikipedia.org/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4 Юникода] в главном меню вашего мода. Они могут отличаться от отображаемых в Steam и на рабочем столе, если вы используете свой шрифт.
: <code>title2</code> (и 3, 4, и т.д.), чтобы применять разные стили к различным частям вашего названия. {{Note|Вполне возможно, ваш заголовок не будет отображаться, пока вы не отредактируете <code>ClientTitleFont</code> в <code>resource\clientscheme.res</code> для изменения шрифта. По умолчанию ("HalfLife2") имеет только определённый набор символов, и большая часть текста не будет отображаться правильно.}}
: <code>title2</code> (и 3, 4, и т.д.), чтобы применять разные стили к различным частям вашего названия. {{Note|Вполне возможно, ваш заголовок не будет отображаться, пока вы не отредактируете <code>ClientTitleFont</code> в <code>resource\clientscheme.res</code> для изменения шрифта. По умолчанию ("HalfLife2") имеет только определённый набор символов, и большая часть текста не будет отображаться правильно.}}
; {{EP2 add:ru|<code>gamelogo <[[boolean:ru|логическое значение]]></code>}}
; {{EP2 add:ru|<code>gamelogo <{{L|boolean|логическое значение}}></code>}}
: Вместо отображения текста <code>title</code>/<code>title2</code>, отображает содержимое <code>resource\GameLogo.res</code>. См. [[Adding Your Logo to the Menu:ru|Добавление Своего Лого в Меню]].
: Вместо отображения текста <code>title</code>/<code>title2</code>, отображает содержимое <code>resource\GameLogo.res</code>. См. {{L|Adding Your Logo to the Menu|Добавление Своего Лого в Меню}}.


=== Настройки ===
=== Настройки ===
; <code>type <singleplayer_only | multiplayer_only></code>
; <code>type <singleplayer_only | multiplayer_only></code>
: Влияет на появление закладок в настройках. Может так же влиять на скорость загрузки в Steam. Пропустите, если ваш мод как однопользовательский, так и многопользовательский.
: Влияет на появление закладок в настройках. Может так же влиять на скорость загрузки в Steam. Пропустите, если ваш мод как однопользовательский, так и многопользовательский.
; <code>nodifficulty <[[boolean:ru|логическое значение]]></code>
; <code>nodifficulty <{{L|boolean|логическое значение}}></code>
: Скрывает вкладку Уровень сложности (это случается автоматически, если ваш мод <code>multiplayer_only</code>)
: Скрывает вкладку Уровень сложности (это случается автоматически, если ваш мод <code>multiplayer_only</code>)
; {{EP2 add:ru|<code>hasportals <[[boolean:ru|логическое значение]]></code>}}
; {{EP2 add:ru|<code>hasportals <{{L|boolean|логическое значение}}></code>}}
: Показывает вкладку настроек "Порталы"
: Показывает вкладку настроек "Порталы"
; <code>nocrosshair <[[boolean:ru|логическое значение]]></code>
; <code>nocrosshair <{{L|boolean|логическое значение}}></code>
: Скрывает настройки прицела в мультиплеере
: Скрывает настройки прицела в мультиплеере
; <code>advcrosshair</code>
; <code>advcrosshair</code>
: Включает дополнительные настройки прицела.
: Включает дополнительные настройки прицела.
; <code>nomodels <[[boolean:ru|логическое значение]]></code>
; <code>nomodels <{{L|boolean|логическое значение}}></code>
: Скрывает настройку модели в мультиплеере
: Скрывает настройку модели в мультиплеере
; <code>nohimodel <[[boolean:ru|логическое значение]]></code>
; <code>nohimodel <{{L|boolean|логическое значение}}></code>
: Скрывает флажок для переключения <code>cl_himodels</code>, который использовался в [[GoldSrc]]. Отображается правильно, только если <code>cl_himodels</code> расположен в первую очередь!
: Скрывает флажок для переключения <code>cl_himodels</code>, который использовался в {{L|GoldSrc}}. Отображается правильно, только если <code>cl_himodels</code> расположен в первую очередь!


=== Список игр в Steam ===
=== Список игр в Steam ===


; <code>developer <[[String/ru|строка]]></code>
; <code>developer <{{L|String|строка}}></code>
: Название вашей команды (или ваше имя!)
: Название вашей команды (или ваше имя!)
; <code>developer_url <строка></code>
; <code>developer_url <строка></code>
Line 55: Line 55:
: Карты, которые нельзя загрузить через диалог "create server" (их можно загрузить через консоль).
: Карты, которые нельзя загрузить через диалог "create server" (их можно загрузить через консоль).
: Синтаксис: <code>mapname 1</code>, по одной записи на строку. Не пишите <code>.bsp</code>. Помните, чтобы открыть или закрыть подраздел, используйте { и }.
: Синтаксис: <code>mapname 1</code>, по одной записи на строку. Не пишите <code>.bsp</code>. Помните, чтобы открыть или закрыть подраздел, используйте { и }.
; {{EP2 add:ru|<code>nodegraph <[[boolean:ru|логическое значение]]></code>}}
; {{EP2 add:ru|<code>nodegraph <{{L|boolean|логическое значение}}></code>}}
: Когда ложь, запрещает движку создавать [[nodegraph|сетку навигации для NPC]].
: Когда ложь, запрещает движку создавать {{L|nodegraph|сетку навигации для NPC}}.
; {{EP2 add:ru|<code>GameData <строка></code>}}
; {{EP2 add:ru|<code>GameData <строка></code>}}
: Путь к FGD, относительно Hammer'а. В настоящее время не имеет никакого эффекта.
: Путь к FGD, относительно Hammer'а. В настоящее время не имеет никакого эффекта.
Line 64: Line 64:
== Подгрузка Контента ==
== Подгрузка Контента ==


{{Warning|Ваш мод не будет использовать защиту [[VAC]], если он базируется на одиночной игре.}}
{{Warning|Ваш мод не будет использовать защиту {{L|VAC}}, если он базируется на одиночной игре.}}


Существуют два этапа для добавления игрового контента:
Существуют два этапа для добавления игрового контента:
Line 73: Line 73:
При этом всё происходит в ключе <code>filesystem</code>. См. ниже для примера.
При этом всё происходит в ключе <code>filesystem</code>. См. ниже для примера.


; <code>SteamAppID <[[Integer/ru|целое число]]></code>
; <code>SteamAppID <{{L|Integer|целое число}}></code>
: [[Steam Application IDs|AppID]] игры, на которой базируется мод. Мод имеет доступ к любому доступному игровому контенту, если необходимый контент не установлен, он не будет воспроизводится. {{Tip|Для большинства модов это будет либо 215 (Ep1), либо 218 (OB), каждый из них использует разную версию [[Source SDK Base:ru|Source SDK Base]].}}
: {{L|Steam Application IDs|AppID}} игры, на которой базируется мод. Мод имеет доступ к любому доступному игровому контенту, если необходимый контент не установлен, он не будет воспроизводится. {{Tip|Для большинства модов это будет либо 215 (Ep1), либо 218 (OB), каждый из них использует разную версию {{L|Source SDK Base}}.}}
; {{EP2 add:ru|<code>AdditionalContentId <целое число></code>}}
; {{EP2 add:ru|<code>AdditionalContentId <целое число></code>}}
: Мод для другой игры имеет доступ только к (и перечисление). В <code>AdditionalContentId</code> может быть указан любой номер. {{Bug|Эту команду понимает движок, но не SDK инструменты! Лучшим решением, на данный момент, является копирование контента игры на локальный жёсткий диск и добавления абсолютного пути в <code>SearchPath</code> (см. ниже). Не забудьте удалить SearchPath перед релизом.}}
: Мод для другой игры имеет доступ только к (и перечисление). В <code>AdditionalContentId</code> может быть указан любой номер. {{Bug|Эту команду понимает движок, но не SDK инструменты! Лучшим решением, на данный момент, является копирование контента игры на локальный жёсткий диск и добавления абсолютного пути в <code>SearchPath</code> (см. ниже). Не забудьте удалить SearchPath перед релизом.}}
Line 100: Line 100:
=== Пример ===
=== Пример ===


Следующий код смонтирует контент [[Episode Two]] и [[Portal]]:
Следующий код смонтирует контент {{L|Episode Two}} и {{L|Portal}}:


<source lang=ini>FileSystem
<source lang=ini>FileSystem
Line 118: Line 118:
}</source>
}</source>


Episode Two загружается первым и имеет приоритет. Это означает, что как только Ep2 бинарники будут загружены, вы не сможете использовать порталы, однако вы ''можете'' использовать [[GLaDOS]] и [[Hunter|Охотников]]!
Episode Two загружается первым и имеет приоритет. Это означает, что как только Ep2 бинарники будут загружены, вы не сможете использовать порталы, однако вы ''можете'' использовать {{L|GLaDOS}} и {{L|Hunter|Охотников}}!


Если вы хотите использовать бинарники портала, вы должны просто поместить его поисковой путь выше Ep2. (Излишне говорить, что если эти бинарники в папке вашего мода, тогда будут загружены ''они''.)
Если вы хотите использовать бинарники портала, вы должны просто поместить его поисковой путь выше Ep2. (Излишне говорить, что если эти бинарники в папке вашего мода, тогда будут загружены ''они''.)
Line 124: Line 124:
== Пример Source 2013 ==
== Пример Source 2013 ==


Следующий код смонтирует контент [[Episode Two]] и [[Portal]] на 2013 версии движка:
Следующий код смонтирует контент {{L|Episode Two}} и {{L|Portal}} на 2013 версии движка:


<source lang=ini>FileSystem
<source lang=ini>FileSystem

Revision as of 08:56, 11 July 2024

Для Half-Life 1/GoldSrc(en), см. статью liblist.gam(en).

gameinfo.txt содержит описание вашего мода. Он содержит такие метаданные, как его имя, ссылка на веб-сайт или руководство, и определяет, какие игры он использует. Он хранится в папке вашего мода и нужен для определения мода в Steam. Source и SDK инструменты используют его, для получения информации о подгружаемом контенте.

SDK launcher сгенерирует gameinfo.txt, как только вы запустите Create a Mod Wizard. Он подходит для разработки, но перед релизом, вы захотите изменить информацию об игре.

Note.pngПримечание:Логические(en) значения представлены в виде целых числел(en).
Warning.pngПредупреждение:Если значение имеет пробелы, нужно "поместить его в кавычки".

Настройки UI

Название

game <строка(en)>
Название вашего мода в ASCII. Отображается в Steam и на панели задач Windows, но не в главном меню (если вы не определили title).
title <строка>
title2 <строка>
Эти значения отображаются в виде Юникода в главном меню вашего мода. Они могут отличаться от отображаемых в Steam и на рабочем столе, если вы используете свой шрифт.
title2 (и 3, 4, и т.д.), чтобы применять разные стили к различным частям вашего названия.
Note.pngПримечание:Вполне возможно, ваш заголовок не будет отображаться, пока вы не отредактируете ClientTitleFont в resource\clientscheme.res для изменения шрифта. По умолчанию ("HalfLife2") имеет только определённый набор символов, и большая часть текста не будет отображаться правильно.

gamelogo <логическое значение(en)> (Во всех играх начиная с Source 2007)

Вместо отображения текста title/title2, отображает содержимое resource\GameLogo.res. См. Добавление Своего Лого в Меню(en).

Настройки

type <singleplayer_only | multiplayer_only>
Влияет на появление закладок в настройках. Может так же влиять на скорость загрузки в Steam. Пропустите, если ваш мод как однопользовательский, так и многопользовательский.
nodifficulty <логическое значение(en)>
Скрывает вкладку Уровень сложности (это случается автоматически, если ваш мод multiplayer_only)

hasportals <логическое значение(en)> (Во всех играх начиная с Source 2007)

Показывает вкладку настроек "Порталы"
nocrosshair <логическое значение(en)>
Скрывает настройки прицела в мультиплеере
advcrosshair
Включает дополнительные настройки прицела.
nomodels <логическое значение(en)>
Скрывает настройку модели в мультиплеере
nohimodel <логическое значение(en)>
Скрывает флажок для переключения cl_himodels, который использовался в GoldSrc(en). Отображается правильно, только если cl_himodels расположен в первую очередь!

Список игр в Steam

developer <строка(en)>
Название вашей команды (или ваше имя!)
developer_url <строка>
Веб-сайт мода, или ваш. Должен начинаться с http://.
manual <строка>
Ссылка на руководство к моду; может быть локальная.
icon <строка>
Локальный путь, относительно gameinfo.txt, иконка, отображающаяся в Steam. Не пишите расширение файла. Должна быть в несжатом 16x16 TGA.

Большие 32px иконки, которые отображаются в детальном виде должны находится там же где и обычная 16px иконка, и должна называться <icon>_big.tga.

Note.pngПримечание:Чтобы прозрачность работала, TGA должен быть сохранён в режиме 32-bit с включённым альфа-каналом.
Template:2009 add
Заставляет запустить игру в режиме DirectX8, отсюда - не все эффекты.

Разное

hidden_maps <подраздел>
Карты, которые нельзя загрузить через диалог "create server" (их можно загрузить через консоль).
Синтаксис: mapname 1, по одной записи на строку. Не пишите .bsp. Помните, чтобы открыть или закрыть подраздел, используйте { и }.

nodegraph <логическое значение(en)> (Во всех играх начиная с Source 2007)

Когда ложь, запрещает движку создавать сетку навигации для NPC(en).

GameData <строка> (Во всех играх начиная с Source 2007)

Путь к FGD, относительно Hammer'а. В настоящее время не имеет никакого эффекта.

InstancePath <строка> (Во всех играх начиная с Source 2007)

Найдено в gameinfo TF2 со значением maps/instances/...

Подгрузка Контента

Warning.pngПредупреждение:Ваш мод не будет использовать защиту VAC(en), если он базируется на одиночной игре.

Существуют два этапа для добавления игрового контента:

  1. Монтирование через AppID
  2. Монтирование папки через searchpath

При этом всё происходит в ключе filesystem. См. ниже для примера.

SteamAppID <целое число(en)>
AppID(en) игры, на которой базируется мод. Мод имеет доступ к любому доступному игровому контенту, если необходимый контент не установлен, он не будет воспроизводится.
Tip.pngСовет:Для большинства модов это будет либо 215 (Ep1), либо 218 (OB), каждый из них использует разную версию Source SDK Base(en).

AdditionalContentId <целое число> (Во всех играх начиная с Source 2007)

Мод для другой игры имеет доступ только к (и перечисление). В AdditionalContentId может быть указан любой номер.
Icon-Bug.pngБаг:Эту команду понимает движок, но не SDK инструменты! Лучшим решением, на данный момент, является копирование контента игры на локальный жёсткий диск и добавления абсолютного пути в SearchPath (см. ниже). Не забудьте удалить SearchPath перед релизом.  [нужно проверить в ?]
Tip.pngСовет:Исправление доступно здесь
ToolsAppId <целое число>
Это AppID который в настоящий момент использует SDK. В текущий момент, есть только один работающий ID - 211 (the Source SDK).

SearchPaths

SearchPaths - это еще одна группа в рамках подраздела FileSystem. В ней содержится список папок (в виде Game <путь>, на каждую линию), это список файлов, которые будет искать движок.

Движок начинает поиск с первого пути, и останавливает, как только находит то, что ему необходимо. Это означает, что порядок, в котором вы предоставляете список файлов - очень важен: сначала загружаются файлы из первого пути, а потом файлы из путей, расположенных ниже.

Путь поиска, как правило, является относительным к корневой директории SteamAppID (то есть где находится hl2.exe) или он абсолютный (например, C:\SomeFolder\). К счастью, существуют две строки, которые очень полезны:

  1. |all_source_engine_paths| (основная директория SteamAppID и директория AdditionalContentId, которую вы используете)
  2. |gameinfo_path| (папка с вашим gameinfo.txt)

Локализация

Source автоматически создаст SearchPaths для локализаций. Если вы монтируете hl2, а игрок запускает ваш мод на Французском, hl2_french автоматически смонтируется надлежащим образом.

Note.pngПримечание:Языковые различия так же могут изменить AppID, но не волнуйтесь. Steam настроит всё самостоятельно.

Пример

Следующий код смонтирует контент Episode Two(en) и Portal(en):

FileSystem
{
	SteamAppId	420	// Ep2
	ToolsAppId	211
	AdditionalContentId	400	// Portal

	SearchPaths
	{
		Game	|gameinfo_path|.	// В первую очередь указывается директория вашего мода
		Game	|all_source_engine_paths|ep2
		Game	|all_source_engine_paths|episodic	// Ep2 так же использует некоторый Ep1 контент
		Game	|all_source_engine_paths|portal
		Game	|all_source_engine_paths|hl2	// HL2 всегда должен быть последним
	}
}

Episode Two загружается первым и имеет приоритет. Это означает, что как только Ep2 бинарники будут загружены, вы не сможете использовать порталы, однако вы можете использовать GLaDOS(en) и Охотников(en)!

Если вы хотите использовать бинарники портала, вы должны просто поместить его поисковой путь выше Ep2. (Излишне говорить, что если эти бинарники в папке вашего мода, тогда будут загружены они.)

Пример Source 2013

Следующий код смонтирует контент Episode Two(en) и Portal(en) на 2013 версии движка:

FileSystem
{
	SteamAppId					243730				// Source SDK Base 2013 Singleplayer
	SearchPaths
	{
		// No /custom/ folders because they can interfere with mod content and shouldn't be in mod gameinfo.
		game+mod+mod_write+default_write_path	|gameinfo_path|.		// Mod
		gamebin					|gameinfo_path|bin		// Mod's Binaries

		// Using SSDKBase13 path, then back to /common/ and then using Portal folder. 
		// |all_source_engine_paths| magic help here too.
		game				|all_source_engine_paths|../Portal/portal/portal_sound_vo_english.vpk 
		game				|all_source_engine_paths|../Portal/portal/portal_pak.vpk 		

		// Base Half-Life 2 Content: ep2, episodic, hl2
		game_lv					|all_source_engine_paths|hl2/hl2_lv.vpk
		game					|all_source_engine_paths|ep2/ep2_english.vpk
		game					|all_source_engine_paths|ep2/ep2_pak.vpk
		game					|all_source_engine_paths|episodic/ep1_english.vpk
		game					|all_source_engine_paths|episodic/ep1_pak.vpk
		game					|all_source_engine_paths|hl2/hl2_english.vpk
		game					|all_source_engine_paths|hl2/hl2_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

		// TODO; find out what is it and why it's here
		game					|all_source_engine_paths|episodic
		game					|all_source_engine_paths|hl2
		platform				|all_source_engine_paths|platform
	}
}