Манипулирование с игровым меню

From Valve Developer Community
Jump to: navigation, search
English

"Этот урок научит вас создавать собственные новые пункты в меню своего мода, которые будут выполнять консольные команды. На данный момент рассмотрим как создать пункт, который будет включать и выключать показатель FPS. Это просто. Открываем ../SteamApps/SourceMods/YourMod/Resource/GameMenu.res с помощью текстового редактора. Если файла нет, вы должны извлечь его из../SteamApps/source engine.gcf с помощью GCFScape. Зайдите в root/hl2/resource/ и извлеките файл GameMenu.Res в директорию вашего мода ../SteamApps/SourceMods/YourMod/Resource/... Если хотите поменять меню в игре (HL2, TF2 и тд.), то вы должны так же извлечь этот файл из GCF игры.

После того, как вы открыли ../SteamApps/SourceMods/YourMod/Resource/GameMenu.res файл, спуститесь до конца файла, до скобки }.

	"14"
	{
		"label" "Показать FPS"
		"command" "engine cl_showfps 1"
	}
	"15"
	{
		"label" "Убрать FPS"
		"command" "engine cl_showfps 0"
	}
Note:Для того что-бы пункт меню появлялся только в игре, используйте "OnlyInGame" "1". Чтобы пункт не был виден в мультиплеере, используйте "notmulti" "1" , если в одиночной игре, то "notsingle" "1". Числа 14 и 15 указывают порядок пунктов в меню.

В приведенном примере мы создали два пункта меню. Первый "Показать FPS" с командой cl_showfps 1 которая будет включать FPS. Второй пункт будет выключать FPS.


Вы так же можете заметить, что в пункте выхода игры в строке label написано "#GameUI_GameMenu_Quit. Это потому что, это локализованные строки в .. /Resourse/gameui_english.txt. (Копию файла можно найти в ../SteamApps/ engine.gcf). Вы также можете добавить свои собственные строки в gameui_english.txt или HL2_english.txt и использовать их для обозначения ваших пунктов в меню игры.

Note:Если вы делаете ваш собственный мод, то вам необходимо убедиться, что вы делаете копию ../Resource/HL2_english.txt и переименуете в ../Resource/НазваниеВашегоМода_english.txt. В противном случае источник не сможет найти его.