Portal Challenge Script

From Valve Developer Community
< Ru
Jump to navigation Jump to search
English (en)Русский (ru)Translate (Translate)

Для дополнительной информации по Bonus Maps, bns-файлам и bmz-файлам см. Bonus Maps(en)

Для начала

Note.pngПримечание:Вам не понадобится GCFScape(en). Создайте bns-файл и просто сохраните его в текстовом документе с расширением .bns.
  • Запустите GCFScape и откройте portal content.gcf в вашей директории SteamApps.
  • Извлеките scripts/challenges/challenges.bns в Steam/SteamApps/USERNAME/portal/portal/scripts/challenges
  • Теперь откройте bns-файл в любом текстовом редакторе (text editor(en)).

Редактирование файла

  • Когда вы откройте файл challenges.bns вы можете увидеть скрипт вроде этого:
"#Bonus_Map_TC13Challenges"
{
	"map"		"testchmb_a_08"
	"chapter"	"chapter5.cfg"	[$X360]
	"image"		"bonusmaps/testchmb_a_08_challenges"
	"comment"	"#Bonus_Map_ChallengesComment"
	"lock"		"1"

	"challenges"
	{
		"#Bonus_Map_ChallengePortals"
		{
			"comment"	"#Bonus_Map_LeastPortalsComment"

			"bronze"	"9"
			"silver"	"5"
			"gold"		"4"
		}
		"#Bonus_Map_ChallengeSteps"
		{
			"comment"	"#Bonus_Map_LeastStepsComment"

			"bronze"	"30"
			"silver"	"20"
			"gold"		"10"
		}
		"#Bonus_Map_ChallengeTime"
		{
			"comment"	"#Bonus_Map_LeastTimeComment"

			"bronze"	"40"
			"silver"	"30"
			"gold"		"19"
		}
	}
}

"#Bonus_Map_TC13Challenges"

Эта часть кода обозначает название карты. Он связан с файлом portal_LANGUAGE.txt, который находитса в ресурсах игры.

Note.pngПримечание:Это конкретный язык, если вы не хотите делать свою карту мультиязычной, то можете просто вставить текст в "#Bonus_Map_TC13Challenges".

map

Это название карты без расширения .bsp, которую вы положили в директорию карт игры.

chapter

Эта строка относится к главе, в которой находится карта. Вы можете найти файлы этих глав в вашем GCF файле. Просто создайте новую главу с именем и .cfg расширением. Добавьте строки для каждой карты в вашей главе в файл в таком формате:

map your_map_name

Теперь поместите этот файл в steam\steamapps\USERNAME\portal\portal\cfg.

image

Это эскиз карты, который на самом деле material(en). Располагаетса он в steam\steamapps\USERNAME\portal\portal\materials\VGUI.

comment

Основное описание вашей карты. Опять же, если вы не хотите, чтобы карта была многоязычной, просто замените его текстом.

lock

Булева (boolean(en)) переменная, которая определяет будет ли карта заблокирована до завершения игры или нет.

Типы испытаний

Вы также должны установить критерии для:

  • Portals
  • Steps
  • Time

Есть три аналогичные секции в конце каждой карыт. Эта одна из них - Portals. Для Steps или Time, вместо "Portals" надо поставить Steps или Time, соответственно.

		"#Bonus_Map_ChallengePortals"
		{
			"comment"	"#Bonus_Map_LeastPortalsComment"

			"bronze"	"9"
			"silver"	"5"
			"gold"		"4"
		}

Первая строка, опять же, языково-базовая переменная. Не изменяйте её. Следующие три строки определяют количество Portals, Steps или Time для какой-либо медали.

Добавление своего испытания

Добавить своё испытание просто:

  • Сделайте карту(ы) и положите в Steam/SteamApps/USERNAME/portal/portal/maps
  • Создайте cfg-файл для каждой карты в виде: map map_name и киньте его в Steam/SteamApps/USERNAME/portal/portal/cfg.
  • Это необязательный шаг, вы можете использовать старый эскиз, или создать свой. Если вы всё же решили создать свой, то киньте его в Steam/SteamApps/USERNAME/portal/portal/materials/VGUI или в один из его подкаталогов (рекомендуется).
  • Наконец, создайте новый файл .bns и киньте его в Steam/SteamApps/USERNAME/portal/portal/scripts/challenges и отредактируйте его по инструкции или сами.

Смотрите также