Перейти к содержимому
Бунтовые биты

Бунтовые биты

  • Дом
  • Новости
  • Путеводители
  • Видео-гиды
  • Примечания к патчу
  • Сообщить о нарушении
  • Переключить форму поиска

Блоки передач – Как создавать собственные сценарии

Опубликовано 11/15/2023 К опасность726 Без комментариев на Блоки передач – Как создавать собственные сценарии
  • Заголовок: Блоки передач
  • Дата выпуска: ноябрь 9, 2023
  • Разработчик: Игры SmashHammer
  • Издатель: Игры SmashHammer

Создание сценария может сделать игру дольше, добавив вызовы, мини-игры, или совершенно новый способ играть. Вот как вы можете начать делать свои собственные:

Введение

Вместо того, чтобы играть творческим способом, где вы можете делать что угодно, Сценарий более структурирован. У него есть конкретные цели, набор ограниченных инструментов или деталей, а иногда и другие правила. Учебник, Комплект сборка, и все сценарии на коленях созданы таким структурированным способом. Они показывают, чего вы можете достичь, используя эту систему.

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

Пожалуйста, обрати внимание: Пример сценария в этом руководстве можно найти на семинаре, поиск “Anexampresserio.”

Сцена

Чтобы начать создавать сценарий, Первоначально - подготовить сцену.

В творческой панели, выберите “Новая пустая сцена” вариант. Выберите карту, Настройте среду, если хотите, а затем нажмите кнопку воспроизведения.

Если вы хотите, чтобы ваш сценарий начался с пустой сцены, Вы закончили на этом этапе; Вы можете сохранить его как есть. Однако, Многие сценарии требуют, чтобы некоторые структуры присутствовали с самого начала.

Например, Здесь у нас есть грузовик -вилочный погрузчик, Зеленый ствол на палитре, и контрольная точка цилиндра:

Кроме того, есть круговая часть, символизирующая “золотая монета.” Это послужит шаблоном для вознаграждений, которые мы создадим в сценарии сценария.

Сейчас, Попробуйте устроить сцену, которая напоминает одну иллюстрированную.

Как только ваша сцена будет подготовлена, Перейти на экран «Сохранить сцену». Предоставить ему имя, описание, и добавить “сценарий” как тег. После, Нажмите кнопку Сохранить:

ПРИМЕЧАНИЕ: Вы должны пометить сохранение с “сценарий”, так что его можно загрузить из Начать сценарий экран позже.

Идентификаторы сцены

В сценарии, Сценарий LUA должен определить детали или конструкции на сцене, чтобы манипулировать ими. Каждая часть и конструкция имеет уникальный идентификатор сцены для этой цели.

Чтобы узнать идентификаторы объектов в сцене, вы можете использовать “Частично” мод сценария предоставлен. Загрузите его с экрана модов сценариев, найдено под “Встроенные примеры” вкладка.

Когда вы нацелитесь на роль в сцене, он отобразит идентификатор конструкции, которой он принадлежит:

Не забудьте записать идентификационные номера вилочного погрузчика, бочка, контрольно-пропускной пункт, и “Золотая монетная награда” Конструкции в вашей сцене.

ВАЖНЫЙ: Убедитесь, что вы отмечаете идентификаторы строительства, Не точки части!

Сценарий сценарий

Go to %USERPROFILE%\AppData\LocalLow\SmashHammer Games\GearBlocks\SavedScenes and locate the folder for your saved scene (например, Anexampresserial). В этой папке, Создайте новый пустой текстовый файл и назовите его сценарий.lua:

При загрузке сцены из Начать сценарий экран, Игра автоматически загрузится сценарий.lua Если это найдет.

Редактировать сценарий.lua файл, и введите следующий код LUA:

-- Идентификаторы конструкций в сохраненной сцене:
локальная контрольная точка -конструкция = <ID идет сюда>
локальный BarrelConstructionId = <ID идет сюда>
Местный вознаграждение TemplateConstructionId = <ID идет сюда>
локальный forkliftConstructionId = <ID идет сюда>

local checkpointPosition = Vector3.Zero
local rewardTemplatePart = nil

local isGoalAchieved = false

ВАЖНЫЙ: Вместо каждого <ID идет сюда>, Замените его на соответствующий идентификационный номер конструкции, который вы отметили.

Сейчас, Включите следующие функции. Эти функции деактивируют инструменты и другие функции, и установить пользовательский интерфейс. Мы будем ссылаться на это во время инициализации:

Локальная функция не допускает функций()
	-- Установите переменные, чтобы отключить функции игры.
	NoBuilderTool.Value = true
	NoMaterialTool.Value = true
	NoLinkerTool.Value = true
	NoPainterTool.Value = true
	NoGrabberTool.Value = true
	NoSceneTool.Value = true
	NoPartSpawnDestroy.Value = true
	NoConstructionSaveLoad.Value = true
	NoSceneSave.Value = true
end

local function initUI()
	-- Создать окно пользовательского интерфейса.
	Win = windows.createwindow()
	Win.SetAlenment( align_rightedge, 20, 300 )
	Win.SetAlenment( align_topedge, 80, 200 )
	Win.Title = 'FORKLIFT CHALLENGE'
	Win.Show( истинный )
	Win.isclosable = false

	-- Добавьте к нему текстовую метку.
	Метка = win.createLabel()
	Метка .setAlenment( align_horizedges, 10, 10 )
	Метка .setAlenment( align_vertedges, 10, 10 )
	Label.fontsize = 30
	Label.Alignment = textAnc_MiddleCenter
	Label.Text = "Используйте вилочный погрузчик, чтобы положить ствол в целевую зону ..."
конец

Затем, Добавить следующий блок кода:

Локальная функция OnReardConstructionSpaked( строительство )
	-- Разморозить порожденную часть.
	Constructionops.setConstructionFrozen( Строительство.id, ЛОЖЬ )
end

local function spawnRewards( Numparts )
	-- Добавьте обработчик в мероприятие, которое, по -видимому,.
	-- Это поднимается в игре, когда строится строительство.
	ConstructionSpawned.handler.Add( OnReardConstructionSpaked )

	-- Временно включить нереску части.
	Nopartspawndestroy.value = false

	-- Породить награду "золотая монета" части, дублируя их из шаблона.
	if rewardTemplatePart then
		for i = 1, Numparts делают
			-- Случайное место рядом с контрольной точкой.
			локальная Spawnposition = контрольная точка + Vector3 .__ Новый( Math.random() * 5 - 2.5, Math.random() * 2 + 2, Math.random() * 5 - 2.5 )
			локальная спавнизация = Quaternion.euler( Math.random() * 360, Math.random() * 360, Math.random() * 360 )

			-- Породить дубликатную часть.
			PopConstructions.duplicatePart( rewardtemplatepart.id, Spawnposition, Spawnerientation )
		end
	end

	-- Снова отключить нересту.
	Nopartspawndestroy.value = true

	-- Удалить, удалив наш обработчик конструкции, а также.
	ConstructionSpawned.handler.remove( OnReardConstructionSpaked )
конец

Функция SpawnEards(Numparts) генерирует несколько частей вознаграждения в случайных положениях, дублируя их из шаблона. Мы будем использовать эту функцию, когда игрок достигнет цели.

Сейчас, Добавьте следующее к своему скрипту LUA:

Локальная функция OnConstructionEnderchpoint( строительство )
	-- Проверьте, является ли конструкция, введенная в контрольную точку, является стволом.
	-- Если так, Затем цель была достигнута.
	если не иссечено и (Construction.id == BarrelConstructionId) then
		Label.Text = "<цвет = желтый>Отличная работа, иметь несколько золотых монет!</цвет>"
		SpawnEards( 10 )
		isGoalAchieved = true
	end
end

local function initScene()
	-- Начните с создания всех конструкций на сцене не нацелимым.
	for construction in Constructions.Instances do
		ConstructionOps.SetConstructionTargetable( Строительство.id, ЛОЖЬ )
	конец

	-- Затем сделайте вилочный погрузчик, чтобы игрок мог войти и водить его.
	Constructionops.setConstructionTargetable( forkliftConstructionId, истинный )

	локальная контрольная конструкция = строительство.( CheckPointConstructionId )
	Local CheckPointPart = CheckPointConstruction.getPart( 0 )

	-- Кэшировать мировую позицию в области контрольной точки для последующего использования.
	CheckPointPosition = CheckPointPart.position

	-- Добавьте обработчик в конструктивное событие поведения контрольной точки.
	-- Это поднимается всякий раз, когда строительство входит в контрольно -пропускной пункт.
	for behaviour in checkpointPart.Behaviours do
		if behaviour.Name == 'Checkpoint' then
			behaviour.OnConstructionEntered.add( OnConstructionEnderedCheckpoint )
			break
		end
	end

	-- Кэшировать награду "золотая монета" шаблона для последующего использования.
	Local rewardtemplateConstruction = Constructions.GetinStance( rewardtemplateConstructionId )
	rewardtemplatepart = rewardtemplateConstruction.getPart( 0 )

	-- Переместите шаблон, часть 1 км ниже земли, так что игрок этого не видит!
	Constructionops.freezeConstructionatground( rewardtemplateConstruction.id, Vector3 .__ Новый( 0, -1000, 0 ) )
конец

The Initscene() Функция гарантирует, что только вилочный погрузчик нацелен на игрока, кэширует некоторые переменные для последующего использования, и устанавливает контрольно -пропускной пункт OnConstructionEned обработчик событий.

В рамках OnConstructionEnderedCheckpoint(строительство) обработчик событий, Если ствол входит в контрольную точку, это означает, что цель достигается, и мы приступаем к порождению наград.

Чтобы завершить, Вставьте этот последний блок кода:

----- Игровые обработки событий -----

-- Событие Gameready поднимается в игре, когда сцена закончилась
-- загрузка (то есть. карта и любые сохраненные конструкции в ней).
-- Здесь мы добавляем обработчик к этому событию, В нем мы инициализируем все для сценария.
Локальная функция ongameready()
	ОТКРЫТИЕ()
	для похищения()
	Initscene()
end
GameReady.Handler.add( ongameready )

----- Функции входа -----

-- Очистка() называется игрой, когда сценарий выгружен.
Очистка функций()
	Windows.DestroyWindow( Победить )

	-- Обязательно удалите наш обработчик мероприятий Gameready.
	Gameready.handler.remove( ongameready )
конец

The ongameready() Обработчик событий запустит наши функции инициализации, когда игра будет готово играть. Код в Очистка() гарантирует, что мы убираем соответствующим образом, когда игрок выходит из сценария.

Сохраните свой сценарий, И все готово попробовать сценарий!

Играя в свой сценарий

Теперь введите Начать сценарий экран, и под “Локально спасено” вкладка, Вы должны найти свой сценарий:

Попробуйте сыграть…

И посмотрите, есть ли у вас навыки вилочного погрузчика…

Чтобы получить награду…

ХОРОШО, Это не было сложной задачей играть, но надеюсь, это даст вам представление о возможностях!

Дополнительная информация

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

Чтобы узнать больше, встроенные сценарии-хорошая ссылка, ты найдешь их здесь: С:\Программные файлы (х86)\Steam\steamapps\common\GearBlocks\GearBlocks_Data\StreamingAssets\Scenes.

Если вы хотите попробовать их изменить, Скопируйте их в свой местный Сохраненные сцены папка первой!

Окончательно, Вот полная документация для Gearblocks Lua Scripting API. Это будет развиваться со временем, поскольку я раскрываю больше функций и функциональности в API, Так что добавьте в закладки для будущего справки!

Это все, чем мы делимся сегодня для этого. Блоки передач гид. Это руководство было первоначально создано и написано опасность726. На случай, если нам не удастся обновить это руководство, вы можете найти последнее обновление, следуя этому связь.

Если вы считаете, что какой-либо контент на этом сайте нарушает ваши права, включая ваши права интеллектуальной собственности, пожалуйста, свяжитесь с нами немедленно, используя нашу контактную форму.
Путеводители Теги:Блоки передач

Навигация по публикациям

Предыдущий пост: Как исправить сбой запуска Jelly Express
Следующий пост: Планета С – Ранняя игра и уровень 4 Руководство для начинающих

Оставить ответ Отменить ответ

Ваш адрес электронной почты не будет опубликован. Обязательные поля отмечены *

  • Заголовок: Блоки передач
  • Дата выпуска: ноябрь 9, 2023
  • Разработчик: Игры SmashHammer
  • Издатель: Игры SmashHammer

Отказ от ответственности

Весь цитируемый контент взят из соответствующих источников.. Если вы считаете, что мы использовали ваш контент без разрешения, обязательно свяжитесь с нами, и мы отнесемся к этому серьезно.
  • О нас
  • Связаться с нами
  • политика конфиденциальности
  • Условия использования

Авторское право © 2025 Бунтовые биты.

Питаться от Пресс-книга новостей Тема WordPress