Ru/Gameinfo.txt: Difference between revisions
m (Max34 moved page Gameinfo.txt:ru to Gameinfo.txt/ru) |
mNo edit summary |
||
Line 1: | Line 1: | ||
:''Для Half-Life 1/[[GoldSrc]], см. статью [[The liblist.gam File Structure|liblist.gam]].'' | |||
:''Для Half-Life 1/[[GoldSrc]], см. статью [[The liblist.gam File Structure | |||
{{toc-right}} | {{toc-right}} | ||
Line 8: | Line 7: | ||
SDK launcher сгенерирует gameinfo.txt, как только вы запустите Create a Mod Wizard. Он подходит для разработки, но перед релизом, вы захотите изменить информацию об игре. | SDK launcher сгенерирует gameinfo.txt, как только вы запустите Create a Mod Wizard. Он подходит для разработки, но перед релизом, вы захотите изменить информацию об игре. | ||
{{ | {{Note|[[Boolean|Логические]] значения представлены в виде [[integer|целых числел]].}} | ||
{{Warning|Если значение имеет пробелы, нужно "поместить его в кавычки".}} | |||
{{ | |||
== Настройки UI == | == Настройки UI == | ||
=== Название === | === Название === | ||
;<code>game <[[string:ru|строка]]></code> | ;<code>game <[[string:ru|строка]]></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>). | ||
Line 21: | Line 17: | ||
; <code>title2 <строка></code> | ; <code>title2 <строка></code> | ||
: Эти значения отображаются в виде [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, и т.д.), чтобы применять разные стили к различным частям вашего названия. {{ | : <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 <[[boolean:ru|логическое значение]]></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>. См. [[Adding Your Logo to the Menu:ru|Добавление Своего Лого в Меню]]. | ||
=== Настройки === | === Настройки === | ||
; <code>type <singleplayer_only | multiplayer_only></code> | ; <code>type <singleplayer_only | multiplayer_only></code> | ||
: Влияет на появление закладок в настройках. Может так же влиять на скорость загрузки в Steam. Пропустите, если ваш мод как однопользовательский, так и многопользовательский. | : Влияет на появление закладок в настройках. Может так же влиять на скорость загрузки в Steam. Пропустите, если ваш мод как однопользовательский, так и многопользовательский. | ||
Line 69: | Line 64: | ||
== Подгрузка Контента == | == Подгрузка Контента == | ||
{{ | {{Warning|Ваш мод не будет использовать защиту [[VAC]], если он базируется на одиночной игре.}} | ||
Существуют два этапа для добавления игрового контента: | Существуют два этапа для добавления игрового контента: | ||
Line 79: | Line 74: | ||
; <code>SteamAppID <[[integer:ru|целое число]]></code> | ; <code>SteamAppID <[[integer:ru|целое число]]></code> | ||
: [[Steam Application IDs|AppID]] игры, на которой базируется мод. Мод имеет доступ к любому доступному игровому контенту, если необходимый контент не установлен, он не будет воспроизводится. {{ | : [[Steam Application IDs|AppID]] игры, на которой базируется мод. Мод имеет доступ к любому доступному игровому контенту, если необходимый контент не установлен, он не будет воспроизводится. {{Tip|Для большинства модов это будет либо 215 (Ep1), либо 218 (OB), каждый из них использует разную версию [[Source SDK Base:ru|Source SDK Base]].}} | ||
; {{EP2 add:ru|<code>AdditionalContentId <целое число></code>}} | ; {{EP2 add:ru|<code>AdditionalContentId <целое число></code>}} | ||
: Мод для другой игры имеет доступ только к (и перечисление). В <code>AdditionalContentId</code> может быть указан любой номер. {{ | : Мод для другой игры имеет доступ только к (и перечисление). В <code>AdditionalContentId</code> может быть указан любой номер. {{Bug|Эту команду понимает движок, но не SDK инструменты! Лучшим решением, на данный момент, является копирование контента игры на локальный жёсткий диск и добавления абсолютного пути в <code>SearchPath</code> (см. ниже). Не забудьте удалить SearchPath перед релизом.}} | ||
:: {{ | :: {{Tip|Исправление доступно [[Mounting_Other_Content#Scripted_Mounting|здесь]]}} | ||
; <code>ToolsAppId <целое число></code> | ; <code>ToolsAppId <целое число></code> | ||
: Это AppID который в настоящий момент использует SDK. В текущий момент, есть только один работающий ID - 211 (the Source SDK). | : Это AppID который в настоящий момент использует SDK. В текущий момент, есть только один работающий ID - 211 (the Source SDK). | ||
Line 101: | Line 96: | ||
Source автоматически создаст SearchPaths для локализаций. Если вы монтируете <code>hl2</code>, а игрок запускает ваш мод на Французском, <code>hl2_french</code> автоматически смонтируется надлежащим образом. | Source автоматически создаст SearchPaths для локализаций. Если вы монтируете <code>hl2</code>, а игрок запускает ваш мод на Французском, <code>hl2_french</code> автоматически смонтируется надлежащим образом. | ||
{{ | {{Note|Языковые различия так же могут изменить AppID, но не волнуйтесь. Steam настроит всё самостоятельно.}} | ||
=== Пример === | === Пример === | ||
Line 165: | Line 160: | ||
} | } | ||
}</source> | }</source> | ||
Revision as of 01:37, 9 May 2023
- Для Half-Life 1/GoldSrc, см. статью liblist.gam.
gameinfo.txt
содержит описание вашего мода. Он содержит такие метаданные, как его имя, ссылка на веб-сайт или руководство, и определяет, какие игры он использует. Он хранится в папке вашего мода и нужен для определения мода в Steam. Source и SDK инструменты используют его, для получения информации о подгружаемом контенте.
SDK launcher сгенерирует gameinfo.txt, как только вы запустите Create a Mod Wizard. Он подходит для разработки, но перед релизом, вы захотите изменить информацию об игре.


Настройки UI
Название
game <строка>
- Название вашего мода в ASCII. Отображается в Steam и на панели задач Windows, но не в главном меню (если вы не определили
title
). title <строка>
title2 <строка>
- Эти значения отображаются в виде Юникода в главном меню вашего мода. Они могут отличаться от отображаемых в Steam и на рабочем столе, если вы используете свой шрифт.
title2
(и 3, 4, и т.д.), чтобы применять разные стили к различным частям вашего названия.Примечание:Вполне возможно, ваш заголовок не будет отображаться, пока вы не отредактируете
ClientTitleFont
вresource\clientscheme.res
для изменения шрифта. По умолчанию ("HalfLife2") имеет только определённый набор символов, и большая часть текста не будет отображаться правильно.
gamelogo <логическое значение>
(Во всех играх начиная с )
- Вместо отображения текста
title
/title2
, отображает содержимоеresource\GameLogo.res
. См. Добавление Своего Лого в Меню.
Настройки
type <singleplayer_only | multiplayer_only>
- Влияет на появление закладок в настройках. Может так же влиять на скорость загрузки в Steam. Пропустите, если ваш мод как однопользовательский, так и многопользовательский.
nodifficulty <логическое значение>
- Скрывает вкладку Уровень сложности (это случается автоматически, если ваш мод
multiplayer_only
)
hasportals <логическое значение>
(Во всех играх начиная с )
- Показывает вкладку настроек "Порталы"
nocrosshair <логическое значение>
- Скрывает настройки прицела в мультиплеере
advcrosshair
- Включает дополнительные настройки прицела.
nomodels <логическое значение>
- Скрывает настройку модели в мультиплеере
nohimodel <логическое значение>
- Скрывает флажок для переключения
cl_himodels
, который использовался в GoldSrc. Отображается правильно, только еслиcl_himodels
расположен в первую очередь!
Список игр в Steam
developer <строка>
- Название вашей команды (или ваше имя!)
developer_url <строка>
- Веб-сайт мода, или ваш. Должен начинаться с
http://
. manual <строка>
- Ссылка на руководство к моду; может быть локальная.
icon <строка>
- Локальный путь, относительно gameinfo.txt, иконка, отображающаяся в Steam. Не пишите расширение файла. Должна быть в несжатом 16x16 TGA.
Большие 32px иконки, которые отображаются в детальном виде должны находится там же где и обычная 16px иконка, и должна называться <icon>_big.tga
.

- Template:2009 add
- Заставляет запустить игру в режиме DirectX8, отсюда - не все эффекты.
Разное
hidden_maps <подраздел>
- Карты, которые нельзя загрузить через диалог "create server" (их можно загрузить через консоль).
- Синтаксис:
mapname 1
, по одной записи на строку. Не пишите.bsp
. Помните, чтобы открыть или закрыть подраздел, используйте { и }.
nodegraph <логическое значение>
(Во всех играх начиная с )
- Когда ложь, запрещает движку создавать сетку навигации для NPC.
GameData <строка>
(Во всех играх начиная с )
- Путь к FGD, относительно Hammer'а. В настоящее время не имеет никакого эффекта.
InstancePath <строка>
(Во всех играх начиная с )
- Найдено в gameinfo TF2 со значением
maps/instances/
...
Подгрузка Контента

Существуют два этапа для добавления игрового контента:
- Монтирование через AppID
- Монтирование папки через searchpath
При этом всё происходит в ключе filesystem
. См. ниже для примера.
SteamAppID <целое число>
- AppID игры, на которой базируется мод. Мод имеет доступ к любому доступному игровому контенту, если необходимый контент не установлен, он не будет воспроизводится.
Совет:Для большинства модов это будет либо 215 (Ep1), либо 218 (OB), каждый из них использует разную версию Source SDK Base.
AdditionalContentId <целое число>
(Во всех играх начиная с )
- Мод для другой игры имеет доступ только к (и перечисление). В
AdditionalContentId
может быть указан любой номер.Баг:Эту команду понимает движок, но не SDK инструменты! Лучшим решением, на данный момент, является копирование контента игры на локальный жёсткий диск и добавления абсолютного пути в
SearchPath
(см. ниже). Не забудьте удалить SearchPath перед релизом. [нужно проверить в ?]Совет:Исправление доступно здесь
ToolsAppId <целое число>
- Это AppID который в настоящий момент использует SDK. В текущий момент, есть только один работающий ID - 211 (the Source SDK).
SearchPaths
SearchPaths
- это еще одна группа в рамках подраздела FileSystem
. В ней содержится список папок (в виде Game <путь>
, на каждую линию), это список файлов, которые будет искать движок.
Движок начинает поиск с первого пути, и останавливает, как только находит то, что ему необходимо. Это означает, что порядок, в котором вы предоставляете список файлов - очень важен: сначала загружаются файлы из первого пути, а потом файлы из путей, расположенных ниже.
Путь поиска, как правило, является относительным к корневой директории SteamAppID
(то есть где находится hl2.exe) или он абсолютный (например, C:\SomeFolder\
). К счастью, существуют две строки, которые очень полезны:
|all_source_engine_paths|
(основная директорияSteamAppID
и директорияAdditionalContentId
, которую вы используете)|gameinfo_path|
(папка с вашим gameinfo.txt)
Локализация
Source автоматически создаст SearchPaths для локализаций. Если вы монтируете hl2
, а игрок запускает ваш мод на Французском, hl2_french
автоматически смонтируется надлежащим образом.

Пример
Следующий код смонтирует контент Episode Two и Portal:
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 и Охотников!
Если вы хотите использовать бинарники портала, вы должны просто поместить его поисковой путь выше Ep2. (Излишне говорить, что если эти бинарники в папке вашего мода, тогда будут загружены они.)
Пример Source 2013
Следующий код смонтирует контент Episode Two и Portal на 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
}
}