Как зарегистрировать новый уровень в скриптах

Материал из Modders-wiki - Библиотека знаний модмейкеров S.T.A.L.K.E.R.
Перейти к: навигация, поиск
Unpack.pngТребуется распакованная gamedata
Перед тем, как приступить, предварительно распакуйте игровые архивы.
Без наличия оригинальных файлов, внести в них изменения не получится!


Как зарегистрировать новый уровень в скриптах
Описание
АвторK.D.
Тип статьисправка
АктуальностьЗП
Необходимый софтТекстовый редактор
Необходимые файлыsim_board.script, smart_terrain.script, surge_manager.script, task_objects.script

Для того, чтобы на локации работали некоторые скриптовые фишки, необходимо ее правильно прописать в скриптах. Как это сделать? Читайте ниже[1].

Добавление в симуляцию

Путь: gamedata\scripts\sim_board.script

Пример:

local group_id_by_levels = {zaton = 1,
				pripyat = 2,
				jupiter = 3,
				labx8 = 4,
				jupiter_underground = 5,
				имя_уровня = 6}


Регистрация в менеджере смарт-террейнов

Путь: gamedata\scripts\smart_terrain.script

Пример:

	local sim_squads = {
				["zaton"] = {},
				["jupiter"] = {},
				["pripyat"] = {},
				["имя_уровня"] = {}
		}
	local sim_smarts = {
				["zaton"] = {},
				["jupiter"] = {},
				["pripyat"] = {},
				["имя_уровня"] = {}
		}
	print_smarts_and_squads_by_level("zaton")
	print_smarts_and_squads_by_level("jupiter")
	print_smarts_and_squads_by_level("pripyat")
        print_smarts_and_squads_by_level("имя_уровня")

Регистрация в менеджере выбросов

Путь: gamedata\scripts\surge_manager.script

Пример:

Стр.38	self.levels_respawn = {zaton = false, jupiter = false, pripyat = false, имя_уровня = false }
Стр.323		self.levels_respawn 	= {zaton = true, jupiter = true, pripyat = true, имя_уровня = true }
Стр.346		self.levels_respawn 	= {zaton = true, jupiter = true, pripyat = true, имя_уровня = true }
Стр.632	        packet:w_bool(self.levels_respawn.zaton)
		packet:w_bool(self.levels_respawn.jupiter)
		packet:w_bool(self.levels_respawn.pripyat)
                packet:w_bool(self.levels_respawn.имя_уровня)
Стр.658	        self.levels_respawn.zaton = packet:r_bool()
		self.levels_respawn.jupiter = packet:r_bool()
		self.levels_respawn.pripyat = packet:r_bool()
                self.levels_respawn.имя_уровня= packet:r_bool()

Не забудьте прописать укрытия от выброса в файле gamedata\configs\misc\surge_manager.ltx

Регистрация в менеджере межуровневых проводников

Путь: gamedata\scripts\task_objects.script

Пример:

local guiders_by_level = {
["zaton"]={["jupiter"]="zat_b215_stalker_guide_zaton", ["pripyat"]="zat_b215_stalker_guide_zaton"},
["jupiter"]={["zaton"]="zat_b215_stalker_guide_jupiter", ["pripyat"]="jup_b43_stalker_assistant"},
	["pripyat"]={["zaton"]="jup_b43_stalker_assistant_pri", ["jupiter"]="jup_b43_stalker_assistant_pri"},
["имя_уровня"]=…}

Источник