Меню сайта


[DS]: Half-Life Server
[DS]: Half-Life Server


[DS]: CS:S GunGame v34 Server
[DS]: CS:S GunGame v34 Server


[DS]: CS:S v34 Server
[DS]: CS:S v34 Server


Поиск

add_newДобавить новость
Последние добавленные

just a retexture i did of a popular skin pack

Читать далее

<JAM>
m1-palinka


HL-HEV
hl-hev

DS-Servers
Туториалы
Редактирование главного меню в Half-Life и Counter-Strike


Редактирование главного меню в Half-Life и Counter-Strike

Добавил: root
2013-09-13 13:17:24
2294 просмотра

В этой статье рассказывается как можно отредактировать главное меню в Half-Life, Counter-Strike и их модах на примере создания кнопки подключения к любимому серверу.

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

Итак, приступим. Для начала идем в папку с игрой и ищем там файл /resource/gamemenu.res и видим нечто подобное:

"GameMenu"
{
	"1"
	{
		"label" "#GameUI_GameMenu_ResumeGame"
		"command" "ResumeGame"
		"OnlyInGame" "1"
	}
	"2"
	{
		"label" "#GameUI_GameMenu_Disconnect"
		"command" "Disconnect"
		"OnlyInGame" "1"
		"notsingle" "1"
	}
	"4"
	{
		"label" "#GameUI_GameMenu_PlayerList"
		"command" "OpenPlayerListDialog"
		"OnlyInGame" "1"
		"notsingle" "1"
	}
	"5"
	{
		"label" ""
		"command" ""
		"OnlyInGame" "1"
	}
	"6"
	{
		"label" "#GameUI_GameMenu_NewGame"
		"command" "OpenNewGameDialog"
		"notmulti" "1"
	}
	"7"
	{
		"label" "#GameUI_GameMenu_LoadGame"
		"command" "OpenLoadGameDialog"
		"notmulti" "1"
	}
	"8"
	{
		"label" "#GameUI_GameMenu_SaveGame"
		"command" "OpenSaveGameDialog"
		"notmulti" "1"
		"OnlyInGame" "1"
	}
	"9"
	{
		"label" ""
		"command" ""
		"notmulti" "1"
	}
	"10"
	{
		"label" "#GameUI_GameMenu_FindServers"
		"command" "OpenServerBrowser"
		"notsingle" "1"
	}
	"11"
	{
		"label" "#GameUI_GameMenu_CreateServer"
		"command" "OpenCreateMultiplayerGameDialog"
		"notsingle" "1"
	}
	"12"
	{
		"name" "LoadDemo"
		"label" "#GameUI_GameMenu_PlayDemo"
		"command" "OpenLoadDemoDialog"
	}
	"13"
	{
		"label" ""
		"command" ""
		"notsingle" "1"
	}
	"14"
	{
		"label" "#GameUI_GameMenu_ChangeGame"
		"command" "OpenChangeGameDialog"
	}
	"15"
	{
		"label" "#GameUI_GameMenu_Options"
		"command" "OpenOptionsDialog"
	}
	"16"
	{
		"label" "#GameUI_GameMenu_Quit"
		"command" "Quit"
	}
}

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

Каждый блок имеет параметр "label" - это текст, который написан на кнопке. Это может быть как просто текст, так и языковая константа, которая всегда начинается с символа '#'.

Вторым параметром является "command" в нем указывается действие, которое выполняет кнопка. Если нужно указать команду консоли, то вначале ставится слово "engine". Например, для подключения к нашему серверу команда будет такая:

engine connect hl.ds-servers.com:27015

Остальные параметры:

  • notsingle - если 1, то кнопка не будет отображаться в решиме одиночной игры
  • notmulti - если 1, то кнопка не будет отображаться в решиме сетевой игры
  • OnlyInGame - если 1, то кнопка не будет отображаться в решиме сетевой игры

В результате получаем следующий код:

"1"
{
	"label" "[DS]: Half-Life Server" 
	"command" "engine connect hl.ds-servers.com:27015" 
}

Команду и надпись замените на свою.

Теперь вставляем его в файл в том месте, где хотите видеть кнопку.

"GameMenu"
{
	"1"
	{
		"label" "[DS]: Half-Life Server" 
		"command" "engine connect hl.ds-servers.com:27015" 
	}
	"2"
	{
		"label" "#GameUI_GameMenu_ResumeGame"
		"command" "ResumeGame"
		"OnlyInGame" "1"
	}
	"3"
	{
		"label" "#GameUI_GameMenu_Disconnect"
		"command" "Disconnect"
		"OnlyInGame" "1"
		"notsingle" "1"
	}
	"4"
	{
		"label" "#GameUI_GameMenu_PlayerList"
		"command" "OpenPlayerListDialog"
		"OnlyInGame" "1"
		"notsingle" "1"
	}
	"5"
	{
		"label" ""
		"command" ""
		"OnlyInGame" "1"
	}
	"6"
	{
		"label" "#GameUI_GameMenu_NewGame"
		"command" "OpenNewGameDialog"
		"notmulti" "1"
	}
	"7"
	{
		"label" "#GameUI_GameMenu_LoadGame"
		"command" "OpenLoadGameDialog"
		"notmulti" "1"
	}
	"8"
	{
		"label" "#GameUI_GameMenu_SaveGame"
		"command" "OpenSaveGameDialog"
		"notmulti" "1"
		"OnlyInGame" "1"
	}
	"9"
	{
		"label" ""
		"command" ""
		"notmulti" "1"
	}
	"10"
	{
		"label" "#GameUI_GameMenu_FindServers"
		"command" "OpenServerBrowser"
		"notsingle" "1"
	}
	"11"
	{
		"label" "#GameUI_GameMenu_CreateServer"
		"command" "OpenCreateMultiplayerGameDialog"
		"notsingle" "1"
	}
	"12"
	{
		"name" "LoadDemo"
		"label" "#GameUI_GameMenu_PlayDemo"
		"command" "OpenLoadDemoDialog"
	}
	"13"
	{
		"label" ""
		"command" ""
		"notsingle" "1"
	}
	"14"
	{
		"label" "#GameUI_GameMenu_ChangeGame"
		"command" "OpenChangeGameDialog"
	}
	"15"
	{
		"label" "#GameUI_GameMenu_Options"
		"command" "OpenOptionsDialog"
	}
	"16"
	{
		"label" "#GameUI_GameMenu_Quit"
		"command" "Quit"
	}
}

Нужно поменять цифры в кавычках, у каждого блока, они должны идти по порядку но могут быть пропуски.

Вот и все, меню готово. Если есть вопросы - пишите в коментарии.

Поделиться:
Тэги: