Скрипты Roblox Studio

БИБЛИОТЕКА КОДА · ROBLOX STUDIO

800 скриптов для твоих игр

Выберите пример, следуйте инструкции, скопируйте код и проверьте его в Roblox Studio. Начните с простых задач и постепенно переходите к сложным.

800 примеров · 9 глав · 38 подразделов · бесплатно

Выберите интересующую тему

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

Luau и алгоритмы110 примеров · 6 подразделов
Создание миров130 примеров · 5 подразделов
Интерактивные объекты140 примеров · 5 подразделов
Движение и эффекты190 примеров · 8 подразделов
GUI и мобильность30 примеров · 3 подразделов
Персонаж и инструменты30 примеров · 3 подразделов
Игровые системы80 примеров · 2 подразделов
Серверная практика70 примеров · 4 подразделов
Данные и коллекции20 примеров · 2 подразделов
Показано: 800 из 800
001Приветствие в OutputLuau и алгоритмы / Основы Luau · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт выполняет команды Luau по порядку. Изучи значения переменных и сообщения Output.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService, вставьте код и запустите Play. Откройте View → Output.

Код Luau
print("Привет, Игровёнок!")

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. print("Привет, Игровёнок!")Выводит текст или значение в окно Output.

Как проверить

В Output появится приветствие.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
002Переменная с именемLuau и алгоритмы / Основы Luau · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт выполняет команды Luau по порядку. Изучи значения переменных и сообщения Output.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService, вставьте код и запустите Play. Откройте View → Output.

Код Luau
local name = "Игрок"
print("Привет, " .. name)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local name = "Игрок"Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. print("Привет, " .. name)Выводит текст или значение в окно Output.

Как проверить

Выведется фраза с именем.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
003Сложение очковLuau и алгоритмы / Основы Luau · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт выполняет команды Luau по порядку. Изучи значения переменных и сообщения Output.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService, вставьте код и запустите Play. Откройте View → Output.

Код Luau
local stars = 3
stars += 2
print("Звёзды:", stars)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local stars = 3Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. stars += 2Увеличивает текущее значение переменной или свойства на указанную величину.
  3. print("Звёзды:", stars)Выводит текст или значение в окно Output.

Как проверить

Покажет 5 звёзд.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
004Условие победыLuau и алгоритмы / Основы Luau · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт выполняет команды Luau по порядку. Изучи значения переменных и сообщения Output.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService, вставьте код и запустите Play. Откройте View → Output.

Код Luau
local score = 10
if score >= 10 then
    print("Победа!")
else
    print("Продолжай!")
end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local score = 10Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. if score >= 10 thenПроверяет условие; вложенные команды выполнятся, если оно истинно.
  3. print("Победа!")Выводит текст или значение в окно Output.
  4. elseВыполняет альтернативную ветку, если предыдущие условия ложны.
  5. print("Продолжай!")Выводит текст или значение в окно Output.
  6. endЗакрывает блок функции, условия или цикла.

Как проверить

Вывод зависит от количества очков.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
005Цикл от одного до пятиLuau и алгоритмы / Основы Luau · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт выполняет команды Luau по порядку. Изучи значения переменных и сообщения Output.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService, вставьте код и запустите Play. Откройте View → Output.

Код Luau
for i = 1, 5 do
    print("Шаг", i)
end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. for i = 1, 5 doЗапускает цикл: тело выполняется для указанных значений счётчика или элементов.
  2. print("Шаг", i)Выводит текст или значение в окно Output.
  3. endЗакрывает блок функции, условия или цикла.

Как проверить

В Output появятся числа 1–5.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
006Цикл с шагом дваLuau и алгоритмы / Основы Luau · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт выполняет команды Luau по порядку. Изучи значения переменных и сообщения Output.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService, вставьте код и запустите Play. Откройте View → Output.

Код Luau
for i = 2, 10, 2 do
    print(i)
end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. for i = 2, 10, 2 doЗапускает цикл: тело выполняется для указанных значений счётчика или элементов.
  2. print(i)Выводит текст или значение в окно Output.
  3. endЗакрывает блок функции, условия или цикла.

Как проверить

Выведутся чётные числа до 10.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
007Функция приветствияLuau и алгоритмы / Основы Luau · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт выполняет команды Luau по порядку. Изучи значения переменных и сообщения Output.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService, вставьте код и запустите Play. Откройте View → Output.

Код Luau
local function greet(name)
    print("Здравствуй, " .. name)
end
greet("Аня")

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local function greet(name)Объявляет локальную функцию с именем и параметрами.
  2. print("Здравствуй, " .. name)Выводит текст или значение в окно Output.
  3. endЗакрывает блок функции, условия или цикла.
  4. greet("Аня")Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.

Как проверить

Вывод приветствия через функцию.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
008Список наградLuau и алгоритмы / Основы Luau · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт выполняет команды Luau по порядку. Изучи значения переменных и сообщения Output.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService, вставьте код и запустите Play. Откройте View → Output.

Код Luau
local prizes = {"Звезда", "Ключ", "Кристалл"}
for i, prize in ipairs(prizes) do
    print(i, prize)
end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local prizes = {"Звезда", "Ключ", "Кристалл"}Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. for i, prize in ipairs(prizes) doЗапускает цикл: тело выполняется для указанных значений счётчика или элементов.
  3. print(i, prize)Выводит текст или значение в окно Output.
  4. endЗакрывает блок функции, условия или цикла.

Как проверить

Покажет три награды.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
009Случайное числоLuau и алгоритмы / Основы Luau · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт выполняет команды Luau по порядку. Изучи значения переменных и сообщения Output.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService, вставьте код и запустите Play. Откройте View → Output.

Код Luau
local random = Random.new()
print("Бросок кубика:", random:NextInteger(1, 6))

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local random = Random.new()Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. print("Бросок кубика:", random:NextInteger(1, 6))Выводит текст или значение в окно Output.

Как проверить

Случайное число от 1 до 6.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
010Обратный отсчётLuau и алгоритмы / Основы Luau · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт выполняет команды Luau по порядку. Изучи значения переменных и сообщения Output.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService, вставьте код и запустите Play. Откройте View → Output.

Код Luau
for seconds = 5, 1, -1 do
    print(seconds)
    task.wait(1)
end
print("Старт!")

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. for seconds = 5, 1, -1 doЗапускает цикл: тело выполняется для указанных значений счётчика или элементов.
  2. print(seconds)Выводит текст или значение в окно Output.
  3. task.wait(1)Приостанавливает текущий поток на указанное приблизительное время.
  4. endЗакрывает блок функции, условия или цикла.
  5. print("Старт!")Выводит текст или значение в окно Output.

Как проверить

Отсчёт перед стартом.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
011Меняем цвет деталиСоздание миров / Детали и мир · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт меняет свойства экземпляров Part. Обращай внимание на script.Parent и workspace.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace и помести внутрь обычный Script. Деталь лучше закрепить свойством Anchored = true.

Код Luau
local part = script.Parent
part.Color = Color3.fromRGB(80, 170, 255)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. part.Color = Color3.fromRGB(80, 170, 255)Создаёт цвет RGB и назначает его свойству детали.

Как проверить

Деталь становится голубой.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
012Делаем деталь прозрачнойСоздание миров / Детали и мир · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт меняет свойства экземпляров Part. Обращай внимание на script.Parent и workspace.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace и помести внутрь обычный Script. Деталь лучше закрепить свойством Anchored = true.

Код Luau
local part = script.Parent
part.Transparency = 0.5

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. part.Transparency = 0.5Устанавливает прозрачность от 0 (непрозрачно) до 1 (невидимо).

Как проверить

Деталь становится полупрозрачной.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
013Отключаем столкновенияСоздание миров / Детали и мир · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт меняет свойства экземпляров Part. Обращай внимание на script.Parent и workspace.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace и помести внутрь обычный Script. Деталь лучше закрепить свойством Anchored = true.

Код Luau
local part = script.Parent
part.CanCollide = false

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. part.CanCollide = falseМеняет возможность физического столкновения с деталью.

Как проверить

Через деталь можно проходить.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
014Увеличиваем платформуСоздание миров / Детали и мир · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт меняет свойства экземпляров Part. Обращай внимание на script.Parent и workspace.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace и помести внутрь обычный Script. Деталь лучше закрепить свойством Anchored = true.

Код Luau
local part = script.Parent
part.Size = Vector3.new(16, 2, 16)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. part.Size = Vector3.new(16, 2, 16)Создаёт трёхмерный вектор размеров или положения.

Как проверить

Размер платформы увеличивается.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
015Перемещаем деталь вверхСоздание миров / Детали и мир · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт меняет свойства экземпляров Part. Обращай внимание на script.Parent и workspace.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace и помести внутрь обычный Script. Деталь лучше закрепить свойством Anchored = true.

Код Luau
local part = script.Parent
part.Position += Vector3.new(0, 8, 0)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. part.Position += Vector3.new(0, 8, 0)Создаёт трёхмерный вектор размеров или положения.

Как проверить

Деталь поднимается на 8 studs.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
016Поворачиваем объектСоздание миров / Детали и мир · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт меняет свойства экземпляров Part. Обращай внимание на script.Parent и workspace.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace и помести внутрь обычный Script. Деталь лучше закрепить свойством Anchored = true.

Код Luau
local part = script.Parent
part.CFrame = part.CFrame * CFrame.Angles(0, math.rad(45), 0)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. part.CFrame = part.CFrame * CFrame.Angles(0, math.rad(45), 0)Изменяет положение или ориентацию объекта в трёхмерном пространстве.

Как проверить

Объект поворачивается на 45°.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
017Случайный цветСоздание миров / Детали и мир · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт меняет свойства экземпляров Part. Обращай внимание на script.Parent и workspace.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace и помести внутрь обычный Script. Деталь лучше закрепить свойством Anchored = true.

Код Luau
local part = script.Parent
local r = Random.new()
part.Color = Color3.fromHSV(r:NextNumber(), 0.8, 1)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. local r = Random.new()Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  3. part.Color = Color3.fromHSV(r:NextNumber(), 0.8, 1)Создаёт цвет RGB и назначает его свойству детали.

Как проверить

Каждый запуск выбирает цвет.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
018Неоновая детальСоздание миров / Детали и мир · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт меняет свойства экземпляров Part. Обращай внимание на script.Parent и workspace.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace и помести внутрь обычный Script. Деталь лучше закрепить свойством Anchored = true.

Код Luau
local part = script.Parent
part.Material = Enum.Material.Neon
part.Color = Color3.fromRGB(80, 255, 205)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. part.Material = Enum.Material.NeonВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  3. part.Color = Color3.fromRGB(80, 255, 205)Создаёт цвет RGB и назначает его свойству детали.

Как проверить

Деталь светится неоновым материалом.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
019Создаём новую платформуСоздание миров / Детали и мир · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт меняет свойства экземпляров Part. Обращай внимание на script.Parent и workspace.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace и помести внутрь обычный Script. Деталь лучше закрепить свойством Anchored = true.

Код Luau
local part = script.Parent
local p = Instance.new("Part")
p.Name = "GeneratedPlatform"
p.Anchored = true
p.Size = Vector3.new(12, 1, 12)
p.Position = part.Position + Vector3.new(0, 8, 0)
p.Parent = workspace

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. local p = Instance.new("Part")Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  3. p.Name = "GeneratedPlatform"Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  4. p.Anchored = trueВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  5. p.Size = Vector3.new(12, 1, 12)Создаёт трёхмерный вектор размеров или положения.
  6. p.Position = part.Position + Vector3.new(0, 8, 0)Создаёт трёхмерный вектор размеров или положения.
  7. p.Parent = workspaceВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.

Как проверить

Над исходной деталью появляется платформа.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
020Крутим деталь бесконечноСоздание миров / Детали и мир · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт меняет свойства экземпляров Part. Обращай внимание на script.Parent и workspace.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace и помести внутрь обычный Script. Деталь лучше закрепить свойством Anchored = true.

Код Luau
local part = script.Parent
while part.Parent do
    part.CFrame *= CFrame.Angles(0, math.rad(2), 0)
    task.wait(0.03)
end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. while part.Parent doВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  3. part.CFrame *= CFrame.Angles(0, math.rad(2), 0)Изменяет положение или ориентацию объекта в трёхмерном пространстве.
  4. task.wait(0.03)Приостанавливает текущий поток на указанное приблизительное время.
  5. endЗакрывает блок функции, условия или цикла.

Как проверить

Деталь плавно вращается.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
021Изменить цвет при касанииИнтерактивные объекты / Касания и события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Соединение :Connect связывает событие с функцией; она выполняется при касании.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, помести внутрь Script. Проверьте касание персонажем в Play.

Код Luau
local part = script.Parent
local busy = {}
part.Touched:Connect(function(hit)
    local character = hit.Parent
    local humanoid = character and character:FindFirstChildOfClass("Humanoid")
    if not humanoid or busy[humanoid] then return end
    busy[humanoid] = true
    part.Color = Color3.fromRGB(255, 190, 70)
    task.delay(1, function() busy[humanoid] = nil end)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. local busy = {}Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  3. part.Touched:Connect(function(hit)Подключает функцию к событию, чтобы она вызывалась при срабатывании.
  4. local character = hit.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  5. local humanoid = character and character:FindFirstChildOfClass("Humanoid")Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  6. if not humanoid or busy[humanoid] then return endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  7. busy[humanoid] = trueВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  8. part.Color = Color3.fromRGB(255, 190, 70)Создаёт цвет RGB и назначает его свойству детали.
  9. task.delay(1, function() busy[humanoid] = nil end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  10. end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.

Как проверить

При прикосновении деталь станет жёлтой.

Обратите внимание: Событие Touched может сработать несколько раз, поэтому в примере есть защита от повторов.
022Сделать блок невидимымИнтерактивные объекты / Касания и события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Соединение :Connect связывает событие с функцией; она выполняется при касании.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, помести внутрь Script. Проверьте касание персонажем в Play.

Код Luau
local part = script.Parent
local busy = {}
part.Touched:Connect(function(hit)
    local character = hit.Parent
    local humanoid = character and character:FindFirstChildOfClass("Humanoid")
    if not humanoid or busy[humanoid] then return end
    busy[humanoid] = true
    part.Transparency = 1
    part.CanCollide = false
    task.delay(1, function() busy[humanoid] = nil end)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. local busy = {}Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  3. part.Touched:Connect(function(hit)Подключает функцию к событию, чтобы она вызывалась при срабатывании.
  4. local character = hit.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  5. local humanoid = character and character:FindFirstChildOfClass("Humanoid")Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  6. if not humanoid or busy[humanoid] then return endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  7. busy[humanoid] = trueВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  8. part.Transparency = 1Устанавливает прозрачность от 0 (непрозрачно) до 1 (невидимо).
  9. part.CanCollide = falseМеняет возможность физического столкновения с деталью.
  10. task.delay(1, function() busy[humanoid] = nil end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  11. end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.

Как проверить

Деталь исчезнет и станет проходимой.

Обратите внимание: Событие Touched может сработать несколько раз, поэтому в примере есть защита от повторов.
023Кнопка одноразового действияИнтерактивные объекты / Касания и события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Соединение :Connect связывает событие с функцией; она выполняется при касании.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, помести внутрь Script. Проверьте касание персонажем в Play.

Код Luau
local part = script.Parent
local busy = {}
part.Touched:Connect(function(hit)
    local character = hit.Parent
    local humanoid = character and character:FindFirstChildOfClass("Humanoid")
    if not humanoid or busy[humanoid] then return end
    busy[humanoid] = true
    if part:GetAttribute("Used") then return end
    part:SetAttribute("Used", true)
    part.Color = Color3.fromRGB(90, 220, 130)
    task.delay(1, function() busy[humanoid] = nil end)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. local busy = {}Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  3. part.Touched:Connect(function(hit)Подключает функцию к событию, чтобы она вызывалась при срабатывании.
  4. local character = hit.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  5. local humanoid = character and character:FindFirstChildOfClass("Humanoid")Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  6. if not humanoid or busy[humanoid] then return endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  7. busy[humanoid] = trueВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  8. if part:GetAttribute("Used") then return endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  9. part:SetAttribute("Used", true)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  10. part.Color = Color3.fromRGB(90, 220, 130)Создаёт цвет RGB и назначает его свойству детали.
  11. task.delay(1, function() busy[humanoid] = nil end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  12. end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.

Как проверить

Первое касание активирует кнопку.

Обратите внимание: Событие Touched может сработать несколько раз, поэтому в примере есть защита от повторов.
024Восстановить платформуИнтерактивные объекты / Касания и события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Соединение :Connect связывает событие с функцией; она выполняется при касании.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, помести внутрь Script. Проверьте касание персонажем в Play.

Код Luau
local part = script.Parent
local busy = {}
part.Touched:Connect(function(hit)
    local character = hit.Parent
    local humanoid = character and character:FindFirstChildOfClass("Humanoid")
    if not humanoid or busy[humanoid] then return end
    busy[humanoid] = true
    part.Transparency = 1
    part.CanCollide = false
    task.wait(3)
    part.Transparency = 0
    part.CanCollide = true
    task.delay(1, function() busy[humanoid] = nil end)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. local busy = {}Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  3. part.Touched:Connect(function(hit)Подключает функцию к событию, чтобы она вызывалась при срабатывании.
  4. local character = hit.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  5. local humanoid = character and character:FindFirstChildOfClass("Humanoid")Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  6. if not humanoid or busy[humanoid] then return endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  7. busy[humanoid] = trueВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  8. part.Transparency = 1Устанавливает прозрачность от 0 (непрозрачно) до 1 (невидимо).
  9. part.CanCollide = falseМеняет возможность физического столкновения с деталью.
  10. task.wait(3)Приостанавливает текущий поток на указанное приблизительное время.
  11. part.Transparency = 0Устанавливает прозрачность от 0 (непрозрачно) до 1 (невидимо).
  12. part.CanCollide = trueМеняет возможность физического столкновения с деталью.
  13. task.delay(1, function() busy[humanoid] = nil end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  14. end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.

Как проверить

Платформа исчезнет на три секунды.

Обратите внимание: Событие Touched может сработать несколько раз, поэтому в примере есть защита от повторов.
025Ускоряющая площадкаИнтерактивные объекты / Касания и события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Соединение :Connect связывает событие с функцией; она выполняется при касании.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, помести внутрь Script. Проверьте касание персонажем в Play.

Код Luau
local part = script.Parent
local busy = {}
part.Touched:Connect(function(hit)
    local character = hit.Parent
    local humanoid = character and character:FindFirstChildOfClass("Humanoid")
    if not humanoid or busy[humanoid] then return end
    busy[humanoid] = true
    humanoid.WalkSpeed = 26
    task.delay(5, function()
        if humanoid.Parent then humanoid.WalkSpeed = 16 end
    end)
    task.delay(1, function() busy[humanoid] = nil end)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. local busy = {}Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  3. part.Touched:Connect(function(hit)Подключает функцию к событию, чтобы она вызывалась при срабатывании.
  4. local character = hit.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  5. local humanoid = character and character:FindFirstChildOfClass("Humanoid")Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  6. if not humanoid or busy[humanoid] then return endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  7. busy[humanoid] = trueВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  8. humanoid.WalkSpeed = 26Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  9. task.delay(5, function()Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  10. if humanoid.Parent then humanoid.WalkSpeed = 16 endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  11. end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  12. task.delay(1, function() busy[humanoid] = nil end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  13. end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.

Как проверить

Игрок ускорится на пять секунд.

Обратите внимание: Событие Touched может сработать несколько раз, поэтому в примере есть защита от повторов.
026Прыгучая площадкаИнтерактивные объекты / Касания и события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Соединение :Connect связывает событие с функцией; она выполняется при касании.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, помести внутрь Script. Проверьте касание персонажем в Play.

Код Luau
local part = script.Parent
local busy = {}
part.Touched:Connect(function(hit)
    local character = hit.Parent
    local humanoid = character and character:FindFirstChildOfClass("Humanoid")
    if not humanoid or busy[humanoid] then return end
    busy[humanoid] = true
    humanoid.JumpPower = 85
    humanoid.UseJumpPower = true
    task.delay(5, function()
        if humanoid.Parent then humanoid.JumpPower = 50 end
    end)
    task.delay(1, function() busy[humanoid] = nil end)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. local busy = {}Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  3. part.Touched:Connect(function(hit)Подключает функцию к событию, чтобы она вызывалась при срабатывании.
  4. local character = hit.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  5. local humanoid = character and character:FindFirstChildOfClass("Humanoid")Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  6. if not humanoid or busy[humanoid] then return endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  7. busy[humanoid] = trueВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  8. humanoid.JumpPower = 85Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  9. humanoid.UseJumpPower = trueВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  10. task.delay(5, function()Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  11. if humanoid.Parent then humanoid.JumpPower = 50 endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  12. end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  13. task.delay(1, function() busy[humanoid] = nil end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  14. end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.

Как проверить

Прыжок усилится на пять секунд.

Обратите внимание: Событие Touched может сработать несколько раз, поэтому в примере есть защита от повторов.
027Лечащий блокИнтерактивные объекты / Касания и события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Соединение :Connect связывает событие с функцией; она выполняется при касании.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, помести внутрь Script. Проверьте касание персонажем в Play.

Код Luau
local part = script.Parent
local busy = {}
part.Touched:Connect(function(hit)
    local character = hit.Parent
    local humanoid = character and character:FindFirstChildOfClass("Humanoid")
    if not humanoid or busy[humanoid] then return end
    busy[humanoid] = true
    humanoid.Health = math.min(humanoid.MaxHealth, humanoid.Health + 20)
    task.delay(1, function() busy[humanoid] = nil end)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. local busy = {}Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  3. part.Touched:Connect(function(hit)Подключает функцию к событию, чтобы она вызывалась при срабатывании.
  4. local character = hit.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  5. local humanoid = character and character:FindFirstChildOfClass("Humanoid")Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  6. if not humanoid or busy[humanoid] then return endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  7. busy[humanoid] = trueВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  8. humanoid.Health = math.min(humanoid.MaxHealth, humanoid.Health + 20)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  9. task.delay(1, function() busy[humanoid] = nil end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  10. end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.

Как проверить

Восстанавливает до 20 единиц здоровья.

Обратите внимание: Событие Touched может сработать несколько раз, поэтому в примере есть защита от повторов.
028Опасная лаваИнтерактивные объекты / Касания и события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Соединение :Connect связывает событие с функцией; она выполняется при касании.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, помести внутрь Script. Проверьте касание персонажем в Play.

Код Luau
local part = script.Parent
local busy = {}
part.Touched:Connect(function(hit)
    local character = hit.Parent
    local humanoid = character and character:FindFirstChildOfClass("Humanoid")
    if not humanoid or busy[humanoid] then return end
    busy[humanoid] = true
    humanoid:TakeDamage(25)
    task.delay(1, function() busy[humanoid] = nil end)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. local busy = {}Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  3. part.Touched:Connect(function(hit)Подключает функцию к событию, чтобы она вызывалась при срабатывании.
  4. local character = hit.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  5. local humanoid = character and character:FindFirstChildOfClass("Humanoid")Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  6. if not humanoid or busy[humanoid] then return endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  7. busy[humanoid] = trueВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  8. humanoid:TakeDamage(25)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  9. task.delay(1, function() busy[humanoid] = nil end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  10. end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.

Как проверить

Касание уменьшает здоровье.

Обратите внимание: Событие Touched может сработать несколько раз, поэтому в примере есть защита от повторов.
029Контрольная точкаИнтерактивные объекты / Касания и события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Соединение :Connect связывает событие с функцией; она выполняется при касании.

Куда вставить

Script внутри SpawnLocation

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Добавьте SpawnLocation в Workspace и помести внутрь Script. Установите Neutral = true.

Код Luau
local part = script.Parent
-- Этот скрипт помещают в SpawnLocation, не в обычный Part!
part.Touched:Connect(function(hit)
    local character = hit.Parent
    local humanoid = character and character:FindFirstChildOfClass("Humanoid")
    if not humanoid then return end
    local player = game.Players:GetPlayerFromCharacter(character)
    if player then player.RespawnLocation = part end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. -- Этот скрипт помещают в SpawnLocation, не в обычный Part!Комментарий для читателя; Roblox не выполняет эту строку.
  3. part.Touched:Connect(function(hit)Подключает функцию к событию, чтобы она вызывалась при срабатывании.
  4. local character = hit.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  5. local humanoid = character and character:FindFirstChildOfClass("Humanoid")Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  6. if not humanoid then return endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  7. local player = game.Players:GetPlayerFromCharacter(character)Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  8. if player then player.RespawnLocation = part endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  9. end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.

Как проверить

Назначает SpawnLocation точкой возрождения.

Обратите внимание: Событие Touched может сработать несколько раз, поэтому в примере есть защита от повторов.
030Сообщение о финишеИнтерактивные объекты / Касания и события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Соединение :Connect связывает событие с функцией; она выполняется при касании.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, помести внутрь Script. Проверьте касание персонажем в Play.

Код Luau
local part = script.Parent
local busy = {}
part.Touched:Connect(function(hit)
    local character = hit.Parent
    local humanoid = character and character:FindFirstChildOfClass("Humanoid")
    if not humanoid or busy[humanoid] then return end
    busy[humanoid] = true
    local player = game.Players:GetPlayerFromCharacter(character)
    if player then print(player.Name .. " достиг финиша!") end
    task.delay(1, function() busy[humanoid] = nil end)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  2. local busy = {}Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  3. part.Touched:Connect(function(hit)Подключает функцию к событию, чтобы она вызывалась при срабатывании.
  4. local character = hit.ParentСоздаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  5. local humanoid = character and character:FindFirstChildOfClass("Humanoid")Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  6. if not humanoid or busy[humanoid] then return endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  7. busy[humanoid] = trueВыполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  8. local player = game.Players:GetPlayerFromCharacter(character)Создаёт локальную переменную или получает ссылку на объект; значение справа используется далее.
  9. if player then print(player.Name .. " достиг финиша!") endПроверяет условие; вложенные команды выполнятся, если оно истинно.
  10. task.delay(1, function() busy[humanoid] = nil end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.
  11. end)Выполняет указанную операцию над значением или объектом; проверьте результат в Play/Output.

Как проверить

На сервере появляется сообщение о финише.

Обратите внимание: Событие Touched может сработать несколько раз, поэтому в примере есть защита от повторов.
031Открыть проходИнтерактивные объекты / Кнопки и взаимодействие · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.

Куда вставить

Script в Part рядом с ProximityPrompt

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, добавьте внутрь ProximityPrompt и Script. Для действий со светом также добавьте PointLight в эту же деталь.

Код Luau
local part = script.Parent
local prompt = part:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
    part.CanCollide = false
    part.Transparency = 0.65
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  2. local prompt = part:WaitForChild("ProximityPrompt")Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.
  4. part.CanCollide = falseОтключаем столкновения, позволяя пройти сквозь деталь.
  5. part.Transparency = 0.65Устанавливаем прозрачность 0.65: 0 — видимый объект, 1 — невидимый.
  6. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Добавьте закрытие прохода через 3 секунды с task.delay и проверьте CanCollide.

Как проверить

Проход открывается.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
032Закрыть проходИнтерактивные объекты / Кнопки и взаимодействие · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.

Куда вставить

Script в Part рядом с ProximityPrompt

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, добавьте внутрь ProximityPrompt и Script. Для действий со светом также добавьте PointLight в эту же деталь.

Код Luau
local part = script.Parent
local prompt = part:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
    part.CanCollide = true
    part.Transparency = 0
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  2. local prompt = part:WaitForChild("ProximityPrompt")Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.
  4. part.CanCollide = trueВключаем столкновения с деталью.
  5. part.Transparency = 0Устанавливаем прозрачность 0: 0 — видимый объект, 1 — невидимый.
  6. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Поставь рядом второй проход; сделайте отдельную кнопку для каждого.

Как проверить

Проход закрывается.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
033Включить светИнтерактивные объекты / Кнопки и взаимодействие · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Ожидаем объект с точным именем PointLight; если имени нет, код будет ждать и Roblox может вывести предупреждение.

Куда вставить

Script в Part рядом с ProximityPrompt

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, добавьте внутрь ProximityPrompt и Script. Для действий со светом также добавьте PointLight в эту же деталь.

Код Luau
local part = script.Parent
local prompt = part:WaitForChild("ProximityPrompt")
local light = part:WaitForChild("PointLight")
prompt.Triggered:Connect(function(player)
    light.Enabled = true
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  2. local prompt = part:WaitForChild("ProximityPrompt")Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. local light = part:WaitForChild("PointLight")Ожидаем объект с точным именем PointLight; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  4. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.
  5. light.Enabled = trueВключаем компонент.
  6. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Добавьте вторую лампу и включай обе одним нажатием.

Как проверить

Свет включается.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
034Выключить светИнтерактивные объекты / Кнопки и взаимодействие · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Ожидаем объект с точным именем PointLight; если имени нет, код будет ждать и Roblox может вывести предупреждение.

Куда вставить

Script в Part рядом с ProximityPrompt

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, добавьте внутрь ProximityPrompt и Script. Для действий со светом также добавьте PointLight в эту же деталь.

Код Luau
local part = script.Parent
local prompt = part:WaitForChild("ProximityPrompt")
local light = part:WaitForChild("PointLight")
prompt.Triggered:Connect(function(player)
    light.Enabled = false
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  2. local prompt = part:WaitForChild("ProximityPrompt")Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. local light = part:WaitForChild("PointLight")Ожидаем объект с точным именем PointLight; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  4. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.
  5. light.Enabled = falseВыключаем компонент.
  6. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Создайте кнопку для повторного включения лампы.

Как проверить

Свет выключается.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
035Перекрасить дверьИнтерактивные объекты / Кнопки и взаимодействие · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.

Куда вставить

Script в Part рядом с ProximityPrompt

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, добавьте внутрь ProximityPrompt и Script. Для действий со светом также добавьте PointLight в эту же деталь.

Код Luau
local part = script.Parent
local prompt = part:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
    part.Color = Color3.fromRGB(45, 220, 120)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  2. local prompt = part:WaitForChild("ProximityPrompt")Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.
  4. part.Color = Color3.fromRGB(45, 220, 120)Создаём цвет из трёх значений красного, зелёного и синего в диапазоне 0–255.
  5. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Измените цвет двери на голубой и сравните результат.

Как проверить

Дверь меняет цвет.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
036Получить подсказкуИнтерактивные объекты / Кнопки и взаимодействие · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.

Куда вставить

Script в Part рядом с ProximityPrompt

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, добавьте внутрь ProximityPrompt и Script. Для действий со светом также добавьте PointLight в эту же деталь.

Код Luau
local part = script.Parent
local prompt = part:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
    print(player.Name .. ": найди ключ у моста")
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  2. local prompt = part:WaitForChild("ProximityPrompt")Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.
  4. print(player.Name .. ": найди ключ у моста")Выводим сообщение во вкладку Output Roblox Studio, а не на экран игрока.
  5. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Замени текст подсказки; найди сообщение в Output, а не на экране.

Как проверить

В Output сервера появится подсказка.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
037Поднять мостИнтерактивные объекты / Кнопки и взаимодействие · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Ожидаем объект с точным именем Bridge; если имени нет, код будет ждать и Roblox может вывести предупреждение.

Куда вставить

Script в Part рядом с ProximityPrompt

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте закреплённый Part с именем Bridge в Workspace. Отдельно создайте кнопку Part с ProximityPrompt и Script внутри. Кнопка и мост — разные объекты.

Код Luau
local part = script.Parent
local prompt = part:WaitForChild("ProximityPrompt")
local bridge = workspace:WaitForChild("Bridge")
prompt.Triggered:Connect(function(player)
    bridge.Position += Vector3.new(0, 6, 0)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  2. local prompt = part:WaitForChild("ProximityPrompt")Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. local bridge = workspace:WaitForChild("Bridge")Ожидаем объект с точным именем Bridge; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  4. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.
  5. bridge.Position += Vector3.new(0, 6, 0)Сдвигаем деталь относительно её текущей позиции; повторное выполнение продолжит движение.
  6. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

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

Как проверить

При взаимодействии с кнопкой мост перемещается вверх на 6 studs. Каждое нажатие снова сдвигает его; добавьте предел перемещения для настоящей игры.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
038Опустить мостИнтерактивные объекты / Кнопки и взаимодействие · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Ожидаем объект с точным именем Bridge; если имени нет, код будет ждать и Roblox может вывести предупреждение.

Куда вставить

Script в Part рядом с ProximityPrompt

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте закреплённый Part с именем Bridge в Workspace. Отдельно создайте кнопку Part с ProximityPrompt и Script внутри. Кнопка и мост — разные объекты.

Код Luau
local part = script.Parent
local prompt = part:WaitForChild("ProximityPrompt")
local bridge = workspace:WaitForChild("Bridge")
prompt.Triggered:Connect(function(player)
    part.Position -= Vector3.new(0, 6, 0)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  2. local prompt = part:WaitForChild("ProximityPrompt")Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. local bridge = workspace:WaitForChild("Bridge")Ожидаем объект с точным именем Bridge; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  4. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.
  5. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Добавьте ограничение нижней позиции моста.

Как проверить

При взаимодействии с кнопкой мост перемещается вниз на 6 studs. Каждое нажатие снова сдвигает его; добавьте предел перемещения для настоящей игры.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
039Запустить таймерИнтерактивные объекты / Кнопки и взаимодействие · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.

Куда вставить

Script в Part рядом с ProximityPrompt

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, добавьте внутрь ProximityPrompt и Script. Для действий со светом также добавьте PointLight в эту же деталь.

Код Luau
local part = script.Parent
local prompt = part:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
    for i = 3, 1, -1 do print(i); task.wait(1) end
    print("Готово!")
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  2. local prompt = part:WaitForChild("ProximityPrompt")Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.
  4. for i = 3, 1, -1 do print(i); task.wait(1) endДелаем паузу между действиями, позволяя другим задачам выполняться.
  5. print("Готово!")Выводим сообщение во вкладку Output Roblox Studio, а не на экран игрока.
  6. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Проверь, что при многократном нажатии могут запуститься параллельные отсчёты; попробуйте добавить флаг busy.

Как проверить

Запускается обратный отсчёт.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
040Сменить материалИнтерактивные объекты / Кнопки и взаимодействие · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.

Куда вставить

Script в Part рядом с ProximityPrompt

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part в Workspace, добавьте внутрь ProximityPrompt и Script. Для действий со светом также добавьте PointLight в эту же деталь.

Код Luau
local part = script.Parent
local prompt = part:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
    part.Material = Enum.Material.Glass
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  2. local prompt = part:WaitForChild("ProximityPrompt")Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.
  4. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Сравните внешний вид Plastic и Neon и объясни различие.

Как проверить

Деталь становится стеклянной.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
041Настроить утроДвижение и эффекты / Свет и атмосфера · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.; Меняем игровое время суток через Lighting; это не системное время компьютера.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Для кнопки добавьте Part с именем TimeButton и ProximityPrompt внутри.

Код Luau
local Lighting = game:GetService("Lighting")
Lighting.ClockTime = 8

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Lighting = game:GetService("Lighting")Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.
  2. Lighting.ClockTime = 8Меняем игровое время суток через Lighting; это не системное время компьютера.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

В игровом мире утро.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
042Настроить полденьДвижение и эффекты / Свет и атмосфера · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.; Меняем игровое время суток через Lighting; это не системное время компьютера.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Для кнопки добавьте Part с именем TimeButton и ProximityPrompt внутри.

Код Luau
local Lighting = game:GetService("Lighting")
Lighting.ClockTime = 12

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Lighting = game:GetService("Lighting")Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.
  2. Lighting.ClockTime = 12Меняем игровое время суток через Lighting; это не системное время компьютера.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

В мире полдень.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
043Настроить вечерДвижение и эффекты / Свет и атмосфера · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.; Меняем игровое время суток через Lighting; это не системное время компьютера.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Для кнопки добавьте Part с именем TimeButton и ProximityPrompt внутри.

Код Luau
local Lighting = game:GetService("Lighting")
Lighting.ClockTime = 18.5

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Lighting = game:GetService("Lighting")Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.
  2. Lighting.ClockTime = 18.5Меняем игровое время суток через Lighting; это не системное время компьютера.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

В игровом мире вечер.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
044Настроить ночьДвижение и эффекты / Свет и атмосфера · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.; Меняем игровое время суток через Lighting; это не системное время компьютера.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Для кнопки добавьте Part с именем TimeButton и ProximityPrompt внутри.

Код Luau
local Lighting = game:GetService("Lighting")
Lighting.ClockTime = 0

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Lighting = game:GetService("Lighting")Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.
  2. Lighting.ClockTime = 0Меняем игровое время суток через Lighting; это не системное время компьютера.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

В игровом мире ночь.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
045Повысить яркостьДвижение и эффекты / Свет и атмосфера · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.; Задаём общую яркость освещения мира.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Для кнопки добавьте Part с именем TimeButton и ProximityPrompt внутри.

Код Luau
local Lighting = game:GetService("Lighting")
Lighting.Brightness = 3

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Lighting = game:GetService("Lighting")Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.
  2. Lighting.Brightness = 3Задаём общую яркость освещения мира.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Свет становится ярче.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
046Изменить окружениеДвижение и эффекты / Свет и атмосфера · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.; Меняем оттенок окружающего света.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Для кнопки добавьте Part с именем TimeButton и ProximityPrompt внутри.

Код Luau
local Lighting = game:GetService("Lighting")
Lighting.Ambient = Color3.fromRGB(80, 100, 150)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Lighting = game:GetService("Lighting")Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.
  2. Lighting.Ambient = Color3.fromRGB(80, 100, 150)Меняем оттенок окружающего света.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Окружение приобретает синий оттенок.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
047Сделать туманДвижение и эффекты / Свет и атмосфера · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.; Задаём дистанцию начала или конца тумана.; Задаём дистанцию начала или конца тумана.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Для кнопки добавьте Part с именем TimeButton и ProximityPrompt внутри.

Код Luau
local Lighting = game:GetService("Lighting")
Lighting.FogEnd = 140
Lighting.FogStart = 25

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Lighting = game:GetService("Lighting")Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.
  2. Lighting.FogEnd = 140Задаём дистанцию начала или конца тумана.
  3. Lighting.FogStart = 25Задаём дистанцию начала или конца тумана.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

На горизонте появляется туман.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
048Отключить туманДвижение и эффекты / Свет и атмосфера · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.; Задаём дистанцию начала или конца тумана.; Задаём дистанцию начала или конца тумана.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Для кнопки добавьте Part с именем TimeButton и ProximityPrompt внутри.

Код Luau
local Lighting = game:GetService("Lighting")
Lighting.FogEnd = 100000
Lighting.FogStart = 0

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Lighting = game:GetService("Lighting")Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.
  2. Lighting.FogEnd = 100000Задаём дистанцию начала или конца тумана.
  3. Lighting.FogStart = 0Задаём дистанцию начала или конца тумана.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Дальний туман исчезает.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
049День и ночь по кругуДвижение и эффекты / Свет и атмосфера · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.; Начинаем бесконечный цикл; внутри должна быть пауза, иначе он может перегрузить игру.; Меняем игровое время суток через Lighting; это не системное время компьютера.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Для кнопки добавьте Part с именем TimeButton и ProximityPrompt внутри.

Код Luau
local Lighting = game:GetService("Lighting")
while true do
    Lighting.ClockTime = (Lighting.ClockTime + 0.1) % 24
    task.wait(0.2)
end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Lighting = game:GetService("Lighting")Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.
  2. while true doНачинаем бесконечный цикл; внутри должна быть пауза, иначе он может перегрузить игру.
  3. Lighting.ClockTime = (Lighting.ClockTime + 0.1) % 24Меняем игровое время суток через Lighting; это не системное время компьютера.
  4. task.wait(0.2)Делаем паузу между действиями, позволяя другим задачам выполняться.
  5. endЗавершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Измените шаг изменения времени и сравните длительность полного игрового дня.

Как проверить

Время суток постепенно меняется.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
050Менять время по кнопкеДвижение и эффекты / Свет и атмосфера · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.; Ожидаем объект с точным именем TimeButton; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Для кнопки добавьте Part с именем TimeButton и ProximityPrompt внутри.

Код Luau
local Lighting = game:GetService("Lighting")
local part = workspace:WaitForChild("TimeButton")
local prompt = part:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function()
    Lighting.ClockTime = Lighting.ClockTime < 12 and 20 or 9
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Lighting = game:GetService("Lighting")Получаем сервис Roblox Lighting, чтобы пользоваться его возможностями.
  2. local part = workspace:WaitForChild("TimeButton")Ожидаем объект с точным именем TimeButton; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. local prompt = part:WaitForChild("ProximityPrompt")Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.
  5. Lighting.ClockTime = Lighting.ClockTime < 12 and 20 or 9Меняем игровое время суток через Lighting; это не системное время компьютера.
  6. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

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

Как проверить

Кнопка переключает день и вечер.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
051Показать приветствиеGUI и мобильность / GUI и интерфейсы · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.; Меняем надпись текстового элемента GUI.

Куда вставить

LocalScript внутри TextLabel

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

В StarterGui создайте ScreenGui, внутри TextLabel, затем LocalScript внутри TextLabel. Запустите Play.

Код Luau
local label = script.Parent
label.Text = "Добро пожаловать!"

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local label = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.
  2. label.Text = "Добро пожаловать!"Меняем надпись текстового элемента GUI.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Надпись изменяется на экране игрока.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
052Скрыть текстGUI и мобильность / GUI и интерфейсы · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.; Показываем или скрываем элемент интерфейса.

Куда вставить

LocalScript внутри TextLabel

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

В StarterGui создайте ScreenGui, внутри TextLabel, затем LocalScript внутри TextLabel. Запустите Play.

Код Luau
local label = script.Parent
label.Visible = false

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local label = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.
  2. label.Visible = falseПоказываем или скрываем элемент интерфейса.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Надпись изменяется на экране игрока.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
053Случайный текстGUI и мобильность / GUI и интерфейсы · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.; Меняем надпись текстового элемента GUI.

Куда вставить

LocalScript внутри TextLabel

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

В StarterGui создайте ScreenGui, внутри TextLabel, затем LocalScript внутри TextLabel. Запустите Play.

Код Luau
local label = script.Parent
label.Text = ({"Удачи!", "Вперёд!", "Ты справишься!"})[math.random(1, 3)]

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local label = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.
  2. label.Text = ({"Удачи!", "Вперёд!", "Ты справишься!"})[math.random(1, 3)]Меняем надпись текстового элемента GUI.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Надпись изменяется на экране игрока.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
054Сменить цвет текстаGUI и мобильность / GUI и интерфейсы · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.; Создаём цвет из трёх значений красного, зелёного и синего в диапазоне 0–255.

Куда вставить

LocalScript внутри TextLabel

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

В StarterGui создайте ScreenGui, внутри TextLabel, затем LocalScript внутри TextLabel. Запустите Play.

Код Luau
local label = script.Parent
label.TextColor3 = Color3.fromRGB(80, 200, 255)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local label = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.
  2. label.TextColor3 = Color3.fromRGB(80, 200, 255)Создаём цвет из трёх значений красного, зелёного и синего в диапазоне 0–255.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Надпись изменяется на экране игрока.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
055Счётчик секундGUI и мобильность / GUI и интерфейсы · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.; Повторяем команды, изменяя счётчик на каждом шаге.; Меняем надпись текстового элемента GUI.

Куда вставить

LocalScript внутри TextLabel

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

В StarterGui создайте ScreenGui, внутри TextLabel, затем LocalScript внутри TextLabel. Запустите Play.

Код Luau
local label = script.Parent
for i = 0, 30 do
    label.Text = "Время: " .. i
    task.wait(1)
end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local label = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.
  2. for i = 0, 30 doПовторяем команды, изменяя счётчик на каждом шаге.
  3. label.Text = "Время: " .. iМеняем надпись текстового элемента GUI.
  4. task.wait(1)Делаем паузу между действиями, позволяя другим задачам выполняться.
  5. endЗавершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Уменьши время отсчёта до 5 секунд и замени надпись.

Как проверить

Надпись изменяется на экране игрока.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
056Обратный отсчёт на экранеGUI и мобильность / GUI и интерфейсы · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.; Повторяем команды, изменяя счётчик на каждом шаге.; Меняем надпись текстового элемента GUI.

Куда вставить

LocalScript внутри TextLabel

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

В StarterGui создайте ScreenGui, внутри TextLabel, затем LocalScript внутри TextLabel. Запустите Play.

Код Luau
local label = script.Parent
for i = 10, 0, -1 do
    label.Text = "Старт через " .. i
    task.wait(1)
end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local label = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.
  2. for i = 10, 0, -1 doПовторяем команды, изменяя счётчик на каждом шаге.
  3. label.Text = "Старт через " .. iМеняем надпись текстового элемента GUI.
  4. task.wait(1)Делаем паузу между действиями, позволяя другим задачам выполняться.
  5. endЗавершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Сделайте обратный отсчёт от 5 до 0.

Как проверить

Надпись изменяется на экране игрока.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
057Отобразить имя игрокаGUI и мобильность / GUI и интерфейсы · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.; Меняем надпись текстового элемента GUI.

Куда вставить

LocalScript внутри TextLabel

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

В StarterGui создайте ScreenGui, внутри TextLabel, затем LocalScript внутри TextLabel. Запустите Play.

Код Luau
local label = script.Parent
label.Text = "Игрок: " .. game.Players.LocalPlayer.DisplayName

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local label = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.
  2. label.Text = "Игрок: " .. game.Players.LocalPlayer.DisplayNameМеняем надпись текстового элемента GUI.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Надпись изменяется на экране игрока.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
058Обновлять здоровьеGUI и мобильность / GUI и интерфейсы · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.

Куда вставить

LocalScript внутри TextLabel

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

В StarterGui создайте ScreenGui, внутри TextLabel, затем LocalScript внутри TextLabel. Запустите Play.

Код Luau
local label = script.Parent
local player = game.Players.LocalPlayer
local function bind(char)
    local hum = char:WaitForChild("Humanoid")
    local function update() label.Text = ("Здоровье: %d"):format(math.ceil(hum.Health)) end
    hum.HealthChanged:Connect(update)
    update()
end
player.CharacterAdded:Connect(bind)
if player.Character then bind(player.Character) end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local label = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.
  2. local player = game.Players.LocalPlayerСоздаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. local hum = char:WaitForChild("Humanoid")Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  4. local function update() label.Text = ("Здоровье: %d"):format(math.ceil(hum.Health)) endМеняем надпись текстового элемента GUI.
  5. hum.HealthChanged:Connect(update)Отслеживаем изменение здоровья и обновляем отображение.
  6. endЗавершаем блок функции, условия или цикла.
  7. player.CharacterAdded:Connect(bind)Повторно применяем настройки после появления или возрождения персонажа.
  8. if player.Character then bind(player.Character) endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
Попробуйте самостоятельно

Нанеси персонажу урон и проверьте изменение строки; затем переродись.

Как проверить

Надпись изменяется на экране игрока.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
059Менять размер текстаGUI и мобильность / GUI и интерфейсы · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.

Куда вставить

LocalScript внутри TextLabel

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

В StarterGui создайте ScreenGui, внутри TextLabel, затем LocalScript внутри TextLabel. Запустите Play.

Код Luau
local label = script.Parent
label.TextScaled = true

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local label = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Надпись изменяется на экране игрока.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
060Мигающая надписьGUI и мобильность / GUI и интерфейсы · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.; Начинаем бесконечный цикл; внутри должна быть пауза, иначе он может перегрузить игру.; Показываем или скрываем элемент интерфейса.

Куда вставить

LocalScript внутри TextLabel

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

В StarterGui создайте ScreenGui, внутри TextLabel, затем LocalScript внутри TextLabel. Запустите Play.

Код Luau
local label = script.Parent
while true do
    label.Visible = not label.Visible
    task.wait(0.6)
end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local label = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную label.
  2. while true doНачинаем бесконечный цикл; внутри должна быть пауза, иначе он может перегрузить игру.
  3. label.Visible = not label.VisibleПоказываем или скрываем элемент интерфейса.
  4. task.wait(0.6)Делаем паузу между действиями, позволяя другим задачам выполняться.
  5. endЗавершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Надпись изменяется на экране игрока.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
061Плавное перемещениеДвижение и эффекты / Анимация объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.; Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.

Куда вставить

Script внутри закреплённого Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part, поставь Anchored = true и добавьте внутрь Script. Запустите Play.

Код Luau
local TweenService = game:GetService("TweenService")
local part = script.Parent
local tween = TweenService:Create(part, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Position = part.Position + Vector3.new(0, 8, 0) })
tween:Play()

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.
  2. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  3. local tween = TweenService:Create(part, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Position = part.Position + Vector3.new(0, 8, 0) })Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.
Попробуйте самостоятельно

Поменяй высоту подъёма с 8 на 4 studs.

Как проверить

Объект плавно изменяет свойство за заданное время.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
062Плавное увеличениеДвижение и эффекты / Анимация объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.; Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.

Куда вставить

Script внутри закреплённого Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part, поставь Anchored = true и добавьте внутрь Script. Запустите Play.

Код Luau
local TweenService = game:GetService("TweenService")
local part = script.Parent
local tween = TweenService:Create(part, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Size = Vector3.new(12, 2, 12) })
tween:Play()

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.
  2. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  3. local tween = TweenService:Create(part, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Size = Vector3.new(12, 2, 12) })Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.
Попробуйте самостоятельно

Сравните начальный и конечный Size детали после анимации.

Как проверить

Объект плавно изменяет свойство за заданное время.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
063Плавное исчезновениеДвижение и эффекты / Анимация объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.; Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.

Куда вставить

Script внутри закреплённого Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part, поставь Anchored = true и добавьте внутрь Script. Запустите Play.

Код Luau
local TweenService = game:GetService("TweenService")
local part = script.Parent
local tween = TweenService:Create(part, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Transparency = 1 })
tween:Play()

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.
  2. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  3. local tween = TweenService:Create(part, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Transparency = 1 })Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.
Попробуйте самостоятельно

Проверь, мешает ли невидимая деталь проходу: CanCollide остаётся прежним.

Как проверить

Объект плавно изменяет свойство за заданное время.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
064Плавное появлениеДвижение и эффекты / Анимация объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.; Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.

Куда вставить

Script внутри закреплённого Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part, поставь Anchored = true и добавьте внутрь Script. Запустите Play.

Код Luau
local TweenService = game:GetService("TweenService")
local part = script.Parent
local tween = TweenService:Create(part, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Transparency = 0 })
tween:Play()

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.
  2. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  3. local tween = TweenService:Create(part, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Transparency = 0 })Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.
Попробуйте самостоятельно

Сделайте появление за 4 секунды вместо исходного времени.

Как проверить

Объект плавно изменяет свойство за заданное время.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
065Плавное изменение цветаДвижение и эффекты / Анимация объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.; Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Создаём цвет из трёх значений красного, зелёного и синего в диапазоне 0–255.

Куда вставить

Script внутри закреплённого Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part, поставь Anchored = true и добавьте внутрь Script. Запустите Play.

Код Luau
local TweenService = game:GetService("TweenService")
local part = script.Parent
local tween = TweenService:Create(part, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Color = Color3.fromRGB(120, 70, 255) })
tween:Play()

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.
  2. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  3. local tween = TweenService:Create(part, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Color = Color3.fromRGB(120, 70, 255) })Создаём цвет из трёх значений красного, зелёного и синего в диапазоне 0–255.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Объект плавно изменяет свойство за заданное время.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
066Плавный поворотДвижение и эффекты / Анимация объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.; Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.

Куда вставить

Script внутри закреплённого Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part, поставь Anchored = true и добавьте внутрь Script. Запустите Play.

Код Luau
local TweenService = game:GetService("TweenService")
local part = script.Parent
local tween = TweenService:Create(part, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { CFrame = part.CFrame * CFrame.Angles(0, math.rad(90), 0) })
tween:Play()

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.
  2. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  3. local tween = TweenService:Create(part, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { CFrame = part.CFrame * CFrame.Angles(0, math.rad(90), 0) })Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Объект плавно изменяет свойство за заданное время.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
067Плавное уменьшениеДвижение и эффекты / Анимация объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.; Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.

Куда вставить

Script внутри закреплённого Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part, поставь Anchored = true и добавьте внутрь Script. Запустите Play.

Код Luau
local TweenService = game:GetService("TweenService")
local part = script.Parent
local tween = TweenService:Create(part, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Size = Vector3.new(3, 1, 3) })
tween:Play()

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.
  2. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  3. local tween = TweenService:Create(part, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Size = Vector3.new(3, 1, 3) })Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Объект плавно изменяет свойство за заданное время.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
068Медленно поднимающаяся платформаДвижение и эффекты / Анимация объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.; Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.

Куда вставить

Script внутри закреплённого Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part, поставь Anchored = true и добавьте внутрь Script. Запустите Play.

Код Luau
local TweenService = game:GetService("TweenService")
local part = script.Parent
local tween = TweenService:Create(part, TweenInfo.new(6, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Position = part.Position + Vector3.new(0, 18, 0) })
tween:Play()

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.
  2. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  3. local tween = TweenService:Create(part, TweenInfo.new(6, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Position = part.Position + Vector3.new(0, 18, 0) })Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Объект плавно изменяет свойство за заданное время.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
069Плавное расширение воротДвижение и эффекты / Анимация объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.; Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.

Куда вставить

Script внутри закреплённого Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part, поставь Anchored = true и добавьте внутрь Script. Запустите Play.

Код Luau
local TweenService = game:GetService("TweenService")
local part = script.Parent
local tween = TweenService:Create(part, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Size = Vector3.new(14, 8, 2) })
tween:Play()

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.
  2. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  3. local tween = TweenService:Create(part, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Size = Vector3.new(14, 8, 2) })Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.
Попробуйте самостоятельно

Проверь, что увеличение Size у ворот может изменить их положение относительно соседних деталей.

Как проверить

Объект плавно изменяет свойство за заданное время.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
070Быстрое исчезновениеДвижение и эффекты / Анимация объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.; Получаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.; Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.

Куда вставить

Script внутри закреплённого Part

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part, поставь Anchored = true и добавьте внутрь Script. Запустите Play.

Код Luau
local TweenService = game:GetService("TweenService")
local part = script.Parent
local tween = TweenService:Create(part, TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Transparency = 1 })
tween:Play()

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис Roblox TweenService, чтобы пользоваться его возможностями.
  2. local part = script.ParentПолучаем объект, внутри которого находится текущий скрипт; далее обращаемся к нему через переменную part.
  3. local tween = TweenService:Create(part, TweenInfo.new(0.35, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Transparency = 1 })Создаём плавную анимацию изменения свойства. До вызова Play анимация не начнётся.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Объект плавно изменяет свойство за заданное время.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
071Скорость персонажаПерсонаж и инструменты / Персонаж и движение · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Изменяем скорость ходьбы Humanoid. Это серверная настройка персонажа.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Запустите Play, затем проверьте свойства персонажа.

Код Luau
local Players = game:GetService("Players")
local function onCharacter(player, character)
    local hum = character:WaitForChild("Humanoid")
    hum.WalkSpeed = 24
end
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)
    if player.Character then onCharacter(player, player.Character) end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local hum = character:WaitForChild("Humanoid")Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. hum.WalkSpeed = 24Изменяем скорость ходьбы Humanoid. Это серверная настройка персонажа.
  4. endЗавершаем блок функции, условия или цикла.
  5. Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  6. player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)Повторно применяем настройки после появления или возрождения персонажа.
  7. if player.Character then onCharacter(player, player.Character) endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  8. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Поменяй WalkSpeed на 20 и сравните с обычной скоростью.

Как проверить

Скорость персонажа станет 24.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
072Обычная скоростьПерсонаж и инструменты / Персонаж и движение · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Изменяем скорость ходьбы Humanoid. Это серверная настройка персонажа.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Запустите Play, затем проверьте свойства персонажа.

Код Luau
local Players = game:GetService("Players")
local function onCharacter(player, character)
    local hum = character:WaitForChild("Humanoid")
    hum.WalkSpeed = 16
end
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)
    if player.Character then onCharacter(player, player.Character) end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local hum = character:WaitForChild("Humanoid")Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. hum.WalkSpeed = 16Изменяем скорость ходьбы Humanoid. Это серверная настройка персонажа.
  4. endЗавершаем блок функции, условия или цикла.
  5. Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  6. player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)Повторно применяем настройки после появления или возрождения персонажа.
  7. if player.Character then onCharacter(player, player.Character) endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  8. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Вернётся стандартная скорость.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
073Высокий прыжокПерсонаж и инструменты / Персонаж и движение · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Меняем силу прыжка Humanoid, когда включён режим UseJumpPower.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Запустите Play, затем проверьте свойства персонажа.

Код Luau
local Players = game:GetService("Players")
local function onCharacter(player, character)
    local hum = character:WaitForChild("Humanoid")
    hum.UseJumpPower = true
    hum.JumpPower = 75
end
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)
    if player.Character then onCharacter(player, player.Character) end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local hum = character:WaitForChild("Humanoid")Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. hum.JumpPower = 75Меняем силу прыжка Humanoid, когда включён режим UseJumpPower.
  4. endЗавершаем блок функции, условия или цикла.
  5. Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  6. player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)Повторно применяем настройки после появления или возрождения персонажа.
  7. if player.Character then onCharacter(player, player.Character) endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  8. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Сравните JumpPower 50 и 75 на одной площадке.

Как проверить

Персонаж сможет прыгать выше.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
074Обычный прыжокПерсонаж и инструменты / Персонаж и движение · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Меняем силу прыжка Humanoid, когда включён режим UseJumpPower.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Запустите Play, затем проверьте свойства персонажа.

Код Luau
local Players = game:GetService("Players")
local function onCharacter(player, character)
    local hum = character:WaitForChild("Humanoid")
    hum.UseJumpPower = true
    hum.JumpPower = 50
end
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)
    if player.Character then onCharacter(player, player.Character) end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local hum = character:WaitForChild("Humanoid")Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. hum.JumpPower = 50Меняем силу прыжка Humanoid, когда включён режим UseJumpPower.
  4. endЗавершаем блок функции, условия или цикла.
  5. Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  6. player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)Повторно применяем настройки после появления или возрождения персонажа.
  7. if player.Character then onCharacter(player, player.Character) endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  8. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Вернётся обычная сила прыжка.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
075Дополнительное здоровьеПерсонаж и инструменты / Персонаж и движение · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Задаём максимально допустимое здоровье персонажа.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Запустите Play, затем проверьте свойства персонажа.

Код Luau
local Players = game:GetService("Players")
local function onCharacter(player, character)
    local hum = character:WaitForChild("Humanoid")
    hum.MaxHealth = 150
    hum.Health = 150
end
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)
    if player.Character then onCharacter(player, player.Character) end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local hum = character:WaitForChild("Humanoid")Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. hum.MaxHealth = 150Задаём максимально допустимое здоровье персонажа.
  4. hum.Health = 150Изменяем текущее здоровье персонажа.
  5. endЗавершаем блок функции, условия или цикла.
  6. Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  7. player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)Повторно применяем настройки после появления или возрождения персонажа.
  8. if player.Character then onCharacter(player, player.Character) endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
Попробуйте самостоятельно

Измените MaxHealth и проверьте соотношение Health и MaxHealth.

Как проверить

Максимальное здоровье будет 150.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
076Изменить высоту бедраПерсонаж и инструменты / Персонаж и движение · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Завершаем блок функции, условия или цикла.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Запустите Play, затем проверьте свойства персонажа.

Код Luau
local Players = game:GetService("Players")
local function onCharacter(player, character)
    local hum = character:WaitForChild("Humanoid")
    hum.HipHeight = 3
end
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)
    if player.Character then onCharacter(player, player.Character) end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local hum = character:WaitForChild("Humanoid")Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. endЗавершаем блок функции, условия или цикла.
  4. Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  5. player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)Повторно применяем настройки после появления или возрождения персонажа.
  6. if player.Character then onCharacter(player, player.Character) endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  7. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Персонаж станет выше над землёй.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
077Восстановить здоровьеПерсонаж и инструменты / Персонаж и движение · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Изменяем текущее здоровье персонажа.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Запустите Play, затем проверьте свойства персонажа.

Код Luau
local Players = game:GetService("Players")
local function onCharacter(player, character)
    local hum = character:WaitForChild("Humanoid")
    hum.Health = hum.MaxHealth
end
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)
    if player.Character then onCharacter(player, player.Character) end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local hum = character:WaitForChild("Humanoid")Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. hum.Health = hum.MaxHealthИзменяем текущее здоровье персонажа.
  4. endЗавершаем блок функции, условия или цикла.
  5. Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  6. player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)Повторно применяем настройки после появления или возрождения персонажа.
  7. if player.Character then onCharacter(player, player.Character) endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  8. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Здоровье восстановится.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
078Включить автоповоротПерсонаж и инструменты / Персонаж и движение · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Завершаем блок функции, условия или цикла.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Запустите Play, затем проверьте свойства персонажа.

Код Luau
local Players = game:GetService("Players")
local function onCharacter(player, character)
    local hum = character:WaitForChild("Humanoid")
    hum.AutoRotate = true
end
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)
    if player.Character then onCharacter(player, player.Character) end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local hum = character:WaitForChild("Humanoid")Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. endЗавершаем блок функции, условия или цикла.
  4. Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  5. player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)Повторно применяем настройки после появления или возрождения персонажа.
  6. if player.Character then onCharacter(player, player.Character) endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  7. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Персонаж автоматически поворачивается.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
079Отключить автоповоротПерсонаж и инструменты / Персонаж и движение · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Завершаем блок функции, условия или цикла.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Запустите Play, затем проверьте свойства персонажа.

Код Luau
local Players = game:GetService("Players")
local function onCharacter(player, character)
    local hum = character:WaitForChild("Humanoid")
    hum.AutoRotate = false
end
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)
    if player.Character then onCharacter(player, player.Character) end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local hum = character:WaitForChild("Humanoid")Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. endЗавершаем блок функции, условия или цикла.
  4. Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  5. player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)Повторно применяем настройки после появления или возрождения персонажа.
  6. if player.Character then onCharacter(player, player.Character) endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  7. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Персонаж не поворачивается автоматически.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
080Проверить смерть персонажаПерсонаж и инструменты / Персонаж и движение · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Выводим сообщение во вкладку Output Roblox Studio, а не на экран игрока.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Запустите Play, затем проверьте свойства персонажа.

Код Luau
local Players = game:GetService("Players")
local function onCharacter(player, character)
    local hum = character:WaitForChild("Humanoid")
    hum.Died:Connect(function() print(player.Name .. " погиб") end)
end
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)
    if player.Character then onCharacter(player, player.Character) end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local hum = character:WaitForChild("Humanoid")Ожидаем объект с точным именем Humanoid; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. hum.Died:Connect(function() print(player.Name .. " погиб") end)Выводим сообщение во вкладку Output Roblox Studio, а не на экран игрока.
  4. endЗавершаем блок функции, условия или цикла.
  5. Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  6. player.CharacterAdded:Connect(function(character) onCharacter(player, character) end)Повторно применяем настройки после появления или возрождения персонажа.
  7. if player.Character then onCharacter(player, player.Character) endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  8. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

После смерти проверьте событие Died в Output.

Как проверить

В Output появится событие смерти.

Обратите внимание: Проверьте написание имён и вкладку Output в Roblox Studio.
081Таблица очковИгровые системы / Игровая логика · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Проверяем условие. Если оно не выполнено, защищённый код не запускается.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Добавьте только один пример на каждое имя показателя; после Play смотри таблицу игроков.

Код Luau
local Players = game:GetService("Players")
local function setup(player)
    local folder = player:FindFirstChild("leaderstats")
    if not folder then
        folder = Instance.new("Folder")
        folder.Name = "leaderstats"
        folder.Parent = player
    end
    local points = Instance.new("IntValue")
    points.Name = "Points"
    points.Value = 0
    points.Parent = folder
end
Players.PlayerAdded:Connect(setup)
for _, player in ipairs(Players:GetPlayers()) do setup(player) end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local folder = player:FindFirstChild("leaderstats")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. if not folder thenПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  4. folder = Instance.new("Folder")Создаём новый Roblox-объект типа Folder.
  5. folder.Name = "leaderstats"Присваиваем объекту имя, по которому другие скрипВы смогут его найти.
  6. folder.Parent = playerРазмещаем созданный объект внутри указанного родителя в Explorer.
  7. endЗавершаем блок функции, условия или цикла.
  8. local points = Instance.new("IntValue")Создаём новый Roblox-объект типа IntValue.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

В таблице игрока появляется Points.

Обратите внимание: Этот пример создаёт показатель, но не сохраняет его между посещениями.
082Таблица монетИгровые системы / Игровая логика · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Проверяем условие. Если оно не выполнено, защищённый код не запускается.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Добавьте только один пример на каждое имя показателя; после Play смотри таблицу игроков.

Код Luau
local Players = game:GetService("Players")
local function setup(player)
    local folder = player:FindFirstChild("leaderstats")
    if not folder then
        folder = Instance.new("Folder")
        folder.Name = "leaderstats"
        folder.Parent = player
    end
    local coins = Instance.new("IntValue")
    coins.Name = "Coins"
    coins.Value = 10
    coins.Parent = folder
end
Players.PlayerAdded:Connect(setup)
for _, player in ipairs(Players:GetPlayers()) do setup(player) end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local folder = player:FindFirstChild("leaderstats")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. if not folder thenПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  4. folder = Instance.new("Folder")Создаём новый Roblox-объект типа Folder.
  5. folder.Name = "leaderstats"Присваиваем объекту имя, по которому другие скрипВы смогут его найти.
  6. folder.Parent = playerРазмещаем созданный объект внутри указанного родителя в Explorer.
  7. endЗавершаем блок функции, условия или цикла.
  8. local coins = Instance.new("IntValue")Создаём новый Roblox-объект типа IntValue.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Появляется счётчик Coins.

Обратите внимание: Этот пример создаёт показатель, но не сохраняет его между посещениями.
083Таблица победИгровые системы / Игровая логика · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Проверяем условие. Если оно не выполнено, защищённый код не запускается.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Добавьте только один пример на каждое имя показателя; после Play смотри таблицу игроков.

Код Luau
local Players = game:GetService("Players")
local function setup(player)
    local folder = player:FindFirstChild("leaderstats")
    if not folder then
        folder = Instance.new("Folder")
        folder.Name = "leaderstats"
        folder.Parent = player
    end
    local wins = Instance.new("IntValue")
    wins.Name = "Wins"
    wins.Parent = folder
end
Players.PlayerAdded:Connect(setup)
for _, player in ipairs(Players:GetPlayers()) do setup(player) end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local folder = player:FindFirstChild("leaderstats")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. if not folder thenПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  4. folder = Instance.new("Folder")Создаём новый Roblox-объект типа Folder.
  5. folder.Name = "leaderstats"Присваиваем объекту имя, по которому другие скрипВы смогут его найти.
  6. folder.Parent = playerРазмещаем созданный объект внутри указанного родителя в Explorer.
  7. endЗавершаем блок функции, условия или цикла.
  8. local wins = Instance.new("IntValue")Создаём новый Roblox-объект типа IntValue.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Появляется счётчик побед.

Обратите внимание: Этот пример создаёт показатель, но не сохраняет его между посещениями.
084Таблица звёздИгровые системы / Игровая логика · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Проверяем условие. Если оно не выполнено, защищённый код не запускается.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Добавьте только один пример на каждое имя показателя; после Play смотри таблицу игроков.

Код Luau
local Players = game:GetService("Players")
local function setup(player)
    local folder = player:FindFirstChild("leaderstats")
    if not folder then
        folder = Instance.new("Folder")
        folder.Name = "leaderstats"
        folder.Parent = player
    end
    local stars = Instance.new("IntValue")
    stars.Name = "Stars"
    stars.Parent = folder
end
Players.PlayerAdded:Connect(setup)
for _, player in ipairs(Players:GetPlayers()) do setup(player) end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local folder = player:FindFirstChild("leaderstats")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. if not folder thenПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  4. folder = Instance.new("Folder")Создаём новый Roblox-объект типа Folder.
  5. folder.Name = "leaderstats"Присваиваем объекту имя, по которому другие скрипВы смогут его найти.
  6. folder.Parent = playerРазмещаем созданный объект внутри указанного родителя в Explorer.
  7. endЗавершаем блок функции, условия или цикла.
  8. local stars = Instance.new("IntValue")Создаём новый Roblox-объект типа IntValue.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Появляется счётчик звёзд.

Обратите внимание: Этот пример создаёт показатель, но не сохраняет его между посещениями.
085Таблица уровнейИгровые системы / Игровая логика · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Проверяем условие. Если оно не выполнено, защищённый код не запускается.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Добавьте только один пример на каждое имя показателя; после Play смотри таблицу игроков.

Код Luau
local Players = game:GetService("Players")
local function setup(player)
    local folder = player:FindFirstChild("leaderstats")
    if not folder then
        folder = Instance.new("Folder")
        folder.Name = "leaderstats"
        folder.Parent = player
    end
    local level = Instance.new("IntValue")
    level.Name = "Level"
    level.Value = 1
    level.Parent = folder
end
Players.PlayerAdded:Connect(setup)
for _, player in ipairs(Players:GetPlayers()) do setup(player) end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local folder = player:FindFirstChild("leaderstats")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. if not folder thenПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  4. folder = Instance.new("Folder")Создаём новый Roblox-объект типа Folder.
  5. folder.Name = "leaderstats"Присваиваем объекту имя, по которому другие скрипВы смогут его найти.
  6. folder.Parent = playerРазмещаем созданный объект внутри указанного родителя в Explorer.
  7. endЗавершаем блок функции, условия или цикла.
  8. local level = Instance.new("IntValue")Создаём новый Roblox-объект типа IntValue.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Появляется уровень 1.

Обратите внимание: Этот пример создаёт показатель, но не сохраняет его между посещениями.
086Таблица ключейИгровые системы / Игровая логика · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Проверяем условие. Если оно не выполнено, защищённый код не запускается.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Добавьте только один пример на каждое имя показателя; после Play смотри таблицу игроков.

Код Luau
local Players = game:GetService("Players")
local function setup(player)
    local folder = player:FindFirstChild("leaderstats")
    if not folder then
        folder = Instance.new("Folder")
        folder.Name = "leaderstats"
        folder.Parent = player
    end
    local keys = Instance.new("IntValue")
    keys.Name = "Keys"
    keys.Parent = folder
end
Players.PlayerAdded:Connect(setup)
for _, player in ipairs(Players:GetPlayers()) do setup(player) end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local folder = player:FindFirstChild("leaderstats")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. if not folder thenПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  4. folder = Instance.new("Folder")Создаём новый Roblox-объект типа Folder.
  5. folder.Name = "leaderstats"Присваиваем объекту имя, по которому другие скрипВы смогут его найти.
  6. folder.Parent = playerРазмещаем созданный объект внутри указанного родителя в Explorer.
  7. endЗавершаем блок функции, условия или цикла.
  8. local keys = Instance.new("IntValue")Создаём новый Roblox-объект типа IntValue.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Появляется счётчик ключей.

Обратите внимание: Этот пример создаёт показатель, но не сохраняет его между посещениями.
087Таблица опытаИгровые системы / Игровая логика · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Проверяем условие. Если оно не выполнено, защищённый код не запускается.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Добавьте только один пример на каждое имя показателя; после Play смотри таблицу игроков.

Код Luau
local Players = game:GetService("Players")
local function setup(player)
    local folder = player:FindFirstChild("leaderstats")
    if not folder then
        folder = Instance.new("Folder")
        folder.Name = "leaderstats"
        folder.Parent = player
    end
    local xp = Instance.new("IntValue")
    xp.Name = "XP"
    xp.Parent = folder
end
Players.PlayerAdded:Connect(setup)
for _, player in ipairs(Players:GetPlayers()) do setup(player) end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local folder = player:FindFirstChild("leaderstats")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. if not folder thenПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  4. folder = Instance.new("Folder")Создаём новый Roblox-объект типа Folder.
  5. folder.Name = "leaderstats"Присваиваем объекту имя, по которому другие скрипВы смогут его найти.
  6. folder.Parent = playerРазмещаем созданный объект внутри указанного родителя в Explorer.
  7. endЗавершаем блок функции, условия или цикла.
  8. local xp = Instance.new("IntValue")Создаём новый Roblox-объект типа IntValue.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Появляется опыт.

Обратите внимание: Этот пример создаёт показатель, но не сохраняет его между посещениями.
088Таблица кристалловИгровые системы / Игровая логика · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Проверяем условие. Если оно не выполнено, защищённый код не запускается.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Добавьте только один пример на каждое имя показателя; после Play смотри таблицу игроков.

Код Luau
local Players = game:GetService("Players")
local function setup(player)
    local folder = player:FindFirstChild("leaderstats")
    if not folder then
        folder = Instance.new("Folder")
        folder.Name = "leaderstats"
        folder.Parent = player
    end
    local gems = Instance.new("IntValue")
    gems.Name = "Gems"
    gems.Parent = folder
end
Players.PlayerAdded:Connect(setup)
for _, player in ipairs(Players:GetPlayers()) do setup(player) end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local folder = player:FindFirstChild("leaderstats")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. if not folder thenПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  4. folder = Instance.new("Folder")Создаём новый Roblox-объект типа Folder.
  5. folder.Name = "leaderstats"Присваиваем объекту имя, по которому другие скрипВы смогут его найти.
  6. folder.Parent = playerРазмещаем созданный объект внутри указанного родителя в Explorer.
  7. endЗавершаем блок функции, условия или цикла.
  8. local gems = Instance.new("IntValue")Создаём новый Roblox-объект типа IntValue.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Появляется счётчик кристаллов.

Обратите внимание: Этот пример создаёт показатель, но не сохраняет его между посещениями.
089Таблица контрольных точекИгровые системы / Игровая логика · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Проверяем условие. Если оно не выполнено, защищённый код не запускается.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Добавьте только один пример на каждое имя показателя; после Play смотри таблицу игроков.

Код Luau
local Players = game:GetService("Players")
local function setup(player)
    local folder = player:FindFirstChild("leaderstats")
    if not folder then
        folder = Instance.new("Folder")
        folder.Name = "leaderstats"
        folder.Parent = player
    end
    local cp = Instance.new("IntValue")
    cp.Name = "Checkpoint"
    cp.Parent = folder
end
Players.PlayerAdded:Connect(setup)
for _, player in ipairs(Players:GetPlayers()) do setup(player) end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local folder = player:FindFirstChild("leaderstats")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. if not folder thenПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  4. folder = Instance.new("Folder")Создаём новый Roblox-объект типа Folder.
  5. folder.Name = "leaderstats"Присваиваем объекту имя, по которому другие скрипВы смогут его найти.
  6. folder.Parent = playerРазмещаем созданный объект внутри указанного родителя в Explorer.
  7. endЗавершаем блок функции, условия или цикла.
  8. local cp = Instance.new("IntValue")Создаём новый Roblox-объект типа IntValue.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Появляется этап трассы.

Обратите внимание: Этот пример создаёт показатель, но не сохраняет его между посещениями.
090Таблица собранных предметовИгровые системы / Игровая логика · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Players, чтобы пользоваться его возможностями.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Проверяем условие. Если оно не выполнено, защищённый код не запускается.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Добавьте только один пример на каждое имя показателя; после Play смотри таблицу игроков.

Код Luau
local Players = game:GetService("Players")
local function setup(player)
    local folder = player:FindFirstChild("leaderstats")
    if not folder then
        folder = Instance.new("Folder")
        folder.Name = "leaderstats"
        folder.Parent = player
    end
    local count = Instance.new("IntValue")
    count.Name = "Collected"
    count.Parent = folder
end
Players.PlayerAdded:Connect(setup)
for _, player in ipairs(Players:GetPlayers()) do setup(player) end

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис Roblox Players, чтобы пользоваться его возможностями.
  2. local folder = player:FindFirstChild("leaderstats")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. if not folder thenПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  4. folder = Instance.new("Folder")Создаём новый Roblox-объект типа Folder.
  5. folder.Name = "leaderstats"Присваиваем объекту имя, по которому другие скрипВы смогут его найти.
  6. folder.Parent = playerРазмещаем созданный объект внутри указанного родителя в Explorer.
  7. endЗавершаем блок функции, условия или цикла.
  8. local count = Instance.new("IntValue")Создаём новый Roblox-объект типа IntValue.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Появляется счётчик предметов.

Обратите внимание: Этот пример создаёт показатель, но не сохраняет его между посещениями.
091Отправить уведомление клиентуСерверная практика / Сервер и безопасность · Продвинутый
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox ReplicatedStorage, чтобы пользоваться его возможностями.; Создаём новый Roblox-объект типа RemoteEvent.; Присваиваем объекту имя, по которому другие скрипВы смогут его найти.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService. Для показа текста понадобится отдельный LocalScript с обработчиком OnClientEvent.

Код Luau
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local event = Instance.new("RemoteEvent")
event.Name = "GameNotice"
event.Parent = ReplicatedStorage
game.Players.PlayerAdded:Connect(function(player)
    task.wait(2)
    event:FireClient(player, "Добро пожаловать!")
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local ReplicatedStorage = game:GetService("ReplicatedStorage")Получаем сервис Roblox ReplicatedStorage, чтобы пользоваться его возможностями.
  2. local event = Instance.new("RemoteEvent")Создаём новый Roblox-объект типа RemoteEvent.
  3. event.Name = "GameNotice"Присваиваем объекту имя, по которому другие скрипВы смогут его найти.
  4. event.Parent = ReplicatedStorageРазмещаем созданный объект внутри указанного родителя в Explorer.
  5. game.Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  6. task.wait(2)Делаем паузу между действиями, позволяя другим задачам выполняться.
  7. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Добавьте второе сообщение только одному игроку через FireClient.

Как проверить

Сервер отправляет сообщение клиенту.

Обратите внимание: Это учебный пример. Для публичной игры проверьте безопасность, сохранения и обработку ошибок.
092Принять серверное уведомлениеСерверная практика / Сервер и безопасность · Продвинутый
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Ожидаем объект с точным именем GameNotice; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Получаем сообщение сервера на стороне конкретного игрока.; Выводим сообщение во вкладку Output Roblox Studio, а не на экран игрока.

Куда вставить

LocalScript в StarterPlayerScripts

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Добавьте LocalScript в StarterPlayer → StarterPlayerScripts. Используй вместе со скриптом «Отправить уведомление клиенту».

Код Luau
local event = game.ReplicatedStorage:WaitForChild("GameNotice")
event.OnClientEvent:Connect(function(message)
    print("Уведомление:", message)
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local event = game.ReplicatedStorage:WaitForChild("GameNotice")Ожидаем объект с точным именем GameNotice; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  2. event.OnClientEvent:Connect(function(message)Получаем сообщение сервера на стороне конкретного игрока.
  3. print("Уведомление:", message)Выводим сообщение во вкладку Output Roblox Studio, а не на экран игрока.
  4. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Проверьте получение уведомления отдельным LocalScript в StarterPlayerScripts.

Как проверить

Сообщение от сервера видно в клиентском Output.

Обратите внимание: Это учебный пример. Для публичной игры проверьте безопасность, сохранения и обработку ошибок.
093Проверить дистанцию до двериСерверная практика / Сервер и безопасность · Продвинутый
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Ожидаем объект с точным именем Door; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part с именем Door и ProximityPrompt в нём, затем Script в ServerScriptService.

Код Luau
local door = workspace:WaitForChild("Door")
local prompt = door:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
    local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
    if not root or (root.Position - door.Position).Magnitude > 10 then return end
    door.CanCollide = false
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local door = workspace:WaitForChild("Door")Ожидаем объект с точным именем Door; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  2. local prompt = door:WaitForChild("ProximityPrompt")Ожидаем объект с точным именем ProximityPrompt; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия ProximityPrompt: код внутри функции выполняется при использовании подсказки.
  4. local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  5. if not root or (root.Position - door.Position).Magnitude > 10 then return endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  6. door.CanCollide = falseОтключаем столкновения, позволяя пройти сквозь деталь.
  7. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

Дверь открывает только игрок рядом с ней.

Обратите внимание: Это учебный пример. Для публичной игры проверьте безопасность, сохранения и обработку ошибок.
094Ограничить частоту запросовСерверная практика / Сервер и безопасность · Продвинутый
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Ожидаем объект с точным именем GameAction; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Обрабатываем запрос клиента на сервере; сервер обязан проверять право на действие и входные данные.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте RemoteEvent GameAction в ReplicatedStorage и Script в ServerScriptService; клиент может вызвать FireServer().

Код Luau
local event = game.ReplicatedStorage:WaitForChild("GameAction")
local last = {}
event.OnServerEvent:Connect(function(player)
    local now = os.clock()
    if now - (last[player] or -10) < 2 then return end
    last[player] = now
    print("Запрос принят:", player.Name)
end)
game.Players.PlayerRemoving:Connect(function(player) last[player] = nil end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local event = game.ReplicatedStorage:WaitForChild("GameAction")Ожидаем объект с точным именем GameAction; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  2. local last = {}Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. event.OnServerEvent:Connect(function(player)Обрабатываем запрос клиента на сервере; сервер обязан проверять право на действие и входные данные.
  4. local now = os.clock()Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  5. if now - (last[player] or -10) < 2 then return endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  6. print("Запрос принят:", player.Name)Выводим сообщение во вкладку Output Roblox Studio, а не на экран игрока.
  7. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Установите задержку 2 секунды и попробуйте отправлять запросы чаще.

Как проверить

Сервер принимает не чаще одного запроса за две секунды.

Обратите внимание: Это учебный пример. Для публичной игры проверьте безопасность, сохранения и обработку ошибок.
095Проверить стоимость покупкиСерверная практика / Сервер и безопасность · Продвинутый
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Вместе с примером Stars создайте Script и вызывай buy(player) только из проверенного серверного обработчика.

Код Luau
local PRICE = 5
local function buy(player)
    local stats = player:FindFirstChild("leaderstats")
    local stars = stats and stats:FindFirstChild("Stars")
    if not stars or stars.Value < PRICE then return false end
    stars.Value -= PRICE
    return true
end
print("Функция покупки готова")

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local PRICE = 5Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  2. local stats = player:FindFirstChild("leaderstats")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. local stars = stats and stats:FindFirstChild("Stars")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  4. if not stars or stars.Value < PRICE then return false endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  5. return trueПрерываем выполнение или возвращаем результат функции вызывающему коду.
  6. endЗавершаем блок функции, условия или цикла.
  7. print("Функция покупки готова")Выводим сообщение во вкладку Output Roblox Studio, а не на экран игрока.
Попробуйте самостоятельно

Проверьте покупку при 4 и 5 звёздах. Обрати внимание: этот фрагмент объявляет функцию, но не вызывает её.

Как проверить

Сервер списывает фиксированную цену; пример — функция для интеграции.

Обратите внимание: Это учебный пример. Для публичной игры проверьте безопасность, сохранения и обработку ошибок.
096Сохранить число через DataStoreСерверная практика / Сервер и безопасность · Продвинутый
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox DataStoreService, чтобы пользоваться его возможностями.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Используй опубликованный тестовый плейс; включи Studio Access to API Services в настройках безопасности. Для промышленной игры потребуются повторные попытки и сохранение при закрытии сервера.

Код Luau
local DSS = game:GetService("DataStoreService")
local store = DSS:GetDataStore("IgrovenokDemoScoreV1")
game.Players.PlayerRemoving:Connect(function(player)
    local score = player:GetAttribute("DemoScore") or 0
    local ok, err = pcall(function()
        store:SetAsync(tostring(player.UserId), score)
    end)
    if not ok then warn("Ошибка записи:", err) end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local DSS = game:GetService("DataStoreService")Получаем сервис Roblox DataStoreService, чтобы пользоваться его возможностями.
  2. local store = DSS:GetDataStore("IgrovenokDemoScoreV1")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. local score = player:GetAttribute("DemoScore") or 0Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  4. local ok, err = pcall(function()Защищаем опасную операцию: получаем статус успеха и сообщение об ошибке, не останавливая весь скрипт.
  5. store:SetAsync(tostring(player.UserId), score)Записываем данные в DataStore; возможные ошибки нужно обрабатывать и предусматривать повторные попытки.
  6. end)Завершаем блок функции, условия или цикла.
  7. if not ok then warn("Ошибка записи:", err) endПоказываем диагностическое предупреждение в Output.
Попробуйте самостоятельно

Сохраните DemoScore, выйди и войди в опубликованную тестовую игру; проверьте доступ к API.

Как проверить

При штатном выходе выполняется попытка записи числа в DataStore.

Обратите внимание: Это учебный пример. Для публичной игры проверьте безопасность, сохранения и обработку ошибок.
097Загрузить число из DataStoreСерверная практика / Сервер и безопасность · Продвинутый
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox DataStoreService, чтобы пользоваться его возможностями.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Запускаем обработчик для нового игрока, когда тот входит на сервер.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

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

Код Luau
local DSS = game:GetService("DataStoreService")
local store = DSS:GetDataStore("IgrovenokDemoScoreV1")
game.Players.PlayerAdded:Connect(function(player)
    local ok, value = pcall(function()
        return store:GetAsync(tostring(player.UserId))
    end)
    if ok then player:SetAttribute("DemoScore", tonumber(value) or 0)
    else warn("Ошибка загрузки:", value) end
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local DSS = game:GetService("DataStoreService")Получаем сервис Roblox DataStoreService, чтобы пользоваться его возможностями.
  2. local store = DSS:GetDataStore("IgrovenokDemoScoreV1")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. game.Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  4. local ok, value = pcall(function()Защищаем опасную операцию: получаем статус успеха и сообщение об ошибке, не останавливая весь скрипт.
  5. return store:GetAsync(tostring(player.UserId))Считываем данные из DataStore; запрос может завершиться ошибкой.
  6. end)Завершаем блок функции, условия или цикла.
  7. if ok then player:SetAttribute("DemoScore", tonumber(value) or 0)Проверяем условие. Если оно не выполнено, защищённый код не запускается.
  8. else warn("Ошибка загрузки:", value) endПоказываем диагностическое предупреждение в Output.
Попробуйте самостоятельно

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

Как проверить

Число загружается в атрибут DemoScore.

Обратите внимание: Это учебный пример. Для публичной игры проверьте безопасность, сохранения и обработку ошибок.
098Случайный выбор картыСерверная практика / Сервер и безопасность · Продвинутый
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Script в ServerScriptService и запустите Play. После выбора подключи загрузку собственной карты.

Код Luau
local maps = {"Лес", "Пещера", "Пустыня"}
local rng = Random.new()
local selected = maps[rng:NextInteger(1, #maps)]
print("Следующая карта:", selected)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local maps = {"Лес", "Пещера", "Пустыня"}Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  2. local rng = Random.new()Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  3. local selected = maps[rng:NextInteger(1, #maps)]Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  4. print("Следующая карта:", selected)Выводим сообщение во вкладку Output Roblox Studio, а не на экран игрока.
Попробуйте самостоятельно

Измените одно значение или имя объекта в коде, предскажи результат и проверьте его в режиме Play. Объясни, почему результат изменился.

Как проверить

В Output появляется случайное название карты.

Обратите внимание: Это учебный пример. Для публичной игры проверьте безопасность, сохранения и обработку ошибок.
099Разделить игроков на командыСерверная практика / Сервер и безопасность · Продвинутый
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Получаем сервис Roblox Teams, чтобы пользоваться его возможностями.; Ожидаем объект с точным именем Red; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Ожидаем объект с точным именем Blue; если имени нет, код будет ждать и Roblox может вывести предупреждение.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Добавьте сервис Teams с командами Red и Blue, затем ServerScriptService → Script.

Код Luau
local Teams = game:GetService("Teams")
local red = Teams:WaitForChild("Red")
local blue = Teams:WaitForChild("Blue")
game.Players.PlayerAdded:Connect(function(player)
    player.Team = #red:GetPlayers() <= #blue:GetPlayers() and red or blue
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local Teams = game:GetService("Teams")Получаем сервис Roblox Teams, чтобы пользоваться его возможностями.
  2. local red = Teams:WaitForChild("Red")Ожидаем объект с точным именем Red; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. local blue = Teams:WaitForChild("Blue")Ожидаем объект с точным именем Blue; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  4. game.Players.PlayerAdded:Connect(function(player)Запускаем обработчик для нового игрока, когда тот входит на сервер.
  5. end)Завершаем блок функции, условия или цикла.
Попробуйте самостоятельно

Проверьте команды у двух игроков; создайте Red и Blue в Teams.

Как проверить

Новые игроки распределяются между двумя командами.

Обратите внимание: Это учебный пример. Для публичной игры проверьте безопасность, сохранения и обработку ошибок.
100Проверить контрольные точкиСерверная практика / Сервер и безопасность · Продвинутый
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Разбери действия по порядку: Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.; Ожидаем объект с точным именем Finish; если имени нет, код будет ждать и Roblox может вывести предупреждение.; Подписываемся на касание детали. Одно касание может вызвать событие несколько раз.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Создайте перечисленные в инструкции объекВы с точными именами.
  2. Выберите верный тип скрипта и вставьте исходный код.
  3. Запустите Play и сравните результат с описанием ниже.

Создайте Part Finish. Отдельными скриптами последовательно устанавливай атрибут Checkpoint равным 1, 2, 3 только при реальном прохождении.

Код Luau
local required = 3
local finish = workspace:WaitForChild("Finish")
finish.Touched:Connect(function(hit)
    local character = hit.Parent
    local player = character and game.Players:GetPlayerFromCharacter(character)
    local hum = character and character:FindFirstChildOfClass("Humanoid")
    if not player or not hum or hum.Health <= 0 then return end
    if player:GetAttribute("Checkpoint") ~= required then return end
    if player:GetAttribute("Finished") then return end
    player:SetAttribute("Finished", true)
    print(player.Name .. " завершил маршрут!")
end)

Как работает этот код

Разбери каждую строку: где получается объект, какое событие или условие используется и что изменяется после выполнения.

Разбор строк

  1. local required = 3Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  2. local finish = workspace:WaitForChild("Finish")Ожидаем объект с точным именем Finish; если имени нет, код будет ждать и Roblox может вывести предупреждение.
  3. finish.Touched:Connect(function(hit)Подписываемся на касание детали. Одно касание может вызвать событие несколько раз.
  4. local character = hit.ParentСоздаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  5. local player = character and game.Players:GetPlayerFromCharacter(character)Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  6. local hum = character and character:FindFirstChildOfClass("Humanoid")Создаём локальную переменную для дальнейших вычислений или рабоВы с объектом.
  7. if not player or not hum or hum.Health <= 0 then return endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
  8. if player:GetAttribute("Checkpoint") ~= required then return endПроверяем условие. Если оно не выполнено, защищённый код не запускается.
Попробуйте самостоятельно

Коснись финиша при Checkpoint = 2 и при Checkpoint = 3.

Как проверить

Финиш засчитывается лишь после всех трёх этапов.

Обратите внимание: Это учебный пример. Для публичной игры проверьте безопасность, сохранения и обработку ошибок.
101Ограничить скорость игрокаLuau и алгоритмы / Математика в играх · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

math.clamp ограничивает значение между нижней и верхней границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите скрипт и сравните requested, maxAllowed и safeValue в Output.

Код Luau
local requested = 39
local maxAllowed = 24
local safeValue = math.clamp(requested, 0, maxAllowed)
print("Ограничить скорость игрока:", safeValue)

Как работает этот код

Числовые ограничения. math.clamp ограничивает значение между нижней и верхней границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local requested = 39Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local safeValue = math.clamp(requested, 0, maxAllowed)Ограничивает число заданными минимальным и максимальным значениями; значение не применяется к игроку автоматически.
  3. print("Ограничить скорость игрока:", safeValue)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Изменяй предел и запрашиваемое значение; проверьте результат в Output. Это вычисление, а не настройка персонажа.

Как проверить

В Output получится число, не превышающее установленную границу.

Обратите внимание: Этот код только рассчитывает ограниченное число и печатает его. Чтобы изменить свойства персонажа или игровое правило, потребуется отдельно применить результат на сервере.
102Ограничить высоту прыжкаLuau и алгоритмы / Математика в играх · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

math.clamp ограничивает значение между нижней и верхней границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите скрипт и сравните requested, maxAllowed и safeValue в Output.

Код Luau
local requested = 75
local maxAllowed = 60
local safeValue = math.clamp(requested, 0, maxAllowed)
print("Ограничить высоту прыжка:", safeValue)

Как работает этот код

Числовые ограничения. math.clamp ограничивает значение между нижней и верхней границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local requested = 75Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local safeValue = math.clamp(requested, 0, maxAllowed)Ограничивает число заданными минимальным и максимальным значениями; значение не применяется к игроку автоматически.
  3. print("Ограничить высоту прыжка:", safeValue)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Изменяй предел и запрашиваемое значение; проверьте результат в Output. Это вычисление, а не настройка персонажа.

Как проверить

В Output получится число, не превышающее установленную границу.

Обратите внимание: Этот код только рассчитывает ограниченное число и печатает его. Чтобы изменить свойства персонажа или игровое правило, потребуется отдельно применить результат на сервере.
103Ограничить максимальные очкиLuau и алгоритмы / Математика в играх · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

math.clamp ограничивает значение между нижней и верхней границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите скрипт и сравните requested, maxAllowed и safeValue в Output.

Код Luau
local requested = 115
local maxAllowed = 100
local safeValue = math.clamp(requested, 0, maxAllowed)
print("Ограничить максимальные очки:", safeValue)

Как работает этот код

Числовые ограничения. math.clamp ограничивает значение между нижней и верхней границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local requested = 115Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local safeValue = math.clamp(requested, 0, maxAllowed)Ограничивает число заданными минимальным и максимальным значениями; значение не применяется к игроку автоматически.
  3. print("Ограничить максимальные очки:", safeValue)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Изменяй предел и запрашиваемое значение; проверьте результат в Output. Это вычисление, а не настройка персонажа.

Как проверить

В Output получится число, не превышающее установленную границу.

Обратите внимание: Этот код только рассчитывает ограниченное число и печатает его. Чтобы изменить свойства персонажа или игровое правило, потребуется отдельно применить результат на сервере.
104Задать минимальное здоровьеLuau и алгоритмы / Математика в играх · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

math.clamp ограничивает значение между нижней и верхней границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите скрипт и сравните requested, maxAllowed и safeValue в Output.

Код Luau
local requested = 16
local maxAllowed = 1
local safeValue = math.clamp(requested, 0, maxAllowed)
print("Задать минимальное здоровье:", safeValue)

Как работает этот код

Числовые ограничения. math.clamp ограничивает значение между нижней и верхней границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local requested = 16Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local safeValue = math.clamp(requested, 0, maxAllowed)Ограничивает число заданными минимальным и максимальным значениями; значение не применяется к игроку автоматически.
  3. print("Задать минимальное здоровье:", safeValue)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Изменяй предел и запрашиваемое значение; проверьте результат в Output. Это вычисление, а не настройка персонажа.

Как проверить

В Output получится число, не превышающее установленную границу.

Обратите внимание: Этот код только рассчитывает ограниченное число и печатает его. Чтобы изменить свойства персонажа или игровое правило, потребуется отдельно применить результат на сервере.
105Ограничить силу ускоренияLuau и алгоритмы / Математика в играх · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

math.clamp ограничивает значение между нижней и верхней границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите скрипт и сравните requested, maxAllowed и safeValue в Output.

Код Luau
local requested = 50
local maxAllowed = 35
local safeValue = math.clamp(requested, 0, maxAllowed)
print("Ограничить силу ускорения:", safeValue)

Как работает этот код

Числовые ограничения. math.clamp ограничивает значение между нижней и верхней границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local requested = 50Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local safeValue = math.clamp(requested, 0, maxAllowed)Ограничивает число заданными минимальным и максимальным значениями; значение не применяется к игроку автоматически.
  3. print("Ограничить силу ускорения:", safeValue)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Изменяй предел и запрашиваемое значение; проверьте результат в Output. Это вычисление, а не настройка персонажа.

Как проверить

В Output получится число, не превышающее установленную границу.

Обратите внимание: Этот код только рассчитывает ограниченное число и печатает его. Чтобы изменить свойства персонажа или игровое правило, потребуется отдельно применить результат на сервере.
106Ограничить цену улучшенияLuau и алгоритмы / Математика в играх · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

math.clamp ограничивает значение между нижней и верхней границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите скрипт и сравните requested, maxAllowed и safeValue в Output.

Код Luau
local requested = 65
local maxAllowed = 50
local safeValue = math.clamp(requested, 0, maxAllowed)
print("Ограничить цену улучшения:", safeValue)

Как работает этот код

Числовые ограничения. math.clamp ограничивает значение между нижней и верхней границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local requested = 65Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local safeValue = math.clamp(requested, 0, maxAllowed)Ограничивает число заданными минимальным и максимальным значениями; значение не применяется к игроку автоматически.
  3. print("Ограничить цену улучшения:", safeValue)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Изменяй предел и запрашиваемое значение; проверьте результат в Output. Это вычисление, а не настройка персонажа.

Как проверить

В Output получится число, не превышающее установленную границу.

Обратите внимание: Этот код только рассчитывает ограниченное число и печатает его. Чтобы изменить свойства персонажа или игровое правило, потребуется отдельно применить результат на сервере.
107Ограничить время раундаLuau и алгоритмы / Математика в играх · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

math.clamp ограничивает значение между нижней и верхней границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите скрипт и сравните requested, maxAllowed и safeValue в Output.

Код Luau
local requested = 195
local maxAllowed = 180
local safeValue = math.clamp(requested, 0, maxAllowed)
print("Ограничить время раунда:", safeValue)

Как работает этот код

Числовые ограничения. math.clamp ограничивает значение между нижней и верхней границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local requested = 195Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local safeValue = math.clamp(requested, 0, maxAllowed)Ограничивает число заданными минимальным и максимальным значениями; значение не применяется к игроку автоматически.
  3. print("Ограничить время раунда:", safeValue)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Изменяй предел и запрашиваемое значение; проверьте результат в Output. Это вычисление, а не настройка персонажа.

Как проверить

В Output получится число, не превышающее установленную границу.

Обратите внимание: Этот код только рассчитывает ограниченное число и печатает его. Чтобы изменить свойства персонажа или игровое правило, потребуется отдельно применить результат на сервере.
108Ограничить число попытокLuau и алгоритмы / Математика в играх · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

math.clamp ограничивает значение между нижней и верхней границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите скрипт и сравните requested, maxAllowed и safeValue в Output.

Код Luau
local requested = 18
local maxAllowed = 3
local safeValue = math.clamp(requested, 0, maxAllowed)
print("Ограничить число попыток:", safeValue)

Как работает этот код

Числовые ограничения. math.clamp ограничивает значение между нижней и верхней границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local requested = 18Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local safeValue = math.clamp(requested, 0, maxAllowed)Ограничивает число заданными минимальным и максимальным значениями; значение не применяется к игроку автоматически.
  3. print("Ограничить число попыток:", safeValue)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Изменяй предел и запрашиваемое значение; проверьте результат в Output. Это вычисление, а не настройка персонажа.

Как проверить

В Output получится число, не превышающее установленную границу.

Обратите внимание: Этот код только рассчитывает ограниченное число и печатает его. Чтобы изменить свойства персонажа или игровое правило, потребуется отдельно применить результат на сервере.
109Ограничить дальность взаимодействияLuau и алгоритмы / Математика в играх · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

math.clamp ограничивает значение между нижней и верхней границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите скрипт и сравните requested, maxAllowed и safeValue в Output.

Код Luau
local requested = 27
local maxAllowed = 12
local safeValue = math.clamp(requested, 0, maxAllowed)
print("Ограничить дальность взаимодействия:", safeValue)

Как работает этот код

Числовые ограничения. math.clamp ограничивает значение между нижней и верхней границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local requested = 27Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local safeValue = math.clamp(requested, 0, maxAllowed)Ограничивает число заданными минимальным и максимальным значениями; значение не применяется к игроку автоматически.
  3. print("Ограничить дальность взаимодействия:", safeValue)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Изменяй предел и запрашиваемое значение; проверьте результат в Output. Это вычисление, а не настройка персонажа.

Как проверить

В Output получится число, не превышающее установленную границу.

Обратите внимание: Этот код только рассчитывает ограниченное число и печатает его. Чтобы изменить свойства персонажа или игровое правило, потребуется отдельно применить результат на сервере.
110Ограничить запас энергииLuau и алгоритмы / Математика в играх · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

math.clamp ограничивает значение между нижней и верхней границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите скрипт и сравните requested, maxAllowed и safeValue в Output.

Код Luau
local requested = 90
local maxAllowed = 75
local safeValue = math.clamp(requested, 0, maxAllowed)
print("Ограничить запас энергии:", safeValue)

Как работает этот код

Числовые ограничения. math.clamp ограничивает значение между нижней и верхней границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local requested = 90Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local safeValue = math.clamp(requested, 0, maxAllowed)Ограничивает число заданными минимальным и максимальным значениями; значение не применяется к игроку автоматически.
  3. print("Ограничить запас энергии:", safeValue)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Изменяй предел и запрашиваемое значение; проверьте результат в Output. Это вычисление, а не настройка персонажа.

Как проверить

В Output получится число, не превышающее установленную границу.

Обратите внимание: Этот код только рассчитывает ограниченное число и печатает его. Чтобы изменить свойства персонажа или игровое правило, потребуется отдельно применить результат на сервере.
111Собрать сообщение о победеLuau и алгоритмы / Строки и сообщения · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

string.format вставляет значения в строку по заданному шаблону.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте Output и изменяй значение number.

Код Luau
local title = "Победа"
local number = 3
local message = string.format("%s: %d", title, number)
print(message)

Как работает этот код

Строки сообщений. string.format вставляет значения в строку по заданному шаблону. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local title = "Победа"Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local message = string.format("%s: %d", title, number)Формирует строку по шаблону: %s — текст, %d — целое число.
  3. print(message)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Измените подпись и число; проверьте итоговую строку в Output. Надпись пока не появляется на экране игрока.

Как проверить

Output покажет подпись и число.

Обратите внимание: print выводит текст только в Output разработчика, а не в GUI игрока. Для экранного текста нужен TextLabel и отдельная логика.
112Подписать получение звездыLuau и алгоритмы / Строки и сообщения · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

string.format вставляет значения в строку по заданному шаблону.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте Output и изменяй значение number.

Код Luau
local title = "Звезда"
local number = 3
local message = string.format("%s: %d", title, number)
print(message)

Как работает этот код

Строки сообщений. string.format вставляет значения в строку по заданному шаблону. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local title = "Звезда"Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local message = string.format("%s: %d", title, number)Формирует строку по шаблону: %s — текст, %d — целое число.
  3. print(message)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Измените подпись и число; проверьте итоговую строку в Output. Надпись пока не появляется на экране игрока.

Как проверить

Output покажет подпись и число.

Обратите внимание: print выводит текст только в Output разработчика, а не в GUI игрока. Для экранного текста нужен TextLabel и отдельная логика.
113Создать объявление о стартеLuau и алгоритмы / Строки и сообщения · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

string.format вставляет значения в строку по заданному шаблону.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте Output и изменяй значение number.

Код Luau
local title = "Старт"
local number = 3
local message = string.format("%s: %d", title, number)
print(message)

Как работает этот код

Строки сообщений. string.format вставляет значения в строку по заданному шаблону. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local title = "Старт"Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local message = string.format("%s: %d", title, number)Формирует строку по шаблону: %s — текст, %d — целое число.
  3. print(message)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Измените подпись и число; проверьте итоговую строку в Output. Надпись пока не появляется на экране игрока.

Как проверить

Output покажет подпись и число.

Обратите внимание: print выводит текст только в Output разработчика, а не в GUI игрока. Для экранного текста нужен TextLabel и отдельная логика.
114Показать имя картыLuau и алгоритмы / Строки и сообщения · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

string.format вставляет значения в строку по заданному шаблону.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте Output и изменяй значение number.

Код Luau
local title = "Остров"
local number = 3
local message = string.format("%s: %d", title, number)
print(message)

Как работает этот код

Строки сообщений. string.format вставляет значения в строку по заданному шаблону. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local title = "Остров"Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local message = string.format("%s: %d", title, number)Формирует строку по шаблону: %s — текст, %d — целое число.
  3. print(message)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Измените подпись и число; проверьте итоговую строку в Output. Надпись пока не появляется на экране игрока.

Как проверить

Output покажет подпись и число.

Обратите внимание: print выводит текст только в Output разработчика, а не в GUI игрока. Для экранного текста нужен TextLabel и отдельная логика.
115Подписать финальный счётLuau и алгоритмы / Строки и сообщения · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

string.format вставляет значения в строку по заданному шаблону.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте Output и изменяй значение number.

Код Luau
local title = "Очки"
local number = 3
local message = string.format("%s: %d", title, number)
print(message)

Как работает этот код

Строки сообщений. string.format вставляет значения в строку по заданному шаблону. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local title = "Очки"Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local message = string.format("%s: %d", title, number)Формирует строку по шаблону: %s — текст, %d — целое число.
  3. print(message)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Измените подпись и число; проверьте итоговую строку в Output. Надпись пока не появляется на экране игрока.

Как проверить

Output покажет подпись и число.

Обратите внимание: print выводит текст только в Output разработчика, а не в GUI игрока. Для экранного текста нужен TextLabel и отдельная логика.
116Отобразить название командыLuau и алгоритмы / Строки и сообщения · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

string.format вставляет значения в строку по заданному шаблону.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте Output и изменяй значение number.

Код Luau
local title = "Синие"
local number = 3
local message = string.format("%s: %d", title, number)
print(message)

Как работает этот код

Строки сообщений. string.format вставляет значения в строку по заданному шаблону. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local title = "Синие"Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local message = string.format("%s: %d", title, number)Формирует строку по шаблону: %s — текст, %d — целое число.
  3. print(message)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Измените подпись и число; проверьте итоговую строку в Output. Надпись пока не появляется на экране игрока.

Как проверить

Output покажет подпись и число.

Обратите внимание: print выводит текст только в Output разработчика, а не в GUI игрока. Для экранного текста нужен TextLabel и отдельная логика.
117Создать текст магазинаLuau и алгоритмы / Строки и сообщения · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

string.format вставляет значения в строку по заданному шаблону.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте Output и изменяй значение number.

Код Luau
local title = "Магазин"
local number = 3
local message = string.format("%s: %d", title, number)
print(message)

Как работает этот код

Строки сообщений. string.format вставляет значения в строку по заданному шаблону. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local title = "Магазин"Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local message = string.format("%s: %d", title, number)Формирует строку по шаблону: %s — текст, %d — целое число.
  3. print(message)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Измените подпись и число; проверьте итоговую строку в Output. Надпись пока не появляется на экране игрока.

Как проверить

Output покажет подпись и число.

Обратите внимание: print выводит текст только в Output разработчика, а не в GUI игрока. Для экранного текста нужен TextLabel и отдельная логика.
118Собрать надпись для кнопкиLuau и алгоритмы / Строки и сообщения · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

string.format вставляет значения в строку по заданному шаблону.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте Output и изменяй значение number.

Код Luau
local title = "Играть"
local number = 3
local message = string.format("%s: %d", title, number)
print(message)

Как работает этот код

Строки сообщений. string.format вставляет значения в строку по заданному шаблону. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local title = "Играть"Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local message = string.format("%s: %d", title, number)Формирует строку по шаблону: %s — текст, %d — целое число.
  3. print(message)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Измените подпись и число; проверьте итоговую строку в Output. Надпись пока не появляется на экране игрока.

Как проверить

Output покажет подпись и число.

Обратите внимание: print выводит текст только в Output разработчика, а не в GUI игрока. Для экранного текста нужен TextLabel и отдельная логика.
119Показать название предметаLuau и алгоритмы / Строки и сообщения · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

string.format вставляет значения в строку по заданному шаблону.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте Output и изменяй значение number.

Код Luau
local title = "Ласты"
local number = 3
local message = string.format("%s: %d", title, number)
print(message)

Как работает этот код

Строки сообщений. string.format вставляет значения в строку по заданному шаблону. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local title = "Ласты"Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local message = string.format("%s: %d", title, number)Формирует строку по шаблону: %s — текст, %d — целое число.
  3. print(message)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Измените подпись и число; проверьте итоговую строку в Output. Надпись пока не появляется на экране игрока.

Как проверить

Output покажет подпись и число.

Обратите внимание: print выводит текст только в Output разработчика, а не в GUI игрока. Для экранного текста нужен TextLabel и отдельная логика.
120Сформировать сообщение об уровнеLuau и алгоритмы / Строки и сообщения · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

string.format вставляет значения в строку по заданному шаблону.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте Output и изменяй значение number.

Код Luau
local title = "Уровень"
local number = 3
local message = string.format("%s: %d", title, number)
print(message)

Как работает этот код

Строки сообщений. string.format вставляет значения в строку по заданному шаблону. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local title = "Уровень"Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. local message = string.format("%s: %d", title, number)Формирует строку по шаблону: %s — текст, %d — целое число.
  3. print(message)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Измените подпись и число; проверьте итоговую строку в Output. Надпись пока не появляется на экране игрока.

Как проверить

Output покажет подпись и число.

Обратите внимание: print выводит текст только в Output разработчика, а не в GUI игрока. Для экранного текста нужен TextLabel и отдельная логика.
121Доступ при пяти звёздахLuau и алгоритмы / Условия и проверки · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

if/else выбирает одну из двух ветвей в зависимости от сравнения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Измените current на число больше required и запустите Play.

Код Luau
local current = 4
local required = 5
if current >= required then
    print("Условие выполнено")
else
    print("Нужно ещё:", required - current)
end

Как работает этот код

Проверка условий. if/else выбирает одну из двух ветвей в зависимости от сравнения. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local current = 4Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. if current >= required thenПроверяет, достигнуто ли необходимое количество.
  3. print("Условие выполнено")Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. elseНачинает ветку для случая, когда условие не выполнено.
  5. print("Нужно ещё:", required - current)Вычисляет, сколько единиц не хватает до порога.
Попробуйте самостоятельно

Измените current сначала ниже порога, затем на пороге и выше. Сравните две ветки вывода.

Как проверить

При разных значениях появятся разные сообщения.

Обратите внимание: В примере используются учебные числовые переменные, а не настоящие данные игрока. Не считай это готовой проверкой доступа на сервере.
122Доступ после трёх победLuau и алгоритмы / Условия и проверки · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

if/else выбирает одну из двух ветвей в зависимости от сравнения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Измените current на число больше required и запустите Play.

Код Luau
local current = 2
local required = 3
if current >= required then
    print("Условие выполнено")
else
    print("Нужно ещё:", required - current)
end

Как работает этот код

Проверка условий. if/else выбирает одну из двух ветвей в зависимости от сравнения. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local current = 2Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. if current >= required thenПроверяет, достигнуто ли необходимое количество.
  3. print("Условие выполнено")Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. elseНачинает ветку для случая, когда условие не выполнено.
  5. print("Нужно ещё:", required - current)Вычисляет, сколько единиц не хватает до порога.
Попробуйте самостоятельно

Измените current сначала ниже порога, затем на пороге и выше. Сравните две ветки вывода.

Как проверить

При разных значениях появятся разные сообщения.

Обратите внимание: В примере используются учебные числовые переменные, а не настоящие данные игрока. Не считай это готовой проверкой доступа на сервере.
123Новый уровень после десяти очковLuau и алгоритмы / Условия и проверки · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

if/else выбирает одну из двух ветвей в зависимости от сравнения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Измените current на число больше required и запустите Play.

Код Luau
local current = 9
local required = 10
if current >= required then
    print("Условие выполнено")
else
    print("Нужно ещё:", required - current)
end

Как работает этот код

Проверка условий. if/else выбирает одну из двух ветвей в зависимости от сравнения. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local current = 9Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. if current >= required thenПроверяет, достигнуто ли необходимое количество.
  3. print("Условие выполнено")Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. elseНачинает ветку для случая, когда условие не выполнено.
  5. print("Нужно ещё:", required - current)Вычисляет, сколько единиц не хватает до порога.
Попробуйте самостоятельно

Измените current сначала ниже порога, затем на пороге и выше. Сравните две ветки вывода.

Как проверить

При разных значениях появятся разные сообщения.

Обратите внимание: В примере используются учебные числовые переменные, а не настоящие данные игрока. Не считай это готовой проверкой доступа на сервере.
124Бонус после двух находокLuau и алгоритмы / Условия и проверки · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

if/else выбирает одну из двух ветвей в зависимости от сравнения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Измените current на число больше required и запустите Play.

Код Luau
local current = 1
local required = 2
if current >= required then
    print("Условие выполнено")
else
    print("Нужно ещё:", required - current)
end

Как работает этот код

Проверка условий. if/else выбирает одну из двух ветвей в зависимости от сравнения. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local current = 1Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. if current >= required thenПроверяет, достигнуто ли необходимое количество.
  3. print("Условие выполнено")Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. elseНачинает ветку для случая, когда условие не выполнено.
  5. print("Нужно ещё:", required - current)Вычисляет, сколько единиц не хватает до порога.
Попробуйте самостоятельно

Измените current сначала ниже порога, затем на пороге и выше. Сравните две ветки вывода.

Как проверить

При разных значениях появятся разные сообщения.

Обратите внимание: В примере используются учебные числовые переменные, а не настоящие данные игрока. Не считай это готовой проверкой доступа на сервере.
125Доступ к арене после четырёх этаповLuau и алгоритмы / Условия и проверки · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

if/else выбирает одну из двух ветвей в зависимости от сравнения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Измените current на число больше required и запустите Play.

Код Luau
local current = 3
local required = 4
if current >= required then
    print("Условие выполнено")
else
    print("Нужно ещё:", required - current)
end

Как работает этот код

Проверка условий. if/else выбирает одну из двух ветвей в зависимости от сравнения. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local current = 3Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. if current >= required thenПроверяет, достигнуто ли необходимое количество.
  3. print("Условие выполнено")Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. elseНачинает ветку для случая, когда условие не выполнено.
  5. print("Нужно ещё:", required - current)Вычисляет, сколько единиц не хватает до порога.
Попробуйте самостоятельно

Измените current сначала ниже порога, затем на пороге и выше. Сравните две ветки вывода.

Как проверить

При разных значениях появятся разные сообщения.

Обратите внимание: В примере используются учебные числовые переменные, а не настоящие данные игрока. Не считай это готовой проверкой доступа на сервере.
126Открыть сундук после шести ключейLuau и алгоритмы / Условия и проверки · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

if/else выбирает одну из двух ветвей в зависимости от сравнения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Измените current на число больше required и запустите Play.

Код Luau
local current = 5
local required = 6
if current >= required then
    print("Условие выполнено")
else
    print("Нужно ещё:", required - current)
end

Как работает этот код

Проверка условий. if/else выбирает одну из двух ветвей в зависимости от сравнения. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local current = 5Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. if current >= required thenПроверяет, достигнуто ли необходимое количество.
  3. print("Условие выполнено")Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. elseНачинает ветку для случая, когда условие не выполнено.
  5. print("Нужно ещё:", required - current)Вычисляет, сколько единиц не хватает до порога.
Попробуйте самостоятельно

Измените current сначала ниже порога, затем на пороге и выше. Сравните две ветки вывода.

Как проверить

При разных значениях появятся разные сообщения.

Обратите внимание: В примере используются учебные числовые переменные, а не настоящие данные игрока. Не считай это готовой проверкой доступа на сервере.
127Пропуск на этаж после восьми заданийLuau и алгоритмы / Условия и проверки · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

if/else выбирает одну из двух ветвей в зависимости от сравнения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Измените current на число больше required и запустите Play.

Код Luau
local current = 7
local required = 8
if current >= required then
    print("Условие выполнено")
else
    print("Нужно ещё:", required - current)
end

Как работает этот код

Проверка условий. if/else выбирает одну из двух ветвей в зависимости от сравнения. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local current = 7Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. if current >= required thenПроверяет, достигнуто ли необходимое количество.
  3. print("Условие выполнено")Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. elseНачинает ветку для случая, когда условие не выполнено.
  5. print("Нужно ещё:", required - current)Вычисляет, сколько единиц не хватает до порога.
Попробуйте самостоятельно

Измените current сначала ниже порога, затем на пороге и выше. Сравните две ветки вывода.

Как проверить

При разных значениях появятся разные сообщения.

Обратите внимание: В примере используются учебные числовые переменные, а не настоящие данные игрока. Не считай это готовой проверкой доступа на сервере.
128Получить значок после семи игрLuau и алгоритмы / Условия и проверки · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

if/else выбирает одну из двух ветвей в зависимости от сравнения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Измените current на число больше required и запустите Play.

Код Luau
local current = 6
local required = 7
if current >= required then
    print("Условие выполнено")
else
    print("Нужно ещё:", required - current)
end

Как работает этот код

Проверка условий. if/else выбирает одну из двух ветвей в зависимости от сравнения. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local current = 6Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. if current >= required thenПроверяет, достигнуто ли необходимое количество.
  3. print("Условие выполнено")Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. elseНачинает ветку для случая, когда условие не выполнено.
  5. print("Нужно ещё:", required - current)Вычисляет, сколько единиц не хватает до порога.
Попробуйте самостоятельно

Измените current сначала ниже порога, затем на пороге и выше. Сравните две ветки вывода.

Как проверить

При разных значениях появятся разные сообщения.

Обратите внимание: В примере используются учебные числовые переменные, а не настоящие данные игрока. Не считай это готовой проверкой доступа на сервере.
129Открыть магазин после девяти монетLuau и алгоритмы / Условия и проверки · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

if/else выбирает одну из двух ветвей в зависимости от сравнения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Измените current на число больше required и запустите Play.

Код Luau
local current = 8
local required = 9
if current >= required then
    print("Условие выполнено")
else
    print("Нужно ещё:", required - current)
end

Как работает этот код

Проверка условий. if/else выбирает одну из двух ветвей в зависимости от сравнения. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local current = 8Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. if current >= required thenПроверяет, достигнуто ли необходимое количество.
  3. print("Условие выполнено")Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. elseНачинает ветку для случая, когда условие не выполнено.
  5. print("Нужно ещё:", required - current)Вычисляет, сколько единиц не хватает до порога.
Попробуйте самостоятельно

Измените current сначала ниже порога, затем на пороге и выше. Сравните две ветки вывода.

Как проверить

При разных значениях появятся разные сообщения.

Обратите внимание: В примере используются учебные числовые переменные, а не настоящие данные игрока. Не считай это готовой проверкой доступа на сервере.
130Завершить цель после двадцати очковLuau и алгоритмы / Условия и проверки · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

if/else выбирает одну из двух ветвей в зависимости от сравнения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Измените current на число больше required и запустите Play.

Код Luau
local current = 19
local required = 20
if current >= required then
    print("Условие выполнено")
else
    print("Нужно ещё:", required - current)
end

Как работает этот код

Проверка условий. if/else выбирает одну из двух ветвей в зависимости от сравнения. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local current = 19Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. if current >= required thenПроверяет, достигнуто ли необходимое количество.
  3. print("Условие выполнено")Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. elseНачинает ветку для случая, когда условие не выполнено.
  5. print("Нужно ещё:", required - current)Вычисляет, сколько единиц не хватает до порога.
Попробуйте самостоятельно

Измените current сначала ниже порога, затем на пороге и выше. Сравните две ветки вывода.

Как проверить

При разных значениях появятся разные сообщения.

Обратите внимание: В примере используются учебные числовые переменные, а не настоящие данные игрока. Не считай это готовой проверкой доступа на сервере.
131Бросок кубикаLuau и алгоритмы / Случайные игровые события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Random.new создаёт генератор, NextInteger выбирает целое число между границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Несколько раз нажмите Play и сравните числа в Output.

Код Luau
local random = Random.new()
local chosen = random:NextInteger(1, 6)
print("Выбран номер:", chosen)

Как работает этот код

Случайный выбор. Random.new создаёт генератор, NextInteger выбирает целое число между границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local random = Random.new()Создаёт генератор случайных чисел.
  2. local chosen = random:NextInteger(1, 6)Выбирает целое число включительно между указанными границами.
  3. print("Выбран номер:", chosen)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Перезапустите Play несколько раз, выпиши результаВы и проверь, попадают ли они в диапазон.

Как проверить

Выпадает целое число из заданного диапазона.

Обратите внимание: Скрипт выбирает число, но не запускает карту, звук или ловушку. Для полноценной механики нужно связать полученный номер с игровым объектом.
132Колесо из восьми призовLuau и алгоритмы / Случайные игровые события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Random.new создаёт генератор, NextInteger выбирает целое число между границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Несколько раз нажмите Play и сравните числа в Output.

Код Luau
local random = Random.new()
local chosen = random:NextInteger(1, 8)
print("Выбран номер:", chosen)

Как работает этот код

Случайный выбор. Random.new создаёт генератор, NextInteger выбирает целое число между границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local random = Random.new()Создаёт генератор случайных чисел.
  2. local chosen = random:NextInteger(1, 8)Выбирает целое число включительно между указанными границами.
  3. print("Выбран номер:", chosen)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Перезапустите Play несколько раз, выпиши результаВы и проверь, попадают ли они в диапазон.

Как проверить

Выпадает целое число из заданного диапазона.

Обратите внимание: Скрипт выбирает число, но не запускает карту, звук или ловушку. Для полноценной механики нужно связать полученный номер с игровым объектом.
133Выбор одного из четырёх порталовLuau и алгоритмы / Случайные игровые события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Random.new создаёт генератор, NextInteger выбирает целое число между границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Несколько раз нажмите Play и сравните числа в Output.

Код Luau
local random = Random.new()
local chosen = random:NextInteger(1, 4)
print("Выбран номер:", chosen)

Как работает этот код

Случайный выбор. Random.new создаёт генератор, NextInteger выбирает целое число между границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local random = Random.new()Создаёт генератор случайных чисел.
  2. local chosen = random:NextInteger(1, 4)Выбирает целое число включительно между указанными границами.
  3. print("Выбран номер:", chosen)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Перезапустите Play несколько раз, выпиши результаВы и проверь, попадают ли они в диапазон.

Как проверить

Выпадает целое число из заданного диапазона.

Обратите внимание: Скрипт выбирает число, но не запускает карту, звук или ловушку. Для полноценной механики нужно связать полученный номер с игровым объектом.
134Выбор одной из трёх картLuau и алгоритмы / Случайные игровые события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Random.new создаёт генератор, NextInteger выбирает целое число между границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Несколько раз нажмите Play и сравните числа в Output.

Код Luau
local random = Random.new()
local chosen = random:NextInteger(1, 3)
print("Выбран номер:", chosen)

Как работает этот код

Случайный выбор. Random.new создаёт генератор, NextInteger выбирает целое число между границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local random = Random.new()Создаёт генератор случайных чисел.
  2. local chosen = random:NextInteger(1, 3)Выбирает целое число включительно между указанными границами.
  3. print("Выбран номер:", chosen)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Перезапустите Play несколько раз, выпиши результаВы и проверь, попадают ли они в диапазон.

Как проверить

Выпадает целое число из заданного диапазона.

Обратите внимание: Скрипт выбирает число, но не запускает карту, звук или ловушку. Для полноценной механики нужно связать полученный номер с игровым объектом.
135Случайная погода из пяти вариантовLuau и алгоритмы / Случайные игровые события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Random.new создаёт генератор, NextInteger выбирает целое число между границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Несколько раз нажмите Play и сравните числа в Output.

Код Luau
local random = Random.new()
local chosen = random:NextInteger(1, 5)
print("Выбран номер:", chosen)

Как работает этот код

Случайный выбор. Random.new создаёт генератор, NextInteger выбирает целое число между границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local random = Random.new()Создаёт генератор случайных чисел.
  2. local chosen = random:NextInteger(1, 5)Выбирает целое число включительно между указанными границами.
  3. print("Выбран номер:", chosen)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Перезапустите Play несколько раз, выпиши результаВы и проверь, попадают ли они в диапазон.

Как проверить

Выпадает целое число из заданного диапазона.

Обратите внимание: Скрипт выбирает число, но не запускает карту, звук или ловушку. Для полноценной механики нужно связать полученный номер с игровым объектом.
136Случайная звезда из семи местLuau и алгоритмы / Случайные игровые события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Random.new создаёт генератор, NextInteger выбирает целое число между границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Несколько раз нажмите Play и сравните числа в Output.

Код Luau
local random = Random.new()
local chosen = random:NextInteger(1, 7)
print("Выбран номер:", chosen)

Как работает этот код

Случайный выбор. Random.new создаёт генератор, NextInteger выбирает целое число между границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local random = Random.new()Создаёт генератор случайных чисел.
  2. local chosen = random:NextInteger(1, 7)Выбирает целое число включительно между указанными границами.
  3. print("Выбран номер:", chosen)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Перезапустите Play несколько раз, выпиши результаВы и проверь, попадают ли они в диапазон.

Как проверить

Выпадает целое число из заданного диапазона.

Обратите внимание: Скрипт выбирает число, но не запускает карту, звук или ловушку. Для полноценной механики нужно связать полученный номер с игровым объектом.
137Случайный номер ловушкиLuau и алгоритмы / Случайные игровые события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Random.new создаёт генератор, NextInteger выбирает целое число между границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Несколько раз нажмите Play и сравните числа в Output.

Код Luau
local random = Random.new()
local chosen = random:NextInteger(1, 9)
print("Выбран номер:", chosen)

Как работает этот код

Случайный выбор. Random.new создаёт генератор, NextInteger выбирает целое число между границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local random = Random.new()Создаёт генератор случайных чисел.
  2. local chosen = random:NextInteger(1, 9)Выбирает целое число включительно между указанными границами.
  3. print("Выбран номер:", chosen)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Перезапустите Play несколько раз, выпиши результаВы и проверь, попадают ли они в диапазон.

Как проверить

Выпадает целое число из заданного диапазона.

Обратите внимание: Скрипт выбирает число, но не запускает карту, звук или ловушку. Для полноценной механики нужно связать полученный номер с игровым объектом.
138Выбор маршрута из двухLuau и алгоритмы / Случайные игровые события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Random.new создаёт генератор, NextInteger выбирает целое число между границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Несколько раз нажмите Play и сравните числа в Output.

Код Luau
local random = Random.new()
local chosen = random:NextInteger(1, 2)
print("Выбран номер:", chosen)

Как работает этот код

Случайный выбор. Random.new создаёт генератор, NextInteger выбирает целое число между границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local random = Random.new()Создаёт генератор случайных чисел.
  2. local chosen = random:NextInteger(1, 2)Выбирает целое число включительно между указанными границами.
  3. print("Выбран номер:", chosen)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Перезапустите Play несколько раз, выпиши результаВы и проверь, попадают ли они в диапазон.

Как проверить

Выпадает целое число из заданного диапазона.

Обратите внимание: Скрипт выбирает число, но не запускает карту, звук или ловушку. Для полноценной механики нужно связать полученный номер с игровым объектом.
139Случайное испытание из десятиLuau и алгоритмы / Случайные игровые события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Random.new создаёт генератор, NextInteger выбирает целое число между границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Несколько раз нажмите Play и сравните числа в Output.

Код Luau
local random = Random.new()
local chosen = random:NextInteger(1, 10)
print("Выбран номер:", chosen)

Как работает этот код

Случайный выбор. Random.new создаёт генератор, NextInteger выбирает целое число между границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local random = Random.new()Создаёт генератор случайных чисел.
  2. local chosen = random:NextInteger(1, 10)Выбирает целое число включительно между указанными границами.
  3. print("Выбран номер:", chosen)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Перезапустите Play несколько раз, выпиши результаВы и проверь, попадают ли они в диапазон.

Как проверить

Выпадает целое число из заданного диапазона.

Обратите внимание: Скрипт выбирает число, но не запускает карту, звук или ловушку. Для полноценной механики нужно связать полученный номер с игровым объектом.
140Случайный звук из двенадцатиLuau и алгоритмы / Случайные игровые события · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Random.new создаёт генератор, NextInteger выбирает целое число между границами.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Несколько раз нажмите Play и сравните числа в Output.

Код Luau
local random = Random.new()
local chosen = random:NextInteger(1, 12)
print("Выбран номер:", chosen)

Как работает этот код

Случайный выбор. Random.new создаёт генератор, NextInteger выбирает целое число между границами. Это демонстрация вычисления в Output, а не готовое изменение скорости, здоровья или интерфейса.

Разбор строк

  1. local random = Random.new()Создаёт генератор случайных чисел.
  2. local chosen = random:NextInteger(1, 12)Выбирает целое число включительно между указанными границами.
  3. print("Выбран номер:", chosen)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
Попробуйте самостоятельно

Перезапустите Play несколько раз, выпиши результаВы и проверь, попадают ли они в диапазон.

Как проверить

Выпадает целое число из заданного диапазона.

Обратите внимание: Скрипт выбирает число, но не запускает карту, звук или ловушку. Для полноценной механики нужно связать полученный номер с игровым объектом.
141Атрибут скоростиДанные и коллекции / Атрибуты и состояния · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите атрибут игрока в Properties и Output.

Код Luau
local players = game:GetService("Players")
players.PlayerAdded:Connect(function(player)
    player:SetAttribute("SpeedBoost", 1)
    print("SpeedBoost:", player:GetAttribute("SpeedBoost"))
end)

Как работает этот код

АтрибуВы игрока. SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local players = game:GetService("Players")Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. players.PlayerAdded:Connect(function(player)Подключает обработчик входа нового игрока на сервер.
  3. player:SetAttribute("SpeedBoost", 1)Записывает именованное значение — атрибут объекта.
  4. print("SpeedBoost:", player:GetAttribute("SpeedBoost"))Читает текущее значение названного атрибута.
  5. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Проверьте в Play атрибут через Properties; затем измените его значение и выведи через GetAttribute.

Как проверить

При входе игрок получает заданный атрибут со значением 1.

Обратите внимание: Атрибут хранит значение, но сам по себе не изменяет скорость, наличие ключа или здоровье. Логику применения атрибута следует написать отдельно.
142Атрибут ключаДанные и коллекции / Атрибуты и состояния · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите атрибут игрока в Properties и Output.

Код Luau
local players = game:GetService("Players")
players.PlayerAdded:Connect(function(player)
    player:SetAttribute("HasKey", 1)
    print("HasKey:", player:GetAttribute("HasKey"))
end)

Как работает этот код

АтрибуВы игрока. SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local players = game:GetService("Players")Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. players.PlayerAdded:Connect(function(player)Подключает обработчик входа нового игрока на сервер.
  3. player:SetAttribute("HasKey", 1)Записывает именованное значение — атрибут объекта.
  4. print("HasKey:", player:GetAttribute("HasKey"))Читает текущее значение названного атрибута.
  5. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Проверьте в Play атрибут через Properties; затем измените его значение и выведи через GetAttribute.

Как проверить

При входе игрок получает заданный атрибут со значением 1.

Обратите внимание: Атрибут хранит значение, но сам по себе не изменяет скорость, наличие ключа или здоровье. Логику применения атрибута следует написать отдельно.
143Атрибут контрольной точкиДанные и коллекции / Атрибуты и состояния · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите атрибут игрока в Properties и Output.

Код Luau
local players = game:GetService("Players")
players.PlayerAdded:Connect(function(player)
    player:SetAttribute("Checkpoint", 1)
    print("Checkpoint:", player:GetAttribute("Checkpoint"))
end)

Как работает этот код

АтрибуВы игрока. SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local players = game:GetService("Players")Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. players.PlayerAdded:Connect(function(player)Подключает обработчик входа нового игрока на сервер.
  3. player:SetAttribute("Checkpoint", 1)Записывает именованное значение — атрибут объекта.
  4. print("Checkpoint:", player:GetAttribute("Checkpoint"))Читает текущее значение названного атрибута.
  5. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Проверьте в Play атрибут через Properties; затем измените его значение и выведи через GetAttribute.

Как проверить

При входе игрок получает заданный атрибут со значением 1.

Обратите внимание: Атрибут хранит значение, но сам по себе не изменяет скорость, наличие ключа или здоровье. Логику применения атрибута следует написать отдельно.
144Атрибут готовностиДанные и коллекции / Атрибуты и состояния · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите атрибут игрока в Properties и Output.

Код Luau
local players = game:GetService("Players")
players.PlayerAdded:Connect(function(player)
    player:SetAttribute("Ready", 1)
    print("Ready:", player:GetAttribute("Ready"))
end)

Как работает этот код

АтрибуВы игрока. SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local players = game:GetService("Players")Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. players.PlayerAdded:Connect(function(player)Подключает обработчик входа нового игрока на сервер.
  3. player:SetAttribute("Ready", 1)Записывает именованное значение — атрибут объекта.
  4. print("Ready:", player:GetAttribute("Ready"))Читает текущее значение названного атрибута.
  5. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Проверьте в Play атрибут через Properties; затем измените его значение и выведи через GetAttribute.

Как проверить

При входе игрок получает заданный атрибут со значением 1.

Обратите внимание: Атрибут хранит значение, но сам по себе не изменяет скорость, наличие ключа или здоровье. Логику применения атрибута следует написать отдельно.
145Атрибут сложностиДанные и коллекции / Атрибуты и состояния · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите атрибут игрока в Properties и Output.

Код Luau
local players = game:GetService("Players")
players.PlayerAdded:Connect(function(player)
    player:SetAttribute("Difficulty", 1)
    print("Difficulty:", player:GetAttribute("Difficulty"))
end)

Как работает этот код

АтрибуВы игрока. SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local players = game:GetService("Players")Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. players.PlayerAdded:Connect(function(player)Подключает обработчик входа нового игрока на сервер.
  3. player:SetAttribute("Difficulty", 1)Записывает именованное значение — атрибут объекта.
  4. print("Difficulty:", player:GetAttribute("Difficulty"))Читает текущее значение названного атрибута.
  5. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Проверьте в Play атрибут через Properties; затем измените его значение и выведи через GetAttribute.

Как проверить

При входе игрок получает заданный атрибут со значением 1.

Обратите внимание: Атрибут хранит значение, но сам по себе не изменяет скорость, наличие ключа или здоровье. Логику применения атрибута следует написать отдельно.
146Атрибут командыДанные и коллекции / Атрибуты и состояния · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите атрибут игрока в Properties и Output.

Код Luau
local players = game:GetService("Players")
players.PlayerAdded:Connect(function(player)
    player:SetAttribute("TeamChoice", 1)
    print("TeamChoice:", player:GetAttribute("TeamChoice"))
end)

Как работает этот код

АтрибуВы игрока. SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local players = game:GetService("Players")Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. players.PlayerAdded:Connect(function(player)Подключает обработчик входа нового игрока на сервер.
  3. player:SetAttribute("TeamChoice", 1)Записывает именованное значение — атрибут объекта.
  4. print("TeamChoice:", player:GetAttribute("TeamChoice"))Читает текущее значение названного атрибута.
  5. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Проверьте в Play атрибут через Properties; затем измените его значение и выведи через GetAttribute.

Как проверить

При входе игрок получает заданный атрибут со значением 1.

Обратите внимание: Атрибут хранит значение, но сам по себе не изменяет скорость, наличие ключа или здоровье. Логику применения атрибута следует написать отдельно.
147Атрибут главыДанные и коллекции / Атрибуты и состояния · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите атрибут игрока в Properties и Output.

Код Luau
local players = game:GetService("Players")
players.PlayerAdded:Connect(function(player)
    player:SetAttribute("Chapter", 1)
    print("Chapter:", player:GetAttribute("Chapter"))
end)

Как работает этот код

АтрибуВы игрока. SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local players = game:GetService("Players")Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. players.PlayerAdded:Connect(function(player)Подключает обработчик входа нового игрока на сервер.
  3. player:SetAttribute("Chapter", 1)Записывает именованное значение — атрибут объекта.
  4. print("Chapter:", player:GetAttribute("Chapter"))Читает текущее значение названного атрибута.
  5. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Проверьте в Play атрибут через Properties; затем измените его значение и выведи через GetAttribute.

Как проверить

При входе игрок получает заданный атрибут со значением 1.

Обратите внимание: Атрибут хранит значение, но сам по себе не изменяет скорость, наличие ключа или здоровье. Логику применения атрибута следует написать отдельно.
148Атрибут попытокДанные и коллекции / Атрибуты и состояния · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите атрибут игрока в Properties и Output.

Код Luau
local players = game:GetService("Players")
players.PlayerAdded:Connect(function(player)
    player:SetAttribute("Attempts", 1)
    print("Attempts:", player:GetAttribute("Attempts"))
end)

Как работает этот код

АтрибуВы игрока. SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local players = game:GetService("Players")Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. players.PlayerAdded:Connect(function(player)Подключает обработчик входа нового игрока на сервер.
  3. player:SetAttribute("Attempts", 1)Записывает именованное значение — атрибут объекта.
  4. print("Attempts:", player:GetAttribute("Attempts"))Читает текущее значение названного атрибута.
  5. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Проверьте в Play атрибут через Properties; затем измените его значение и выведи через GetAttribute.

Как проверить

При входе игрок получает заданный атрибут со значением 1.

Обратите внимание: Атрибут хранит значение, но сам по себе не изменяет скорость, наличие ключа или здоровье. Логику применения атрибута следует написать отдельно.
149Атрибут победДанные и коллекции / Атрибуты и состояния · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите атрибут игрока в Properties и Output.

Код Luau
local players = game:GetService("Players")
players.PlayerAdded:Connect(function(player)
    player:SetAttribute("Wins", 1)
    print("Wins:", player:GetAttribute("Wins"))
end)

Как работает этот код

АтрибуВы игрока. SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local players = game:GetService("Players")Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. players.PlayerAdded:Connect(function(player)Подключает обработчик входа нового игрока на сервер.
  3. player:SetAttribute("Wins", 1)Записывает именованное значение — атрибут объекта.
  4. print("Wins:", player:GetAttribute("Wins"))Читает текущее значение названного атрибута.
  5. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Проверьте в Play атрибут через Properties; затем измените его значение и выведи через GetAttribute.

Как проверить

При входе игрок получает заданный атрибут со значением 1.

Обратите внимание: Атрибут хранит значение, но сам по себе не изменяет скорость, наличие ключа или здоровье. Логику применения атрибута следует написать отдельно.
150Атрибут энергииДанные и коллекции / Атрибуты и состояния · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите атрибут игрока в Properties и Output.

Код Luau
local players = game:GetService("Players")
players.PlayerAdded:Connect(function(player)
    player:SetAttribute("Energy", 1)
    print("Energy:", player:GetAttribute("Energy"))
end)

Как работает этот код

АтрибуВы игрока. SetAttribute сохраняет значение на объекте игрока; GetAttribute читает его. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local players = game:GetService("Players")Создаёт локальную переменную, которой скрипт пользуется дальше.
  2. players.PlayerAdded:Connect(function(player)Подключает обработчик входа нового игрока на сервер.
  3. player:SetAttribute("Energy", 1)Записывает именованное значение — атрибут объекта.
  4. print("Energy:", player:GetAttribute("Energy"))Читает текущее значение названного атрибута.
  5. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Проверьте в Play атрибут через Properties; затем измените его значение и выведи через GetAttribute.

Как проверить

При входе игрок получает заданный атрибут со значением 1.

Обратите внимание: Атрибут хранит значение, но сам по себе не изменяет скорость, наличие ключа или здоровье. Логику применения атрибута следует написать отдельно.
151Отслеживать цвет деталиДанные и коллекции / События изменения объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart и во время Play измените указанное свойство.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part:GetPropertyChangedSignal("Color"):Connect(function()
    print("Изменено свойство Color:", part.Color)
end)

Как работает этот код

Слежение за свойством. GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part:GetPropertyChangedSignal("Color"):Connect(function()Отслеживает изменение конкретного свойства объекта.
  3. print("Изменено свойство Color:", part.Color)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Создайте DemoPart и измените нужное свойство в процессе Play. Убедись, что уведомление появляется только после изменения.

Как проверить

Output сообщит об изменении свойства.

Обратите внимание: Меняй свойство во время Play (например, другим скриптом): изменения, сделанные до запуска, не вызывают этот обработчик.
152Отслеживать прозрачностьДанные и коллекции / События изменения объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart и во время Play измените указанное свойство.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part:GetPropertyChangedSignal("Transparency"):Connect(function()
    print("Изменено свойство Transparency:", part.Transparency)
end)

Как работает этот код

Слежение за свойством. GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part:GetPropertyChangedSignal("Transparency"):Connect(function()Отслеживает изменение конкретного свойства объекта.
  3. print("Изменено свойство Transparency:", part.Transparency)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Создайте DemoPart и измените нужное свойство в процессе Play. Убедись, что уведомление появляется только после изменения.

Как проверить

Output сообщит об изменении свойства.

Обратите внимание: Меняй свойство во время Play (например, другим скриптом): изменения, сделанные до запуска, не вызывают этот обработчик.
153Отслеживать материалДанные и коллекции / События изменения объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart и во время Play измените указанное свойство.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part:GetPropertyChangedSignal("Material"):Connect(function()
    print("Изменено свойство Material:", part.Material)
end)

Как работает этот код

Слежение за свойством. GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part:GetPropertyChangedSignal("Material"):Connect(function()Отслеживает изменение конкретного свойства объекта.
  3. print("Изменено свойство Material:", part.Material)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Создайте DemoPart и измените нужное свойство в процессе Play. Убедись, что уведомление появляется только после изменения.

Как проверить

Output сообщит об изменении свойства.

Обратите внимание: Меняй свойство во время Play (например, другим скриптом): изменения, сделанные до запуска, не вызывают этот обработчик.
154Отслеживать размерДанные и коллекции / События изменения объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart и во время Play измените указанное свойство.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part:GetPropertyChangedSignal("Size"):Connect(function()
    print("Изменено свойство Size:", part.Size)
end)

Как работает этот код

Слежение за свойством. GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part:GetPropertyChangedSignal("Size"):Connect(function()Отслеживает изменение конкретного свойства объекта.
  3. print("Изменено свойство Size:", part.Size)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Создайте DemoPart и измените нужное свойство в процессе Play. Убедись, что уведомление появляется только после изменения.

Как проверить

Output сообщит об изменении свойства.

Обратите внимание: Меняй свойство во время Play (например, другим скриптом): изменения, сделанные до запуска, не вызывают этот обработчик.
155Отслеживать позициюДанные и коллекции / События изменения объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart и во время Play измените указанное свойство.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part:GetPropertyChangedSignal("Position"):Connect(function()
    print("Изменено свойство Position:", part.Position)
end)

Как работает этот код

Слежение за свойством. GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part:GetPropertyChangedSignal("Position"):Connect(function()Отслеживает изменение конкретного свойства объекта.
  3. print("Изменено свойство Position:", part.Position)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Создайте DemoPart и измените нужное свойство в процессе Play. Убедись, что уведомление появляется только после изменения.

Как проверить

Output сообщит об изменении свойства.

Обратите внимание: Меняй свойство во время Play (например, другим скриптом): изменения, сделанные до запуска, не вызывают этот обработчик.
156Отслеживать столкновенияДанные и коллекции / События изменения объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart и во время Play измените указанное свойство.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part:GetPropertyChangedSignal("CanCollide"):Connect(function()
    print("Изменено свойство CanCollide:", part.CanCollide)
end)

Как работает этот код

Слежение за свойством. GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part:GetPropertyChangedSignal("CanCollide"):Connect(function()Отслеживает изменение конкретного свойства объекта.
  3. print("Изменено свойство CanCollide:", part.CanCollide)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Создайте DemoPart и измените нужное свойство в процессе Play. Убедись, что уведомление появляется только после изменения.

Как проверить

Output сообщит об изменении свойства.

Обратите внимание: Меняй свойство во время Play (например, другим скриптом): изменения, сделанные до запуска, не вызывают этот обработчик.
157Отслеживать закреплениеДанные и коллекции / События изменения объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart и во время Play измените указанное свойство.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part:GetPropertyChangedSignal("Anchored"):Connect(function()
    print("Изменено свойство Anchored:", part.Anchored)
end)

Как работает этот код

Слежение за свойством. GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part:GetPropertyChangedSignal("Anchored"):Connect(function()Отслеживает изменение конкретного свойства объекта.
  3. print("Изменено свойство Anchored:", part.Anchored)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Создайте DemoPart и измените нужное свойство в процессе Play. Убедись, что уведомление появляется только после изменения.

Как проверить

Output сообщит об изменении свойства.

Обратите внимание: Меняй свойство во время Play (например, другим скриптом): изменения, сделанные до запуска, не вызывают этот обработчик.
158Отслеживать отражениеДанные и коллекции / События изменения объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart и во время Play измените указанное свойство.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part:GetPropertyChangedSignal("Reflectance"):Connect(function()
    print("Изменено свойство Reflectance:", part.Reflectance)
end)

Как работает этот код

Слежение за свойством. GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part:GetPropertyChangedSignal("Reflectance"):Connect(function()Отслеживает изменение конкретного свойства объекта.
  3. print("Изменено свойство Reflectance:", part.Reflectance)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Создайте DemoPart и измените нужное свойство в процессе Play. Убедись, что уведомление появляется только после изменения.

Как проверить

Output сообщит об изменении свойства.

Обратите внимание: Меняй свойство во время Play (например, другим скриптом): изменения, сделанные до запуска, не вызывают этот обработчик.
159Отслеживать формуДанные и коллекции / События изменения объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart и во время Play измените указанное свойство.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part:GetPropertyChangedSignal("Shape"):Connect(function()
    print("Изменено свойство Shape:", part.Shape)
end)

Как работает этот код

Слежение за свойством. GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part:GetPropertyChangedSignal("Shape"):Connect(function()Отслеживает изменение конкретного свойства объекта.
  3. print("Изменено свойство Shape:", part.Shape)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Создайте DemoPart и измените нужное свойство в процессе Play. Убедись, что уведомление появляется только после изменения.

Как проверить

Output сообщит об изменении свойства.

Обратите внимание: Меняй свойство во время Play (например, другим скриптом): изменения, сделанные до запуска, не вызывают этот обработчик.
160Отслеживать возможность касанияДанные и коллекции / События изменения объектов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart и во время Play измените указанное свойство.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part:GetPropertyChangedSignal("CanTouch"):Connect(function()
    print("Изменено свойство CanTouch:", part.CanTouch)
end)

Как работает этот код

Слежение за свойством. GetPropertyChangedSignal запускает функцию, когда меняется выбранное свойство. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part:GetPropertyChangedSignal("CanTouch"):Connect(function()Отслеживает изменение конкретного свойства объекта.
  3. print("Изменено свойство CanTouch:", part.CanTouch)Выводит значение в окно Output; само по себе не меняет игровой интерфейс.
  4. end)Завершает блок условия, цикла или функции.
Попробуйте самостоятельно

Создайте DemoPart и измените нужное свойство в процессе Play. Убедись, что уведомление появляется только после изменения.

Как проверить

Output сообщит об изменении свойства.

Обратите внимание: Меняй свойство во время Play (например, другим скриптом): изменения, сделанные до запуска, не вызывают этот обработчик.
161Дорожка из пяти блоковСоздание миров / Генератор деталей · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Цикл создаёт экземпляры Part, а Position задаёт их расположение.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте чистую Baseplate, вставьте Script и нажмите Play.

Код Luau
local folder = Instance.new("Folder")
folder.Name = "GeneratedParts"
folder.Parent = workspace
for i = 1, 5 do
    local p = Instance.new("Part")
    p.Size = Vector3.new(4, 1, 4)
    p.Anchored = true
    p.Position = Vector3.new(i * 5, 3 + (i - 1) * 0, 0)
    p.Parent = folder
end

Как работает этот код

Генерация деталей. Цикл создаёт экземпляры Part, а Position задаёт их расположение. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local folder = Instance.new("Folder")Создаёт новый экземпляр объекта Roblox.
  2. folder.Name = "GeneratedParts"Выполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  3. for i = 1, 5 doПовторяет создание объекта несколько раз, увеличивая счётчик i.
  4. p.Size = Vector3.new(4, 1, 4)Задаёт три координаВы или размера X, Y и Z.
  5. endЗавершает блок условия, цикла или функции.
Попробуйте самостоятельно

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

Как проверить

В Workspace появится папка GeneratedParts с заданным количеством деталей.

Обратите внимание: Все созданные Part закреплены. Генерируемые детали остаются только в текущей игровой сессии; после завершения Play их не будет в режиме редактирования.
162Лестница из шести ступенейСоздание миров / Генератор деталей · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Цикл создаёт экземпляры Part, а Position задаёт их расположение.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте чистую Baseplate, вставьте Script и нажмите Play.

Код Luau
local folder = Instance.new("Folder")
folder.Name = "GeneratedParts"
folder.Parent = workspace
for i = 1, 6 do
    local p = Instance.new("Part")
    p.Size = Vector3.new(4, 1, 4)
    p.Anchored = true
    p.Position = Vector3.new(i * 5, 3 + (i - 1) * 1, 0)
    p.Parent = folder
end

Как работает этот код

Генерация деталей. Цикл создаёт экземпляры Part, а Position задаёт их расположение. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local folder = Instance.new("Folder")Создаёт новый экземпляр объекта Roblox.
  2. folder.Name = "GeneratedParts"Выполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  3. for i = 1, 6 doПовторяет создание объекта несколько раз, увеличивая счётчик i.
  4. p.Size = Vector3.new(4, 1, 4)Задаёт три координаВы или размера X, Y и Z.
  5. endЗавершает блок условия, цикла или функции.
Попробуйте самостоятельно

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

Как проверить

В Workspace появится папка GeneratedParts с заданным количеством деталей.

Обратите внимание: Все созданные Part закреплены. Генерируемые детали остаются только в текущей игровой сессии; после завершения Play их не будет в режиме редактирования.
163Забор из семи секцийСоздание миров / Генератор деталей · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Цикл создаёт экземпляры Part, а Position задаёт их расположение.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте чистую Baseplate, вставьте Script и нажмите Play.

Код Luau
local folder = Instance.new("Folder")
folder.Name = "GeneratedParts"
folder.Parent = workspace
for i = 1, 7 do
    local p = Instance.new("Part")
    p.Size = Vector3.new(4, 1, 4)
    p.Anchored = true
    p.Position = Vector3.new(i * 5, 3 + (i - 1) * 0, 0)
    p.Parent = folder
end

Как работает этот код

Генерация деталей. Цикл создаёт экземпляры Part, а Position задаёт их расположение. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local folder = Instance.new("Folder")Создаёт новый экземпляр объекта Roblox.
  2. folder.Name = "GeneratedParts"Выполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  3. for i = 1, 7 doПовторяет создание объекта несколько раз, увеличивая счётчик i.
  4. p.Size = Vector3.new(4, 1, 4)Задаёт три координаВы или размера X, Y и Z.
  5. endЗавершает блок условия, цикла или функции.
Попробуйте самостоятельно

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

Как проверить

В Workspace появится папка GeneratedParts с заданным количеством деталей.

Обратите внимание: Все созданные Part закреплены. Генерируемые детали остаются только в текущей игровой сессии; после завершения Play их не будет в режиме редактирования.
164Ряд из восьми платформСоздание миров / Генератор деталей · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Цикл создаёт экземпляры Part, а Position задаёт их расположение.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте чистую Baseplate, вставьте Script и нажмите Play.

Код Luau
local folder = Instance.new("Folder")
folder.Name = "GeneratedParts"
folder.Parent = workspace
for i = 1, 8 do
    local p = Instance.new("Part")
    p.Size = Vector3.new(4, 1, 4)
    p.Anchored = true
    p.Position = Vector3.new(i * 5, 3 + (i - 1) * 0, 0)
    p.Parent = folder
end

Как работает этот код

Генерация деталей. Цикл создаёт экземпляры Part, а Position задаёт их расположение. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local folder = Instance.new("Folder")Создаёт новый экземпляр объекта Roblox.
  2. folder.Name = "GeneratedParts"Выполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  3. for i = 1, 8 doПовторяет создание объекта несколько раз, увеличивая счётчик i.
  4. p.Size = Vector3.new(4, 1, 4)Задаёт три координаВы или размера X, Y и Z.
  5. endЗавершает блок условия, цикла или функции.
Попробуйте самостоятельно

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

Как проверить

В Workspace появится папка GeneratedParts с заданным количеством деталей.

Обратите внимание: Все созданные Part закреплены. Генерируемые детали остаются только в текущей игровой сессии; после завершения Play их не будет в режиме редактирования.
165Десять колоннСоздание миров / Генератор деталей · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Цикл создаёт экземпляры Part, а Position задаёт их расположение.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте чистую Baseplate, вставьте Script и нажмите Play.

Код Luau
local folder = Instance.new("Folder")
folder.Name = "GeneratedParts"
folder.Parent = workspace
for i = 1, 10 do
    local p = Instance.new("Part")
    p.Size = Vector3.new(4, 1, 4)
    p.Anchored = true
    p.Position = Vector3.new(i * 5, 3 + (i - 1) * 0, 0)
    p.Parent = folder
end

Как работает этот код

Генерация деталей. Цикл создаёт экземпляры Part, а Position задаёт их расположение. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local folder = Instance.new("Folder")Создаёт новый экземпляр объекта Roblox.
  2. folder.Name = "GeneratedParts"Выполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  3. for i = 1, 10 doПовторяет создание объекта несколько раз, увеличивая счётчик i.
  4. p.Size = Vector3.new(4, 1, 4)Задаёт три координаВы или размера X, Y и Z.
  5. endЗавершает блок условия, цикла или функции.
Попробуйте самостоятельно

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

Как проверить

В Workspace появится папка GeneratedParts с заданным количеством деталей.

Обратите внимание: Все созданные Part закреплены. Генерируемые детали остаются только в текущей игровой сессии; после завершения Play их не будет в режиме редактирования.
166Мост из двенадцати плитСоздание миров / Генератор деталей · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Цикл создаёт экземпляры Part, а Position задаёт их расположение.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте чистую Baseplate, вставьте Script и нажмите Play.

Код Luau
local folder = Instance.new("Folder")
folder.Name = "GeneratedParts"
folder.Parent = workspace
for i = 1, 12 do
    local p = Instance.new("Part")
    p.Size = Vector3.new(4, 1, 4)
    p.Anchored = true
    p.Position = Vector3.new(i * 5, 3 + (i - 1) * 0, 0)
    p.Parent = folder
end

Как работает этот код

Генерация деталей. Цикл создаёт экземпляры Part, а Position задаёт их расположение. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local folder = Instance.new("Folder")Создаёт новый экземпляр объекта Roblox.
  2. folder.Name = "GeneratedParts"Выполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  3. for i = 1, 12 doПовторяет создание объекта несколько раз, увеличивая счётчик i.
  4. p.Size = Vector3.new(4, 1, 4)Задаёт три координаВы или размера X, Y и Z.
  5. endЗавершает блок условия, цикла или функции.
Попробуйте самостоятельно

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

Как проверить

В Workspace появится папка GeneratedParts с заданным количеством деталей.

Обратите внимание: Все созданные Part закреплены. Генерируемые детали остаются только в текущей игровой сессии; после завершения Play их не будет в режиме редактирования.
167Три тренировочные точкиСоздание миров / Генератор деталей · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Цикл создаёт экземпляры Part, а Position задаёт их расположение.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте чистую Baseplate, вставьте Script и нажмите Play.

Код Luau
local folder = Instance.new("Folder")
folder.Name = "GeneratedParts"
folder.Parent = workspace
for i = 1, 3 do
    local p = Instance.new("Part")
    p.Size = Vector3.new(4, 1, 4)
    p.Anchored = true
    p.Position = Vector3.new(i * 5, 3 + (i - 1) * 0, 0)
    p.Parent = folder
end

Как работает этот код

Генерация деталей. Цикл создаёт экземпляры Part, а Position задаёт их расположение. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local folder = Instance.new("Folder")Создаёт новый экземпляр объекта Roblox.
  2. folder.Name = "GeneratedParts"Выполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  3. for i = 1, 3 doПовторяет создание объекта несколько раз, увеличивая счётчик i.
  4. p.Size = Vector3.new(4, 1, 4)Задаёт три координаВы или размера X, Y и Z.
  5. endЗавершает блок условия, цикла или функции.
Попробуйте самостоятельно

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

Как проверить

В Workspace появится папка GeneratedParts с заданным количеством деталей.

Обратите внимание: Все созданные Part закреплены. Генерируемые детали остаются только в текущей игровой сессии; после завершения Play их не будет в режиме редактирования.
168Четыре декоративных кубаСоздание миров / Генератор деталей · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Цикл создаёт экземпляры Part, а Position задаёт их расположение.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте чистую Baseplate, вставьте Script и нажмите Play.

Код Luau
local folder = Instance.new("Folder")
folder.Name = "GeneratedParts"
folder.Parent = workspace
for i = 1, 4 do
    local p = Instance.new("Part")
    p.Size = Vector3.new(4, 1, 4)
    p.Anchored = true
    p.Position = Vector3.new(i * 5, 3 + (i - 1) * 0, 0)
    p.Parent = folder
end

Как работает этот код

Генерация деталей. Цикл создаёт экземпляры Part, а Position задаёт их расположение. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local folder = Instance.new("Folder")Создаёт новый экземпляр объекта Roblox.
  2. folder.Name = "GeneratedParts"Выполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  3. for i = 1, 4 doПовторяет создание объекта несколько раз, увеличивая счётчик i.
  4. p.Size = Vector3.new(4, 1, 4)Задаёт три координаВы или размера X, Y и Z.
  5. endЗавершает блок условия, цикла или функции.
Попробуйте самостоятельно

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

Как проверить

В Workspace появится папка GeneratedParts с заданным количеством деталей.

Обратите внимание: Все созданные Part закреплены. Генерируемые детали остаются только в текущей игровой сессии; после завершения Play их не будет в режиме редактирования.
169Девять ступеней башниСоздание миров / Генератор деталей · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Цикл создаёт экземпляры Part, а Position задаёт их расположение.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте чистую Baseplate, вставьте Script и нажмите Play.

Код Luau
local folder = Instance.new("Folder")
folder.Name = "GeneratedParts"
folder.Parent = workspace
for i = 1, 9 do
    local p = Instance.new("Part")
    p.Size = Vector3.new(4, 1, 4)
    p.Anchored = true
    p.Position = Vector3.new(i * 5, 3 + (i - 1) * 1, 0)
    p.Parent = folder
end

Как работает этот код

Генерация деталей. Цикл создаёт экземпляры Part, а Position задаёт их расположение. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local folder = Instance.new("Folder")Создаёт новый экземпляр объекта Roblox.
  2. folder.Name = "GeneratedParts"Выполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  3. for i = 1, 9 doПовторяет создание объекта несколько раз, увеличивая счётчик i.
  4. p.Size = Vector3.new(4, 1, 4)Задаёт три координаВы или размера X, Y и Z.
  5. endЗавершает блок условия, цикла или функции.
Попробуйте самостоятельно

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

Как проверить

В Workspace появится папка GeneratedParts с заданным количеством деталей.

Обратите внимание: Все созданные Part закреплены. Генерируемые детали остаются только в текущей игровой сессии; после завершения Play их не будет в режиме редактирования.
170Одиннадцать камнейСоздание миров / Генератор деталей · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Цикл создаёт экземпляры Part, а Position задаёт их расположение.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Откройте чистую Baseplate, вставьте Script и нажмите Play.

Код Luau
local folder = Instance.new("Folder")
folder.Name = "GeneratedParts"
folder.Parent = workspace
for i = 1, 11 do
    local p = Instance.new("Part")
    p.Size = Vector3.new(4, 1, 4)
    p.Anchored = true
    p.Position = Vector3.new(i * 5, 3 + (i - 1) * 0, 0)
    p.Parent = folder
end

Как работает этот код

Генерация деталей. Цикл создаёт экземпляры Part, а Position задаёт их расположение. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local folder = Instance.new("Folder")Создаёт новый экземпляр объекта Roblox.
  2. folder.Name = "GeneratedParts"Выполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  3. for i = 1, 11 doПовторяет создание объекта несколько раз, увеличивая счётчик i.
  4. p.Size = Vector3.new(4, 1, 4)Задаёт три координаВы или размера X, Y и Z.
  5. endЗавершает блок условия, цикла или функции.
Попробуйте самостоятельно

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

Как проверить

В Workspace появится папка GeneratedParts с заданным количеством деталей.

Обратите внимание: Все созданные Part закреплены. Генерируемые детали остаются только в текущей игровой сессии; после завершения Play их не будет в режиме редактирования.
171Красная платформаСоздание миров / Цветовые декорации · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255.

Куда вставить

Script внутри ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart. Нажмите Play.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part.Color = Color3.fromRGB(255, 86, 98)
part.Material = Enum.Material.SmoothPlastic

Как работает этот код

Оформление детали. Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part.Color = Color3.fromRGB(255, 86, 98)Создаёт цвет по красному, зелёному и синему каналам от 0 до 255.
  3. part.Material = Enum.Material.SmoothPlasticВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
Попробуйте самостоятельно

Создайте DemoPart и поменяй RGB-компоненВы или материал; сравните цвет до и после.

Как проверить

Деталь станет указанного цвета.

Обратите внимание: Нужна отдельная деталь Workspace.DemoPart. Изменение цвета не добавляет поведение портала или другие игровые эффекты.
172Синяя платформаСоздание миров / Цветовые декорации · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255.

Куда вставить

Script внутри ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart. Нажмите Play.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part.Color = Color3.fromRGB(60, 145, 255)
part.Material = Enum.Material.SmoothPlastic

Как работает этот код

Оформление детали. Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part.Color = Color3.fromRGB(60, 145, 255)Создаёт цвет по красному, зелёному и синему каналам от 0 до 255.
  3. part.Material = Enum.Material.SmoothPlasticВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
Попробуйте самостоятельно

Создайте DemoPart и поменяй RGB-компоненВы или материал; сравните цвет до и после.

Как проверить

Деталь станет указанного цвета.

Обратите внимание: Нужна отдельная деталь Workspace.DemoPart. Изменение цвета не добавляет поведение портала или другие игровые эффекты.
173Зелёный островСоздание миров / Цветовые декорации · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255.

Куда вставить

Script внутри ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart. Нажмите Play.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part.Color = Color3.fromRGB(62, 202, 120)
part.Material = Enum.Material.SmoothPlastic

Как работает этот код

Оформление детали. Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part.Color = Color3.fromRGB(62, 202, 120)Создаёт цвет по красному, зелёному и синему каналам от 0 до 255.
  3. part.Material = Enum.Material.SmoothPlasticВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
Попробуйте самостоятельно

Создайте DemoPart и поменяй RGB-компоненВы или материал; сравните цвет до и после.

Как проверить

Деталь станет указанного цвета.

Обратите внимание: Нужна отдельная деталь Workspace.DemoPart. Изменение цвета не добавляет поведение портала или другие игровые эффекты.
174Жёлтая дорожкаСоздание миров / Цветовые декорации · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255.

Куда вставить

Script внутри ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart. Нажмите Play.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part.Color = Color3.fromRGB(255, 211, 70)
part.Material = Enum.Material.SmoothPlastic

Как работает этот код

Оформление детали. Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part.Color = Color3.fromRGB(255, 211, 70)Создаёт цвет по красному, зелёному и синему каналам от 0 до 255.
  3. part.Material = Enum.Material.SmoothPlasticВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
Попробуйте самостоятельно

Создайте DemoPart и поменяй RGB-компоненВы или материал; сравните цвет до и после.

Как проверить

Деталь станет указанного цвета.

Обратите внимание: Нужна отдельная деталь Workspace.DemoPart. Изменение цвета не добавляет поведение портала или другие игровые эффекты.
175Фиолетовый порталСоздание миров / Цветовые декорации · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255.

Куда вставить

Script внутри ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart. Нажмите Play.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part.Color = Color3.fromRGB(151, 100, 255)
part.Material = Enum.Material.SmoothPlastic

Как работает этот код

Оформление детали. Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part.Color = Color3.fromRGB(151, 100, 255)Создаёт цвет по красному, зелёному и синему каналам от 0 до 255.
  3. part.Material = Enum.Material.SmoothPlasticВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
Попробуйте самостоятельно

Создайте DemoPart и поменяй RGB-компоненВы или материал; сравните цвет до и после.

Как проверить

Деталь станет указанного цвета.

Обратите внимание: Нужна отдельная деталь Workspace.DemoPart. Изменение цвета не добавляет поведение портала или другие игровые эффекты.
176Бирюзовая плитаСоздание миров / Цветовые декорации · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255.

Куда вставить

Script внутри ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart. Нажмите Play.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part.Color = Color3.fromRGB(60, 215, 220)
part.Material = Enum.Material.SmoothPlastic

Как работает этот код

Оформление детали. Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part.Color = Color3.fromRGB(60, 215, 220)Создаёт цвет по красному, зелёному и синему каналам от 0 до 255.
  3. part.Material = Enum.Material.SmoothPlasticВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
Попробуйте самостоятельно

Создайте DemoPart и поменяй RGB-компоненВы или материал; сравните цвет до и после.

Как проверить

Деталь станет указанного цвета.

Обратите внимание: Нужна отдельная деталь Workspace.DemoPart. Изменение цвета не добавляет поведение портала или другие игровые эффекты.
177Оранжевый блокСоздание миров / Цветовые декорации · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255.

Куда вставить

Script внутри ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart. Нажмите Play.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part.Color = Color3.fromRGB(255, 151, 65)
part.Material = Enum.Material.SmoothPlastic

Как работает этот код

Оформление детали. Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part.Color = Color3.fromRGB(255, 151, 65)Создаёт цвет по красному, зелёному и синему каналам от 0 до 255.
  3. part.Material = Enum.Material.SmoothPlasticВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
Попробуйте самостоятельно

Создайте DemoPart и поменяй RGB-компоненВы или материал; сравните цвет до и после.

Как проверить

Деталь станет указанного цвета.

Обратите внимание: Нужна отдельная деталь Workspace.DemoPart. Изменение цвета не добавляет поведение портала или другие игровые эффекты.
178Розовая площадкаСоздание миров / Цветовые декорации · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255.

Куда вставить

Script внутри ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart. Нажмите Play.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part.Color = Color3.fromRGB(253, 131, 195)
part.Material = Enum.Material.SmoothPlastic

Как работает этот код

Оформление детали. Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part.Color = Color3.fromRGB(253, 131, 195)Создаёт цвет по красному, зелёному и синему каналам от 0 до 255.
  3. part.Material = Enum.Material.SmoothPlasticВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
Попробуйте самостоятельно

Создайте DemoPart и поменяй RGB-компоненВы или материал; сравните цвет до и после.

Как проверить

Деталь станет указанного цвета.

Обратите внимание: Нужна отдельная деталь Workspace.DemoPart. Изменение цвета не добавляет поведение портала или другие игровые эффекты.
179Голубой кубСоздание миров / Цветовые декорации · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255.

Куда вставить

Script внутри ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart. Нажмите Play.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part.Color = Color3.fromRGB(131, 220, 255)
part.Material = Enum.Material.SmoothPlastic

Как работает этот код

Оформление детали. Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part.Color = Color3.fromRGB(131, 220, 255)Создаёт цвет по красному, зелёному и синему каналам от 0 до 255.
  3. part.Material = Enum.Material.SmoothPlasticВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
Попробуйте самостоятельно

Создайте DemoPart и поменяй RGB-компоненВы или материал; сравните цвет до и после.

Как проверить

Деталь станет указанного цвета.

Обратите внимание: Нужна отдельная деталь Workspace.DemoPart. Изменение цвета не добавляет поведение портала или другие игровые эффекты.
180Белый пьедесталСоздание миров / Цветовые декорации · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255.

Куда вставить

Script внутри ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part с именем DemoPart. Нажмите Play.

Код Luau
local part = workspace:WaitForChild("DemoPart")
part.Color = Color3.fromRGB(237, 244, 255)
part.Material = Enum.Material.SmoothPlastic

Как работает этот код

Оформление детали. Color3.fromRGB задаёт красную, зелёную и синюю составляющие от 0 до 255. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. part.Color = Color3.fromRGB(237, 244, 255)Создаёт цвет по красному, зелёному и синему каналам от 0 до 255.
  3. part.Material = Enum.Material.SmoothPlasticВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
Попробуйте самостоятельно

Создайте DemoPart и поменяй RGB-компоненВы или материал; сравните цвет до и после.

Как проверить

Деталь станет указанного цвета.

Обратите внимание: Нужна отдельная деталь Workspace.DemoPart. Изменение цвета не добавляет поведение портала или другие игровые эффекты.
181Подсказка открыть сундукИнтерактивные объекты / Подсказки ProximityPrompt · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part DemoPart. Подойдите к нему в Play и нажмите клавишу взаимодействия.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")
prompt.Parent = part
prompt.ActionText = "Открыть сундук"
prompt.ObjectText = "сундук"
prompt.Triggered:Connect(function(player)
    print(player.Name, "использовал объект")
end)

Как работает этот код

Подсказки взаимодействия. ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")Создаёт новый экземпляр объекта Roblox.
  3. prompt.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  4. prompt.ActionText = "Открыть сундук"Задаёт текст действия рядом с объектом.
  5. prompt.ObjectText = "сундук"Задаёт название объекта в подсказке.
Попробуйте самостоятельно

Измените ActionText, проверьте клавишу взаимодействия и запиши имя игрока в Output.

Как проверить

Возле детали появится подсказка, а Output покажет имя игрока.

Обратите внимание: Скрипт показывает подсказку и выводит имя игрока в Output. Реальное открытие сундука или запуск моста необходимо запрограммировать отдельно.
182Подсказка поднять ключИнтерактивные объекты / Подсказки ProximityPrompt · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part DemoPart. Подойдите к нему в Play и нажмите клавишу взаимодействия.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")
prompt.Parent = part
prompt.ActionText = "Взять ключ"
prompt.ObjectText = "ключ"
prompt.Triggered:Connect(function(player)
    print(player.Name, "использовал объект")
end)

Как работает этот код

Подсказки взаимодействия. ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")Создаёт новый экземпляр объекта Roblox.
  3. prompt.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  4. prompt.ActionText = "Взять ключ"Задаёт текст действия рядом с объектом.
  5. prompt.ObjectText = "ключ"Задаёт название объекта в подсказке.
Попробуйте самостоятельно

Измените ActionText, проверьте клавишу взаимодействия и запиши имя игрока в Output.

Как проверить

Возле детали появится подсказка, а Output покажет имя игрока.

Обратите внимание: Скрипт показывает подсказку и выводит имя игрока в Output. Реальное открытие сундука или запуск моста необходимо запрограммировать отдельно.
183Подсказка изучить картуИнтерактивные объекты / Подсказки ProximityPrompt · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part DemoPart. Подойдите к нему в Play и нажмите клавишу взаимодействия.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")
prompt.Parent = part
prompt.ActionText = "Изучить карту"
prompt.ObjectText = "карта"
prompt.Triggered:Connect(function(player)
    print(player.Name, "использовал объект")
end)

Как работает этот код

Подсказки взаимодействия. ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")Создаёт новый экземпляр объекта Roblox.
  3. prompt.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  4. prompt.ActionText = "Изучить карту"Задаёт текст действия рядом с объектом.
  5. prompt.ObjectText = "карта"Задаёт название объекта в подсказке.
Попробуйте самостоятельно

Измените ActionText, проверьте клавишу взаимодействия и запиши имя игрока в Output.

Как проверить

Возле детали появится подсказка, а Output покажет имя игрока.

Обратите внимание: Скрипт показывает подсказку и выводит имя игрока в Output. Реальное открытие сундука или запуск моста необходимо запрограммировать отдельно.
184Подсказка позвать NPCИнтерактивные объекты / Подсказки ProximityPrompt · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part DemoPart. Подойдите к нему в Play и нажмите клавишу взаимодействия.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")
prompt.Parent = part
prompt.ActionText = "Поговорить"
prompt.ObjectText = "NPC"
prompt.Triggered:Connect(function(player)
    print(player.Name, "использовал объект")
end)

Как работает этот код

Подсказки взаимодействия. ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")Создаёт новый экземпляр объекта Roblox.
  3. prompt.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  4. prompt.ActionText = "Поговорить"Задаёт текст действия рядом с объектом.
  5. prompt.ObjectText = "NPC"Задаёт название объекта в подсказке.
Попробуйте самостоятельно

Измените ActionText, проверьте клавишу взаимодействия и запиши имя игрока в Output.

Как проверить

Возле детали появится подсказка, а Output покажет имя игрока.

Обратите внимание: Скрипт показывает подсказку и выводит имя игрока в Output. Реальное открытие сундука или запуск моста необходимо запрограммировать отдельно.
185Подсказка включить мостИнтерактивные объекты / Подсказки ProximityPrompt · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part DemoPart. Подойдите к нему в Play и нажмите клавишу взаимодействия.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")
prompt.Parent = part
prompt.ActionText = "Включить мост"
prompt.ObjectText = "мост"
prompt.Triggered:Connect(function(player)
    print(player.Name, "использовал объект")
end)

Как работает этот код

Подсказки взаимодействия. ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")Создаёт новый экземпляр объекта Roblox.
  3. prompt.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  4. prompt.ActionText = "Включить мост"Задаёт текст действия рядом с объектом.
  5. prompt.ObjectText = "мост"Задаёт название объекта в подсказке.
Попробуйте самостоятельно

Измените ActionText, проверьте клавишу взаимодействия и запиши имя игрока в Output.

Как проверить

Возле детали появится подсказка, а Output покажет имя игрока.

Обратите внимание: Скрипт показывает подсказку и выводит имя игрока в Output. Реальное открытие сундука или запуск моста необходимо запрограммировать отдельно.
186Подсказка войти в домИнтерактивные объекты / Подсказки ProximityPrompt · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part DemoPart. Подойдите к нему в Play и нажмите клавишу взаимодействия.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")
prompt.Parent = part
prompt.ActionText = "Войти"
prompt.ObjectText = "дом"
prompt.Triggered:Connect(function(player)
    print(player.Name, "использовал объект")
end)

Как работает этот код

Подсказки взаимодействия. ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")Создаёт новый экземпляр объекта Roblox.
  3. prompt.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  4. prompt.ActionText = "Войти"Задаёт текст действия рядом с объектом.
  5. prompt.ObjectText = "дом"Задаёт название объекта в подсказке.
Попробуйте самостоятельно

Измените ActionText, проверьте клавишу взаимодействия и запиши имя игрока в Output.

Как проверить

Возле детали появится подсказка, а Output покажет имя игрока.

Обратите внимание: Скрипт показывает подсказку и выводит имя игрока в Output. Реальное открытие сундука или запуск моста необходимо запрограммировать отдельно.
187Подсказка посмотреть табличкуИнтерактивные объекты / Подсказки ProximityPrompt · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part DemoPart. Подойдите к нему в Play и нажмите клавишу взаимодействия.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")
prompt.Parent = part
prompt.ActionText = "Прочитать"
prompt.ObjectText = "табличка"
prompt.Triggered:Connect(function(player)
    print(player.Name, "использовал объект")
end)

Как работает этот код

Подсказки взаимодействия. ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")Создаёт новый экземпляр объекта Roblox.
  3. prompt.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  4. prompt.ActionText = "Прочитать"Задаёт текст действия рядом с объектом.
  5. prompt.ObjectText = "табличка"Задаёт название объекта в подсказке.
Попробуйте самостоятельно

Измените ActionText, проверьте клавишу взаимодействия и запиши имя игрока в Output.

Как проверить

Возле детали появится подсказка, а Output покажет имя игрока.

Обратите внимание: Скрипт показывает подсказку и выводит имя игрока в Output. Реальное открытие сундука или запуск моста необходимо запрограммировать отдельно.
188Подсказка открыть шкафИнтерактивные объекты / Подсказки ProximityPrompt · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part DemoPart. Подойдите к нему в Play и нажмите клавишу взаимодействия.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")
prompt.Parent = part
prompt.ActionText = "Открыть шкаф"
prompt.ObjectText = "шкаф"
prompt.Triggered:Connect(function(player)
    print(player.Name, "использовал объект")
end)

Как работает этот код

Подсказки взаимодействия. ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")Создаёт новый экземпляр объекта Roblox.
  3. prompt.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  4. prompt.ActionText = "Открыть шкаф"Задаёт текст действия рядом с объектом.
  5. prompt.ObjectText = "шкаф"Задаёт название объекта в подсказке.
Попробуйте самостоятельно

Измените ActionText, проверьте клавишу взаимодействия и запиши имя игрока в Output.

Как проверить

Возле детали появится подсказка, а Output покажет имя игрока.

Обратите внимание: Скрипт показывает подсказку и выводит имя игрока в Output. Реальное открытие сундука или запуск моста необходимо запрограммировать отдельно.
189Подсказка начать раундИнтерактивные объекты / Подсказки ProximityPrompt · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part DemoPart. Подойдите к нему в Play и нажмите клавишу взаимодействия.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")
prompt.Parent = part
prompt.ActionText = "Начать раунд"
prompt.ObjectText = "старт"
prompt.Triggered:Connect(function(player)
    print(player.Name, "использовал объект")
end)

Как работает этот код

Подсказки взаимодействия. ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")Создаёт новый экземпляр объекта Roblox.
  3. prompt.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  4. prompt.ActionText = "Начать раунд"Задаёт текст действия рядом с объектом.
  5. prompt.ObjectText = "старт"Задаёт название объекта в подсказке.
Попробуйте самостоятельно

Измените ActionText, проверьте клавишу взаимодействия и запиши имя игрока в Output.

Как проверить

Возле детали появится подсказка, а Output покажет имя игрока.

Обратите внимание: Скрипт показывает подсказку и выводит имя игрока в Output. Реальное открытие сундука или запуск моста необходимо запрограммировать отдельно.
190Подсказка выбрать режимИнтерактивные объекты / Подсказки ProximityPrompt · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте Part DemoPart. Подойдите к нему в Play и нажмите клавишу взаимодействия.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")
prompt.Parent = part
prompt.ActionText = "Выбрать режим"
prompt.ObjectText = "режим"
prompt.Triggered:Connect(function(player)
    print(player.Name, "использовал объект")
end)

Как работает этот код

Подсказки взаимодействия. ProximityPrompt отображает взаимодействие, а событие Triggered вызывается сервером. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local prompt = part:FindFirstChildOfClass("ProximityPrompt") or Instance.new("ProximityPrompt")Создаёт новый экземпляр объекта Roblox.
  3. prompt.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  4. prompt.ActionText = "Выбрать режим"Задаёт текст действия рядом с объектом.
  5. prompt.ObjectText = "режим"Задаёт название объекта в подсказке.
Попробуйте самостоятельно

Измените ActionText, проверьте клавишу взаимодействия и запиши имя игрока в Output.

Как проверить

Возле детали появится подсказка, а Output покажет имя игрока.

Обратите внимание: Скрипт показывает подсказку и выводит имя игрока в Output. Реальное открытие сундука или запуск моста необходимо запрограммировать отдельно.
191Клик по красной кнопкеИнтерактивные объекты / События ClickDetector · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ClickDetector регистрирует клик по детали и сообщает серверу об игроке.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и в Play щёлкни по нему мышью.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")
detector.MaxActivationDistance = 12
detector.Parent = part
detector.MouseClick:Connect(function(player)
    print(player.Name, "нажал: Красная")
end)

Как работает этот код

Клики по объекту. ClickDetector регистрирует клик по детали и сообщает серверу об игроке. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")Создаёт новый экземпляр объекта Roblox.
  3. detector.MaxActivationDistance = 12Определяет максимальную дистанцию для щелчка по объекту.
  4. detector.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  5. detector.MouseClick:Connect(function(player)Подключает функцию, вызываемую при щелчке игрока.
Попробуйте самостоятельно

Измените MaxActivationDistance, проверьте клик вблизи и вдали и сообщение в Output.

Как проверить

При клике Output покажет сообщение; расстояние ограничено.

Обратите внимание: Скрипт только фиксирует клик в Output, не выдаёт награду и не включает объект. Для использования на телефоне нужен отдельный тест взаимодействия.
192Клик по сундукуИнтерактивные объекты / События ClickDetector · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ClickDetector регистрирует клик по детали и сообщает серверу об игроке.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и в Play щёлкни по нему мышью.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")
detector.MaxActivationDistance = 12
detector.Parent = part
detector.MouseClick:Connect(function(player)
    print(player.Name, "нажал: Сундук")
end)

Как работает этот код

Клики по объекту. ClickDetector регистрирует клик по детали и сообщает серверу об игроке. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")Создаёт новый экземпляр объекта Roblox.
  3. detector.MaxActivationDistance = 12Определяет максимальную дистанцию для щелчка по объекту.
  4. detector.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  5. detector.MouseClick:Connect(function(player)Подключает функцию, вызываемую при щелчке игрока.
Попробуйте самостоятельно

Измените MaxActivationDistance, проверьте клик вблизи и вдали и сообщение в Output.

Как проверить

При клике Output покажет сообщение; расстояние ограничено.

Обратите внимание: Скрипт только фиксирует клик в Output, не выдаёт награду и не включает объект. Для использования на телефоне нужен отдельный тест взаимодействия.
193Клик по табличкеИнтерактивные объекты / События ClickDetector · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ClickDetector регистрирует клик по детали и сообщает серверу об игроке.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и в Play щёлкни по нему мышью.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")
detector.MaxActivationDistance = 12
detector.Parent = part
detector.MouseClick:Connect(function(player)
    print(player.Name, "нажал: Знак")
end)

Как работает этот код

Клики по объекту. ClickDetector регистрирует клик по детали и сообщает серверу об игроке. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")Создаёт новый экземпляр объекта Roblox.
  3. detector.MaxActivationDistance = 12Определяет максимальную дистанцию для щелчка по объекту.
  4. detector.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  5. detector.MouseClick:Connect(function(player)Подключает функцию, вызываемую при щелчке игрока.
Попробуйте самостоятельно

Измените MaxActivationDistance, проверьте клик вблизи и вдали и сообщение в Output.

Как проверить

При клике Output покажет сообщение; расстояние ограничено.

Обратите внимание: Скрипт только фиксирует клик в Output, не выдаёт награду и не включает объект. Для использования на телефоне нужен отдельный тест взаимодействия.
194Клик по кристаллуИнтерактивные объекты / События ClickDetector · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ClickDetector регистрирует клик по детали и сообщает серверу об игроке.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и в Play щёлкни по нему мышью.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")
detector.MaxActivationDistance = 12
detector.Parent = part
detector.MouseClick:Connect(function(player)
    print(player.Name, "нажал: Кристалл")
end)

Как работает этот код

Клики по объекту. ClickDetector регистрирует клик по детали и сообщает серверу об игроке. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")Создаёт новый экземпляр объекта Roblox.
  3. detector.MaxActivationDistance = 12Определяет максимальную дистанцию для щелчка по объекту.
  4. detector.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  5. detector.MouseClick:Connect(function(player)Подключает функцию, вызываемую при щелчке игрока.
Попробуйте самостоятельно

Измените MaxActivationDistance, проверьте клик вблизи и вдали и сообщение в Output.

Как проверить

При клике Output покажет сообщение; расстояние ограничено.

Обратите внимание: Скрипт только фиксирует клик в Output, не выдаёт награду и не включает объект. Для использования на телефоне нужен отдельный тест взаимодействия.
195Клик по фонарюИнтерактивные объекты / События ClickDetector · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ClickDetector регистрирует клик по детали и сообщает серверу об игроке.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и в Play щёлкни по нему мышью.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")
detector.MaxActivationDistance = 12
detector.Parent = part
detector.MouseClick:Connect(function(player)
    print(player.Name, "нажал: Фонарь")
end)

Как работает этот код

Клики по объекту. ClickDetector регистрирует клик по детали и сообщает серверу об игроке. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")Создаёт новый экземпляр объекта Roblox.
  3. detector.MaxActivationDistance = 12Определяет максимальную дистанцию для щелчка по объекту.
  4. detector.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  5. detector.MouseClick:Connect(function(player)Подключает функцию, вызываемую при щелчке игрока.
Попробуйте самостоятельно

Измените MaxActivationDistance, проверьте клик вблизи и вдали и сообщение в Output.

Как проверить

При клике Output покажет сообщение; расстояние ограничено.

Обратите внимание: Скрипт только фиксирует клик в Output, не выдаёт награду и не включает объект. Для использования на телефоне нужен отдельный тест взаимодействия.
196Клик по статуеИнтерактивные объекты / События ClickDetector · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ClickDetector регистрирует клик по детали и сообщает серверу об игроке.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и в Play щёлкни по нему мышью.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")
detector.MaxActivationDistance = 12
detector.Parent = part
detector.MouseClick:Connect(function(player)
    print(player.Name, "нажал: Статуя")
end)

Как работает этот код

Клики по объекту. ClickDetector регистрирует клик по детали и сообщает серверу об игроке. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")Создаёт новый экземпляр объекта Roblox.
  3. detector.MaxActivationDistance = 12Определяет максимальную дистанцию для щелчка по объекту.
  4. detector.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  5. detector.MouseClick:Connect(function(player)Подключает функцию, вызываемую при щелчке игрока.
Попробуйте самостоятельно

Измените MaxActivationDistance, проверьте клик вблизи и вдали и сообщение в Output.

Как проверить

При клике Output покажет сообщение; расстояние ограничено.

Обратите внимание: Скрипт только фиксирует клик в Output, не выдаёт награду и не включает объект. Для использования на телефоне нужен отдельный тест взаимодействия.
197Клик по деревуИнтерактивные объекты / События ClickDetector · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ClickDetector регистрирует клик по детали и сообщает серверу об игроке.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и в Play щёлкни по нему мышью.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")
detector.MaxActivationDistance = 12
detector.Parent = part
detector.MouseClick:Connect(function(player)
    print(player.Name, "нажал: Дерево")
end)

Как работает этот код

Клики по объекту. ClickDetector регистрирует клик по детали и сообщает серверу об игроке. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")Создаёт новый экземпляр объекта Roblox.
  3. detector.MaxActivationDistance = 12Определяет максимальную дистанцию для щелчка по объекту.
  4. detector.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  5. detector.MouseClick:Connect(function(player)Подключает функцию, вызываемую при щелчке игрока.
Попробуйте самостоятельно

Измените MaxActivationDistance, проверьте клик вблизи и вдали и сообщение в Output.

Как проверить

При клике Output покажет сообщение; расстояние ограничено.

Обратите внимание: Скрипт только фиксирует клик в Output, не выдаёт награду и не включает объект. Для использования на телефоне нужен отдельный тест взаимодействия.
198Клик по порталуИнтерактивные объекты / События ClickDetector · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ClickDetector регистрирует клик по детали и сообщает серверу об игроке.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и в Play щёлкни по нему мышью.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")
detector.MaxActivationDistance = 12
detector.Parent = part
detector.MouseClick:Connect(function(player)
    print(player.Name, "нажал: Портал")
end)

Как работает этот код

Клики по объекту. ClickDetector регистрирует клик по детали и сообщает серверу об игроке. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")Создаёт новый экземпляр объекта Roblox.
  3. detector.MaxActivationDistance = 12Определяет максимальную дистанцию для щелчка по объекту.
  4. detector.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  5. detector.MouseClick:Connect(function(player)Подключает функцию, вызываемую при щелчке игрока.
Попробуйте самостоятельно

Измените MaxActivationDistance, проверьте клик вблизи и вдали и сообщение в Output.

Как проверить

При клике Output покажет сообщение; расстояние ограничено.

Обратите внимание: Скрипт только фиксирует клик в Output, не выдаёт награду и не включает объект. Для использования на телефоне нужен отдельный тест взаимодействия.
199Клик по рычагуИнтерактивные объекты / События ClickDetector · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ClickDetector регистрирует клик по детали и сообщает серверу об игроке.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и в Play щёлкни по нему мышью.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")
detector.MaxActivationDistance = 12
detector.Parent = part
detector.MouseClick:Connect(function(player)
    print(player.Name, "нажал: Рычаг")
end)

Как работает этот код

Клики по объекту. ClickDetector регистрирует клик по детали и сообщает серверу об игроке. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")Создаёт новый экземпляр объекта Roblox.
  3. detector.MaxActivationDistance = 12Определяет максимальную дистанцию для щелчка по объекту.
  4. detector.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  5. detector.MouseClick:Connect(function(player)Подключает функцию, вызываемую при щелчке игрока.
Попробуйте самостоятельно

Измените MaxActivationDistance, проверьте клик вблизи и вдали и сообщение в Output.

Как проверить

При клике Output покажет сообщение; расстояние ограничено.

Обратите внимание: Скрипт только фиксирует клик в Output, не выдаёт награду и не включает объект. Для использования на телефоне нужен отдельный тест взаимодействия.
200Клик по барабануИнтерактивные объекты / События ClickDetector · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ClickDetector регистрирует клик по детали и сообщает серверу об игроке.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и в Play щёлкни по нему мышью.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")
detector.MaxActivationDistance = 12
detector.Parent = part
detector.MouseClick:Connect(function(player)
    print(player.Name, "нажал: Барабан")
end)

Как работает этот код

Клики по объекту. ClickDetector регистрирует клик по детали и сообщает серверу об игроке. Проверьте описанные действия в Play и посмотрите результат в Output или Explorer.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Ожидает появления объекта с указанным именем и возвращает его.
  2. local detector = part:FindFirstChildOfClass("ClickDetector") or Instance.new("ClickDetector")Создаёт новый экземпляр объекта Roblox.
  3. detector.MaxActivationDistance = 12Определяет максимальную дистанцию для щелчка по объекту.
  4. detector.Parent = partВыполняет действие или присваивание, указанное в этой строке; сравните результат с данными в коде.
  5. detector.MouseClick:Connect(function(player)Подключает функцию, вызываемую при щелчке игрока.
Попробуйте самостоятельно

Измените MaxActivationDistance, проверьте клик вблизи и вдали и сообщение в Output.

Как проверить

При клике Output покажет сообщение; расстояние ограничено.

Обратите внимание: Скрипт только фиксирует клик в Output, не выдаёт награду и не включает объект. Для использования на телефоне нужен отдельный тест взаимодействия.
201Подпись счётаGUI и мобильность / Текст в игровом интерфейсе · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента.

Куда вставить

LocalScript внутри TextLabel в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте ScreenGui, вложи TextLabel и LocalScript. Запустите Play.

Код Luau
local label = script.Parent
assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")
label.Text = "Очки: 0"
label.TextScaled = true

Как работает этот код

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local label = script.ParentПолучаем TextLabel, в который вложен LocalScript.
  2. assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")Проверяем тип объекта; при ошибке получим понятное сообщение.
  3. label.Text = "Очки: 0"Задаём статичную надпись. Счёт игрока не считывается автоматически.
  4. label.TextScaled = trueТекст автоматически подгоняется по размерам поля.
Попробуйте самостоятельно

Замени надпись на собственную и попробуйте изменить размер TextLabel. Для настоящего динамического счётчика потребуется отдельно получать значение очков игрока. Применение: «Подпись счёта».

Как проверить

На экране появится подпись; размер текста подстроится под рамку.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
202Подпись звёздGUI и мобильность / Текст в игровом интерфейсе · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента.

Куда вставить

LocalScript внутри TextLabel в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте ScreenGui, вложи TextLabel и LocalScript. Запустите Play.

Код Luau
local label = script.Parent
assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")
label.Text = "Звёзды: 0"
label.TextScaled = true

Как работает этот код

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local label = script.ParentПолучаем TextLabel, в который вложен LocalScript.
  2. assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")Проверяем тип объекта; при ошибке получим понятное сообщение.
  3. label.Text = "Звёзды: 0"Задаём статичную надпись. Счёт игрока не считывается автоматически.
  4. label.TextScaled = trueТекст автоматически подгоняется по размерам поля.
Попробуйте самостоятельно

Замени надпись на собственную и попробуйте изменить размер TextLabel. Для настоящего динамического счётчика потребуется отдельно получать значение очков игрока. Применение: «Подпись звёзд».

Как проверить

На экране появится подпись; размер текста подстроится под рамку.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
203Подпись раундаGUI и мобильность / Текст в игровом интерфейсе · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента.

Куда вставить

LocalScript внутри TextLabel в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте ScreenGui, вложи TextLabel и LocalScript. Запустите Play.

Код Luau
local label = script.Parent
assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")
label.Text = "Раунд: 1"
label.TextScaled = true

Как работает этот код

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local label = script.ParentПолучаем TextLabel, в который вложен LocalScript.
  2. assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")Проверяем тип объекта; при ошибке получим понятное сообщение.
  3. label.Text = "Раунд: 1"Задаём статичную надпись. Счёт игрока не считывается автоматически.
  4. label.TextScaled = trueТекст автоматически подгоняется по размерам поля.
Попробуйте самостоятельно

Замени надпись на собственную и попробуйте изменить размер TextLabel. Для настоящего динамического счётчика потребуется отдельно получать значение очков игрока. Применение: «Подпись раунда».

Как проверить

На экране появится подпись; размер текста подстроится под рамку.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
204Подпись картыGUI и мобильность / Текст в игровом интерфейсе · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента.

Куда вставить

LocalScript внутри TextLabel в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте ScreenGui, вложи TextLabel и LocalScript. Запустите Play.

Код Luau
local label = script.Parent
assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")
label.Text = "Карта: остров"
label.TextScaled = true

Как работает этот код

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local label = script.ParentПолучаем TextLabel, в который вложен LocalScript.
  2. assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")Проверяем тип объекта; при ошибке получим понятное сообщение.
  3. label.Text = "Карта: остров"Задаём статичную надпись. Счёт игрока не считывается автоматически.
  4. label.TextScaled = trueТекст автоматически подгоняется по размерам поля.
Попробуйте самостоятельно

Замени надпись на собственную и попробуйте изменить размер TextLabel. Для настоящего динамического счётчика потребуется отдельно получать значение очков игрока. Применение: «Подпись карты».

Как проверить

На экране появится подпись; размер текста подстроится под рамку.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
205Подпись здоровьяGUI и мобильность / Текст в игровом интерфейсе · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента.

Куда вставить

LocalScript внутри TextLabel в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте ScreenGui, вложи TextLabel и LocalScript. Запустите Play.

Код Luau
local label = script.Parent
assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")
label.Text = "Здоровье"
label.TextScaled = true

Как работает этот код

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local label = script.ParentПолучаем TextLabel, в который вложен LocalScript.
  2. assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")Проверяем тип объекта; при ошибке получим понятное сообщение.
  3. label.Text = "Здоровье"Задаём статичную надпись. Счёт игрока не считывается автоматически.
  4. label.TextScaled = trueТекст автоматически подгоняется по размерам поля.
Попробуйте самостоятельно

Замени надпись на собственную и попробуйте изменить размер TextLabel. Для настоящего динамического счётчика потребуется отдельно получать значение очков игрока. Применение: «Подпись здоровья».

Как проверить

На экране появится подпись; размер текста подстроится под рамку.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
206Подпись рекордаGUI и мобильность / Текст в игровом интерфейсе · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента.

Куда вставить

LocalScript внутри TextLabel в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте ScreenGui, вложи TextLabel и LocalScript. Запустите Play.

Код Luau
local label = script.Parent
assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")
label.Text = "Рекорд: —"
label.TextScaled = true

Как работает этот код

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local label = script.ParentПолучаем TextLabel, в который вложен LocalScript.
  2. assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")Проверяем тип объекта; при ошибке получим понятное сообщение.
  3. label.Text = "Рекорд: —"Задаём статичную надпись. Счёт игрока не считывается автоматически.
  4. label.TextScaled = trueТекст автоматически подгоняется по размерам поля.
Попробуйте самостоятельно

Замени надпись на собственную и попробуйте изменить размер TextLabel. Для настоящего динамического счётчика потребуется отдельно получать значение очков игрока. Применение: «Подпись рекорда».

Как проверить

На экране появится подпись; размер текста подстроится под рамку.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
207Подпись командыGUI и мобильность / Текст в игровом интерфейсе · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента.

Куда вставить

LocalScript внутри TextLabel в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте ScreenGui, вложи TextLabel и LocalScript. Запустите Play.

Код Luau
local label = script.Parent
assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")
label.Text = "Команда: нет"
label.TextScaled = true

Как работает этот код

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local label = script.ParentПолучаем TextLabel, в который вложен LocalScript.
  2. assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")Проверяем тип объекта; при ошибке получим понятное сообщение.
  3. label.Text = "Команда: нет"Задаём статичную надпись. Счёт игрока не считывается автоматически.
  4. label.TextScaled = trueТекст автоматически подгоняется по размерам поля.
Попробуйте самостоятельно

Замени надпись на собственную и попробуйте изменить размер TextLabel. Для настоящего динамического счётчика потребуется отдельно получать значение очков игрока. Применение: «Подпись команды».

Как проверить

На экране появится подпись; размер текста подстроится под рамку.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
208Подпись заданияGUI и мобильность / Текст в игровом интерфейсе · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента.

Куда вставить

LocalScript внутри TextLabel в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте ScreenGui, вложи TextLabel и LocalScript. Запустите Play.

Код Luau
local label = script.Parent
assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")
label.Text = "Найди ключ"
label.TextScaled = true

Как работает этот код

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local label = script.ParentПолучаем TextLabel, в который вложен LocalScript.
  2. assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")Проверяем тип объекта; при ошибке получим понятное сообщение.
  3. label.Text = "Найди ключ"Задаём статичную надпись. Счёт игрока не считывается автоматически.
  4. label.TextScaled = trueТекст автоматически подгоняется по размерам поля.
Попробуйте самостоятельно

Замени надпись на собственную и попробуйте изменить размер TextLabel. Для настоящего динамического счётчика потребуется отдельно получать значение очков игрока. Применение: «Подпись задания».

Как проверить

На экране появится подпись; размер текста подстроится под рамку.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
209Подпись уровняGUI и мобильность / Текст в игровом интерфейсе · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента.

Куда вставить

LocalScript внутри TextLabel в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте ScreenGui, вложи TextLabel и LocalScript. Запустите Play.

Код Luau
local label = script.Parent
assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")
label.Text = "Уровень: 1"
label.TextScaled = true

Как работает этот код

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local label = script.ParentПолучаем TextLabel, в который вложен LocalScript.
  2. assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")Проверяем тип объекта; при ошибке получим понятное сообщение.
  3. label.Text = "Уровень: 1"Задаём статичную надпись. Счёт игрока не считывается автоматически.
  4. label.TextScaled = trueТекст автоматически подгоняется по размерам поля.
Попробуйте самостоятельно

Замени надпись на собственную и попробуйте изменить размер TextLabel. Для настоящего динамического счётчика потребуется отдельно получать значение очков игрока. Применение: «Подпись уровня».

Как проверить

На экране появится подпись; размер текста подстроится под рамку.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
210Подпись победыGUI и мобильность / Текст в игровом интерфейсе · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента.

Куда вставить

LocalScript внутри TextLabel в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте ScreenGui, вложи TextLabel и LocalScript. Запустите Play.

Код Luau
local label = script.Parent
assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")
label.Text = "Победа!"
label.TextScaled = true

Как работает этот код

TextLabel.Text хранит видимый текст; TextScaled масштабирует его по размерам элемента. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local label = script.ParentПолучаем TextLabel, в который вложен LocalScript.
  2. assert(label:IsA("TextLabel"), "Помести LocalScript в TextLabel")Проверяем тип объекта; при ошибке получим понятное сообщение.
  3. label.Text = "Победа!"Задаём статичную надпись. Счёт игрока не считывается автоматически.
  4. label.TextScaled = trueТекст автоматически подгоняется по размерам поля.
Попробуйте самостоятельно

Замени надпись на собственную и попробуйте изменить размер TextLabel. Для настоящего динамического счётчика потребуется отдельно получать значение очков игрока. Применение: «Подпись победы».

Как проверить

На экране появится подпись; размер текста подстроится под рамку.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
211Кнопка игрового стартаGUI и мобильность / Изменение кнопок GUI · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Activated работает с мышью, тач-устройствами и игровым вводом.

Куда вставить

LocalScript внутри TextButton в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте TextButton и LocalScript, затем нажмите на кнопку мышью или касанием.

Код Luau
local button = script.Parent
assert(button:IsA("TextButton"), "Нужен TextButton")
button.Text = "Начать"
button.Activated:Connect(function()
    print("Нажата кнопка: Начать")
end)

Как работает этот код

Activated работает с мышью, тач-устройствами и игровым вводом. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local button = script.ParentПолучаем кнопку TextButton, в которой расположен LocalScript.
  2. button.Text = "Начать"Устанавливаем текст на кнопке.
  3. button.Activated:Connect(function()Подписываемся на нажатие мышью или касание экрана.
  4. print("Нажата кнопка: Начать")Показываем событие в Output; меню или игровая механика ещё не запускаются.
Попробуйте самостоятельно

Измените надпись кнопки и добавьте изменение её цвета при нажатии. Проверьте мышью и в эмуляторе телефона; одно сообщение в Output не запускает игру. Применение: «Кнопка игрового старта».

Как проверить

Кнопка получит свою надпись; Output покажет сообщение.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
212Кнопка продолжитьGUI и мобильность / Изменение кнопок GUI · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Activated работает с мышью, тач-устройствами и игровым вводом.

Куда вставить

LocalScript внутри TextButton в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте TextButton и LocalScript, затем нажмите на кнопку мышью или касанием.

Код Luau
local button = script.Parent
assert(button:IsA("TextButton"), "Нужен TextButton")
button.Text = "Продолжить"
button.Activated:Connect(function()
    print("Нажата кнопка: Продолжить")
end)

Как работает этот код

Activated работает с мышью, тач-устройствами и игровым вводом. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local button = script.ParentПолучаем кнопку TextButton, в которой расположен LocalScript.
  2. button.Text = "Продолжить"Устанавливаем текст на кнопке.
  3. button.Activated:Connect(function()Подписываемся на нажатие мышью или касание экрана.
  4. print("Нажата кнопка: Продолжить")Показываем событие в Output; меню или игровая механика ещё не запускаются.
Попробуйте самостоятельно

Измените надпись кнопки и добавьте изменение её цвета при нажатии. Проверьте мышью и в эмуляторе телефона; одно сообщение в Output не запускает игру. Применение: «Кнопка продолжить».

Как проверить

Кнопка получит свою надпись; Output покажет сообщение.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
213Кнопка магазинаGUI и мобильность / Изменение кнопок GUI · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Activated работает с мышью, тач-устройствами и игровым вводом.

Куда вставить

LocalScript внутри TextButton в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте TextButton и LocalScript, затем нажмите на кнопку мышью или касанием.

Код Luau
local button = script.Parent
assert(button:IsA("TextButton"), "Нужен TextButton")
button.Text = "Магазин"
button.Activated:Connect(function()
    print("Нажата кнопка: Магазин")
end)

Как работает этот код

Activated работает с мышью, тач-устройствами и игровым вводом. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local button = script.ParentПолучаем кнопку TextButton, в которой расположен LocalScript.
  2. button.Text = "Магазин"Устанавливаем текст на кнопке.
  3. button.Activated:Connect(function()Подписываемся на нажатие мышью или касание экрана.
  4. print("Нажата кнопка: Магазин")Показываем событие в Output; меню или игровая механика ещё не запускаются.
Попробуйте самостоятельно

Измените надпись кнопки и добавьте изменение её цвета при нажатии. Проверьте мышью и в эмуляторе телефона; одно сообщение в Output не запускает игру. Применение: «Кнопка магазина».

Как проверить

Кнопка получит свою надпись; Output покажет сообщение.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
214Кнопка закрытьGUI и мобильность / Изменение кнопок GUI · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Activated работает с мышью, тач-устройствами и игровым вводом.

Куда вставить

LocalScript внутри TextButton в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте TextButton и LocalScript, затем нажмите на кнопку мышью или касанием.

Код Luau
local button = script.Parent
assert(button:IsA("TextButton"), "Нужен TextButton")
button.Text = "Закрыть"
button.Activated:Connect(function()
    print("Нажата кнопка: Закрыть")
end)

Как работает этот код

Activated работает с мышью, тач-устройствами и игровым вводом. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local button = script.ParentПолучаем кнопку TextButton, в которой расположен LocalScript.
  2. button.Text = "Закрыть"Устанавливаем текст на кнопке.
  3. button.Activated:Connect(function()Подписываемся на нажатие мышью или касание экрана.
  4. print("Нажата кнопка: Закрыть")Показываем событие в Output; меню или игровая механика ещё не запускаются.
Попробуйте самостоятельно

Измените надпись кнопки и добавьте изменение её цвета при нажатии. Проверьте мышью и в эмуляторе телефона; одно сообщение в Output не запускает игру. Применение: «Кнопка закрыть».

Как проверить

Кнопка получит свою надпись; Output покажет сообщение.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
215Кнопка помощиGUI и мобильность / Изменение кнопок GUI · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Activated работает с мышью, тач-устройствами и игровым вводом.

Куда вставить

LocalScript внутри TextButton в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте TextButton и LocalScript, затем нажмите на кнопку мышью или касанием.

Код Luau
local button = script.Parent
assert(button:IsA("TextButton"), "Нужен TextButton")
button.Text = "Помощь"
button.Activated:Connect(function()
    print("Нажата кнопка: Помощь")
end)

Как работает этот код

Activated работает с мышью, тач-устройствами и игровым вводом. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local button = script.ParentПолучаем кнопку TextButton, в которой расположен LocalScript.
  2. button.Text = "Помощь"Устанавливаем текст на кнопке.
  3. button.Activated:Connect(function()Подписываемся на нажатие мышью или касание экрана.
  4. print("Нажата кнопка: Помощь")Показываем событие в Output; меню или игровая механика ещё не запускаются.
Попробуйте самостоятельно

Измените надпись кнопки и добавьте изменение её цвета при нажатии. Проверьте мышью и в эмуляторе телефона; одно сообщение в Output не запускает игру. Применение: «Кнопка помощи».

Как проверить

Кнопка получит свою надпись; Output покажет сообщение.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
216Кнопка настроекGUI и мобильность / Изменение кнопок GUI · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Activated работает с мышью, тач-устройствами и игровым вводом.

Куда вставить

LocalScript внутри TextButton в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте TextButton и LocalScript, затем нажмите на кнопку мышью или касанием.

Код Luau
local button = script.Parent
assert(button:IsA("TextButton"), "Нужен TextButton")
button.Text = "Настройки"
button.Activated:Connect(function()
    print("Нажата кнопка: Настройки")
end)

Как работает этот код

Activated работает с мышью, тач-устройствами и игровым вводом. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local button = script.ParentПолучаем кнопку TextButton, в которой расположен LocalScript.
  2. button.Text = "Настройки"Устанавливаем текст на кнопке.
  3. button.Activated:Connect(function()Подписываемся на нажатие мышью или касание экрана.
  4. print("Нажата кнопка: Настройки")Показываем событие в Output; меню или игровая механика ещё не запускаются.
Попробуйте самостоятельно

Измените надпись кнопки и добавьте изменение её цвета при нажатии. Проверьте мышью и в эмуляторе телефона; одно сообщение в Output не запускает игру. Применение: «Кнопка настроек».

Как проверить

Кнопка получит свою надпись; Output покажет сообщение.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
217Кнопка картыGUI и мобильность / Изменение кнопок GUI · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Activated работает с мышью, тач-устройствами и игровым вводом.

Куда вставить

LocalScript внутри TextButton в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте TextButton и LocalScript, затем нажмите на кнопку мышью или касанием.

Код Luau
local button = script.Parent
assert(button:IsA("TextButton"), "Нужен TextButton")
button.Text = "Карта"
button.Activated:Connect(function()
    print("Нажата кнопка: Карта")
end)

Как работает этот код

Activated работает с мышью, тач-устройствами и игровым вводом. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local button = script.ParentПолучаем кнопку TextButton, в которой расположен LocalScript.
  2. button.Text = "Карта"Устанавливаем текст на кнопке.
  3. button.Activated:Connect(function()Подписываемся на нажатие мышью или касание экрана.
  4. print("Нажата кнопка: Карта")Показываем событие в Output; меню или игровая механика ещё не запускаются.
Попробуйте самостоятельно

Измените надпись кнопки и добавьте изменение её цвета при нажатии. Проверьте мышью и в эмуляторе телефона; одно сообщение в Output не запускает игру. Применение: «Кнопка карты».

Как проверить

Кнопка получит свою надпись; Output покажет сообщение.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
218Кнопка инвентаряGUI и мобильность / Изменение кнопок GUI · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Activated работает с мышью, тач-устройствами и игровым вводом.

Куда вставить

LocalScript внутри TextButton в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте TextButton и LocalScript, затем нажмите на кнопку мышью или касанием.

Код Luau
local button = script.Parent
assert(button:IsA("TextButton"), "Нужен TextButton")
button.Text = "Инвентарь"
button.Activated:Connect(function()
    print("Нажата кнопка: Инвентарь")
end)

Как работает этот код

Activated работает с мышью, тач-устройствами и игровым вводом. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local button = script.ParentПолучаем кнопку TextButton, в которой расположен LocalScript.
  2. button.Text = "Инвентарь"Устанавливаем текст на кнопке.
  3. button.Activated:Connect(function()Подписываемся на нажатие мышью или касание экрана.
  4. print("Нажата кнопка: Инвентарь")Показываем событие в Output; меню или игровая механика ещё не запускаются.
Попробуйте самостоятельно

Измените надпись кнопки и добавьте изменение её цвета при нажатии. Проверьте мышью и в эмуляторе телефона; одно сообщение в Output не запускает игру. Применение: «Кнопка инвентаря».

Как проверить

Кнопка получит свою надпись; Output покажет сообщение.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
219Кнопка повтораGUI и мобильность / Изменение кнопок GUI · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Activated работает с мышью, тач-устройствами и игровым вводом.

Куда вставить

LocalScript внутри TextButton в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте TextButton и LocalScript, затем нажмите на кнопку мышью или касанием.

Код Luau
local button = script.Parent
assert(button:IsA("TextButton"), "Нужен TextButton")
button.Text = "Повторить"
button.Activated:Connect(function()
    print("Нажата кнопка: Повторить")
end)

Как работает этот код

Activated работает с мышью, тач-устройствами и игровым вводом. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local button = script.ParentПолучаем кнопку TextButton, в которой расположен LocalScript.
  2. button.Text = "Повторить"Устанавливаем текст на кнопке.
  3. button.Activated:Connect(function()Подписываемся на нажатие мышью или касание экрана.
  4. print("Нажата кнопка: Повторить")Показываем событие в Output; меню или игровая механика ещё не запускаются.
Попробуйте самостоятельно

Измените надпись кнопки и добавьте изменение её цвета при нажатии. Проверьте мышью и в эмуляторе телефона; одно сообщение в Output не запускает игру. Применение: «Кнопка повтора».

Как проверить

Кнопка получит свою надпись; Output покажет сообщение.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
220Кнопка достиженийGUI и мобильность / Изменение кнопок GUI · Начальный
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Activated работает с мышью, тач-устройствами и игровым вводом.

Куда вставить

LocalScript внутри TextButton в ScreenGui → StarterGui

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте TextButton и LocalScript, затем нажмите на кнопку мышью или касанием.

Код Luau
local button = script.Parent
assert(button:IsA("TextButton"), "Нужен TextButton")
button.Text = "Награды"
button.Activated:Connect(function()
    print("Нажата кнопка: Награды")
end)

Как работает этот код

Activated работает с мышью, тач-устройствами и игровым вводом. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local button = script.ParentПолучаем кнопку TextButton, в которой расположен LocalScript.
  2. button.Text = "Награды"Устанавливаем текст на кнопке.
  3. button.Activated:Connect(function()Подписываемся на нажатие мышью или касание экрана.
  4. print("Нажата кнопка: Награды")Показываем событие в Output; меню или игровая механика ещё не запускаются.
Попробуйте самостоятельно

Измените надпись кнопки и добавьте изменение её цвета при нажатии. Проверьте мышью и в эмуляторе телефона; одно сообщение в Output не запускает игру. Применение: «Кнопка достижений».

Как проверить

Кнопка получит свою надпись; Output покажет сообщение.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
221Плавное появление деталиДвижение и эффекты / Плавные анимации TweenService · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TweenService плавно переводит указанное свойство к целевому значению.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и установите Transparency=0.4 перед запуском.

Код Luau
local TweenService = game:GetService("TweenService")
local part = workspace:WaitForChild("DemoPart")
local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.0})
tween:Play()

Как работает этот код

В примере «Плавное появление детали» используется механизм: TweenService плавно переводит указанное свойство к целевому значению.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис анимаций свойств.
  2. local part = workspace:WaitForChild("DemoPart")Ожидаем деталь DemoPart в Workspace.
  3. local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.0})Настраиваем продолжительность плавного перехода.
  4. tween:Play()Запускаем анимацию один раз.
Попробуйте самостоятельно

Измените время TweenInfo с 2 до 4 секунд и конечную прозрачность. Перед запуском задавай DemoPart исходное значение Transparency, чтобы увидеть переход. Применение: «Плавное появление детали».

Как проверить

Прозрачность детали плавно изменится за две секунды.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
222Полупрозрачный призракДвижение и эффекты / Плавные анимации TweenService · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TweenService плавно переводит указанное свойство к целевому значению.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и установите Transparency=0.4 перед запуском.

Код Luau
local TweenService = game:GetService("TweenService")
local part = workspace:WaitForChild("DemoPart")
local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.5})
tween:Play()

Как работает этот код

В примере «Полупрозрачный призрак» используется механизм: TweenService плавно переводит указанное свойство к целевому значению.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис анимаций свойств.
  2. local part = workspace:WaitForChild("DemoPart")Ожидаем деталь DemoPart в Workspace.
  3. local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.5})Настраиваем продолжительность плавного перехода.
  4. tween:Play()Запускаем анимацию один раз.
Попробуйте самостоятельно

Измените время TweenInfo с 2 до 4 секунд и конечную прозрачность. Перед запуском задавай DemoPart исходное значение Transparency, чтобы увидеть переход. Применение: «Полупрозрачный призрак».

Как проверить

Прозрачность детали плавно изменится за две секунды.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
223Почти невидимая дверьДвижение и эффекты / Плавные анимации TweenService · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TweenService плавно переводит указанное свойство к целевому значению.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и установите Transparency=0.4 перед запуском.

Код Luau
local TweenService = game:GetService("TweenService")
local part = workspace:WaitForChild("DemoPart")
local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.85})
tween:Play()

Как работает этот код

В примере «Почти невидимая дверь» используется механизм: TweenService плавно переводит указанное свойство к целевому значению.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис анимаций свойств.
  2. local part = workspace:WaitForChild("DemoPart")Ожидаем деталь DemoPart в Workspace.
  3. local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.85})Настраиваем продолжительность плавного перехода.
  4. tween:Play()Запускаем анимацию один раз.
Попробуйте самостоятельно

Измените время TweenInfo с 2 до 4 секунд и конечную прозрачность. Перед запуском задавай DemoPart исходное значение Transparency, чтобы увидеть переход. Применение: «Почти невидимая дверь».

Как проверить

Прозрачность детали плавно изменится за две секунды.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
224Плавная прозрачная стенаДвижение и эффекты / Плавные анимации TweenService · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TweenService плавно переводит указанное свойство к целевому значению.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и установите Transparency=0.4 перед запуском.

Код Luau
local TweenService = game:GetService("TweenService")
local part = workspace:WaitForChild("DemoPart")
local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.7})
tween:Play()

Как работает этот код

В примере «Плавная прозрачная стена» используется механизм: TweenService плавно переводит указанное свойство к целевому значению.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис анимаций свойств.
  2. local part = workspace:WaitForChild("DemoPart")Ожидаем деталь DemoPart в Workspace.
  3. local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.7})Настраиваем продолжительность плавного перехода.
  4. tween:Play()Запускаем анимацию один раз.
Попробуйте самостоятельно

Измените время TweenInfo с 2 до 4 секунд и конечную прозрачность. Перед запуском задавай DemoPart исходное значение Transparency, чтобы увидеть переход. Применение: «Плавная прозрачная стена».

Как проверить

Прозрачность детали плавно изменится за две секунды.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
225Появление платформыДвижение и эффекты / Плавные анимации TweenService · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TweenService плавно переводит указанное свойство к целевому значению.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и установите Transparency=0.4 перед запуском.

Код Luau
local TweenService = game:GetService("TweenService")
local part = workspace:WaitForChild("DemoPart")
local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.1})
tween:Play()

Как работает этот код

В примере «Появление платформы» используется механизм: TweenService плавно переводит указанное свойство к целевому значению.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис анимаций свойств.
  2. local part = workspace:WaitForChild("DemoPart")Ожидаем деталь DemoPart в Workspace.
  3. local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.1})Настраиваем продолжительность плавного перехода.
  4. tween:Play()Запускаем анимацию один раз.
Попробуйте самостоятельно

Измените время TweenInfo с 2 до 4 секунд и конечную прозрачность. Перед запуском задавай DemoPart исходное значение Transparency, чтобы увидеть переход. Применение: «Появление платформы».

Как проверить

Прозрачность детали плавно изменится за две секунды.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
226Призрачный порталДвижение и эффекты / Плавные анимации TweenService · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TweenService плавно переводит указанное свойство к целевому значению.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и установите Transparency=0.4 перед запуском.

Код Luau
local TweenService = game:GetService("TweenService")
local part = workspace:WaitForChild("DemoPart")
local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.6})
tween:Play()

Как работает этот код

В примере «Призрачный портал» используется механизм: TweenService плавно переводит указанное свойство к целевому значению.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис анимаций свойств.
  2. local part = workspace:WaitForChild("DemoPart")Ожидаем деталь DemoPart в Workspace.
  3. local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.6})Настраиваем продолжительность плавного перехода.
  4. tween:Play()Запускаем анимацию один раз.
Попробуйте самостоятельно

Измените время TweenInfo с 2 до 4 секунд и конечную прозрачность. Перед запуском задавай DemoPart исходное значение Transparency, чтобы увидеть переход. Применение: «Призрачный портал».

Как проверить

Прозрачность детали плавно изменится за две секунды.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
227Светящийся указательДвижение и эффекты / Плавные анимации TweenService · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TweenService плавно переводит указанное свойство к целевому значению.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и установите Transparency=0.4 перед запуском.

Код Luau
local TweenService = game:GetService("TweenService")
local part = workspace:WaitForChild("DemoPart")
local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.3})
tween:Play()

Как работает этот код

В примере «Светящийся указатель» используется механизм: TweenService плавно переводит указанное свойство к целевому значению.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис анимаций свойств.
  2. local part = workspace:WaitForChild("DemoPart")Ожидаем деталь DemoPart в Workspace.
  3. local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.3})Настраиваем продолжительность плавного перехода.
  4. tween:Play()Запускаем анимацию один раз.
Попробуйте самостоятельно

Измените время TweenInfo с 2 до 4 секунд и конечную прозрачность. Перед запуском задавай DemoPart исходное значение Transparency, чтобы увидеть переход. Применение: «Светящийся указатель».

Как проверить

Прозрачность детали плавно изменится за две секунды.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
228Скрытая панельДвижение и эффекты / Плавные анимации TweenService · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TweenService плавно переводит указанное свойство к целевому значению.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и установите Transparency=0.4 перед запуском.

Код Luau
local TweenService = game:GetService("TweenService")
local part = workspace:WaitForChild("DemoPart")
local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.95})
tween:Play()

Как работает этот код

В примере «Скрытая панель» используется механизм: TweenService плавно переводит указанное свойство к целевому значению.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис анимаций свойств.
  2. local part = workspace:WaitForChild("DemoPart")Ожидаем деталь DemoPart в Workspace.
  3. local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.95})Настраиваем продолжительность плавного перехода.
  4. tween:Play()Запускаем анимацию один раз.
Попробуйте самостоятельно

Измените время TweenInfo с 2 до 4 секунд и конечную прозрачность. Перед запуском задавай DemoPart исходное значение Transparency, чтобы увидеть переход. Применение: «Скрытая панель».

Как проверить

Прозрачность детали плавно изменится за две секунды.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
229Мягкое исчезновениеДвижение и эффекты / Плавные анимации TweenService · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TweenService плавно переводит указанное свойство к целевому значению.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и установите Transparency=0.4 перед запуском.

Код Luau
local TweenService = game:GetService("TweenService")
local part = workspace:WaitForChild("DemoPart")
local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 1.0})
tween:Play()

Как работает этот код

В примере «Мягкое исчезновение» используется механизм: TweenService плавно переводит указанное свойство к целевому значению.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис анимаций свойств.
  2. local part = workspace:WaitForChild("DemoPart")Ожидаем деталь DemoPart в Workspace.
  3. local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 1.0})Настраиваем продолжительность плавного перехода.
  4. tween:Play()Запускаем анимацию один раз.
Попробуйте самостоятельно

Измените время TweenInfo с 2 до 4 секунд и конечную прозрачность. Перед запуском задавай DemoPart исходное значение Transparency, чтобы увидеть переход. Применение: «Мягкое исчезновение».

Как проверить

Прозрачность детали плавно изменится за две секунды.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
230Плавное затемнениеДвижение и эффекты / Плавные анимации TweenService · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

TweenService плавно переводит указанное свойство к целевому значению.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и установите Transparency=0.4 перед запуском.

Код Luau
local TweenService = game:GetService("TweenService")
local part = workspace:WaitForChild("DemoPart")
local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.8})
tween:Play()

Как работает этот код

В примере «Плавное затемнение» используется механизм: TweenService плавно переводит указанное свойство к целевому значению.

Разбор строк

  1. local TweenService = game:GetService("TweenService")Получаем сервис анимаций свойств.
  2. local part = workspace:WaitForChild("DemoPart")Ожидаем деталь DemoPart в Workspace.
  3. local tween = TweenService:Create(part, TweenInfo.new(2), {Transparency = 0.8})Настраиваем продолжительность плавного перехода.
  4. tween:Play()Запускаем анимацию один раз.
Попробуйте самостоятельно

Измените время TweenInfo с 2 до 4 секунд и конечную прозрачность. Перед запуском задавай DemoPart исходное значение Transparency, чтобы увидеть переход. Применение: «Плавное затемнение».

Как проверить

Прозрачность детали плавно изменится за две секунды.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
231Красный фонарьДвижение и эффекты / Динамический свет · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и запустите Play, лучше в тёмной сцене.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")
light.Parent = part
light.Color = Color3.fromRGB(255,80,80)
light.Brightness = 2
light.Range = 16

Как работает этот код

В примере «Красный фонарь» используется механизм: PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, из которой будет исходить свет.
  2. local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")Повторно используем существующий светильник либо создаём новый.
  3. light.Parent = partПомещаем источник света внутрь детали.
  4. light.Color = Color3.fromRGB(255,80,80)Задаём цвет света числами от 0 до 255.
  5. light.Brightness = 2Устанавливаем яркость.
  6. light.Range = 16Определяем дальность действия источника света.
Попробуйте самостоятельно

Измените яркость и дальность PointLight и сравните эффект в тёмном помещении. Проверь, что в DemoPart остался только один источник света. Применение: «Красный фонарь».

Как проверить

Вокруг детали появится свет нужного оттенка.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
232Синяя лампаДвижение и эффекты / Динамический свет · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и запустите Play, лучше в тёмной сцене.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")
light.Parent = part
light.Color = Color3.fromRGB(70,130,255)
light.Brightness = 2
light.Range = 16

Как работает этот код

В примере «Синяя лампа» используется механизм: PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, из которой будет исходить свет.
  2. local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")Повторно используем существующий светильник либо создаём новый.
  3. light.Parent = partПомещаем источник света внутрь детали.
  4. light.Color = Color3.fromRGB(70,130,255)Задаём цвет света числами от 0 до 255.
  5. light.Brightness = 2Устанавливаем яркость.
  6. light.Range = 16Определяем дальность действия источника света.
Попробуйте самостоятельно

Измените яркость и дальность PointLight и сравните эффект в тёмном помещении. Проверь, что в DemoPart остался только один источник света. Применение: «Синяя лампа».

Как проверить

Вокруг детали появится свет нужного оттенка.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
233Зелёный маякДвижение и эффекты / Динамический свет · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и запустите Play, лучше в тёмной сцене.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")
light.Parent = part
light.Color = Color3.fromRGB(80,235,115)
light.Brightness = 2
light.Range = 16

Как работает этот код

В примере «Зелёный маяк» используется механизм: PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, из которой будет исходить свет.
  2. local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")Повторно используем существующий светильник либо создаём новый.
  3. light.Parent = partПомещаем источник света внутрь детали.
  4. light.Color = Color3.fromRGB(80,235,115)Задаём цвет света числами от 0 до 255.
  5. light.Brightness = 2Устанавливаем яркость.
  6. light.Range = 16Определяем дальность действия источника света.
Попробуйте самостоятельно

Измените яркость и дальность PointLight и сравните эффект в тёмном помещении. Проверь, что в DemoPart остался только один источник света. Применение: «Зелёный маяк».

Как проверить

Вокруг детали появится свет нужного оттенка.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
234Фиолетовый кристаллДвижение и эффекты / Динамический свет · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и запустите Play, лучше в тёмной сцене.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")
light.Parent = part
light.Color = Color3.fromRGB(177,90,255)
light.Brightness = 2
light.Range = 16

Как работает этот код

В примере «Фиолетовый кристалл» используется механизм: PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, из которой будет исходить свет.
  2. local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")Повторно используем существующий светильник либо создаём новый.
  3. light.Parent = partПомещаем источник света внутрь детали.
  4. light.Color = Color3.fromRGB(177,90,255)Задаём цвет света числами от 0 до 255.
  5. light.Brightness = 2Устанавливаем яркость.
  6. light.Range = 16Определяем дальность действия источника света.
Попробуйте самостоятельно

Измените яркость и дальность PointLight и сравните эффект в тёмном помещении. Проверь, что в DemoPart остался только один источник света. Применение: «Фиолетовый кристалл».

Как проверить

Вокруг детали появится свет нужного оттенка.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
235Жёлтый факелДвижение и эффекты / Динамический свет · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и запустите Play, лучше в тёмной сцене.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")
light.Parent = part
light.Color = Color3.fromRGB(255,220,120)
light.Brightness = 2
light.Range = 16

Как работает этот код

В примере «Жёлтый факел» используется механизм: PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, из которой будет исходить свет.
  2. local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")Повторно используем существующий светильник либо создаём новый.
  3. light.Parent = partПомещаем источник света внутрь детали.
  4. light.Color = Color3.fromRGB(255,220,120)Задаём цвет света числами от 0 до 255.
  5. light.Brightness = 2Устанавливаем яркость.
  6. light.Range = 16Определяем дальность действия источника света.
Попробуйте самостоятельно

Измените яркость и дальность PointLight и сравните эффект в тёмном помещении. Проверь, что в DemoPart остался только один источник света. Применение: «Жёлтый факел».

Как проверить

Вокруг детали появится свет нужного оттенка.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
236Белый фонарикДвижение и эффекты / Динамический свет · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и запустите Play, лучше в тёмной сцене.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")
light.Parent = part
light.Color = Color3.fromRGB(255,255,250)
light.Brightness = 2
light.Range = 16

Как работает этот код

В примере «Белый фонарик» используется механизм: PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, из которой будет исходить свет.
  2. local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")Повторно используем существующий светильник либо создаём новый.
  3. light.Parent = partПомещаем источник света внутрь детали.
  4. light.Color = Color3.fromRGB(255,255,250)Задаём цвет света числами от 0 до 255.
  5. light.Brightness = 2Устанавливаем яркость.
  6. light.Range = 16Определяем дальность действия источника света.
Попробуйте самостоятельно

Измените яркость и дальность PointLight и сравните эффект в тёмном помещении. Проверь, что в DemoPart остался только один источник света. Применение: «Белый фонарик».

Как проверить

Вокруг детали появится свет нужного оттенка.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
237Розовый неонДвижение и эффекты / Динамический свет · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и запустите Play, лучше в тёмной сцене.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")
light.Parent = part
light.Color = Color3.fromRGB(255,115,200)
light.Brightness = 2
light.Range = 16

Как работает этот код

В примере «Розовый неон» используется механизм: PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, из которой будет исходить свет.
  2. local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")Повторно используем существующий светильник либо создаём новый.
  3. light.Parent = partПомещаем источник света внутрь детали.
  4. light.Color = Color3.fromRGB(255,115,200)Задаём цвет света числами от 0 до 255.
  5. light.Brightness = 2Устанавливаем яркость.
  6. light.Range = 16Определяем дальность действия источника света.
Попробуйте самостоятельно

Измените яркость и дальность PointLight и сравните эффект в тёмном помещении. Проверь, что в DemoPart остался только один источник света. Применение: «Розовый неон».

Как проверить

Вокруг детали появится свет нужного оттенка.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
238Бирюзовый светДвижение и эффекты / Динамический свет · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и запустите Play, лучше в тёмной сцене.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")
light.Parent = part
light.Color = Color3.fromRGB(60,230,216)
light.Brightness = 2
light.Range = 16

Как работает этот код

В примере «Бирюзовый свет» используется механизм: PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, из которой будет исходить свет.
  2. local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")Повторно используем существующий светильник либо создаём новый.
  3. light.Parent = partПомещаем источник света внутрь детали.
  4. light.Color = Color3.fromRGB(60,230,216)Задаём цвет света числами от 0 до 255.
  5. light.Brightness = 2Устанавливаем яркость.
  6. light.Range = 16Определяем дальность действия источника света.
Попробуйте самостоятельно

Измените яркость и дальность PointLight и сравните эффект в тёмном помещении. Проверь, что в DemoPart остался только один источник света. Применение: «Бирюзовый свет».

Как проверить

Вокруг детали появится свет нужного оттенка.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
239Оранжевый прожекторДвижение и эффекты / Динамический свет · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и запустите Play, лучше в тёмной сцене.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")
light.Parent = part
light.Color = Color3.fromRGB(255,165,65)
light.Brightness = 2
light.Range = 16

Как работает этот код

В примере «Оранжевый прожектор» используется механизм: PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, из которой будет исходить свет.
  2. local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")Повторно используем существующий светильник либо создаём новый.
  3. light.Parent = partПомещаем источник света внутрь детали.
  4. light.Color = Color3.fromRGB(255,165,65)Задаём цвет света числами от 0 до 255.
  5. light.Brightness = 2Устанавливаем яркость.
  6. light.Range = 16Определяем дальность действия источника света.
Попробуйте самостоятельно

Измените яркость и дальность PointLight и сравните эффект в тёмном помещении. Проверь, что в DemoPart остался только один источник света. Применение: «Оранжевый прожектор».

Как проверить

Вокруг детали появится свет нужного оттенка.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
240Голубой ледяной светДвижение и эффекты / Динамический свет · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart и запустите Play, лучше в тёмной сцене.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")
light.Parent = part
light.Color = Color3.fromRGB(140,225,255)
light.Brightness = 2
light.Range = 16

Как работает этот код

В примере «Голубой ледяной свет» используется механизм: PointLight освещает область вокруг детали; Range и Brightness управляют радиусом и яркостью.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, из которой будет исходить свет.
  2. local light = part:FindFirstChildOfClass("PointLight") or Instance.new("PointLight")Повторно используем существующий светильник либо создаём новый.
  3. light.Parent = partПомещаем источник света внутрь детали.
  4. light.Color = Color3.fromRGB(140,225,255)Задаём цвет света числами от 0 до 255.
  5. light.Brightness = 2Устанавливаем яркость.
  6. light.Range = 16Определяем дальность действия источника света.
Попробуйте самостоятельно

Измените яркость и дальность PointLight и сравните эффект в тёмном помещении. Проверь, что в DemoPart остался только один источник света. Применение: «Голубой ледяной свет».

Как проверить

Вокруг детали появится свет нужного оттенка.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
241Редкие искрыДвижение и эффекты / Частицы и визуальные сигналы · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart. Добавьте ParticleEmitter или разреши скрипту создать его автоматически.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")
emitter.Parent = part
emitter.Rate = 3
emitter.Lifetime = NumberRange.new(1, 2)
emitter.Speed = NumberRange.new(1, 3)

Как работает этот код

В примере «Редкие искры» используется механизм: ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, к которой прикрепляем частицы.
  2. local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")Пытаемся найти существующий эмиттер, чтобы не размножать его.
  3. emitter.Parent = partЧастицы будут испускаться этой деталью.
  4. emitter.Rate = 3Определяет среднее число создаваемых частиц в секунду.
  5. emitter.Lifetime = NumberRange.new(1, 2)Устанавливает диапазон времени жизни каждой частицы.
  6. emitter.Speed = NumberRange.new(1, 3)Устанавливает диапазон начальной скорости частиц.
Попробуйте самостоятельно

Уменьши Rate вдвое и сравните количество частиц. Затем поменяй Lifetime и проверьте эффект; обрати внимание на производительность телефона. Применение: «Редкие искры».

Как проверить

Появятся частицы со скоростью выпуска примерно заданной в Rate.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
242Мягкий снегДвижение и эффекты / Частицы и визуальные сигналы · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart. Добавьте ParticleEmitter или разреши скрипту создать его автоматически.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")
emitter.Parent = part
emitter.Rate = 8
emitter.Lifetime = NumberRange.new(1, 2)
emitter.Speed = NumberRange.new(1, 3)

Как работает этот код

В примере «Мягкий снег» используется механизм: ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, к которой прикрепляем частицы.
  2. local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")Пытаемся найти существующий эмиттер, чтобы не размножать его.
  3. emitter.Parent = partЧастицы будут испускаться этой деталью.
  4. emitter.Rate = 8Определяет среднее число создаваемых частиц в секунду.
  5. emitter.Lifetime = NumberRange.new(1, 2)Устанавливает диапазон времени жизни каждой частицы.
  6. emitter.Speed = NumberRange.new(1, 3)Устанавливает диапазон начальной скорости частиц.
Попробуйте самостоятельно

Уменьши Rate вдвое и сравните количество частиц. Затем поменяй Lifetime и проверьте эффект; обрати внимание на производительность телефона. Применение: «Мягкий снег».

Как проверить

Появятся частицы со скоростью выпуска примерно заданной в Rate.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
243Дождевые каплиДвижение и эффекты / Частицы и визуальные сигналы · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart. Добавьте ParticleEmitter или разреши скрипту создать его автоматически.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")
emitter.Parent = part
emitter.Rate = 15
emitter.Lifetime = NumberRange.new(1, 2)
emitter.Speed = NumberRange.new(1, 3)

Как работает этот код

В примере «Дождевые капли» используется механизм: ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, к которой прикрепляем частицы.
  2. local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")Пытаемся найти существующий эмиттер, чтобы не размножать его.
  3. emitter.Parent = partЧастицы будут испускаться этой деталью.
  4. emitter.Rate = 15Определяет среднее число создаваемых частиц в секунду.
  5. emitter.Lifetime = NumberRange.new(1, 2)Устанавливает диапазон времени жизни каждой частицы.
  6. emitter.Speed = NumberRange.new(1, 3)Устанавливает диапазон начальной скорости частиц.
Попробуйте самостоятельно

Уменьши Rate вдвое и сравните количество частиц. Затем поменяй Lifetime и проверьте эффект; обрати внимание на производительность телефона. Применение: «Дождевые капли».

Как проверить

Появятся частицы со скоростью выпуска примерно заданной в Rate.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
244Праздничные конфеттиДвижение и эффекты / Частицы и визуальные сигналы · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart. Добавьте ParticleEmitter или разреши скрипту создать его автоматически.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")
emitter.Parent = part
emitter.Rate = 20
emitter.Lifetime = NumberRange.new(1, 2)
emitter.Speed = NumberRange.new(1, 3)

Как работает этот код

В примере «Праздничные конфетти» используется механизм: ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, к которой прикрепляем частицы.
  2. local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")Пытаемся найти существующий эмиттер, чтобы не размножать его.
  3. emitter.Parent = partЧастицы будут испускаться этой деталью.
  4. emitter.Rate = 20Определяет среднее число создаваемых частиц в секунду.
  5. emitter.Lifetime = NumberRange.new(1, 2)Устанавливает диапазон времени жизни каждой частицы.
  6. emitter.Speed = NumberRange.new(1, 3)Устанавливает диапазон начальной скорости частиц.
Попробуйте самостоятельно

Уменьши Rate вдвое и сравните количество частиц. Затем поменяй Lifetime и проверьте эффект; обрати внимание на производительность телефона. Применение: «Праздничные конфетти».

Как проверить

Появятся частицы со скоростью выпуска примерно заданной в Rate.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
245Пыль в пещереДвижение и эффекты / Частицы и визуальные сигналы · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart. Добавьте ParticleEmitter или разреши скрипту создать его автоматически.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")
emitter.Parent = part
emitter.Rate = 2
emitter.Lifetime = NumberRange.new(1, 2)
emitter.Speed = NumberRange.new(1, 3)

Как работает этот код

В примере «Пыль в пещере» используется механизм: ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, к которой прикрепляем частицы.
  2. local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")Пытаемся найти существующий эмиттер, чтобы не размножать его.
  3. emitter.Parent = partЧастицы будут испускаться этой деталью.
  4. emitter.Rate = 2Определяет среднее число создаваемых частиц в секунду.
  5. emitter.Lifetime = NumberRange.new(1, 2)Устанавливает диапазон времени жизни каждой частицы.
  6. emitter.Speed = NumberRange.new(1, 3)Устанавливает диапазон начальной скорости частиц.
Попробуйте самостоятельно

Уменьши Rate вдвое и сравните количество частиц. Затем поменяй Lifetime и проверьте эффект; обрати внимание на производительность телефона. Применение: «Пыль в пещере».

Как проверить

Появятся частицы со скоростью выпуска примерно заданной в Rate.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
246Волшебные звёздочкиДвижение и эффекты / Частицы и визуальные сигналы · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart. Добавьте ParticleEmitter или разреши скрипту создать его автоматически.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")
emitter.Parent = part
emitter.Rate = 6
emitter.Lifetime = NumberRange.new(1, 2)
emitter.Speed = NumberRange.new(1, 3)

Как работает этот код

В примере «Волшебные звёздочки» используется механизм: ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, к которой прикрепляем частицы.
  2. local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")Пытаемся найти существующий эмиттер, чтобы не размножать его.
  3. emitter.Parent = partЧастицы будут испускаться этой деталью.
  4. emitter.Rate = 6Определяет среднее число создаваемых частиц в секунду.
  5. emitter.Lifetime = NumberRange.new(1, 2)Устанавливает диапазон времени жизни каждой частицы.
  6. emitter.Speed = NumberRange.new(1, 3)Устанавливает диапазон начальной скорости частиц.
Попробуйте самостоятельно

Уменьши Rate вдвое и сравните количество частиц. Затем поменяй Lifetime и проверьте эффект; обрати внимание на производительность телефона. Применение: «Волшебные звёздочки».

Как проверить

Появятся частицы со скоростью выпуска примерно заданной в Rate.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
247Огненный следДвижение и эффекты / Частицы и визуальные сигналы · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart. Добавьте ParticleEmitter или разреши скрипту создать его автоматически.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")
emitter.Parent = part
emitter.Rate = 14
emitter.Lifetime = NumberRange.new(1, 2)
emitter.Speed = NumberRange.new(1, 3)

Как работает этот код

В примере «Огненный след» используется механизм: ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, к которой прикрепляем частицы.
  2. local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")Пытаемся найти существующий эмиттер, чтобы не размножать его.
  3. emitter.Parent = partЧастицы будут испускаться этой деталью.
  4. emitter.Rate = 14Определяет среднее число создаваемых частиц в секунду.
  5. emitter.Lifetime = NumberRange.new(1, 2)Устанавливает диапазон времени жизни каждой частицы.
  6. emitter.Speed = NumberRange.new(1, 3)Устанавливает диапазон начальной скорости частиц.
Попробуйте самостоятельно

Уменьши Rate вдвое и сравните количество частиц. Затем поменяй Lifetime и проверьте эффект; обрати внимание на производительность телефона. Применение: «Огненный след».

Как проверить

Появятся частицы со скоростью выпуска примерно заданной в Rate.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
248Пузырьки в водеДвижение и эффекты / Частицы и визуальные сигналы · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart. Добавьте ParticleEmitter или разреши скрипту создать его автоматически.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")
emitter.Parent = part
emitter.Rate = 10
emitter.Lifetime = NumberRange.new(1, 2)
emitter.Speed = NumberRange.new(1, 3)

Как работает этот код

В примере «Пузырьки в воде» используется механизм: ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, к которой прикрепляем частицы.
  2. local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")Пытаемся найти существующий эмиттер, чтобы не размножать его.
  3. emitter.Parent = partЧастицы будут испускаться этой деталью.
  4. emitter.Rate = 10Определяет среднее число создаваемых частиц в секунду.
  5. emitter.Lifetime = NumberRange.new(1, 2)Устанавливает диапазон времени жизни каждой частицы.
  6. emitter.Speed = NumberRange.new(1, 3)Устанавливает диапазон начальной скорости частиц.
Попробуйте самостоятельно

Уменьши Rate вдвое и сравните количество частиц. Затем поменяй Lifetime и проверьте эффект; обрати внимание на производительность телефона. Применение: «Пузырьки в воде».

Как проверить

Появятся частицы со скоростью выпуска примерно заданной в Rate.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
249Туман у порталаДвижение и эффекты / Частицы и визуальные сигналы · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart. Добавьте ParticleEmitter или разреши скрипту создать его автоматически.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")
emitter.Parent = part
emitter.Rate = 5
emitter.Lifetime = NumberRange.new(1, 2)
emitter.Speed = NumberRange.new(1, 3)

Как работает этот код

В примере «Туман у портала» используется механизм: ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, к которой прикрепляем частицы.
  2. local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")Пытаемся найти существующий эмиттер, чтобы не размножать его.
  3. emitter.Parent = partЧастицы будут испускаться этой деталью.
  4. emitter.Rate = 5Определяет среднее число создаваемых частиц в секунду.
  5. emitter.Lifetime = NumberRange.new(1, 2)Устанавливает диапазон времени жизни каждой частицы.
  6. emitter.Speed = NumberRange.new(1, 3)Устанавливает диапазон начальной скорости частиц.
Попробуйте самостоятельно

Уменьши Rate вдвое и сравните количество частиц. Затем поменяй Lifetime и проверьте эффект; обрати внимание на производительность телефона. Применение: «Туман у портала».

Как проверить

Появятся частицы со скоростью выпуска примерно заданной в Rate.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
250Мерцающее облакоДвижение и эффекты / Частицы и визуальные сигналы · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте DemoPart. Добавьте ParticleEmitter или разреши скрипту создать его автоматически.

Код Luau
local part = workspace:WaitForChild("DemoPart")
local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")
emitter.Parent = part
emitter.Rate = 12
emitter.Lifetime = NumberRange.new(1, 2)
emitter.Speed = NumberRange.new(1, 3)

Как работает этот код

В примере «Мерцающее облако» используется механизм: ParticleEmitter.Rate задаёт примерное количество частиц в секунду; внешний вид зависит от Texture.

Разбор строк

  1. local part = workspace:WaitForChild("DemoPart")Находим деталь, к которой прикрепляем частицы.
  2. local emitter = part:FindFirstChildOfClass("ParticleEmitter") or Instance.new("ParticleEmitter")Пытаемся найти существующий эмиттер, чтобы не размножать его.
  3. emitter.Parent = partЧастицы будут испускаться этой деталью.
  4. emitter.Rate = 12Определяет среднее число создаваемых частиц в секунду.
  5. emitter.Lifetime = NumberRange.new(1, 2)Устанавливает диапазон времени жизни каждой частицы.
  6. emitter.Speed = NumberRange.new(1, 3)Устанавливает диапазон начальной скорости частиц.
Попробуйте самостоятельно

Уменьши Rate вдвое и сравните количество частиц. Затем поменяй Lifetime и проверьте эффект; обрати внимание на производительность телефона. Применение: «Мерцающее облако».

Как проверить

Появятся частицы со скоростью выпуска примерно заданной в Rate.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
251Медленный режимПерсонаж и инструменты / Настройки персонажа · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и сравните скорость передвижения с обычной.

Код Luau
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.WalkSpeed = 9
    end)
end)

Как работает этот код

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения. Это настройка скорости при появлении персонажа, а не система выбора режима на экране.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис подключённых игроков.
  2. Players.PlayerAdded:Connect(function(player)Настраиваем обработку новых подключений.
  3. player.CharacterAdded:Connect(function(character)Повторяем настройку при новом появлении персонажа.
  4. local humanoid = character:WaitForChild("Humanoid")Находим компонент персонажа, отвечающий за движение.
  5. humanoid.WalkSpeed = 9Назначаем скорость ходьбы персонажа, а не глобальное правило для всех игр.
Попробуйте самостоятельно

Поменяй скорость персонажа и проверьте заново после смерти и возрождения. Для переключения скорости во время игры потребуется отдельная логика. Применение: «Медленный режим».

Как проверить

После появления персонаж получает заданную скорость ходьбы.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
252Обычный бегПерсонаж и инструменты / Настройки персонажа · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и сравните скорость передвижения с обычной.

Код Luau
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.WalkSpeed = 16
    end)
end)

Как работает этот код

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения. Это настройка скорости при появлении персонажа, а не система выбора режима на экране.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис подключённых игроков.
  2. Players.PlayerAdded:Connect(function(player)Настраиваем обработку новых подключений.
  3. player.CharacterAdded:Connect(function(character)Повторяем настройку при новом появлении персонажа.
  4. local humanoid = character:WaitForChild("Humanoid")Находим компонент персонажа, отвечающий за движение.
  5. humanoid.WalkSpeed = 16Назначаем скорость ходьбы персонажа, а не глобальное правило для всех игр.
Попробуйте самостоятельно

Поменяй скорость персонажа и проверьте заново после смерти и возрождения. Для переключения скорости во время игры потребуется отдельная логика. Применение: «Обычный бег».

Как проверить

После появления персонаж получает заданную скорость ходьбы.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
253Быстрый бегПерсонаж и инструменты / Настройки персонажа · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и сравните скорость передвижения с обычной.

Код Luau
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.WalkSpeed = 24
    end)
end)

Как работает этот код

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения. Это настройка скорости при появлении персонажа, а не система выбора режима на экране.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис подключённых игроков.
  2. Players.PlayerAdded:Connect(function(player)Настраиваем обработку новых подключений.
  3. player.CharacterAdded:Connect(function(character)Повторяем настройку при новом появлении персонажа.
  4. local humanoid = character:WaitForChild("Humanoid")Находим компонент персонажа, отвечающий за движение.
  5. humanoid.WalkSpeed = 24Назначаем скорость ходьбы персонажа, а не глобальное правило для всех игр.
Попробуйте самостоятельно

Поменяй скорость персонажа и проверьте заново после смерти и возрождения. Для переключения скорости во время игры потребуется отдельная логика. Применение: «Быстрый бег».

Как проверить

После появления персонаж получает заданную скорость ходьбы.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
254Очень быстрый бегПерсонаж и инструменты / Настройки персонажа · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и сравните скорость передвижения с обычной.

Код Luau
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.WalkSpeed = 32
    end)
end)

Как работает этот код

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения. Это настройка скорости при появлении персонажа, а не система выбора режима на экране.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис подключённых игроков.
  2. Players.PlayerAdded:Connect(function(player)Настраиваем обработку новых подключений.
  3. player.CharacterAdded:Connect(function(character)Повторяем настройку при новом появлении персонажа.
  4. local humanoid = character:WaitForChild("Humanoid")Находим компонент персонажа, отвечающий за движение.
  5. humanoid.WalkSpeed = 32Назначаем скорость ходьбы персонажа, а не глобальное правило для всех игр.
Попробуйте самостоятельно

Поменяй скорость персонажа и проверьте заново после смерти и возрождения. Для переключения скорости во время игры потребуется отдельная логика. Применение: «Очень быстрый бег».

Как проверить

После появления персонаж получает заданную скорость ходьбы.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
255Тренировочный шагПерсонаж и инструменты / Настройки персонажа · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и сравните скорость передвижения с обычной.

Код Luau
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.WalkSpeed = 12
    end)
end)

Как работает этот код

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения. Это настройка скорости при появлении персонажа, а не система выбора режима на экране.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис подключённых игроков.
  2. Players.PlayerAdded:Connect(function(player)Настраиваем обработку новых подключений.
  3. player.CharacterAdded:Connect(function(character)Повторяем настройку при новом появлении персонажа.
  4. local humanoid = character:WaitForChild("Humanoid")Находим компонент персонажа, отвечающий за движение.
  5. humanoid.WalkSpeed = 12Назначаем скорость ходьбы персонажа, а не глобальное правило для всех игр.
Попробуйте самостоятельно

Поменяй скорость персонажа и проверьте заново после смерти и возрождения. Для переключения скорости во время игры потребуется отдельная логика. Применение: «Тренировочный шаг».

Как проверить

После появления персонаж получает заданную скорость ходьбы.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
256Скорость под водойПерсонаж и инструменты / Настройки персонажа · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и сравните скорость передвижения с обычной.

Код Luau
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.WalkSpeed = 14
    end)
end)

Как работает этот код

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения. Это настройка скорости при появлении персонажа, а не система выбора режима на экране.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис подключённых игроков.
  2. Players.PlayerAdded:Connect(function(player)Настраиваем обработку новых подключений.
  3. player.CharacterAdded:Connect(function(character)Повторяем настройку при новом появлении персонажа.
  4. local humanoid = character:WaitForChild("Humanoid")Находим компонент персонажа, отвечающий за движение.
  5. humanoid.WalkSpeed = 14Назначаем скорость ходьбы персонажа, а не глобальное правило для всех игр.
Попробуйте самостоятельно

Поменяй скорость персонажа и проверьте заново после смерти и возрождения. Для переключения скорости во время игры потребуется отдельная логика. Применение: «Скорость под водой».

Как проверить

После появления персонаж получает заданную скорость ходьбы.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
257Скорость на льдуПерсонаж и инструменты / Настройки персонажа · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и сравните скорость передвижения с обычной.

Код Luau
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.WalkSpeed = 20
    end)
end)

Как работает этот код

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения. Это настройка скорости при появлении персонажа, а не система выбора режима на экране.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис подключённых игроков.
  2. Players.PlayerAdded:Connect(function(player)Настраиваем обработку новых подключений.
  3. player.CharacterAdded:Connect(function(character)Повторяем настройку при новом появлении персонажа.
  4. local humanoid = character:WaitForChild("Humanoid")Находим компонент персонажа, отвечающий за движение.
  5. humanoid.WalkSpeed = 20Назначаем скорость ходьбы персонажа, а не глобальное правило для всех игр.
Попробуйте самостоятельно

Поменяй скорость персонажа и проверьте заново после смерти и возрождения. Для переключения скорости во время игры потребуется отдельная логика. Применение: «Скорость на льду».

Как проверить

После появления персонаж получает заданную скорость ходьбы.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
258Скорость в лабиринтеПерсонаж и инструменты / Настройки персонажа · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и сравните скорость передвижения с обычной.

Код Luau
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.WalkSpeed = 11
    end)
end)

Как работает этот код

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения. Это настройка скорости при появлении персонажа, а не система выбора режима на экране.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис подключённых игроков.
  2. Players.PlayerAdded:Connect(function(player)Настраиваем обработку новых подключений.
  3. player.CharacterAdded:Connect(function(character)Повторяем настройку при новом появлении персонажа.
  4. local humanoid = character:WaitForChild("Humanoid")Находим компонент персонажа, отвечающий за движение.
  5. humanoid.WalkSpeed = 11Назначаем скорость ходьбы персонажа, а не глобальное правило для всех игр.
Попробуйте самостоятельно

Поменяй скорость персонажа и проверьте заново после смерти и возрождения. Для переключения скорости во время игры потребуется отдельная логика. Применение: «Скорость в лабиринте».

Как проверить

После появления персонаж получает заданную скорость ходьбы.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
259Скорость на аренеПерсонаж и инструменты / Настройки персонажа · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и сравните скорость передвижения с обычной.

Код Luau
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.WalkSpeed = 22
    end)
end)

Как работает этот код

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения. Это настройка скорости при появлении персонажа, а не система выбора режима на экране.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис подключённых игроков.
  2. Players.PlayerAdded:Connect(function(player)Настраиваем обработку новых подключений.
  3. player.CharacterAdded:Connect(function(character)Повторяем настройку при новом появлении персонажа.
  4. local humanoid = character:WaitForChild("Humanoid")Находим компонент персонажа, отвечающий за движение.
  5. humanoid.WalkSpeed = 22Назначаем скорость ходьбы персонажа, а не глобальное правило для всех игр.
Попробуйте самостоятельно

Поменяй скорость персонажа и проверьте заново после смерти и возрождения. Для переключения скорости во время игры потребуется отдельная логика. Применение: «Скорость на арене».

Как проверить

После появления персонаж получает заданную скорость ходьбы.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
260Режим исследованияПерсонаж и инструменты / Настройки персонажа · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и сравните скорость передвижения с обычной.

Код Luau
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.WalkSpeed = 18
    end)
end)

Как работает этот код

CharacterAdded вызывается после появления персонажа; WalkSpeed управляет скоростью движения. Это настройка скорости при появлении персонажа, а не система выбора режима на экране.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис подключённых игроков.
  2. Players.PlayerAdded:Connect(function(player)Настраиваем обработку новых подключений.
  3. player.CharacterAdded:Connect(function(character)Повторяем настройку при новом появлении персонажа.
  4. local humanoid = character:WaitForChild("Humanoid")Находим компонент персонажа, отвечающий за движение.
  5. humanoid.WalkSpeed = 18Назначаем скорость ходьбы персонажа, а не глобальное правило для всех игр.
Попробуйте самостоятельно

Поменяй скорость персонажа и проверьте заново после смерти и возрождения. Для переключения скорости во время игры потребуется отдельная логика. Применение: «Режим исследования».

Как проверить

После появления персонаж получает заданную скорость ходьбы.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
261Инструмент фонарьПерсонаж и инструменты / Инструменты Tool · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Tool.Activated срабатывает, когда экипированный инструмент активируют.

Куда вставить

Script внутри Tool в StarterPack

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте Tool в StarterPack и Script внутри него. Запустите Play, выберите инструмент и нажми.

Код Luau
local tool = script.Parent
assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")
tool.RequiresHandle = false
tool.Activated:Connect(function()
    print("Использован инструмент: Фонарь")
end)

Как работает этот код

Tool.Activated срабатывает, когда экипированный инструмент активируют. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local tool = script.ParentОбращаемся к инструменту, внутри которого установлен Script.
  2. assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")Проверяем корректность места размещения.
  3. tool.RequiresHandle = falseРазрешаем Tool не иметь детали Handle.
  4. tool.Activated:Connect(function()Реагируем на использование экипированного инструмента.
  5. print("Использован инструмент: Фонарь")Только выводим сообщение в Output: заявленное действие инструмента ещё надо запрограммировать.
Попробуйте самостоятельно

Переименуй Tool и сообщение в Output, экипируй его и активируй. Затем придумай отдельное действие для инструмента: например, включение света. Применение: «Инструмент фонарь».

Как проверить

Output покажет событие использования выбранного инструмента.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
262Инструмент ключПерсонаж и инструменты / Инструменты Tool · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Tool.Activated срабатывает, когда экипированный инструмент активируют.

Куда вставить

Script внутри Tool в StarterPack

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте Tool в StarterPack и Script внутри него. Запустите Play, выберите инструмент и нажми.

Код Luau
local tool = script.Parent
assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")
tool.RequiresHandle = false
tool.Activated:Connect(function()
    print("Использован инструмент: Ключ")
end)

Как работает этот код

Tool.Activated срабатывает, когда экипированный инструмент активируют. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local tool = script.ParentОбращаемся к инструменту, внутри которого установлен Script.
  2. assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")Проверяем корректность места размещения.
  3. tool.RequiresHandle = falseРазрешаем Tool не иметь детали Handle.
  4. tool.Activated:Connect(function()Реагируем на использование экипированного инструмента.
  5. print("Использован инструмент: Ключ")Только выводим сообщение в Output: заявленное действие инструмента ещё надо запрограммировать.
Попробуйте самостоятельно

Переименуй Tool и сообщение в Output, экипируй его и активируй. Затем придумай отдельное действие для инструмента: например, включение света. Применение: «Инструмент ключ».

Как проверить

Output покажет событие использования выбранного инструмента.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
263Инструмент компасПерсонаж и инструменты / Инструменты Tool · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Tool.Activated срабатывает, когда экипированный инструмент активируют.

Куда вставить

Script внутри Tool в StarterPack

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте Tool в StarterPack и Script внутри него. Запустите Play, выберите инструмент и нажми.

Код Luau
local tool = script.Parent
assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")
tool.RequiresHandle = false
tool.Activated:Connect(function()
    print("Использован инструмент: Компас")
end)

Как работает этот код

Tool.Activated срабатывает, когда экипированный инструмент активируют. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local tool = script.ParentОбращаемся к инструменту, внутри которого установлен Script.
  2. assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")Проверяем корректность места размещения.
  3. tool.RequiresHandle = falseРазрешаем Tool не иметь детали Handle.
  4. tool.Activated:Connect(function()Реагируем на использование экипированного инструмента.
  5. print("Использован инструмент: Компас")Только выводим сообщение в Output: заявленное действие инструмента ещё надо запрограммировать.
Попробуйте самостоятельно

Переименуй Tool и сообщение в Output, экипируй его и активируй. Затем придумай отдельное действие для инструмента: например, включение света. Применение: «Инструмент компас».

Как проверить

Output покажет событие использования выбранного инструмента.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
264Инструмент картаПерсонаж и инструменты / Инструменты Tool · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Tool.Activated срабатывает, когда экипированный инструмент активируют.

Куда вставить

Script внутри Tool в StarterPack

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте Tool в StarterPack и Script внутри него. Запустите Play, выберите инструмент и нажми.

Код Luau
local tool = script.Parent
assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")
tool.RequiresHandle = false
tool.Activated:Connect(function()
    print("Использован инструмент: Карта")
end)

Как работает этот код

Tool.Activated срабатывает, когда экипированный инструмент активируют. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local tool = script.ParentОбращаемся к инструменту, внутри которого установлен Script.
  2. assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")Проверяем корректность места размещения.
  3. tool.RequiresHandle = falseРазрешаем Tool не иметь детали Handle.
  4. tool.Activated:Connect(function()Реагируем на использование экипированного инструмента.
  5. print("Использован инструмент: Карта")Только выводим сообщение в Output: заявленное действие инструмента ещё надо запрограммировать.
Попробуйте самостоятельно

Переименуй Tool и сообщение в Output, экипируй его и активируй. Затем придумай отдельное действие для инструмента: например, включение света. Применение: «Инструмент карта».

Как проверить

Output покажет событие использования выбранного инструмента.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
265Инструмент молотокПерсонаж и инструменты / Инструменты Tool · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Tool.Activated срабатывает, когда экипированный инструмент активируют.

Куда вставить

Script внутри Tool в StarterPack

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте Tool в StarterPack и Script внутри него. Запустите Play, выберите инструмент и нажми.

Код Luau
local tool = script.Parent
assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")
tool.RequiresHandle = false
tool.Activated:Connect(function()
    print("Использован инструмент: Молоток")
end)

Как работает этот код

Tool.Activated срабатывает, когда экипированный инструмент активируют. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local tool = script.ParentОбращаемся к инструменту, внутри которого установлен Script.
  2. assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")Проверяем корректность места размещения.
  3. tool.RequiresHandle = falseРазрешаем Tool не иметь детали Handle.
  4. tool.Activated:Connect(function()Реагируем на использование экипированного инструмента.
  5. print("Использован инструмент: Молоток")Только выводим сообщение в Output: заявленное действие инструмента ещё надо запрограммировать.
Попробуйте самостоятельно

Переименуй Tool и сообщение в Output, экипируй его и активируй. Затем придумай отдельное действие для инструмента: например, включение света. Применение: «Инструмент молоток».

Как проверить

Output покажет событие использования выбранного инструмента.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
266Инструмент кистьПерсонаж и инструменты / Инструменты Tool · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Tool.Activated срабатывает, когда экипированный инструмент активируют.

Куда вставить

Script внутри Tool в StarterPack

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте Tool в StarterPack и Script внутри него. Запустите Play, выберите инструмент и нажми.

Код Luau
local tool = script.Parent
assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")
tool.RequiresHandle = false
tool.Activated:Connect(function()
    print("Использован инструмент: Кисть")
end)

Как работает этот код

Tool.Activated срабатывает, когда экипированный инструмент активируют. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local tool = script.ParentОбращаемся к инструменту, внутри которого установлен Script.
  2. assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")Проверяем корректность места размещения.
  3. tool.RequiresHandle = falseРазрешаем Tool не иметь детали Handle.
  4. tool.Activated:Connect(function()Реагируем на использование экипированного инструмента.
  5. print("Использован инструмент: Кисть")Только выводим сообщение в Output: заявленное действие инструмента ещё надо запрограммировать.
Попробуйте самостоятельно

Переименуй Tool и сообщение в Output, экипируй его и активируй. Затем придумай отдельное действие для инструмента: например, включение света. Применение: «Инструмент кисть».

Как проверить

Output покажет событие использования выбранного инструмента.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
267Инструмент лупаПерсонаж и инструменты / Инструменты Tool · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Tool.Activated срабатывает, когда экипированный инструмент активируют.

Куда вставить

Script внутри Tool в StarterPack

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте Tool в StarterPack и Script внутри него. Запустите Play, выберите инструмент и нажми.

Код Luau
local tool = script.Parent
assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")
tool.RequiresHandle = false
tool.Activated:Connect(function()
    print("Использован инструмент: Лупа")
end)

Как работает этот код

Tool.Activated срабатывает, когда экипированный инструмент активируют. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local tool = script.ParentОбращаемся к инструменту, внутри которого установлен Script.
  2. assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")Проверяем корректность места размещения.
  3. tool.RequiresHandle = falseРазрешаем Tool не иметь детали Handle.
  4. tool.Activated:Connect(function()Реагируем на использование экипированного инструмента.
  5. print("Использован инструмент: Лупа")Только выводим сообщение в Output: заявленное действие инструмента ещё надо запрограммировать.
Попробуйте самостоятельно

Переименуй Tool и сообщение в Output, экипируй его и активируй. Затем придумай отдельное действие для инструмента: например, включение света. Применение: «Инструмент лупа».

Как проверить

Output покажет событие использования выбранного инструмента.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
268Инструмент киркаПерсонаж и инструменты / Инструменты Tool · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Tool.Activated срабатывает, когда экипированный инструмент активируют.

Куда вставить

Script внутри Tool в StarterPack

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте Tool в StarterPack и Script внутри него. Запустите Play, выберите инструмент и нажми.

Код Luau
local tool = script.Parent
assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")
tool.RequiresHandle = false
tool.Activated:Connect(function()
    print("Использован инструмент: Кирка")
end)

Как работает этот код

Tool.Activated срабатывает, когда экипированный инструмент активируют. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local tool = script.ParentОбращаемся к инструменту, внутри которого установлен Script.
  2. assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")Проверяем корректность места размещения.
  3. tool.RequiresHandle = falseРазрешаем Tool не иметь детали Handle.
  4. tool.Activated:Connect(function()Реагируем на использование экипированного инструмента.
  5. print("Использован инструмент: Кирка")Только выводим сообщение в Output: заявленное действие инструмента ещё надо запрограммировать.
Попробуйте самостоятельно

Переименуй Tool и сообщение в Output, экипируй его и активируй. Затем придумай отдельное действие для инструмента: например, включение света. Применение: «Инструмент кирка».

Как проверить

Output покажет событие использования выбранного инструмента.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
269Инструмент книгаПерсонаж и инструменты / Инструменты Tool · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Tool.Activated срабатывает, когда экипированный инструмент активируют.

Куда вставить

Script внутри Tool в StarterPack

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте Tool в StarterPack и Script внутри него. Запустите Play, выберите инструмент и нажми.

Код Luau
local tool = script.Parent
assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")
tool.RequiresHandle = false
tool.Activated:Connect(function()
    print("Использован инструмент: Книга")
end)

Как работает этот код

Tool.Activated срабатывает, когда экипированный инструмент активируют. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local tool = script.ParentОбращаемся к инструменту, внутри которого установлен Script.
  2. assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")Проверяем корректность места размещения.
  3. tool.RequiresHandle = falseРазрешаем Tool не иметь детали Handle.
  4. tool.Activated:Connect(function()Реагируем на использование экипированного инструмента.
  5. print("Использован инструмент: Книга")Только выводим сообщение в Output: заявленное действие инструмента ещё надо запрограммировать.
Попробуйте самостоятельно

Переименуй Tool и сообщение в Output, экипируй его и активируй. Затем придумай отдельное действие для инструмента: например, включение света. Применение: «Инструмент книга».

Как проверить

Output покажет событие использования выбранного инструмента.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
270Инструмент флагПерсонаж и инструменты / Инструменты Tool · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Tool.Activated срабатывает, когда экипированный инструмент активируют.

Куда вставить

Script внутри Tool в StarterPack

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Добавьте Tool в StarterPack и Script внутри него. Запустите Play, выберите инструмент и нажми.

Код Luau
local tool = script.Parent
assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")
tool.RequiresHandle = false
tool.Activated:Connect(function()
    print("Использован инструмент: Флаг")
end)

Как работает этот код

Tool.Activated срабатывает, когда экипированный инструмент активируют. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local tool = script.ParentОбращаемся к инструменту, внутри которого установлен Script.
  2. assert(tool:IsA("Tool"), "Script должен находиться внутри Tool")Проверяем корректность места размещения.
  3. tool.RequiresHandle = falseРазрешаем Tool не иметь детали Handle.
  4. tool.Activated:Connect(function()Реагируем на использование экипированного инструмента.
  5. print("Использован инструмент: Флаг")Только выводим сообщение в Output: заявленное действие инструмента ещё надо запрограммировать.
Попробуйте самостоятельно

Переименуй Tool и сообщение в Output, экипируй его и активируй. Затем придумай отдельное действие для инструмента: например, включение света. Применение: «Инструмент флаг».

Как проверить

Output покажет событие использования выбранного инструмента.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
271Отсчёт на пять секундИгровые системы / Общий отсчёт времени · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Нажмите Play и следи за атрибутом RoundSeconds у Workspace.

Код Luau
local seconds = 5
for remaining = seconds, 0, -1 do
    workspace:SetAttribute("RoundSeconds", remaining)
    task.wait(1)
end
print("Время вышло")

Как работает этот код

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле. Обратный отсчёт один раз меняет общий атрибут Workspace и не управляет полноценным раундом.

Разбор строк

  1. local seconds = 5Храним продолжительность обратного отсчёта в секундах.
  2. for remaining = seconds, 0, -1 doЦикл уменьшает значение до нуля с шагом −1.
  3. workspace:SetAttribute("RoundSeconds", remaining)Публикуем текущую цифру в атрибуте Workspace.
  4. task.wait(1)Делаем примерно секундную паузу; это простой учебный таймер без точной синхронизации.
  5. print("Время вышло")Сообщаем о завершении в Output.
Попробуйте самостоятельно

Измените длительность таймера, а затем создайте TextLabel, который отдельно читает атрибут RoundSeconds. Для точного соревновательного таймера используй время сервера. Применение: «Отсчёт на пять секунд».

Как проверить

Общий отсчёт уменьшается до нуля.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
272Отсчёт на десять секундИгровые системы / Общий отсчёт времени · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Нажмите Play и следи за атрибутом RoundSeconds у Workspace.

Код Luau
local seconds = 10
for remaining = seconds, 0, -1 do
    workspace:SetAttribute("RoundSeconds", remaining)
    task.wait(1)
end
print("Время вышло")

Как работает этот код

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле. Обратный отсчёт один раз меняет общий атрибут Workspace и не управляет полноценным раундом.

Разбор строк

  1. local seconds = 10Храним продолжительность обратного отсчёта в секундах.
  2. for remaining = seconds, 0, -1 doЦикл уменьшает значение до нуля с шагом −1.
  3. workspace:SetAttribute("RoundSeconds", remaining)Публикуем текущую цифру в атрибуте Workspace.
  4. task.wait(1)Делаем примерно секундную паузу; это простой учебный таймер без точной синхронизации.
  5. print("Время вышло")Сообщаем о завершении в Output.
Попробуйте самостоятельно

Измените длительность таймера, а затем создайте TextLabel, который отдельно читает атрибут RoundSeconds. Для точного соревновательного таймера используй время сервера. Применение: «Отсчёт на десять секунд».

Как проверить

Общий отсчёт уменьшается до нуля.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
273Отсчёт на пятнадцать секундИгровые системы / Общий отсчёт времени · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Нажмите Play и следи за атрибутом RoundSeconds у Workspace.

Код Luau
local seconds = 15
for remaining = seconds, 0, -1 do
    workspace:SetAttribute("RoundSeconds", remaining)
    task.wait(1)
end
print("Время вышло")

Как работает этот код

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле. Обратный отсчёт один раз меняет общий атрибут Workspace и не управляет полноценным раундом.

Разбор строк

  1. local seconds = 15Храним продолжительность обратного отсчёта в секундах.
  2. for remaining = seconds, 0, -1 doЦикл уменьшает значение до нуля с шагом −1.
  3. workspace:SetAttribute("RoundSeconds", remaining)Публикуем текущую цифру в атрибуте Workspace.
  4. task.wait(1)Делаем примерно секундную паузу; это простой учебный таймер без точной синхронизации.
  5. print("Время вышло")Сообщаем о завершении в Output.
Попробуйте самостоятельно

Измените длительность таймера, а затем создайте TextLabel, который отдельно читает атрибут RoundSeconds. Для точного соревновательного таймера используй время сервера. Применение: «Отсчёт на пятнадцать секунд».

Как проверить

Общий отсчёт уменьшается до нуля.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
274Отсчёт на двадцать секундИгровые системы / Общий отсчёт времени · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Нажмите Play и следи за атрибутом RoundSeconds у Workspace.

Код Luau
local seconds = 20
for remaining = seconds, 0, -1 do
    workspace:SetAttribute("RoundSeconds", remaining)
    task.wait(1)
end
print("Время вышло")

Как работает этот код

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле. Обратный отсчёт один раз меняет общий атрибут Workspace и не управляет полноценным раундом.

Разбор строк

  1. local seconds = 20Храним продолжительность обратного отсчёта в секундах.
  2. for remaining = seconds, 0, -1 doЦикл уменьшает значение до нуля с шагом −1.
  3. workspace:SetAttribute("RoundSeconds", remaining)Публикуем текущую цифру в атрибуте Workspace.
  4. task.wait(1)Делаем примерно секундную паузу; это простой учебный таймер без точной синхронизации.
  5. print("Время вышло")Сообщаем о завершении в Output.
Попробуйте самостоятельно

Измените длительность таймера, а затем создайте TextLabel, который отдельно читает атрибут RoundSeconds. Для точного соревновательного таймера используй время сервера. Применение: «Отсчёт на двадцать секунд».

Как проверить

Общий отсчёт уменьшается до нуля.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
275Отсчёт на тридцать секундИгровые системы / Общий отсчёт времени · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Нажмите Play и следи за атрибутом RoundSeconds у Workspace.

Код Luau
local seconds = 30
for remaining = seconds, 0, -1 do
    workspace:SetAttribute("RoundSeconds", remaining)
    task.wait(1)
end
print("Время вышло")

Как работает этот код

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле. Обратный отсчёт один раз меняет общий атрибут Workspace и не управляет полноценным раундом.

Разбор строк

  1. local seconds = 30Храним продолжительность обратного отсчёта в секундах.
  2. for remaining = seconds, 0, -1 doЦикл уменьшает значение до нуля с шагом −1.
  3. workspace:SetAttribute("RoundSeconds", remaining)Публикуем текущую цифру в атрибуте Workspace.
  4. task.wait(1)Делаем примерно секундную паузу; это простой учебный таймер без точной синхронизации.
  5. print("Время вышло")Сообщаем о завершении в Output.
Попробуйте самостоятельно

Измените длительность таймера, а затем создайте TextLabel, который отдельно читает атрибут RoundSeconds. Для точного соревновательного таймера используй время сервера. Применение: «Отсчёт на тридцать секунд».

Как проверить

Общий отсчёт уменьшается до нуля.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
276Отсчёт на сорок секундИгровые системы / Общий отсчёт времени · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Нажмите Play и следи за атрибутом RoundSeconds у Workspace.

Код Luau
local seconds = 40
for remaining = seconds, 0, -1 do
    workspace:SetAttribute("RoundSeconds", remaining)
    task.wait(1)
end
print("Время вышло")

Как работает этот код

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле. Обратный отсчёт один раз меняет общий атрибут Workspace и не управляет полноценным раундом.

Разбор строк

  1. local seconds = 40Храним продолжительность обратного отсчёта в секундах.
  2. for remaining = seconds, 0, -1 doЦикл уменьшает значение до нуля с шагом −1.
  3. workspace:SetAttribute("RoundSeconds", remaining)Публикуем текущую цифру в атрибуте Workspace.
  4. task.wait(1)Делаем примерно секундную паузу; это простой учебный таймер без точной синхронизации.
  5. print("Время вышло")Сообщаем о завершении в Output.
Попробуйте самостоятельно

Измените длительность таймера, а затем создайте TextLabel, который отдельно читает атрибут RoundSeconds. Для точного соревновательного таймера используй время сервера. Применение: «Отсчёт на сорок секунд».

Как проверить

Общий отсчёт уменьшается до нуля.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
277Отсчёт на пятьдесят секундИгровые системы / Общий отсчёт времени · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Нажмите Play и следи за атрибутом RoundSeconds у Workspace.

Код Luau
local seconds = 50
for remaining = seconds, 0, -1 do
    workspace:SetAttribute("RoundSeconds", remaining)
    task.wait(1)
end
print("Время вышло")

Как работает этот код

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле. Обратный отсчёт один раз меняет общий атрибут Workspace и не управляет полноценным раундом.

Разбор строк

  1. local seconds = 50Храним продолжительность обратного отсчёта в секундах.
  2. for remaining = seconds, 0, -1 doЦикл уменьшает значение до нуля с шагом −1.
  3. workspace:SetAttribute("RoundSeconds", remaining)Публикуем текущую цифру в атрибуте Workspace.
  4. task.wait(1)Делаем примерно секундную паузу; это простой учебный таймер без точной синхронизации.
  5. print("Время вышло")Сообщаем о завершении в Output.
Попробуйте самостоятельно

Измените длительность таймера, а затем создайте TextLabel, который отдельно читает атрибут RoundSeconds. Для точного соревновательного таймера используй время сервера. Применение: «Отсчёт на пятьдесят секунд».

Как проверить

Общий отсчёт уменьшается до нуля.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
278Отсчёт на минутуИгровые системы / Общий отсчёт времени · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Нажмите Play и следи за атрибутом RoundSeconds у Workspace.

Код Luau
local seconds = 60
for remaining = seconds, 0, -1 do
    workspace:SetAttribute("RoundSeconds", remaining)
    task.wait(1)
end
print("Время вышло")

Как работает этот код

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле. Обратный отсчёт один раз меняет общий атрибут Workspace и не управляет полноценным раундом.

Разбор строк

  1. local seconds = 60Храним продолжительность обратного отсчёта в секундах.
  2. for remaining = seconds, 0, -1 doЦикл уменьшает значение до нуля с шагом −1.
  3. workspace:SetAttribute("RoundSeconds", remaining)Публикуем текущую цифру в атрибуте Workspace.
  4. task.wait(1)Делаем примерно секундную паузу; это простой учебный таймер без точной синхронизации.
  5. print("Время вышло")Сообщаем о завершении в Output.
Попробуйте самостоятельно

Измените длительность таймера, а затем создайте TextLabel, который отдельно читает атрибут RoundSeconds. Для точного соревновательного таймера используй время сервера. Применение: «Отсчёт на минуту».

Как проверить

Общий отсчёт уменьшается до нуля.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
279Отсчёт на полторы минутыИгровые системы / Общий отсчёт времени · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Нажмите Play и следи за атрибутом RoundSeconds у Workspace.

Код Luau
local seconds = 90
for remaining = seconds, 0, -1 do
    workspace:SetAttribute("RoundSeconds", remaining)
    task.wait(1)
end
print("Время вышло")

Как работает этот код

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле. Обратный отсчёт один раз меняет общий атрибут Workspace и не управляет полноценным раундом.

Разбор строк

  1. local seconds = 90Храним продолжительность обратного отсчёта в секундах.
  2. for remaining = seconds, 0, -1 doЦикл уменьшает значение до нуля с шагом −1.
  3. workspace:SetAttribute("RoundSeconds", remaining)Публикуем текущую цифру в атрибуте Workspace.
  4. task.wait(1)Делаем примерно секундную паузу; это простой учебный таймер без точной синхронизации.
  5. print("Время вышло")Сообщаем о завершении в Output.
Попробуйте самостоятельно

Измените длительность таймера, а затем создайте TextLabel, который отдельно читает атрибут RoundSeconds. Для точного соревновательного таймера используй время сервера. Применение: «Отсчёт на полторы минуты».

Как проверить

Общий отсчёт уменьшается до нуля.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
280Отсчёт на две минутыИгровые системы / Общий отсчёт времени · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Нажмите Play и следи за атрибутом RoundSeconds у Workspace.

Код Luau
local seconds = 120
for remaining = seconds, 0, -1 do
    workspace:SetAttribute("RoundSeconds", remaining)
    task.wait(1)
end
print("Время вышло")

Как работает этот код

Сервер обновляет атрибут раз в секунду; цикл завершается при нуле. Обратный отсчёт один раз меняет общий атрибут Workspace и не управляет полноценным раундом.

Разбор строк

  1. local seconds = 120Храним продолжительность обратного отсчёта в секундах.
  2. for remaining = seconds, 0, -1 doЦикл уменьшает значение до нуля с шагом −1.
  3. workspace:SetAttribute("RoundSeconds", remaining)Публикуем текущую цифру в атрибуте Workspace.
  4. task.wait(1)Делаем примерно секундную паузу; это простой учебный таймер без точной синхронизации.
  5. print("Время вышло")Сообщаем о завершении в Output.
Попробуйте самостоятельно

Измените длительность таймера, а затем создайте TextLabel, который отдельно читает атрибут RoundSeconds. Для точного соревновательного таймера используй время сервера. Применение: «Отсчёт на две минуты».

Как проверить

Общий отсчёт уменьшается до нуля.

Обратите внимание: Убедись, что имена объектов совпадают с указанными в коде. Запускай через Play, ошибки смотри в View → Output.
281Запрос включить светСерверная практика / Проверки серверных запросов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

OnServerEvent первым параметром получает настоящего игрока; сервер сам ограничивает частоту. Это лишь заготовка: перед выдачей награды нужны дополнительные проверки.

Куда вставить

Script в ServerScriptService; RemoteEvent с указанным именем в ReplicatedStorage

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте RemoteEvent с названием из кода. Для испытания добавьте LocalScript, вызывающий событие через FireServer().

Код Luau
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local event = ReplicatedStorage:WaitForChild("ToggleLight")
local last = {}
event.OnServerEvent:Connect(function(player)
    local now = os.clock()
    if now - (last[player] or -100) < 1 then return end
    last[player] = now
    print("Проверен запрос: ToggleLight", player.Name)
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
    last[player] = nil
end)

Как работает этот код

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

Разбор строк

  1. local event = ReplicatedStorage:WaitForChild("ToggleLight")Ожидаем существующий RemoteEvent с указанным именем в ReplicatedStorage.
  2. local last = {}Храним время последнего принятого запроса каждого игрока.
  3. event.OnServerEvent:Connect(function(player)Обрабатываем запрос на сервере, а не доверяем клиентской логике.
  4. local now = os.clock()Получаем время для ограничения частоВы обращений.
  5. if now - (last[player] or -100) < 1 then return endНе позволяем отправлять запросы чаще заданного интервала.
  6. print("Проверен запрос: ToggleLight", player.Name)Только регистрируем допустимый запрос; реальное действие пока не выполнено.
  7. game:GetService("Players").PlayerRemoving:Connect(function(player)Очищаем временные данные вышедшего игрока.
Попробуйте самостоятельно

Попробуйте два быстрых запроса подряд и проверьте Output. Затем добавьте настоящую проверку права игрока на действие: одного ограничения частоВы недостаточно. Применение: «Запрос включить свет».

Как проверить

Сервер получает запрос не чаще одного раза в секунду на игрока.

Обратите внимание: Создайте RemoteEvent с именем, указанным в коде, в ReplicatedStorage. В этом примере сервер лишь печатает запрос и ограничивает частоту; дополнительно необходима проверка расстояния, состояния и полномочий игрока.
282Запрос открыть дверьСерверная практика / Проверки серверных запросов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

OnServerEvent первым параметром получает настоящего игрока; сервер сам ограничивает частоту. Это лишь заготовка: перед выдачей награды нужны дополнительные проверки.

Куда вставить

Script в ServerScriptService; RemoteEvent с указанным именем в ReplicatedStorage

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте RemoteEvent с названием из кода. Для испытания добавьте LocalScript, вызывающий событие через FireServer().

Код Luau
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local event = ReplicatedStorage:WaitForChild("OpenDoor")
local last = {}
event.OnServerEvent:Connect(function(player)
    local now = os.clock()
    if now - (last[player] or -100) < 1 then return end
    last[player] = now
    print("Проверен запрос: OpenDoor", player.Name)
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
    last[player] = nil
end)

Как работает этот код

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

Разбор строк

  1. local event = ReplicatedStorage:WaitForChild("OpenDoor")Ожидаем существующий RemoteEvent с указанным именем в ReplicatedStorage.
  2. local last = {}Храним время последнего принятого запроса каждого игрока.
  3. event.OnServerEvent:Connect(function(player)Обрабатываем запрос на сервере, а не доверяем клиентской логике.
  4. local now = os.clock()Получаем время для ограничения частоВы обращений.
  5. if now - (last[player] or -100) < 1 then return endНе позволяем отправлять запросы чаще заданного интервала.
  6. print("Проверен запрос: OpenDoor", player.Name)Только регистрируем допустимый запрос; реальное действие пока не выполнено.
  7. game:GetService("Players").PlayerRemoving:Connect(function(player)Очищаем временные данные вышедшего игрока.
Попробуйте самостоятельно

Попробуйте два быстрых запроса подряд и проверьте Output. Затем добавьте настоящую проверку права игрока на действие: одного ограничения частоВы недостаточно. Применение: «Запрос открыть дверь».

Как проверить

Сервер получает запрос не чаще одного раза в секунду на игрока.

Обратите внимание: Создайте RemoteEvent с именем, указанным в коде, в ReplicatedStorage. В этом примере сервер лишь печатает запрос и ограничивает частоту; дополнительно необходима проверка расстояния, состояния и полномочий игрока.
283Запрос взять призСерверная практика / Проверки серверных запросов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

OnServerEvent первым параметром получает настоящего игрока; сервер сам ограничивает частоту. Это лишь заготовка: перед выдачей награды нужны дополнительные проверки.

Куда вставить

Script в ServerScriptService; RemoteEvent с указанным именем в ReplicatedStorage

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте RemoteEvent с названием из кода. Для испытания добавьте LocalScript, вызывающий событие через FireServer().

Код Luau
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local event = ReplicatedStorage:WaitForChild("ClaimPrize")
local last = {}
event.OnServerEvent:Connect(function(player)
    local now = os.clock()
    if now - (last[player] or -100) < 1 then return end
    last[player] = now
    print("Проверен запрос: ClaimPrize", player.Name)
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
    last[player] = nil
end)

Как работает этот код

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

Разбор строк

  1. local event = ReplicatedStorage:WaitForChild("ClaimPrize")Ожидаем существующий RemoteEvent с указанным именем в ReplicatedStorage.
  2. local last = {}Храним время последнего принятого запроса каждого игрока.
  3. event.OnServerEvent:Connect(function(player)Обрабатываем запрос на сервере, а не доверяем клиентской логике.
  4. local now = os.clock()Получаем время для ограничения частоВы обращений.
  5. if now - (last[player] or -100) < 1 then return endНе позволяем отправлять запросы чаще заданного интервала.
  6. print("Проверен запрос: ClaimPrize", player.Name)Только регистрируем допустимый запрос; реальное действие пока не выполнено.
  7. game:GetService("Players").PlayerRemoving:Connect(function(player)Очищаем временные данные вышедшего игрока.
Попробуйте самостоятельно

Попробуйте два быстрых запроса подряд и проверьте Output. Затем добавьте настоящую проверку права игрока на действие: одного ограничения частоВы недостаточно. Применение: «Запрос взять приз».

Как проверить

Сервер получает запрос не чаще одного раза в секунду на игрока.

Обратите внимание: Создайте RemoteEvent с именем, указанным в коде, в ReplicatedStorage. В этом примере сервер лишь печатает запрос и ограничивает частоту; дополнительно необходима проверка расстояния, состояния и полномочий игрока.
284Запрос включить мостСерверная практика / Проверки серверных запросов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

OnServerEvent первым параметром получает настоящего игрока; сервер сам ограничивает частоту. Это лишь заготовка: перед выдачей награды нужны дополнительные проверки.

Куда вставить

Script в ServerScriptService; RemoteEvent с указанным именем в ReplicatedStorage

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте RemoteEvent с названием из кода. Для испытания добавьте LocalScript, вызывающий событие через FireServer().

Код Luau
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local event = ReplicatedStorage:WaitForChild("EnableBridge")
local last = {}
event.OnServerEvent:Connect(function(player)
    local now = os.clock()
    if now - (last[player] or -100) < 1 then return end
    last[player] = now
    print("Проверен запрос: EnableBridge", player.Name)
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
    last[player] = nil
end)

Как работает этот код

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

Разбор строк

  1. local event = ReplicatedStorage:WaitForChild("EnableBridge")Ожидаем существующий RemoteEvent с указанным именем в ReplicatedStorage.
  2. local last = {}Храним время последнего принятого запроса каждого игрока.
  3. event.OnServerEvent:Connect(function(player)Обрабатываем запрос на сервере, а не доверяем клиентской логике.
  4. local now = os.clock()Получаем время для ограничения частоВы обращений.
  5. if now - (last[player] or -100) < 1 then return endНе позволяем отправлять запросы чаще заданного интервала.
  6. print("Проверен запрос: EnableBridge", player.Name)Только регистрируем допустимый запрос; реальное действие пока не выполнено.
  7. game:GetService("Players").PlayerRemoving:Connect(function(player)Очищаем временные данные вышедшего игрока.
Попробуйте самостоятельно

Попробуйте два быстрых запроса подряд и проверьте Output. Затем добавьте настоящую проверку права игрока на действие: одного ограничения частоВы недостаточно. Применение: «Запрос включить мост».

Как проверить

Сервер получает запрос не чаще одного раза в секунду на игрока.

Обратите внимание: Создайте RemoteEvent с именем, указанным в коде, в ReplicatedStorage. В этом примере сервер лишь печатает запрос и ограничивает частоту; дополнительно необходима проверка расстояния, состояния и полномочий игрока.
285Запрос выбрать режимСерверная практика / Проверки серверных запросов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

OnServerEvent первым параметром получает настоящего игрока; сервер сам ограничивает частоту. Это лишь заготовка: перед выдачей награды нужны дополнительные проверки.

Куда вставить

Script в ServerScriptService; RemoteEvent с указанным именем в ReplicatedStorage

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте RemoteEvent с названием из кода. Для испытания добавьте LocalScript, вызывающий событие через FireServer().

Код Luau
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local event = ReplicatedStorage:WaitForChild("ChooseMode")
local last = {}
event.OnServerEvent:Connect(function(player)
    local now = os.clock()
    if now - (last[player] or -100) < 1 then return end
    last[player] = now
    print("Проверен запрос: ChooseMode", player.Name)
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
    last[player] = nil
end)

Как работает этот код

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

Разбор строк

  1. local event = ReplicatedStorage:WaitForChild("ChooseMode")Ожидаем существующий RemoteEvent с указанным именем в ReplicatedStorage.
  2. local last = {}Храним время последнего принятого запроса каждого игрока.
  3. event.OnServerEvent:Connect(function(player)Обрабатываем запрос на сервере, а не доверяем клиентской логике.
  4. local now = os.clock()Получаем время для ограничения частоВы обращений.
  5. if now - (last[player] or -100) < 1 then return endНе позволяем отправлять запросы чаще заданного интервала.
  6. print("Проверен запрос: ChooseMode", player.Name)Только регистрируем допустимый запрос; реальное действие пока не выполнено.
  7. game:GetService("Players").PlayerRemoving:Connect(function(player)Очищаем временные данные вышедшего игрока.
Попробуйте самостоятельно

Попробуйте два быстрых запроса подряд и проверьте Output. Затем добавьте настоящую проверку права игрока на действие: одного ограничения частоВы недостаточно. Применение: «Запрос выбрать режим».

Как проверить

Сервер получает запрос не чаще одного раза в секунду на игрока.

Обратите внимание: Создайте RemoteEvent с именем, указанным в коде, в ReplicatedStorage. В этом примере сервер лишь печатает запрос и ограничивает частоту; дополнительно необходима проверка расстояния, состояния и полномочий игрока.
286Запрос начать гонкуСерверная практика / Проверки серверных запросов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

OnServerEvent первым параметром получает настоящего игрока; сервер сам ограничивает частоту. Это лишь заготовка: перед выдачей награды нужны дополнительные проверки.

Куда вставить

Script в ServerScriptService; RemoteEvent с указанным именем в ReplicatedStorage

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте RemoteEvent с названием из кода. Для испытания добавьте LocalScript, вызывающий событие через FireServer().

Код Luau
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local event = ReplicatedStorage:WaitForChild("StartRace")
local last = {}
event.OnServerEvent:Connect(function(player)
    local now = os.clock()
    if now - (last[player] or -100) < 1 then return end
    last[player] = now
    print("Проверен запрос: StartRace", player.Name)
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
    last[player] = nil
end)

Как работает этот код

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

Разбор строк

  1. local event = ReplicatedStorage:WaitForChild("StartRace")Ожидаем существующий RemoteEvent с указанным именем в ReplicatedStorage.
  2. local last = {}Храним время последнего принятого запроса каждого игрока.
  3. event.OnServerEvent:Connect(function(player)Обрабатываем запрос на сервере, а не доверяем клиентской логике.
  4. local now = os.clock()Получаем время для ограничения частоВы обращений.
  5. if now - (last[player] or -100) < 1 then return endНе позволяем отправлять запросы чаще заданного интервала.
  6. print("Проверен запрос: StartRace", player.Name)Только регистрируем допустимый запрос; реальное действие пока не выполнено.
  7. game:GetService("Players").PlayerRemoving:Connect(function(player)Очищаем временные данные вышедшего игрока.
Попробуйте самостоятельно

Попробуйте два быстрых запроса подряд и проверьте Output. Затем добавьте настоящую проверку права игрока на действие: одного ограничения частоВы недостаточно. Применение: «Запрос начать гонку».

Как проверить

Сервер получает запрос не чаще одного раза в секунду на игрока.

Обратите внимание: Создайте RemoteEvent с именем, указанным в коде, в ReplicatedStorage. В этом примере сервер лишь печатает запрос и ограничивает частоту; дополнительно необходима проверка расстояния, состояния и полномочий игрока.
287Запрос применить усилениеСерверная практика / Проверки серверных запросов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

OnServerEvent первым параметром получает настоящего игрока; сервер сам ограничивает частоту. Это лишь заготовка: перед выдачей награды нужны дополнительные проверки.

Куда вставить

Script в ServerScriptService; RemoteEvent с указанным именем в ReplicatedStorage

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте RemoteEvent с названием из кода. Для испытания добавьте LocalScript, вызывающий событие через FireServer().

Код Luau
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local event = ReplicatedStorage:WaitForChild("UseBoost")
local last = {}
event.OnServerEvent:Connect(function(player)
    local now = os.clock()
    if now - (last[player] or -100) < 1 then return end
    last[player] = now
    print("Проверен запрос: UseBoost", player.Name)
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
    last[player] = nil
end)

Как работает этот код

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

Разбор строк

  1. local event = ReplicatedStorage:WaitForChild("UseBoost")Ожидаем существующий RemoteEvent с указанным именем в ReplicatedStorage.
  2. local last = {}Храним время последнего принятого запроса каждого игрока.
  3. event.OnServerEvent:Connect(function(player)Обрабатываем запрос на сервере, а не доверяем клиентской логике.
  4. local now = os.clock()Получаем время для ограничения частоВы обращений.
  5. if now - (last[player] or -100) < 1 then return endНе позволяем отправлять запросы чаще заданного интервала.
  6. print("Проверен запрос: UseBoost", player.Name)Только регистрируем допустимый запрос; реальное действие пока не выполнено.
  7. game:GetService("Players").PlayerRemoving:Connect(function(player)Очищаем временные данные вышедшего игрока.
Попробуйте самостоятельно

Попробуйте два быстрых запроса подряд и проверьте Output. Затем добавьте настоящую проверку права игрока на действие: одного ограничения частоВы недостаточно. Применение: «Запрос применить усиление».

Как проверить

Сервер получает запрос не чаще одного раза в секунду на игрока.

Обратите внимание: Создайте RemoteEvent с именем, указанным в коде, в ReplicatedStorage. В этом примере сервер лишь печатает запрос и ограничивает частоту; дополнительно необходима проверка расстояния, состояния и полномочий игрока.
288Запрос активировать порталСерверная практика / Проверки серверных запросов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

OnServerEvent первым параметром получает настоящего игрока; сервер сам ограничивает частоту. Это лишь заготовка: перед выдачей награды нужны дополнительные проверки.

Куда вставить

Script в ServerScriptService; RemoteEvent с указанным именем в ReplicatedStorage

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте RemoteEvent с названием из кода. Для испытания добавьте LocalScript, вызывающий событие через FireServer().

Код Luau
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local event = ReplicatedStorage:WaitForChild("UsePortal")
local last = {}
event.OnServerEvent:Connect(function(player)
    local now = os.clock()
    if now - (last[player] or -100) < 1 then return end
    last[player] = now
    print("Проверен запрос: UsePortal", player.Name)
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
    last[player] = nil
end)

Как работает этот код

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

Разбор строк

  1. local event = ReplicatedStorage:WaitForChild("UsePortal")Ожидаем существующий RemoteEvent с указанным именем в ReplicatedStorage.
  2. local last = {}Храним время последнего принятого запроса каждого игрока.
  3. event.OnServerEvent:Connect(function(player)Обрабатываем запрос на сервере, а не доверяем клиентской логике.
  4. local now = os.clock()Получаем время для ограничения частоВы обращений.
  5. if now - (last[player] or -100) < 1 then return endНе позволяем отправлять запросы чаще заданного интервала.
  6. print("Проверен запрос: UsePortal", player.Name)Только регистрируем допустимый запрос; реальное действие пока не выполнено.
  7. game:GetService("Players").PlayerRemoving:Connect(function(player)Очищаем временные данные вышедшего игрока.
Попробуйте самостоятельно

Попробуйте два быстрых запроса подряд и проверьте Output. Затем добавьте настоящую проверку права игрока на действие: одного ограничения частоВы недостаточно. Применение: «Запрос активировать портал».

Как проверить

Сервер получает запрос не чаще одного раза в секунду на игрока.

Обратите внимание: Создайте RemoteEvent с именем, указанным в коде, в ReplicatedStorage. В этом примере сервер лишь печатает запрос и ограничивает частоту; дополнительно необходима проверка расстояния, состояния и полномочий игрока.
289Запрос взять ключСерверная практика / Проверки серверных запросов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

OnServerEvent первым параметром получает настоящего игрока; сервер сам ограничивает частоту. Это лишь заготовка: перед выдачей награды нужны дополнительные проверки.

Куда вставить

Script в ServerScriptService; RemoteEvent с указанным именем в ReplicatedStorage

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте RemoteEvent с названием из кода. Для испытания добавьте LocalScript, вызывающий событие через FireServer().

Код Luau
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local event = ReplicatedStorage:WaitForChild("TakeKey")
local last = {}
event.OnServerEvent:Connect(function(player)
    local now = os.clock()
    if now - (last[player] or -100) < 1 then return end
    last[player] = now
    print("Проверен запрос: TakeKey", player.Name)
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
    last[player] = nil
end)

Как работает этот код

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

Разбор строк

  1. local event = ReplicatedStorage:WaitForChild("TakeKey")Ожидаем существующий RemoteEvent с указанным именем в ReplicatedStorage.
  2. local last = {}Храним время последнего принятого запроса каждого игрока.
  3. event.OnServerEvent:Connect(function(player)Обрабатываем запрос на сервере, а не доверяем клиентской логике.
  4. local now = os.clock()Получаем время для ограничения частоВы обращений.
  5. if now - (last[player] or -100) < 1 then return endНе позволяем отправлять запросы чаще заданного интервала.
  6. print("Проверен запрос: TakeKey", player.Name)Только регистрируем допустимый запрос; реальное действие пока не выполнено.
  7. game:GetService("Players").PlayerRemoving:Connect(function(player)Очищаем временные данные вышедшего игрока.
Попробуйте самостоятельно

Попробуйте два быстрых запроса подряд и проверьте Output. Затем добавьте настоящую проверку права игрока на действие: одного ограничения частоВы недостаточно. Применение: «Запрос взять ключ».

Как проверить

Сервер получает запрос не чаще одного раза в секунду на игрока.

Обратите внимание: Создайте RemoteEvent с именем, указанным в коде, в ReplicatedStorage. В этом примере сервер лишь печатает запрос и ограничивает частоту; дополнительно необходима проверка расстояния, состояния и полномочий игрока.
290Запрос открыть сундукСерверная практика / Проверки серверных запросов · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

OnServerEvent первым параметром получает настоящего игрока; сервер сам ограничивает частоту. Это лишь заготовка: перед выдачей награды нужны дополнительные проверки.

Куда вставить

Script в ServerScriptService; RemoteEvent с указанным именем в ReplicatedStorage

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Создайте RemoteEvent с названием из кода. Для испытания добавьте LocalScript, вызывающий событие через FireServer().

Код Luau
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local event = ReplicatedStorage:WaitForChild("OpenChest")
local last = {}
event.OnServerEvent:Connect(function(player)
    local now = os.clock()
    if now - (last[player] or -100) < 1 then return end
    last[player] = now
    print("Проверен запрос: OpenChest", player.Name)
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
    last[player] = nil
end)

Как работает этот код

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

Разбор строк

  1. local event = ReplicatedStorage:WaitForChild("OpenChest")Ожидаем существующий RemoteEvent с указанным именем в ReplicatedStorage.
  2. local last = {}Храним время последнего принятого запроса каждого игрока.
  3. event.OnServerEvent:Connect(function(player)Обрабатываем запрос на сервере, а не доверяем клиентской логике.
  4. local now = os.clock()Получаем время для ограничения частоВы обращений.
  5. if now - (last[player] or -100) < 1 then return endНе позволяем отправлять запросы чаще заданного интервала.
  6. print("Проверен запрос: OpenChest", player.Name)Только регистрируем допустимый запрос; реальное действие пока не выполнено.
  7. game:GetService("Players").PlayerRemoving:Connect(function(player)Очищаем временные данные вышедшего игрока.
Попробуйте самостоятельно

Попробуйте два быстрых запроса подряд и проверьте Output. Затем добавьте настоящую проверку права игрока на действие: одного ограничения частоВы недостаточно. Применение: «Запрос открыть сундук».

Как проверить

Сервер получает запрос не чаще одного раза в секунду на игрока.

Обратите внимание: Создайте RemoteEvent с именем, указанным в коде, в ReplicatedStorage. В этом примере сервер лишь печатает запрос и ограничивает частоту; дополнительно необходима проверка расстояния, состояния и полномочий игрока.
291Ключ для звёздСерверная практика / Хранилище данных: учебные ключи · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите строку в Output. Никакой DataStore здесь не вызывается.

Код Luau
local Players = game:GetService("Players")
local function keyFor(player)
    return "Stars_" .. tostring(player.UserId)
end
Players.PlayerAdded:Connect(function(player)
    print("Учебный ключ:", keyFor(player))
end)

Как работает этот код

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис игроков.
  2. local function keyFor(player)Создаём функцию формирования строкового ключа.
  3. return "Stars_" .. tostring(player.UserId)Используем постоянный числовой ID игрока, переведённый в строку.
  4. Players.PlayerAdded:Connect(function(player)Показываем ключ при входе игрока.
  5. print("Учебный ключ:", keyFor(player))Выводим его в Output; никакого сохранения в DataStore пока нет.
Попробуйте самостоятельно

Поменяй префикс ключа и проверьте его в Output. Объясни, почему имя игрока хуже UserId для постоянного ключа; это пока не пример записи в DataStore. Применение: «Ключ для звёзд».

Как проверить

Получится ключ, уникальный для категории и идентификатора пользователя.

Обратите внимание: Не принимай создание строки ключа за сохранение данных: для постоянного хранения нужны DataStoreService, обработка ошибок и продуманная схема записи.
292Ключ для победСерверная практика / Хранилище данных: учебные ключи · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите строку в Output. Никакой DataStore здесь не вызывается.

Код Luau
local Players = game:GetService("Players")
local function keyFor(player)
    return "Wins_" .. tostring(player.UserId)
end
Players.PlayerAdded:Connect(function(player)
    print("Учебный ключ:", keyFor(player))
end)

Как работает этот код

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис игроков.
  2. local function keyFor(player)Создаём функцию формирования строкового ключа.
  3. return "Wins_" .. tostring(player.UserId)Используем постоянный числовой ID игрока, переведённый в строку.
  4. Players.PlayerAdded:Connect(function(player)Показываем ключ при входе игрока.
  5. print("Учебный ключ:", keyFor(player))Выводим его в Output; никакого сохранения в DataStore пока нет.
Попробуйте самостоятельно

Поменяй префикс ключа и проверьте его в Output. Объясни, почему имя игрока хуже UserId для постоянного ключа; это пока не пример записи в DataStore. Применение: «Ключ для побед».

Как проверить

Получится ключ, уникальный для категории и идентификатора пользователя.

Обратите внимание: Не принимай создание строки ключа за сохранение данных: для постоянного хранения нужны DataStoreService, обработка ошибок и продуманная схема записи.
293Ключ для монетСерверная практика / Хранилище данных: учебные ключи · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите строку в Output. Никакой DataStore здесь не вызывается.

Код Luau
local Players = game:GetService("Players")
local function keyFor(player)
    return "Coins_" .. tostring(player.UserId)
end
Players.PlayerAdded:Connect(function(player)
    print("Учебный ключ:", keyFor(player))
end)

Как работает этот код

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис игроков.
  2. local function keyFor(player)Создаём функцию формирования строкового ключа.
  3. return "Coins_" .. tostring(player.UserId)Используем постоянный числовой ID игрока, переведённый в строку.
  4. Players.PlayerAdded:Connect(function(player)Показываем ключ при входе игрока.
  5. print("Учебный ключ:", keyFor(player))Выводим его в Output; никакого сохранения в DataStore пока нет.
Попробуйте самостоятельно

Поменяй префикс ключа и проверьте его в Output. Объясни, почему имя игрока хуже UserId для постоянного ключа; это пока не пример записи в DataStore. Применение: «Ключ для монет».

Как проверить

Получится ключ, уникальный для категории и идентификатора пользователя.

Обратите внимание: Не принимай создание строки ключа за сохранение данных: для постоянного хранения нужны DataStoreService, обработка ошибок и продуманная схема записи.
294Ключ для лучшего времениСерверная практика / Хранилище данных: учебные ключи · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите строку в Output. Никакой DataStore здесь не вызывается.

Код Luau
local Players = game:GetService("Players")
local function keyFor(player)
    return "BestTime_" .. tostring(player.UserId)
end
Players.PlayerAdded:Connect(function(player)
    print("Учебный ключ:", keyFor(player))
end)

Как работает этот код

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис игроков.
  2. local function keyFor(player)Создаём функцию формирования строкового ключа.
  3. return "BestTime_" .. tostring(player.UserId)Используем постоянный числовой ID игрока, переведённый в строку.
  4. Players.PlayerAdded:Connect(function(player)Показываем ключ при входе игрока.
  5. print("Учебный ключ:", keyFor(player))Выводим его в Output; никакого сохранения в DataStore пока нет.
Попробуйте самостоятельно

Поменяй префикс ключа и проверьте его в Output. Объясни, почему имя игрока хуже UserId для постоянного ключа; это пока не пример записи в DataStore. Применение: «Ключ для лучшего времени».

Как проверить

Получится ключ, уникальный для категории и идентификатора пользователя.

Обратите внимание: Не принимай создание строки ключа за сохранение данных: для постоянного хранения нужны DataStoreService, обработка ошибок и продуманная схема записи.
295Ключ для уровнейСерверная практика / Хранилище данных: учебные ключи · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите строку в Output. Никакой DataStore здесь не вызывается.

Код Luau
local Players = game:GetService("Players")
local function keyFor(player)
    return "Level_" .. tostring(player.UserId)
end
Players.PlayerAdded:Connect(function(player)
    print("Учебный ключ:", keyFor(player))
end)

Как работает этот код

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис игроков.
  2. local function keyFor(player)Создаём функцию формирования строкового ключа.
  3. return "Level_" .. tostring(player.UserId)Используем постоянный числовой ID игрока, переведённый в строку.
  4. Players.PlayerAdded:Connect(function(player)Показываем ключ при входе игрока.
  5. print("Учебный ключ:", keyFor(player))Выводим его в Output; никакого сохранения в DataStore пока нет.
Попробуйте самостоятельно

Поменяй префикс ключа и проверьте его в Output. Объясни, почему имя игрока хуже UserId для постоянного ключа; это пока не пример записи в DataStore. Применение: «Ключ для уровней».

Как проверить

Получится ключ, уникальный для категории и идентификатора пользователя.

Обратите внимание: Не принимай создание строки ключа за сохранение данных: для постоянного хранения нужны DataStoreService, обработка ошибок и продуманная схема записи.
296Ключ для очковСерверная практика / Хранилище данных: учебные ключи · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите строку в Output. Никакой DataStore здесь не вызывается.

Код Luau
local Players = game:GetService("Players")
local function keyFor(player)
    return "Score_" .. tostring(player.UserId)
end
Players.PlayerAdded:Connect(function(player)
    print("Учебный ключ:", keyFor(player))
end)

Как работает этот код

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис игроков.
  2. local function keyFor(player)Создаём функцию формирования строкового ключа.
  3. return "Score_" .. tostring(player.UserId)Используем постоянный числовой ID игрока, переведённый в строку.
  4. Players.PlayerAdded:Connect(function(player)Показываем ключ при входе игрока.
  5. print("Учебный ключ:", keyFor(player))Выводим его в Output; никакого сохранения в DataStore пока нет.
Попробуйте самостоятельно

Поменяй префикс ключа и проверьте его в Output. Объясни, почему имя игрока хуже UserId для постоянного ключа; это пока не пример записи в DataStore. Применение: «Ключ для очков».

Как проверить

Получится ключ, уникальный для категории и идентификатора пользователя.

Обратите внимание: Не принимай создание строки ключа за сохранение данных: для постоянного хранения нужны DataStoreService, обработка ошибок и продуманная схема записи.
297Ключ для опытаСерверная практика / Хранилище данных: учебные ключи · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите строку в Output. Никакой DataStore здесь не вызывается.

Код Luau
local Players = game:GetService("Players")
local function keyFor(player)
    return "XP_" .. tostring(player.UserId)
end
Players.PlayerAdded:Connect(function(player)
    print("Учебный ключ:", keyFor(player))
end)

Как работает этот код

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис игроков.
  2. local function keyFor(player)Создаём функцию формирования строкового ключа.
  3. return "XP_" .. tostring(player.UserId)Используем постоянный числовой ID игрока, переведённый в строку.
  4. Players.PlayerAdded:Connect(function(player)Показываем ключ при входе игрока.
  5. print("Учебный ключ:", keyFor(player))Выводим его в Output; никакого сохранения в DataStore пока нет.
Попробуйте самостоятельно

Поменяй префикс ключа и проверьте его в Output. Объясни, почему имя игрока хуже UserId для постоянного ключа; это пока не пример записи в DataStore. Применение: «Ключ для опыта».

Как проверить

Получится ключ, уникальный для категории и идентификатора пользователя.

Обратите внимание: Не принимай создание строки ключа за сохранение данных: для постоянного хранения нужны DataStoreService, обработка ошибок и продуманная схема записи.
298Ключ для достиженийСерверная практика / Хранилище данных: учебные ключи · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите строку в Output. Никакой DataStore здесь не вызывается.

Код Luau
local Players = game:GetService("Players")
local function keyFor(player)
    return "Badges_" .. tostring(player.UserId)
end
Players.PlayerAdded:Connect(function(player)
    print("Учебный ключ:", keyFor(player))
end)

Как работает этот код

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис игроков.
  2. local function keyFor(player)Создаём функцию формирования строкового ключа.
  3. return "Badges_" .. tostring(player.UserId)Используем постоянный числовой ID игрока, переведённый в строку.
  4. Players.PlayerAdded:Connect(function(player)Показываем ключ при входе игрока.
  5. print("Учебный ключ:", keyFor(player))Выводим его в Output; никакого сохранения в DataStore пока нет.
Попробуйте самостоятельно

Поменяй префикс ключа и проверьте его в Output. Объясни, почему имя игрока хуже UserId для постоянного ключа; это пока не пример записи в DataStore. Применение: «Ключ для достижений».

Как проверить

Получится ключ, уникальный для категории и идентификатора пользователя.

Обратите внимание: Не принимай создание строки ключа за сохранение данных: для постоянного хранения нужны DataStoreService, обработка ошибок и продуманная схема записи.
299Ключ для открытых мировСерверная практика / Хранилище данных: учебные ключи · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите строку в Output. Никакой DataStore здесь не вызывается.

Код Luau
local Players = game:GetService("Players")
local function keyFor(player)
    return "Worlds_" .. tostring(player.UserId)
end
Players.PlayerAdded:Connect(function(player)
    print("Учебный ключ:", keyFor(player))
end)

Как работает этот код

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис игроков.
  2. local function keyFor(player)Создаём функцию формирования строкового ключа.
  3. return "Worlds_" .. tostring(player.UserId)Используем постоянный числовой ID игрока, переведённый в строку.
  4. Players.PlayerAdded:Connect(function(player)Показываем ключ при входе игрока.
  5. print("Учебный ключ:", keyFor(player))Выводим его в Output; никакого сохранения в DataStore пока нет.
Попробуйте самостоятельно

Поменяй префикс ключа и проверьте его в Output. Объясни, почему имя игрока хуже UserId для постоянного ключа; это пока не пример записи в DataStore. Применение: «Ключ для открытых миров».

Как проверить

Получится ключ, уникальный для категории и идентификатора пользователя.

Обратите внимание: Не принимай создание строки ключа за сохранение данных: для постоянного хранения нужны DataStoreService, обработка ошибок и продуманная схема записи.
300Ключ для сохранённых вещейСерверная практика / Хранилище данных: учебные ключи · Средний
Основной примерНе проверено запуском в Roblox Studio

Что делает скрипт

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных.

Куда вставить

Script в ServerScriptService

Пошаговая установка

  1. Подготовь объект или сервис, указанный в поле «Куда вставить».
  2. Добавьте нужный тип Script или LocalScript.
  3. Вставьте код, запустите Play и сравните с ожидаемым результатом.

Запустите Play и посмотрите строку в Output. Никакой DataStore здесь не вызывается.

Код Luau
local Players = game:GetService("Players")
local function keyFor(player)
    return "Items_" .. tostring(player.UserId)
end
Players.PlayerAdded:Connect(function(player)
    print("Учебный ключ:", keyFor(player))
end)

Как работает этот код

UserId нужен для устойчивого идентификатора игрока; это только создание ключа, не сохранение данных. Это учебная демонстрация, а не полностью готовая игровая механика.

Разбор строк

  1. local Players = game:GetService("Players")Получаем сервис игроков.
  2. local function keyFor(player)Создаём функцию формирования строкового ключа.
  3. return "Items_" .. tostring(player.UserId)Используем постоянный числовой ID игрока, переведённый в строку.
  4. Players.PlayerAdded:Connect(function(player)Показываем ключ при входе игрока.
  5. print("Учебный ключ:", keyFor(player))Выводим его в Output; никакого сохранения в DataStore пока нет.
Попробуйте самостоятельно

Поменяй префикс ключа и проверьте его в Output. Объясни, почему имя игрока хуже UserId для постоянного ключа; это пока не пример записи в DataStore. Применение: «Ключ для сохранённых вещей».

Как проверить

Получится ключ, уникальный для категории и идентификатора пользователя.

Обратите внимание: Не принимай создание строки ключа за сохранение данных: для постоянного хранения нужны DataStoreService, обработка ошибок и продуманная схема записи.
301Перекраска по касанию: маякСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(30,50,70)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(30,50,70)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Измените RGB-цвет на свой. Проверь, что деталь окрашивается только при касании персонажа.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Beacon.

Обратите внимание: У одной детали Touched может сработать несколько раз.
302Перекраска по касанию: воротаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(41,57,83)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(41,57,83)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Создайте рядом вторую деталь с тем же скриптом, но другим цветом. Сравните результат.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Gate.

Обратите внимание: У одной детали Touched может сработать несколько раз.
303Перекраска по касанию: мостСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(52,64,96)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(52,64,96)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Замени оттенок на яркий предупреждающий и объясни, почему цвет помогает игроку.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Bridge.

Обратите внимание: У одной детали Touched может сработать несколько раз.
304Перекраска по касанию: платформаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(63,71,109)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(63,71,109)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Измените код так, чтобы касание другого Part без Humanoid не меняло цвет.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Platform.

Обратите внимание: У одной детали Touched может сработать несколько раз.
305Перекраска по касанию: сфераСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(74,78,122)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(74,78,122)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Добавьте печать сообщения в Output после успешной перекраски.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Sphere.

Обратите внимание: У одной детали Touched может сработать несколько раз.
306Перекраска по касанию: фонарьСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(85,85,135)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(85,85,135)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Измените RGB-цвет на свой. Проверь, что деталь окрашивается только при касании персонажа.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Lantern.

Обратите внимание: У одной детали Touched может сработать несколько раз.
307Перекраска по касанию: кристаллСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(96,92,148)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(96,92,148)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Создайте рядом вторую деталь с тем же скриптом, но другим цветом. Сравните результат.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Crystal.

Обратите внимание: У одной детали Touched может сработать несколько раз.
308Перекраска по касанию: порталСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(107,99,161)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(107,99,161)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Замени оттенок на яркий предупреждающий и объясни, почему цвет помогает игроку.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Portal.

Обратите внимание: У одной детали Touched может сработать несколько раз.
309Перекраска по касанию: сундукСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(118,106,174)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(118,106,174)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Измените код так, чтобы касание другого Part без Humanoid не меняло цвет.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Chest.

Обратите внимание: У одной детали Touched может сработать несколько раз.
310Перекраска по касанию: кнопкаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(129,113,187)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(129,113,187)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Добавьте печать сообщения в Output после успешной перекраски.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Button.

Обратите внимание: У одной детали Touched может сработать несколько раз.
311Перекраска по касанию: лифтСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(140,120,200)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(140,120,200)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Измените RGB-цвет на свой. Проверь, что деталь окрашивается только при касании персонажа.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Lift.

Обратите внимание: У одной детали Touched может сработать несколько раз.
312Перекраска по касанию: дорожкаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(151,127,213)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(151,127,213)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Создайте рядом вторую деталь с тем же скриптом, но другим цветом. Сравните результат.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Road.

Обратите внимание: У одной детали Touched может сработать несколько раз.
313Перекраска по касанию: площадкаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(162,134,226)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(162,134,226)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Замени оттенок на яркий предупреждающий и объясни, почему цвет помогает игроку.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Pad.

Обратите внимание: У одной детали Touched может сработать несколько раз.
314Перекраска по касанию: колоннаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(173,141,79)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(173,141,79)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Измените код так, чтобы касание другого Part без Humanoid не меняло цвет.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Column.

Обратите внимание: У одной детали Touched может сработать несколько раз.
315Перекраска по касанию: башняСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(184,148,92)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(184,148,92)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Добавьте печать сообщения в Output после успешной перекраски.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Tower.

Обратите внимание: У одной детали Touched может сработать несколько раз.
316Перекраска по касанию: островСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(195,155,105)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(195,155,105)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Измените RGB-цвет на свой. Проверь, что деталь окрашивается только при касании персонажа.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Island.

Обратите внимание: У одной детали Touched может сработать несколько раз.
317Перекраска по касанию: каменьСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(206,162,118)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(206,162,118)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Создайте рядом вторую деталь с тем же скриптом, но другим цветом. Сравните результат.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Stone.

Обратите внимание: У одной детали Touched может сработать несколько раз.
318Перекраска по касанию: деревоСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(217,169,131)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(217,169,131)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Замени оттенок на яркий предупреждающий и объясни, почему цвет помогает игроку.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Tree.

Обратите внимание: У одной детали Touched может сработать несколько раз.
319Перекраска по касанию: метеорСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(228,176,144)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(228,176,144)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Измените код так, чтобы касание другого Part без Humanoid не меняло цвет.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Meteor.

Обратите внимание: У одной детали Touched может сработать несколько раз.
320Перекраска по касанию: аркаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local p=script.Parent
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Color=Color3.fromRGB(39,183,157)
 end
end)

Как работает этот код

Touched реагирует на касание детали; Color3.fromRGB задаёт новый цвет. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  3. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  4. p.Color=Color3.fromRGB(39,183,157)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
Попробуйте самостоятельно

Добавьте печать сообщения в Output после успешной перекраски.

Как проверить

Коснись детали и проверьте изменение цвета. Проверьте объект Arch.

Обратите внимание: У одной детали Touched может сработать несколько раз.
321Неоновое свечение по касанию: маякСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Уменьши Range до 6 и сравните освещённую область с исходной.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Beacon.

Обратите внимание: PointLight создаётся только один раз.
322Неоновое свечение по касанию: воротаСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Измените Brightness и проверьте видимость объекта при слабом освещении.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Gate.

Обратите внимание: PointLight создаётся только один раз.
323Неоновое свечение по касанию: мостСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Сделайте подсветку другого цвета через light.Color и сравните её с Neon.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Bridge.

Обратите внимание: PointLight создаётся только один раз.
324Неоновое свечение по касанию: платформаСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Добавьте задержку и выключение PointLight спустя три секунды.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Platform.

Обратите внимание: PointLight создаётся только один раз.
325Неоновое свечение по касанию: сфераСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Проверь, что касание постороннего предмета не включает свечение.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Sphere.

Обратите внимание: PointLight создаётся только один раз.
326Неоновое свечение по касанию: фонарьСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Уменьши Range до 6 и сравните освещённую область с исходной.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Lantern.

Обратите внимание: PointLight создаётся только один раз.
327Неоновое свечение по касанию: кристаллСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Измените Brightness и проверьте видимость объекта при слабом освещении.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Crystal.

Обратите внимание: PointLight создаётся только один раз.
328Неоновое свечение по касанию: порталСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Сделайте подсветку другого цвета через light.Color и сравните её с Neon.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Portal.

Обратите внимание: PointLight создаётся только один раз.
329Неоновое свечение по касанию: сундукСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Добавьте задержку и выключение PointLight спустя три секунды.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Chest.

Обратите внимание: PointLight создаётся только один раз.
330Неоновое свечение по касанию: кнопкаСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Проверь, что касание постороннего предмета не включает свечение.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Button.

Обратите внимание: PointLight создаётся только один раз.
331Неоновое свечение по касанию: лифтСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Уменьши Range до 6 и сравните освещённую область с исходной.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Lift.

Обратите внимание: PointLight создаётся только один раз.
332Неоновое свечение по касанию: дорожкаСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Измените Brightness и проверьте видимость объекта при слабом освещении.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Road.

Обратите внимание: PointLight создаётся только один раз.
333Неоновое свечение по касанию: площадкаСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Сделайте подсветку другого цвета через light.Color и сравните её с Neon.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Pad.

Обратите внимание: PointLight создаётся только один раз.
334Неоновое свечение по касанию: колоннаСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Добавьте задержку и выключение PointLight спустя три секунды.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Column.

Обратите внимание: PointLight создаётся только один раз.
335Неоновое свечение по касанию: башняСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Проверь, что касание постороннего предмета не включает свечение.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Tower.

Обратите внимание: PointLight создаётся только один раз.
336Неоновое свечение по касанию: островСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Уменьши Range до 6 и сравните освещённую область с исходной.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Island.

Обратите внимание: PointLight создаётся только один раз.
337Неоновое свечение по касанию: каменьСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Измените Brightness и проверьте видимость объекта при слабом освещении.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Stone.

Обратите внимание: PointLight создаётся только один раз.
338Неоновое свечение по касанию: деревоСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Сделайте подсветку другого цвета через light.Color и сравните её с Neon.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Tree.

Обратите внимание: PointLight создаётся только один раз.
339Неоновое свечение по касанию: метеорСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Добавьте задержку и выключение PointLight спустя три секунды.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Meteor.

Обратите внимание: PointLight создаётся только один раз.
340Неоновое свечение по касанию: аркаСоздание миров / Цвет и материалы · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №321

Что делает скрипт

Material изменяет способ отображения поверхности, а PointLight подсвечивает область.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight")
light.Brightness=2
light.Range=12
light.Enabled=false
light.Parent=p
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  p.Material=Enum.Material.Neon
  light.Enabled=true
 end
end)

Как работает этот код

Material изменяет способ отображения поверхности, а PointLight подсвечивает область. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local light=Instance.new("PointLight")Создаём источник света, который освещает окружающие поверхности.
  3. light.Brightness=2Задаём яркость освещения: чем больше число, тем ярче свет.
  4. light.Range=12Устанавливаем радиус освещения в studs.
  5. light.Enabled=falseВначале источник света выключен.
  6. light.Parent=pПомещаем PointLight внутрь детали, чтобы он освещал пространство возле неё.
  7. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  8. if hit.Parent:FindFirstChildOfClass("Humanoid") thenПроверяем, относится ли коснувшаяся деталь к модели с Humanoid (обычно к персонажу).
  9. p.Material=Enum.Material.NeonМеняем материал детали на Neon. Сам по себе Neon не освещает окружающие объекты.
  10. light.Enabled=trueВключаем созданный PointLight после касания.
Попробуйте самостоятельно

Проверь, что касание постороннего предмета не включает свечение.

Как проверить

Коснись детали: она станет неоновой и засияет. Проверьте объект Arch.

Обратите внимание: PointLight создаётся только один раз.
341Возврат цвета через три секунды: маякСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(44,76,88)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(44,76,88)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Поменяй время ожидания с 3 на 5 секунд и проверьте возвращение цвета.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Beacon.

Обратите внимание: Переменная busy препятствует наложению таймеров.
342Возврат цвета через три секунды: воротаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(55,83,101)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(55,83,101)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Попробуйте несколько быстрых касаний и убедись, что защита busy работает.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Gate.

Обратите внимание: Переменная busy препятствует наложению таймеров.
343Возврат цвета через три секунды: мостСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(66,90,114)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(66,90,114)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Измените временный цвет и проверь, что исходный всё равно восстанавливается.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Bridge.

Обратите внимание: Переменная busy препятствует наложению таймеров.
344Возврат цвета через три секунды: платформаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(77,97,127)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(77,97,127)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Добавьте вывод «эффект начался» и «эффект завершён» в Output.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Platform.

Обратите внимание: Переменная busy препятствует наложению таймеров.
345Возврат цвета через три секунды: сфераСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(88,104,140)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(88,104,140)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Сделайте две отдельные детали с разными исходными цветами и проверьте восстановление.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Sphere.

Обратите внимание: Переменная busy препятствует наложению таймеров.
346Возврат цвета через три секунды: фонарьСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(99,111,153)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(99,111,153)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Поменяй время ожидания с 3 на 5 секунд и проверьте возвращение цвета.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Lantern.

Обратите внимание: Переменная busy препятствует наложению таймеров.
347Возврат цвета через три секунды: кристаллСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(110,118,166)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(110,118,166)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Попробуйте несколько быстрых касаний и убедись, что защита busy работает.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Crystal.

Обратите внимание: Переменная busy препятствует наложению таймеров.
348Возврат цвета через три секунды: порталСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(121,125,179)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(121,125,179)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Измените временный цвет и проверь, что исходный всё равно восстанавливается.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Portal.

Обратите внимание: Переменная busy препятствует наложению таймеров.
349Возврат цвета через три секунды: сундукСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(132,132,192)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(132,132,192)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Добавьте вывод «эффект начался» и «эффект завершён» в Output.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Chest.

Обратите внимание: Переменная busy препятствует наложению таймеров.
350Возврат цвета через три секунды: кнопкаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(143,139,205)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(143,139,205)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Сделайте две отдельные детали с разными исходными цветами и проверьте восстановление.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Button.

Обратите внимание: Переменная busy препятствует наложению таймеров.
351Возврат цвета через три секунды: лифтСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(154,146,218)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(154,146,218)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Поменяй время ожидания с 3 на 5 секунд и проверьте возвращение цвета.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Lift.

Обратите внимание: Переменная busy препятствует наложению таймеров.
352Возврат цвета через три секунды: дорожкаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(165,153,71)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(165,153,71)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Попробуйте несколько быстрых касаний и убедись, что защита busy работает.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Road.

Обратите внимание: Переменная busy препятствует наложению таймеров.
353Возврат цвета через три секунды: площадкаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(176,160,84)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(176,160,84)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Измените временный цвет и проверь, что исходный всё равно восстанавливается.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Pad.

Обратите внимание: Переменная busy препятствует наложению таймеров.
354Возврат цвета через три секунды: колоннаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(187,167,97)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(187,167,97)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Добавьте вывод «эффект начался» и «эффект завершён» в Output.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Column.

Обратите внимание: Переменная busy препятствует наложению таймеров.
355Возврат цвета через три секунды: башняСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(198,174,110)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(198,174,110)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Сделайте две отдельные детали с разными исходными цветами и проверьте восстановление.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Tower.

Обратите внимание: Переменная busy препятствует наложению таймеров.
356Возврат цвета через три секунды: островСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(209,181,123)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(209,181,123)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Поменяй время ожидания с 3 на 5 секунд и проверьте возвращение цвета.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Island.

Обратите внимание: Переменная busy препятствует наложению таймеров.
357Возврат цвета через три секунды: каменьСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(220,188,136)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(220,188,136)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Попробуйте несколько быстрых касаний и убедись, что защита busy работает.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Stone.

Обратите внимание: Переменная busy препятствует наложению таймеров.
358Возврат цвета через три секунды: деревоСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(31,195,149)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(31,195,149)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Измените временный цвет и проверь, что исходный всё равно восстанавливается.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Tree.

Обратите внимание: Переменная busy препятствует наложению таймеров.
359Возврат цвета через три секунды: метеорСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(42,202,162)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(42,202,162)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Добавьте вывод «эффект начался» и «эффект завершён» в Output.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Meteor.

Обратите внимание: Переменная busy препятствует наложению таймеров.
360Возврат цвета через три секунды: аркаСоздание миров / Цвет и материалы · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local old=p.Color
local busy=false
p.Touched:Connect(function(hit)
 if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return end
 busy=true
 p.Color=Color3.fromRGB(53,209,175)
 task.wait(3)
 p.Color=old
 busy=false
end)

Как работает этот код

Сохраняем исходный цвет перед изменением и возвращаем его после task.wait. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  2. local old=p.ColorЗапоминаем исходный цвет детали, чтобы затем восстановить его.
  3. local busy=falseФлаг защищает от одновременных срабатываний, пока действует эффект.
  4. p.Touched:Connect(function(hit)Подписываемся на касание. hit — коснувшаяся деталь персонажа или другого объекта.
  5. if busy or not hit.Parent:FindFirstChildOfClass("Humanoid") then return endПрекращаем обработку, если эффект уже запущен или коснулся не персонаж.
  6. busy=trueБлокируем новые касания до завершения эффекта.
  7. p.Color=Color3.fromRGB(53,209,175)Устанавливаем цвет по трём каналам RGB (красный, зелёный, синий; значения от 0 до 255).
  8. task.wait(3)Ждём примерно три секунды; это не точный соревновательный таймер.
  9. p.Color=oldВозвращаем сохранённый первоначальный цвет.
  10. busy=falseСнова разрешаем запуск эффекта.
Попробуйте самостоятельно

Сделайте две отдельные детали с разными исходными цветами и проверьте восстановление.

Как проверить

Коснись детали: цвет изменится на три секунды. Проверьте объект Arch.

Обратите внимание: Переменная busy препятствует наложению таймеров.
361Плавное поднятие: маякДвижение и эффекты / Движение деталей · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Измените высоту подъёма с 8 на 4 studs и измерь результат в Studio.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Beacon.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
362Плавное поднятие: воротаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Измените время Tween с 3 на 6 секунд: как изменится скорость?

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Gate.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
363Плавное поднятие: мостДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Сравните направление движения детали после её поворота в редакторе.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Bridge.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
364Плавное поднятие: платформаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Создайте второй объект с другим исходным положением, сохранив тот же скрипт.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Platform.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
365Плавное поднятие: сфераДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Убедись, что скрипт запускает движение только один раз при старте сервера.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Sphere.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
366Плавное поднятие: фонарьДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Измените высоту подъёма с 8 на 4 studs и измерь результат в Studio.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Lantern.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
367Плавное поднятие: кристаллДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Измените время Tween с 3 на 6 секунд: как изменится скорость?

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Crystal.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
368Плавное поднятие: порталДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Сравните направление движения детали после её поворота в редакторе.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Portal.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
369Плавное поднятие: сундукДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Создайте второй объект с другим исходным положением, сохранив тот же скрипт.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Chest.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
370Плавное поднятие: кнопкаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Убедись, что скрипт запускает движение только один раз при старте сервера.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Button.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
371Плавное поднятие: лифтДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Измените высоту подъёма с 8 на 4 studs и измерь результат в Studio.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Lift.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
372Плавное поднятие: дорожкаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Измените время Tween с 3 на 6 секунд: как изменится скорость?

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Road.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
373Плавное поднятие: площадкаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Сравните направление движения детали после её поворота в редакторе.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Pad.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
374Плавное поднятие: колоннаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Создайте второй объект с другим исходным положением, сохранив тот же скрипт.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Column.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
375Плавное поднятие: башняДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Убедись, что скрипт запускает движение только один раз при старте сервера.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Tower.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
376Плавное поднятие: островДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Измените высоту подъёма с 8 на 4 studs и измерь результат в Studio.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Island.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
377Плавное поднятие: каменьДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Измените время Tween с 3 на 6 секунд: как изменится скорость?

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Stone.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
378Плавное поднятие: деревоДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Сравните направление движения детали после её поворота в редакторе.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Tree.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
379Плавное поднятие: метеорДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Создайте второй объект с другим исходным положением, сохранив тот же скрипт.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Meteor.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
380Плавное поднятие: аркаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №361

Что делает скрипт

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.new(0,8,0)
TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()

Как работает этот код

TweenService меняет CFrame за указанное время; Anchored предотвращает падение детали. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.new(0,8,0)Вычисляем конечное положение: на 8 studs выше относительно текущей ориентации детали.
  5. TweenService:Create(p,TweenInfo.new(3),{CFrame=target}):Play()Создаём и сразу запускаем трёхсекундное плавное перемещение детали.
Попробуйте самостоятельно

Убедись, что скрипт запускает движение только один раз при старте сервера.

Как проверить

Деталь плавно поднимется на 8 studs. Проверьте объект Arch.

Обратите внимание: Для неподвижной конструкции включи Anchored. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
381Плавный поворот: маякДвижение и эффекты / Движение деталей · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Измените угол с 90 на 45 градусов и сравните положение.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Beacon.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
382Плавный поворот: воротаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Попробуйте время Tween 4 секунды вместо 2 и сравните плавность.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Gate.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
383Плавный поворот: мостДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Проверьте поворот прямоугольного блока: так направление заметнее.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Bridge.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
384Плавный поворот: платформаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Поверни деталь в редакторе до Play и проверьте локальную ось вращения.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Platform.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
385Плавный поворот: сфераДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Добавьте второй объект и задай ему поворот в противоположную сторону.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Sphere.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
386Плавный поворот: фонарьДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Измените угол с 90 на 45 градусов и сравните положение.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Lantern.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
387Плавный поворот: кристаллДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Попробуйте время Tween 4 секунды вместо 2 и сравните плавность.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Crystal.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
388Плавный поворот: порталДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Проверьте поворот прямоугольного блока: так направление заметнее.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Portal.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
389Плавный поворот: сундукДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Поверни деталь в редакторе до Play и проверьте локальную ось вращения.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Chest.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
390Плавный поворот: кнопкаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Добавьте второй объект и задай ему поворот в противоположную сторону.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Button.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
391Плавный поворот: лифтДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Измените угол с 90 на 45 градусов и сравните положение.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Lift.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
392Плавный поворот: дорожкаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Попробуйте время Tween 4 секунды вместо 2 и сравните плавность.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Road.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
393Плавный поворот: площадкаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Проверьте поворот прямоугольного блока: так направление заметнее.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Pad.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
394Плавный поворот: колоннаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Поверни деталь в редакторе до Play и проверьте локальную ось вращения.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Column.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
395Плавный поворот: башняДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Добавьте второй объект и задай ему поворот в противоположную сторону.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Tower.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
396Плавный поворот: островДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Измените угол с 90 на 45 градусов и сравните положение.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Island.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
397Плавный поворот: каменьДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Попробуйте время Tween 4 секунды вместо 2 и сравните плавность.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Stone.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
398Плавный поворот: деревоДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Проверьте поворот прямоугольного блока: так направление заметнее.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Tree.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
399Плавный поворот: метеорДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Поверни деталь в редакторе до Play и проверьте локальную ось вращения.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Meteor.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
400Плавный поворот: аркаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №381

Что делает скрипт

TweenService анимирует угол поворота объекта вокруг оси Y.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local TweenService=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)
TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()

Как работает этот код

TweenService анимирует угол поворота объекта вокруг оси Y. Сначала разберись с настройкой детали и выполнением события, затем измените один параметр и сравните поведение в Play.

Разбор строк

  1. local TweenService=game:GetService("TweenService")Подключаем сервис плавного изменения свойств объектов.
  2. local p=script.ParentПолучаем деталь, в которую вложен этот Script. Имя детали в коде не используется.
  3. p.Anchored=trueЗакрепляем деталь, чтобы обычная физика не сдвигала её.
  4. local target=p.CFrame*CFrame.Angles(0,math.rad(90),0)Вычисляем конечный поворот вокруг локальной оси Y на 90 градусов.
  5. TweenService:Create(p,TweenInfo.new(2),{CFrame=target}):Play()Создаём и сразу запускаем двухсекундный плавный поворот детали.
Попробуйте самостоятельно

Добавьте второй объект и задай ему поворот в противоположную сторону.

Как проверить

Деталь повернётся на четверть оборота. Проверьте объект Arch.

Обратите внимание: При анимации CFrame учитывай исходную ориентацию. Этот код запускает анимацию при старте и не создаёт полноценный лифт или вращающуюся платформу для перевозки игроков.
401Пульсация размера: маякДвижение и эффекты / Движение деталей · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «маяк» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Beacon.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
402Пульсация размера: воротаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «ворота» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Gate.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
403Пульсация размера: мостДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «мост» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Bridge.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
404Пульсация размера: платформаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «платформа» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Platform.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
405Пульсация размера: сфераДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «сфера» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Sphere.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
406Пульсация размера: фонарьДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «фонарь» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Lantern.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
407Пульсация размера: кристаллДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «кристалл» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Crystal.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
408Пульсация размера: порталДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «портал» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Portal.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
409Пульсация размера: сундукДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «сундук» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Chest.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
410Пульсация размера: кнопкаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «кнопка» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Button.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
411Пульсация размера: лифтДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «лифт» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Lift.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
412Пульсация размера: дорожкаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «дорожка» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Road.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
413Пульсация размера: площадкаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «площадка» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Pad.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
414Пульсация размера: колоннаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «колонна» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Column.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
415Пульсация размера: башняДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «башня» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Tower.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
416Пульсация размера: островДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «остров» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Island.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
417Пульсация размера: каменьДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «камень» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Stone.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
418Пульсация размера: деревоДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «дерево» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Tree.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
419Пульсация размера: метеорДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «метеор» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Meteor.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
420Пульсация размера: аркаДвижение и эффекты / Движение деталей · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №401

Что делает скрипт

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local T=game:GetService("TweenService")
local p=script.Parent
p.Anchored=true
local original=p.Size
while p.Parent do
 local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})
 a:Play(); a.Completed:Wait()
 local b=T:Create(p,TweenInfo.new(1),{Size=original})
 b:Play(); b.Completed:Wait()
end

Как работает этот код

Твин плавно изменяет Size; цикл повторяет увеличение и уменьшение. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local T=game:GetService("TweenService")Получаем сервис плавной анимации TweenService.
  2. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  3. p.Anchored=trueЗакрепляем деталь, чтобы она не падала при изменении размера.
  4. local original=p.SizeЗапоминаем первоначальный размер для возврата.
  5. while p.Parent doПовторяем эффект, пока объект находится в игре.
  6. local a=T:Create(p,TweenInfo.new(1),{Size=original*1.3})Создаём плавное изменение свойства объекта с помощью TweenService.
  7. a:Play(); a.Completed:Wait()Запускаем первую анимацию.
  8. local b=T:Create(p,TweenInfo.new(1),{Size=original})Создаём плавное изменение свойства объекта с помощью TweenService.
  9. b:Play(); b.Completed:Wait()Запускаем возвращение к исходному состоянию.
Попробуйте самостоятельно

Преврати объект «арка» в заметный ориентир: подбери длительность роста и коэффициент увеличения так, чтобы эффект был виден, но не мешал прохождению. Сравните размеры 1.1 и 1.3 от исходного и проверьте результат в Play.

Как проверить

Деталь плавно увеличивается и возвращается к исходному размеру. Проверьте объект Arch.

Обратите внимание: Следи, чтобы рост детали не перекрывал путь игроку.
421Прозрачность по кнопке E: маякИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «маяк» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Beacon.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
422Прозрачность по кнопке E: воротаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «ворота» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Gate.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
423Прозрачность по кнопке E: мостИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «мост» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Bridge.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
424Прозрачность по кнопке E: платформаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «платформа» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Platform.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
425Прозрачность по кнопке E: сфераИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «сфера» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Sphere.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
426Прозрачность по кнопке E: фонарьИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «фонарь» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Lantern.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
427Прозрачность по кнопке E: кристаллИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «кристалл» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Crystal.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
428Прозрачность по кнопке E: порталИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «портал» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Portal.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
429Прозрачность по кнопке E: сундукИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «сундук» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Chest.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
430Прозрачность по кнопке E: кнопкаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Button.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «кнопка» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Button.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
431Прозрачность по кнопке E: лифтИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «лифт» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Lift.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
432Прозрачность по кнопке E: дорожкаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Road.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «дорожка» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Road.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
433Прозрачность по кнопке E: площадкаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «площадка» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Pad.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
434Прозрачность по кнопке E: колоннаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Column.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «колонна» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Column.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
435Прозрачность по кнопке E: башняИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «башня» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Tower.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
436Прозрачность по кнопке E: островИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Island.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «остров» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Island.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
437Прозрачность по кнопке E: каменьИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «камень» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Stone.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
438Прозрачность по кнопке E: деревоИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «дерево» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Tree.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
439Прозрачность по кнопке E: метеорИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «метеор» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Meteor.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
440Прозрачность по кнопке E: аркаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №421

Что делает скрипт

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
 p.Transparency=0.6
end)

Как работает этот код

ProximityPrompt.Triggered запускается при взаимодействии; Transparency задаёт прозрачность. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. prompt.Triggered:Connect(function(player)Подписываемся на событие взаимодействия игрока с подсказкой.
  4. p.Transparency=0.6Устанавливаем прозрачность детали на 60 процентов; столкновения не меняются.
Попробуйте самостоятельно

Для объекта «арка» сравните прозрачность 0.3 и 0.8. Убедитесь в Play, что персонаж по-прежнему сталкивается с деталью. Если нужен настоящий проход, отдельно изучи CanCollide в следующей группе.

Как проверить

Подойдите и нажмите E: деталь станет полупрозрачной. Проверьте объект Arch.

Обратите внимание: Нужен ProximityPrompt именно внутри той детали.
441Тумблер столкновений: маякИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «маяк»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Beacon.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
442Тумблер столкновений: воротаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «ворота»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Gate.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
443Тумблер столкновений: мостИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «мост»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Bridge.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
444Тумблер столкновений: платформаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «платформа»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Platform.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
445Тумблер столкновений: сфераИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «сфера»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Sphere.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
446Тумблер столкновений: фонарьИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «фонарь»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Lantern.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
447Тумблер столкновений: кристаллИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «кристалл»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Crystal.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
448Тумблер столкновений: порталИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «портал»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Portal.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
449Тумблер столкновений: сундукИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «сундук»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Chest.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
450Тумблер столкновений: кнопкаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Button.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «кнопка»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Button.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
451Тумблер столкновений: лифтИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «лифт»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Lift.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
452Тумблер столкновений: дорожкаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Road.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «дорожка»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Road.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
453Тумблер столкновений: площадкаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «площадка»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Pad.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
454Тумблер столкновений: колоннаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Column.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «колонна»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Column.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
455Тумблер столкновений: башняИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «башня»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Tower.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
456Тумблер столкновений: островИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Island.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «остров»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Island.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
457Тумблер столкновений: каменьИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «камень»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Stone.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
458Тумблер столкновений: деревоИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «дерево»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Tree.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
459Тумблер столкновений: метеорИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «метеор»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Meteor.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
460Тумблер столкновений: аркаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №441

Что делает скрипт

Логическая переменная хранит состояние; CanCollide управляет проходимостью.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local opened=false
prompt.Triggered:Connect(function()
 opened=not opened
 p.CanCollide=not opened
 p.Transparency=opened and 0.6 or 0
end)

Как работает этот код

Логическая переменная хранит состояние; CanCollide управляет проходимостью. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local opened=falseХраним состояние прохода: первоначально он закрыт.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. opened=not openedПереключаем состояние при каждом действии.
  6. p.CanCollide=not openedВ открытом состоянии выключаем столкновения, в закрытом — включаем.
  7. p.Transparency=opened and 0.6 or 0Выбираем прозрачность в зависимости от состояния.
Попробуйте самостоятельно

Сделайте переключаемый проход для объекта «арка»: проверьте открытие и закрытие двумя нажатиями E, затем объясни, почему одновременно меняются Transparency и CanCollide. Не закрывай проход, пока внутри стоит персонаж.

Как проверить

Нажмите E дважды: проход откроется и снова закроется. Проверьте объект Arch.

Обратите внимание: Не ставь закрывающуюся деталь прямо внутри персонажа.
461Кнопка с задержкой: маякИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(86,154,142)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(86,154,142)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «маяк» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Beacon.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
462Кнопка с задержкой: воротаИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(97,161,155)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(97,161,155)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «ворота» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Gate.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
463Кнопка с задержкой: мостИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(108,168,168)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(108,168,168)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «мост» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Bridge.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
464Кнопка с задержкой: платформаИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(119,175,181)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(119,175,181)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «платформа» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Platform.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
465Кнопка с задержкой: сфераИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(130,182,194)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(130,182,194)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «сфера» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Sphere.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
466Кнопка с задержкой: фонарьИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(141,189,207)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(141,189,207)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «фонарь» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Lantern.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
467Кнопка с задержкой: кристаллИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(152,196,220)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(152,196,220)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «кристалл» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Crystal.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
468Кнопка с задержкой: порталИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(163,203,73)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(163,203,73)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «портал» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Portal.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
469Кнопка с задержкой: сундукИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(174,210,86)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(174,210,86)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «сундук» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Chest.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
470Кнопка с задержкой: кнопкаИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Button.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(185,217,99)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(185,217,99)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «кнопка» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Button.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
471Кнопка с задержкой: лифтИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(196,224,112)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(196,224,112)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «лифт» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Lift.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
472Кнопка с задержкой: дорожкаИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Road.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(207,51,125)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(207,51,125)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «дорожка» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Road.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
473Кнопка с задержкой: площадкаИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(218,58,138)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(218,58,138)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «площадка» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Pad.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
474Кнопка с задержкой: колоннаИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Column.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(229,65,151)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(229,65,151)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «колонна» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Column.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
475Кнопка с задержкой: башняИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(40,72,164)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(40,72,164)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «башня» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Tower.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
476Кнопка с задержкой: островИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Island.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(51,79,177)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(51,79,177)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «остров» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Island.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
477Кнопка с задержкой: каменьИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(62,86,190)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(62,86,190)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «камень» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Stone.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
478Кнопка с задержкой: деревоИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(73,93,203)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(73,93,203)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «дерево» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Tree.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
479Кнопка с задержкой: метеорИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(84,100,216)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(84,100,216)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «метеор» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Meteor.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
480Кнопка с задержкой: аркаИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local busy=false
prompt.Triggered:Connect(function()
 if busy then return end
 busy=true
 p.Color=Color3.fromRGB(95,107,229)
 task.wait(4)
 busy=false
end)

Как работает этот код

Серверный cooldown не разрешает повторять действие чаще одного раза в четыре секунды. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local busy=falseЗапоминаем, выполняется ли уже операция.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if busy then return endЗапрещаем повторный запуск до окончания текущего.
  6. busy=trueОтмечаем начало обработки нажатия.
  7. p.Color=Color3.fromRGB(95,107,229)Задаём цвет через три составляющие RGB.
  8. task.wait(4)Ожидаем примерно четыре секунды; для точного таймера этого недостаточно.
  9. busy=falseРазрешаем следующее нажатие.
Попробуйте самостоятельно

У объекта «арка» измените цвет и задержку с четырёх до двух секунд. Нажимай E быстро несколько раз: повторное действие должно игнорироваться во время ожидания. Обрати внимание: исходный цвет автоматически НЕ возвращается.

Как проверить

Попробуйте быстро нажать E: действия происходят не чаще раза в 4 секунды. Проверьте объект Arch.

Обратите внимание: Cooldown общий для всех игроков; для личного используй таблицу по UserId.
481Ограниченное число нажатий: маякИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «маяк» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Beacon.

Обратите внимание: Число попыток общее для сервера, не персональное.
482Ограниченное число нажатий: воротаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «ворота» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Gate.

Обратите внимание: Число попыток общее для сервера, не персональное.
483Ограниченное число нажатий: мостИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «мост» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Bridge.

Обратите внимание: Число попыток общее для сервера, не персональное.
484Ограниченное число нажатий: платформаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «платформа» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Platform.

Обратите внимание: Число попыток общее для сервера, не персональное.
485Ограниченное число нажатий: сфераИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «сфера» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Sphere.

Обратите внимание: Число попыток общее для сервера, не персональное.
486Ограниченное число нажатий: фонарьИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «фонарь» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Lantern.

Обратите внимание: Число попыток общее для сервера, не персональное.
487Ограниченное число нажатий: кристаллИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «кристалл» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Crystal.

Обратите внимание: Число попыток общее для сервера, не персональное.
488Ограниченное число нажатий: порталИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «портал» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Portal.

Обратите внимание: Число попыток общее для сервера, не персональное.
489Ограниченное число нажатий: сундукИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «сундук» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Chest.

Обратите внимание: Число попыток общее для сервера, не персональное.
490Ограниченное число нажатий: кнопкаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Button.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «кнопка» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Button.

Обратите внимание: Число попыток общее для сервера, не персональное.
491Ограниченное число нажатий: лифтИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «лифт» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Lift.

Обратите внимание: Число попыток общее для сервера, не персональное.
492Ограниченное число нажатий: дорожкаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Road.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «дорожка» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Road.

Обратите внимание: Число попыток общее для сервера, не персональное.
493Ограниченное число нажатий: площадкаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «площадка» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Pad.

Обратите внимание: Число попыток общее для сервера, не персональное.
494Ограниченное число нажатий: колоннаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Column.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «колонна» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Column.

Обратите внимание: Число попыток общее для сервера, не персональное.
495Ограниченное число нажатий: башняИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «башня» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Tower.

Обратите внимание: Число попыток общее для сервера, не персональное.
496Ограниченное число нажатий: островИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Island.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «остров» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Island.

Обратите внимание: Число попыток общее для сервера, не персональное.
497Ограниченное число нажатий: каменьИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «камень» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Stone.

Обратите внимание: Число попыток общее для сервера, не персональное.
498Ограниченное число нажатий: деревоИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «дерево» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Tree.

Обратите внимание: Число попыток общее для сервера, не персональное.
499Ограниченное число нажатий: метеорИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «метеор» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Meteor.

Обратите внимание: Число попыток общее для сервера, не персональное.
500Ограниченное число нажатий: аркаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №481

Что делает скрипт

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается.

Куда вставить

Script в Part с ProximityPrompt

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local left=3
prompt.Triggered:Connect(function()
 if left<=0 then return end
 left-=1
 print(p.Name,"Осталось нажатий:",left)
 if left==0 then prompt.Enabled=false end
end)

Как работает этот код

Счётчик попыток уменьшается при нажатии; по окончании взаимодействие выключается. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутрь которого помещён скрипт.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ожидаем объект взаимодействия ProximityPrompt внутри детали.
  3. local left=3Начинаем с лимита в три взаимодействия.
  4. prompt.Triggered:Connect(function()Подписываемся на событие взаимодействия игрока с подсказкой.
  5. if left<=0 then return endИгнорируем события после исчерпания лимита.
  6. left-=1Уменьшаем число доступных нажатий на один.
  7. print(p.Name,"Осталось нажатий:",left)Показываем в Output название объекта и количество оставшихся попыток.
  8. if left==0 then prompt.Enabled=false endВыключаем приглашение к взаимодействию после последней попытки.
Попробуйте самостоятельно

Для объекта «арка» увеличь лимит с трёх до пяти нажатий. Отслеживай значение в Output. Проверь, что после пятого взаимодействия ProximityPrompt отключится; это общий лимит детали, а не индивидуальный лимит каждого игрока.

Как проверить

Первые три нажатия сработают, затем подсказка пропадёт. Проверьте объект Arch.

Обратите внимание: Число попыток общее для сервера, не персональное.
501Свет при приближении: маякДвижение и эффекты / Свет · Средний
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Собери мини-игру «Найди маяк»: расставь три одинаковых объекта, каждый со светом. Поменяй в одном экземпляре порог с 18 на 10 studs. Сравните момент включения света.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Beacon.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
502Свет при приближении: воротаДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Добавьте к объекту «ворота» табличку-указатель. Проверьте с двумя игроками: если один стоит рядом, а второй далеко, свет должен продолжать гореть.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Gate.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
503Свет при приближении: мостДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Создайте для «мост» две зоны заметности: одну с радиусом света 8 studs, другую с 24. Объясни, почему Range и расстояние срабатывания — разные числа.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Bridge.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
504Свет при приближении: платформаДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Поставь объект «платформа» у входа на трассу. Проверьте выход и повторный вход игрока в зону: свет должен выключаться, когда рядом никого нет.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Platform.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
505Свет при приближении: сфераДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Собери мини-игру «Найди сфера»: расставь три одинаковых объекта, каждый со светом. Поменяй в одном экземпляре порог с 18 на 10 studs. Сравните момент включения света.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Sphere.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
506Свет при приближении: фонарьДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Добавьте к объекту «фонарь» табличку-указатель. Проверьте с двумя игроками: если один стоит рядом, а второй далеко, свет должен продолжать гореть.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Lantern.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
507Свет при приближении: кристаллДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Создайте для «кристалл» две зоны заметности: одну с радиусом света 8 studs, другую с 24. Объясни, почему Range и расстояние срабатывания — разные числа.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Crystal.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
508Свет при приближении: порталДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

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

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Portal.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
509Свет при приближении: сундукДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Собери мини-игру «Найди сундук»: расставь три одинаковых объекта, каждый со светом. Поменяй в одном экземпляре порог с 18 на 10 studs. Сравните момент включения света.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Chest.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
510Свет при приближении: кнопкаДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Добавьте к объекту «кнопка» табличку-указатель. Проверьте с двумя игроками: если один стоит рядом, а второй далеко, свет должен продолжать гореть.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Button.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
511Свет при приближении: лифтДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Создайте для «лифт» две зоны заметности: одну с радиусом света 8 studs, другую с 24. Объясни, почему Range и расстояние срабатывания — разные числа.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Lift.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
512Свет при приближении: дорожкаДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

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

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Road.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
513Свет при приближении: площадкаДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Собери мини-игру «Найди площадка»: расставь три одинаковых объекта, каждый со светом. Поменяй в одном экземпляре порог с 18 на 10 studs. Сравните момент включения света.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Pad.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
514Свет при приближении: колоннаДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Добавьте к объекту «колонна» табличку-указатель. Проверьте с двумя игроками: если один стоит рядом, а второй далеко, свет должен продолжать гореть.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Column.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
515Свет при приближении: башняДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Создайте для «башня» две зоны заметности: одну с радиусом света 8 studs, другую с 24. Объясни, почему Range и расстояние срабатывания — разные числа.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Tower.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
516Свет при приближении: островДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

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

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Island.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
517Свет при приближении: каменьДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Собери мини-игру «Найди камень»: расставь три одинаковых объекта, каждый со светом. Поменяй в одном экземпляре порог с 18 на 10 studs. Сравните момент включения света.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Stone.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
518Свет при приближении: деревоДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Добавьте к объекту «дерево» табличку-указатель. Проверьте с двумя игроками: если один стоит рядом, а второй далеко, свет должен продолжать гореть.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Tree.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
519Свет при приближении: метеорДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

Создайте для «метеор» две зоны заметности: одну с радиусом света 8 studs, другую с 24. Объясни, почему Range и расстояние срабатывания — разные числа.

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Meteor.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
520Свет при приближении: аркаДвижение и эффекты / Свет · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №501

Что делает скрипт

Скрипт проверяет расстояние до персонажей и включает PointLight рядом с игроком.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=16
while p.Parent do
 local nearby=false
 for _,plr in Players:GetPlayers() do
  local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break end
 end
 light.Enabled=nearby
 task.wait(0.25)
end

Как работает этот код

Сервер периодически измеряет расстояние от объекта до каждого игрока. Если хотя бы один персонаж достаточно близко, включается PointLight. Такой свет общий для всех игроков, а не персональный.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере, чтобы проверять их расстояние.
  2. local p=script.ParentОпределяем деталь, около которой будет включаться свет.
  3. local light=Instance.new("PointLight",p)Создаём источник света внутри детали.
  4. for _,plr in Players:GetPlayers() doПеребираем игроков, которые сейчас находятся на сервере.
  5. local root=plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")Находим центральную деталь персонажа для определения его позиции.
  6. if root and (root.Position-p.Position).Magnitude<18 then nearby=true;break endВычисляем расстояние до детали; порог — 18 studs.
  7. light.Enabled=nearbyСвет включён, если рядом есть хотя бы один игрок.
  8. task.wait(0.25)Проверка выполняется примерно четыре раза в секунду, а не каждый кадр.
Попробуйте самостоятельно

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

Как проверить

Подойдите ближе 18 studs: свет включится. Проверьте объект Arch.

Обратите внимание: Проверка расстояния идёт на сервере и включает один общий свет; это не персональная подсветка каждого игрока. Цикл task.wait(0.25) ограничивает частоту проверок.
521Мигающий фонарь: маякДвижение и эффекты / Свет · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Используй «маяк» как предупреждающий фонарь у препятствия. Измените интервалы на 0.4 секунды и сравните с исходными 1.2.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Beacon.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
522Мигающий фонарь: воротаДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Создайте два фонаря для «ворота»: один медленный, второй быстрый. Измените Brightness так, чтобы было две хорошо различимые фазы.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Gate.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
523Мигающий фонарь: мостДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Преврати «мост» в маяк на финише: чередуй Brightness 2 и 0.1. Проверь, что свет остаётся видимым на расстоянии.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Bridge.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
524Мигающий фонарь: платформаДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Для «платформа» создайте цветной PointLight и сравните пульсацию на ПК и в эмуляторе телефона. Уменьши Range, если эффект мешает обзору.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Platform.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
525Мигающий фонарь: сфераДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Используй «сфера» как предупреждающий фонарь у препятствия. Измените интервалы на 0.4 секунды и сравните с исходными 1.2.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Sphere.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
526Мигающий фонарь: фонарьДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Создайте два фонаря для «фонарь»: один медленный, второй быстрый. Измените Brightness так, чтобы было две хорошо различимые фазы.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Lantern.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
527Мигающий фонарь: кристаллДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Преврати «кристалл» в маяк на финише: чередуй Brightness 2 и 0.1. Проверь, что свет остаётся видимым на расстоянии.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Crystal.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
528Мигающий фонарь: порталДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Для «портал» создайте цветной PointLight и сравните пульсацию на ПК и в эмуляторе телефона. Уменьши Range, если эффект мешает обзору.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Portal.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
529Мигающий фонарь: сундукДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Используй «сундук» как предупреждающий фонарь у препятствия. Измените интервалы на 0.4 секунды и сравните с исходными 1.2.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Chest.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
530Мигающий фонарь: кнопкаДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Создайте два фонаря для «кнопка»: один медленный, второй быстрый. Измените Brightness так, чтобы было две хорошо различимые фазы.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Button.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
531Мигающий фонарь: лифтДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Преврати «лифт» в маяк на финише: чередуй Brightness 2 и 0.1. Проверь, что свет остаётся видимым на расстоянии.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Lift.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
532Мигающий фонарь: дорожкаДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Для «дорожка» создайте цветной PointLight и сравните пульсацию на ПК и в эмуляторе телефона. Уменьши Range, если эффект мешает обзору.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Road.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
533Мигающий фонарь: площадкаДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Используй «площадка» как предупреждающий фонарь у препятствия. Измените интервалы на 0.4 секунды и сравните с исходными 1.2.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Pad.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
534Мигающий фонарь: колоннаДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Создайте два фонаря для «колонна»: один медленный, второй быстрый. Измените Brightness так, чтобы было две хорошо различимые фазы.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Column.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
535Мигающий фонарь: башняДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Преврати «башня» в маяк на финише: чередуй Brightness 2 и 0.1. Проверь, что свет остаётся видимым на расстоянии.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Tower.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
536Мигающий фонарь: островДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Для «остров» создайте цветной PointLight и сравните пульсацию на ПК и в эмуляторе телефона. Уменьши Range, если эффект мешает обзору.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Island.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
537Мигающий фонарь: каменьДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Используй «камень» как предупреждающий фонарь у препятствия. Измените интервалы на 0.4 секунды и сравните с исходными 1.2.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Stone.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
538Мигающий фонарь: деревоДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Создайте два фонаря для «дерево»: один медленный, второй быстрый. Измените Brightness так, чтобы было две хорошо различимые фазы.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Tree.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
539Мигающий фонарь: метеорДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Преврати «метеор» в маяк на финише: чередуй Brightness 2 и 0.1. Проверь, что свет остаётся видимым на расстоянии.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Meteor.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
540Мигающий фонарь: аркаДвижение и эффекты / Свет · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №521

Что делает скрипт

PointLight.Brightness чередуется, создавая мерцание.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local light=Instance.new("PointLight",p)
light.Range=12
while p.Parent do
 light.Brightness=1
 task.wait(1.2)
 light.Brightness=0.3
 task.wait(1.2)
end

Как работает этот код

Серверный Script чередует два значения яркости PointLight с паузами: получается мигающий фонарь. Менять скорость можно через task.wait, силу свечения — через Brightness.

Разбор строк

  1. local p=script.ParentНаходим деталь с фонарём.
  2. local light=Instance.new("PointLight",p)Создаём источник света, привязанный к детали.
  3. light.Range=12Ограничиваем радиус свечения.
  4. while p.Parent doПовторяем изменение яркости, пока деталь находится в игре.
  5. light.Brightness=1Устанавливаем яркую фазу фонаря.
  6. light.Brightness=0.3Устанавливаем тусклую фазу; свет не выключается полностью.
  7. task.wait(1.2)Делаем паузу между фазами мигания.
Попробуйте самостоятельно

Для «арка» создайте цветной PointLight и сравните пульсацию на ПК и в эмуляторе телефона. Уменьши Range, если эффект мешает обзору.

Как проверить

Свет внутри детали будет мигать. Проверьте объект Arch.

Обратите внимание: Не делай слишком частое мигание; береги чувствительных игроков.
541Звук по касанию: маякДвижение и эффекты / Звуки · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Добавьте к объекту «маяк» звук контрольной точки. Установите допустимый SoundId и проверь, что звук звучит при касании персонажа.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Beacon.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
542Звук по касанию: воротаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Сделайте звуковой секрет для «ворота»: звук должен запускаться только при касании игроком. Попробуйте коснуться детали обычным Part и сравните результат.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Gate.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
543Звук по касанию: мостДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Перенеси «мост» к началу уровня и подбери короткий ненавязчивый звук. Проверьте два быстрых касания: второй запуск не должен накладываться на первый.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Bridge.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
544Звук по касанию: платформаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Настройте громкость звука объекта «платформа» через свойство Volume и проверьте результат в Play. Объясни, почему звук без SoundId молчит.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Platform.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
545Звук по касанию: сфераДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Добавьте к объекту «сфера» звук контрольной точки. Установите допустимый SoundId и проверь, что звук звучит при касании персонажа.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Sphere.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
546Звук по касанию: фонарьДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Сделайте звуковой секрет для «фонарь»: звук должен запускаться только при касании игроком. Попробуйте коснуться детали обычным Part и сравните результат.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Lantern.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
547Звук по касанию: кристаллДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Перенеси «кристалл» к началу уровня и подбери короткий ненавязчивый звук. Проверьте два быстрых касания: второй запуск не должен накладываться на первый.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Crystal.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
548Звук по касанию: порталДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Настройте громкость звука объекта «портал» через свойство Volume и проверьте результат в Play. Объясни, почему звук без SoundId молчит.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Portal.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
549Звук по касанию: сундукДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Добавьте к объекту «сундук» звук контрольной точки. Установите допустимый SoundId и проверь, что звук звучит при касании персонажа.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Chest.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
550Звук по касанию: кнопкаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Button.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Сделайте звуковой секрет для «кнопка»: звук должен запускаться только при касании игроком. Попробуйте коснуться детали обычным Part и сравните результат.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Button.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
551Звук по касанию: лифтДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Перенеси «лифт» к началу уровня и подбери короткий ненавязчивый звук. Проверьте два быстрых касания: второй запуск не должен накладываться на первый.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Lift.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
552Звук по касанию: дорожкаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Road.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Настройте громкость звука объекта «дорожка» через свойство Volume и проверьте результат в Play. Объясни, почему звук без SoundId молчит.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Road.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
553Звук по касанию: площадкаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Добавьте к объекту «площадка» звук контрольной точки. Установите допустимый SoundId и проверь, что звук звучит при касании персонажа.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Pad.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
554Звук по касанию: колоннаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Column.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Сделайте звуковой секрет для «колонна»: звук должен запускаться только при касании игроком. Попробуйте коснуться детали обычным Part и сравните результат.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Column.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
555Звук по касанию: башняДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Перенеси «башня» к началу уровня и подбери короткий ненавязчивый звук. Проверьте два быстрых касания: второй запуск не должен накладываться на первый.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Tower.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
556Звук по касанию: островДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Island.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Настройте громкость звука объекта «остров» через свойство Volume и проверьте результат в Play. Объясни, почему звук без SoundId молчит.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Island.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
557Звук по касанию: каменьДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Добавьте к объекту «камень» звук контрольной точки. Установите допустимый SoundId и проверь, что звук звучит при касании персонажа.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Stone.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
558Звук по касанию: деревоДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Сделайте звуковой секрет для «дерево»: звук должен запускаться только при касании игроком. Попробуйте коснуться детали обычным Part и сравните результат.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Tree.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
559Звук по касанию: метеорДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Перенеси «метеор» к началу уровня и подбери короткий ненавязчивый звук. Проверьте два быстрых касания: второй запуск не должен накладываться на первый.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Meteor.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
560Звук по касанию: аркаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №541

Что делает скрипт

Воспроизведение Sound запускается при касании персонажем.

Куда вставить

Script внутри Part c Sound

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part объект Sound с разрешённым SoundId и обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part объект Sound с разрешённым SoundId и обычный Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local sound=p:WaitForChild("Sound")
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying then
  sound:Play()
 end
end)

Как работает этот код

Обработчик Touched получает деталь, коснувшуюся объекта. Код проверяет наличие Humanoid, затем запускает уже настроенный звук, если он ещё не проигрывается.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой персонаж касается.
  2. local sound=p:WaitForChild("Sound")Ожидаем дочерний Sound; его SoundId нужно задать в свойствах.
  3. p.Touched:Connect(function(hit)Подписываемся на касания детали.
  4. if hit.Parent:FindFirstChildOfClass("Humanoid") and not sound.IsPlaying thenИгнорируем касания предметами без Humanoid.
  5. sound:Play()Запускаем звук на сервере при подходящем касании.
Попробуйте самостоятельно

Настройте громкость звука объекта «арка» через свойство Volume и проверьте результат в Play. Объясни, почему звук без SoundId молчит.

Как проверить

Коснись детали: проиграется выбранный звук. Проверьте объект Arch.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Укажите разрешённый SoundId в созданном объекте Sound.
561Включение музыки кнопкой: маякДвижение и эффекты / Звуки · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Построй музыкальную станцию «маяк»: добавьте ProximityPrompt и Sound с разрешённым SoundId. Нажмите E дважды и проверьте включение и выключение.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Beacon.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
562Включение музыки кнопкой: воротаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Сделайте две кнопки музыки у «ворота». Сравните независимые звуки на разных объектах и убедись, что каждый переключается отдельно.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Gate.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
563Включение музыки кнопкой: мостДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Добавьте к «мост» краткую инструкцию «E — музыка». Проверь, что без ProximityPrompt скрипт ждёт объект и не сможет включить музыку.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Bridge.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
564Включение музыки кнопкой: платформаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Настройте для «платформа» зацикленную музыку через Sound.Looped и проверь, что повторное нажатие E её останавливает.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Platform.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
565Включение музыки кнопкой: сфераДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Построй музыкальную станцию «сфера»: добавьте ProximityPrompt и Sound с разрешённым SoundId. Нажмите E дважды и проверьте включение и выключение.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Sphere.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
566Включение музыки кнопкой: фонарьДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Сделайте две кнопки музыки у «фонарь». Сравните независимые звуки на разных объектах и убедись, что каждый переключается отдельно.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Lantern.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
567Включение музыки кнопкой: кристаллДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Добавьте к «кристалл» краткую инструкцию «E — музыка». Проверь, что без ProximityPrompt скрипт ждёт объект и не сможет включить музыку.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Crystal.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
568Включение музыки кнопкой: порталДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Настройте для «портал» зацикленную музыку через Sound.Looped и проверь, что повторное нажатие E её останавливает.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Portal.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
569Включение музыки кнопкой: сундукДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Построй музыкальную станцию «сундук»: добавьте ProximityPrompt и Sound с разрешённым SoundId. Нажмите E дважды и проверьте включение и выключение.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Chest.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
570Включение музыки кнопкой: кнопкаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Button.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Сделайте две кнопки музыки у «кнопка». Сравните независимые звуки на разных объектах и убедись, что каждый переключается отдельно.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Button.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
571Включение музыки кнопкой: лифтДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Добавьте к «лифт» краткую инструкцию «E — музыка». Проверь, что без ProximityPrompt скрипт ждёт объект и не сможет включить музыку.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Lift.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
572Включение музыки кнопкой: дорожкаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Road.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Настройте для «дорожка» зацикленную музыку через Sound.Looped и проверь, что повторное нажатие E её останавливает.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Road.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
573Включение музыки кнопкой: площадкаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Построй музыкальную станцию «площадка»: добавьте ProximityPrompt и Sound с разрешённым SoundId. Нажмите E дважды и проверьте включение и выключение.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Pad.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
574Включение музыки кнопкой: колоннаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Column.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Сделайте две кнопки музыки у «колонна». Сравните независимые звуки на разных объектах и убедись, что каждый переключается отдельно.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Column.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
575Включение музыки кнопкой: башняДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Добавьте к «башня» краткую инструкцию «E — музыка». Проверь, что без ProximityPrompt скрипт ждёт объект и не сможет включить музыку.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Tower.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
576Включение музыки кнопкой: островДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Island.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Настройте для «остров» зацикленную музыку через Sound.Looped и проверь, что повторное нажатие E её останавливает.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Island.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
577Включение музыки кнопкой: каменьДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Построй музыкальную станцию «камень»: добавьте ProximityPrompt и Sound с разрешённым SoundId. Нажмите E дважды и проверьте включение и выключение.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Stone.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
578Включение музыки кнопкой: деревоДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Сделайте две кнопки музыки у «дерево». Сравните независимые звуки на разных объектах и убедись, что каждый переключается отдельно.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Tree.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
579Включение музыки кнопкой: метеорДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Добавьте к «метеор» краткую инструкцию «E — музыка». Проверь, что без ProximityPrompt скрипт ждёт объект и не сможет включить музыку.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Meteor.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
580Включение музыки кнопкой: аркаДвижение и эффекты / Звуки · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №561

Что делает скрипт

Кнопка переключает Playing звука на сервере — слышно всем рядом.

Куда вставить

Script внутри Part c ProximityPrompt и Sound

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Добавьте в Part ProximityPrompt, Sound и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Добавьте в Part ProximityPrompt, Sound и Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
local sound=p:WaitForChild("Sound")
prompt.Triggered:Connect(function()
 if sound.IsPlaying then sound:Stop() else sound:Play() end
end)

Как работает этот код

ProximityPrompt сообщает скрипту о взаимодействии. Скрипт проверяет IsPlaying и выбирает одно из двух действий: Play либо Stop. SoundId задаётся заранее в свойствах.

Разбор строк

  1. local p=script.ParentПолучаем объект, содержащий интерактивную кнопку.
  2. local prompt=p:WaitForChild("ProximityPrompt")Ищем приглашение к взаимодействию, обычно показывающее клавишу E.
  3. local sound=p:WaitForChild("Sound")Находим Sound, которому заранее задан доступный SoundId.
  4. prompt.Triggered:Connect(function()Обрабатываем активацию ProximityPrompt игроком.
  5. if sound.IsPlaying then sound:Stop() else sound:Play() endПроверяем, воспроизводится ли звук прямо сейчас.
Попробуйте самостоятельно

Настройте для «арка» зацикленную музыку через Sound.Looped и проверь, что повторное нажатие E её останавливает.

Как проверить

Нажмите E: музыка включится; повторно — выключится. Проверьте объект Arch.

Обратите внимание: Для Sound обязательно задай доступный SoundId и убедись, что у звука есть разрешение для этой игры. Если нужна настройка только для одного игрока, звук переключают на клиенте.
581Случайный оттенок: маякСоздание миров / Мир · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Создайте «цветовой маяк» из «маяк»: измените время смены оттенка на 1 секунду и сравните с исходными 3.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Beacon.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
582Случайный оттенок: воротаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Добавьте второй объект «ворота» с другой насыщенностью HSV (0.3 вместо 0.7). Сравни, какой цвет выглядит спокойнее.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Gate.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
583Случайный оттенок: мостСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Сделайте на карте три цветных ориентира на основе «мост» и измените яркость HSV с 1 до 0.6. Проверьте читаемость маршрута.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Bridge.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
584Случайный оттенок: платформаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Преврати «платформа» в указатель секретной зоны: меняй оттенок раз в 5 секунд и проверь, что цвет не изменяет свойство CanCollide.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Platform.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
585Случайный оттенок: сфераСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Создайте «цветовой маяк» из «сфера»: измените время смены оттенка на 1 секунду и сравните с исходными 3.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Sphere.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
586Случайный оттенок: фонарьСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Добавьте второй объект «фонарь» с другой насыщенностью HSV (0.3 вместо 0.7). Сравни, какой цвет выглядит спокойнее.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Lantern.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
587Случайный оттенок: кристаллСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Сделайте на карте три цветных ориентира на основе «кристалл» и измените яркость HSV с 1 до 0.6. Проверьте читаемость маршрута.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Crystal.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
588Случайный оттенок: порталСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Преврати «портал» в указатель секретной зоны: меняй оттенок раз в 5 секунд и проверь, что цвет не изменяет свойство CanCollide.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Portal.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
589Случайный оттенок: сундукСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Создайте «цветовой маяк» из «сундук»: измените время смены оттенка на 1 секунду и сравните с исходными 3.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Chest.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
590Случайный оттенок: кнопкаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Добавьте второй объект «кнопка» с другой насыщенностью HSV (0.3 вместо 0.7). Сравни, какой цвет выглядит спокойнее.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Button.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
591Случайный оттенок: лифтСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Сделайте на карте три цветных ориентира на основе «лифт» и измените яркость HSV с 1 до 0.6. Проверьте читаемость маршрута.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Lift.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
592Случайный оттенок: дорожкаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Преврати «дорожка» в указатель секретной зоны: меняй оттенок раз в 5 секунд и проверь, что цвет не изменяет свойство CanCollide.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Road.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
593Случайный оттенок: площадкаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Создайте «цветовой маяк» из «площадка»: измените время смены оттенка на 1 секунду и сравните с исходными 3.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Pad.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
594Случайный оттенок: колоннаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Добавьте второй объект «колонна» с другой насыщенностью HSV (0.3 вместо 0.7). Сравни, какой цвет выглядит спокойнее.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Column.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
595Случайный оттенок: башняСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Сделайте на карте три цветных ориентира на основе «башня» и измените яркость HSV с 1 до 0.6. Проверьте читаемость маршрута.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Tower.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
596Случайный оттенок: островСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Преврати «остров» в указатель секретной зоны: меняй оттенок раз в 5 секунд и проверь, что цвет не изменяет свойство CanCollide.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Island.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
597Случайный оттенок: каменьСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Создайте «цветовой маяк» из «камень»: измените время смены оттенка на 1 секунду и сравните с исходными 3.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Stone.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
598Случайный оттенок: деревоСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Добавьте второй объект «дерево» с другой насыщенностью HSV (0.3 вместо 0.7). Сравни, какой цвет выглядит спокойнее.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Tree.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
599Случайный оттенок: метеорСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Сделайте на карте три цветных ориентира на основе «метеор» и измените яркость HSV с 1 до 0.6. Проверьте читаемость маршрута.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Meteor.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
600Случайный оттенок: аркаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №581

Что делает скрипт

Color3.fromHSV получает цвет из случайного тона; Saturation и Value задают насыщенность и яркость.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local p=script.Parent
while p.Parent do
 p.Color=Color3.fromHSV(math.random(),0.7,1)
 task.wait(3)
end

Как работает этот код

Каждые три секунды сервер генерирует случайный оттенок через HSV и назначает его детали. Насыщенность и яркость здесь фиксированы, поэтому меняется главным образом цветовой тон.

Разбор строк

  1. local p=script.ParentПолучаем деталь, цвет которой меняется.
  2. while p.Parent doПовторяем изменение цвета, пока деталь существует в мире.
  3. p.Color=Color3.fromHSV(math.random(),0.7,1)Создаём цвет из оттенка, насыщенности и яркости.
  4. task.wait(3)Выдерживаем паузу три секунды между изменениями.
Попробуйте самостоятельно

Преврати «арка» в указатель секретной зоны: меняй оттенок раз в 5 секунд и проверь, что цвет не изменяет свойство CanCollide.

Как проверить

Каждые три секунды цвет детали изменяется. Проверьте объект Arch.

Обратите внимание: Для цвета в HSV тон должен находиться между 0 и 1.
601Вращение декора: маякСоздание миров / Мир · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: маяк.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Beacon.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
602Вращение декора: воротаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: ворота.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Gate.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
603Вращение декора: мостСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: мост.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Bridge.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
604Вращение декора: платформаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: платформа.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Platform.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
605Вращение декора: сфераСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: сфера.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Sphere.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
606Вращение декора: фонарьСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: фонарь.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Lantern.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
607Вращение декора: кристаллСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: кристалл.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Crystal.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
608Вращение декора: порталСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: портал.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Portal.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
609Вращение декора: сундукСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: сундук.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Chest.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
610Вращение декора: кнопкаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: кнопка.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Button.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
611Вращение декора: лифтСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: лифт.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Lift.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
612Вращение декора: дорожкаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: дорожка.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Road.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
613Вращение декора: площадкаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: площадка.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Pad.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
614Вращение декора: колоннаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: колонна.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Column.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
615Вращение декора: башняСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: башня.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Tower.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
616Вращение декора: островСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: остров.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Island.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
617Вращение декора: каменьСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: камень.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Stone.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
618Вращение декора: деревоСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: дерево.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Tree.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
619Вращение декора: метеорСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: метеор.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Meteor.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
620Вращение декора: аркаСоздание миров / Мир · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №601

Что делает скрипт

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами.

Куда вставить

Script внутри Anchored Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local p=script.Parent
p.Anchored=true
while p.Parent do
 p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)
 task.wait(0.05)
end

Как работает этот код

PivotTo/CFrame позволяет вращать закреплённый декор небольшими шагами. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры. Обрати внимание: вращается сама закреплённая деталь, без механизма дверной петли.

Разбор строк

  1. local p=script.ParentПолучаем деталь, в которую вложен Script; это объект, который будет вращаться.
  2. p.Anchored=trueЗакрепляем деталь, чтобы гравитация не уронила её.
  3. while p.Parent doПовторяем вращение, пока деталь находится в иерархии игры.
  4. p.CFrame=p.CFrame*CFrame.Angles(0,math.rad(2),0)Каждый шаг добавляем поворот на 2 градуса по локальной оси Y.
  5. task.wait(0.05)Делаем паузу между шагами; её длительность приблизительная, не строгий таймер.
Попробуйте самостоятельно

Измените угол поворота на 5 градусов за шаг и паузу на 0.1 секунды. Сравните вращение. Для ворот используй декоративную закреплённую деталь: этот код вращает вокруг центра Part, а не вокруг дверных петель. Объект упражнения: арка.

Как проверить

Деталь будет медленно поворачиваться. Проверьте объект Arch.

Обратите внимание: Для вращения вокруг центра используй правильно настроенный Pivot.
621Показ координат: маякLuau и алгоритмы / Информация · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: маяк.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Beacon.

Обратите внимание: Это одноразовое сообщение при запуске Script.
622Показ координат: воротаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: ворота.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Gate.

Обратите внимание: Это одноразовое сообщение при запуске Script.
623Показ координат: мостLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: мост.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Bridge.

Обратите внимание: Это одноразовое сообщение при запуске Script.
624Показ координат: платформаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: платформа.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Platform.

Обратите внимание: Это одноразовое сообщение при запуске Script.
625Показ координат: сфераLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: сфера.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Sphere.

Обратите внимание: Это одноразовое сообщение при запуске Script.
626Показ координат: фонарьLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: фонарь.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Lantern.

Обратите внимание: Это одноразовое сообщение при запуске Script.
627Показ координат: кристаллLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: кристалл.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Crystal.

Обратите внимание: Это одноразовое сообщение при запуске Script.
628Показ координат: порталLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: портал.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Portal.

Обратите внимание: Это одноразовое сообщение при запуске Script.
629Показ координат: сундукLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: сундук.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Chest.

Обратите внимание: Это одноразовое сообщение при запуске Script.
630Показ координат: кнопкаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: кнопка.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Button.

Обратите внимание: Это одноразовое сообщение при запуске Script.
631Показ координат: лифтLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: лифт.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Lift.

Обратите внимание: Это одноразовое сообщение при запуске Script.
632Показ координат: дорожкаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: дорожка.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Road.

Обратите внимание: Это одноразовое сообщение при запуске Script.
633Показ координат: площадкаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: площадка.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Pad.

Обратите внимание: Это одноразовое сообщение при запуске Script.
634Показ координат: колоннаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: колонна.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Column.

Обратите внимание: Это одноразовое сообщение при запуске Script.
635Показ координат: башняLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: башня.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Tower.

Обратите внимание: Это одноразовое сообщение при запуске Script.
636Показ координат: островLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: остров.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Island.

Обратите внимание: Это одноразовое сообщение при запуске Script.
637Показ координат: каменьLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: камень.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Stone.

Обратите внимание: Это одноразовое сообщение при запуске Script.
638Показ координат: деревоLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: дерево.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Tree.

Обратите внимание: Это одноразовое сообщение при запуске Script.
639Показ координат: метеорLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: метеор.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Meteor.

Обратите внимание: Это одноразовое сообщение при запуске Script.
640Показ координат: аркаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №621

Что делает скрипт

Position содержит три координаВы детали в мировом пространстве.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local pos=p.Position
print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)

Как работает этот код

Position содержит три координаВы детали в мировом пространстве. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем объект, внутри которого лежит скрипт.
  2. local pos=p.PositionСохраняем текущие координаВы детали в момент запуска.
  3. print(p.Name,"X:",pos.X,"Y:",pos.Y,"Z:",pos.Z)Печатаем название и три координаВы в Output; положение объекта не меняется.
Попробуйте самостоятельно

Передвинь деталь на 10 studs по X и запустите Play заново. Сравните вывод X, Y и Z. Затем попробуйте считывать Position внутри цикла, чтобы отслеживать движущийся объект. Объект упражнения: арка.

Как проверить

В Output появятся координаВы объекта. Проверьте объект Arch.

Обратите внимание: Это одноразовое сообщение при запуске Script.
641Проверка размера: маякLuau и алгоритмы / Информация · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: маяк.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Beacon.

Обратите внимание: Size задаётся как Vector3, это не одно число.
642Проверка размера: воротаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: ворота.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Gate.

Обратите внимание: Size задаётся как Vector3, это не одно число.
643Проверка размера: мостLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: мост.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Bridge.

Обратите внимание: Size задаётся как Vector3, это не одно число.
644Проверка размера: платформаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: платформа.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Platform.

Обратите внимание: Size задаётся как Vector3, это не одно число.
645Проверка размера: сфераLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: сфера.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Sphere.

Обратите внимание: Size задаётся как Vector3, это не одно число.
646Проверка размера: фонарьLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: фонарь.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Lantern.

Обратите внимание: Size задаётся как Vector3, это не одно число.
647Проверка размера: кристаллLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: кристалл.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Crystal.

Обратите внимание: Size задаётся как Vector3, это не одно число.
648Проверка размера: порталLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: портал.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Portal.

Обратите внимание: Size задаётся как Vector3, это не одно число.
649Проверка размера: сундукLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: сундук.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Chest.

Обратите внимание: Size задаётся как Vector3, это не одно число.
650Проверка размера: кнопкаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: кнопка.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Button.

Обратите внимание: Size задаётся как Vector3, это не одно число.
651Проверка размера: лифтLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: лифт.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Lift.

Обратите внимание: Size задаётся как Vector3, это не одно число.
652Проверка размера: дорожкаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: дорожка.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Road.

Обратите внимание: Size задаётся как Vector3, это не одно число.
653Проверка размера: площадкаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: площадка.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Pad.

Обратите внимание: Size задаётся как Vector3, это не одно число.
654Проверка размера: колоннаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: колонна.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Column.

Обратите внимание: Size задаётся как Vector3, это не одно число.
655Проверка размера: башняLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: башня.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Tower.

Обратите внимание: Size задаётся как Vector3, это не одно число.
656Проверка размера: островLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: остров.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Island.

Обратите внимание: Size задаётся как Vector3, это не одно число.
657Проверка размера: каменьLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: камень.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Stone.

Обратите внимание: Size задаётся как Vector3, это не одно число.
658Проверка размера: деревоLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: дерево.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Tree.

Обратите внимание: Size задаётся как Vector3, это не одно число.
659Проверка размера: метеорLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: метеор.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Meteor.

Обратите внимание: Size задаётся как Vector3, это не одно число.
660Проверка размера: аркаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №641

Что делает скрипт

Size показывает размер детали в studs по трём осям.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local s=p.Size
print(p.Name,"Размер:",s.X,s.Y,s.Z)

Как работает этот код

Size показывает размер детали в studs по трём осям. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentПолучаем деталь из Explorer.
  2. local s=p.SizeЧитаем размеры детали по трём осям в studs.
  3. print(p.Name,"Размер:",s.X,s.Y,s.Z)Выводим габариВы в Output; скрипт не изменяет размеры.
Попробуйте самостоятельно

Измените Size детали на (4, 8, 2), запустите Play и проверьте три числа в Output. Добавьте условие, которое сообщает, если высота больше 6 studs. Объект упражнения: арка.

Как проверить

В Output появятся ширина, высота и длина. Проверьте объект Arch.

Обратите внимание: Size задаётся как Vector3, это не одно число.
661Атрибут состояния: маякLuau и алгоритмы / Информация · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: маяк.

Как проверить

В Output появится состояние Active. Проверьте объект Beacon.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
662Атрибут состояния: воротаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: ворота.

Как проверить

В Output появится состояние Active. Проверьте объект Gate.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
663Атрибут состояния: мостLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: мост.

Как проверить

В Output появится состояние Active. Проверьте объект Bridge.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
664Атрибут состояния: платформаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: платформа.

Как проверить

В Output появится состояние Active. Проверьте объект Platform.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
665Атрибут состояния: сфераLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: сфера.

Как проверить

В Output появится состояние Active. Проверьте объект Sphere.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
666Атрибут состояния: фонарьLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: фонарь.

Как проверить

В Output появится состояние Active. Проверьте объект Lantern.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
667Атрибут состояния: кристаллLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: кристалл.

Как проверить

В Output появится состояние Active. Проверьте объект Crystal.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
668Атрибут состояния: порталLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: портал.

Как проверить

В Output появится состояние Active. Проверьте объект Portal.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
669Атрибут состояния: сундукLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: сундук.

Как проверить

В Output появится состояние Active. Проверьте объект Chest.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
670Атрибут состояния: кнопкаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: кнопка.

Как проверить

В Output появится состояние Active. Проверьте объект Button.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
671Атрибут состояния: лифтLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: лифт.

Как проверить

В Output появится состояние Active. Проверьте объект Lift.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
672Атрибут состояния: дорожкаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: дорожка.

Как проверить

В Output появится состояние Active. Проверьте объект Road.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
673Атрибут состояния: площадкаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: площадка.

Как проверить

В Output появится состояние Active. Проверьте объект Pad.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
674Атрибут состояния: колоннаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: колонна.

Как проверить

В Output появится состояние Active. Проверьте объект Column.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
675Атрибут состояния: башняLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: башня.

Как проверить

В Output появится состояние Active. Проверьте объект Tower.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
676Атрибут состояния: островLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: остров.

Как проверить

В Output появится состояние Active. Проверьте объект Island.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
677Атрибут состояния: каменьLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: камень.

Как проверить

В Output появится состояние Active. Проверьте объект Stone.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
678Атрибут состояния: деревоLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: дерево.

Как проверить

В Output появится состояние Active. Проверьте объект Tree.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
679Атрибут состояния: метеорLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: метеор.

Как проверить

В Output появится состояние Active. Проверьте объект Meteor.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
680Атрибут состояния: аркаLuau и алгоритмы / Информация · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №661

Что делает скрипт

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local p=script.Parent
p:SetAttribute("State","Active")
print(p.Name,p:GetAttribute("State"))

Как работает этот код

SetAttribute сохраняет небольшое значение прямо у объекта, GetAttribute читает его. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры. Атрибут хранит состояние, но его применение к поведению детали нужно запрограммировать отдельно.

Разбор строк

  1. local p=script.ParentПолучаем деталь, у которой будет сохранён атрибут.
  2. p:SetAttribute("State","Active")Создаём или обновляем строковый атрибут State со значением Active.
  3. print(p.Name,p:GetAttribute("State"))Считываем атрибут и показываем его в Output; никакая дверь или механизм автоматически не включается.
Попробуйте самостоятельно

Измените значение State на Locked. Добавьте второй Script, который считывает State и меняет цвет детали только при значении Active; проверьте оба случая. Объект упражнения: арка.

Как проверить

В Output появится состояние Active. Проверьте объект Arch.

Обратите внимание: АтрибуВы удобны для состояния, но не заменяют постоянную базу данных.
681Таймер объекта: маякИгровые системы / Игровая логика · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: маяк.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Beacon.

Обратите внимание: Это учебный таймер Output, не GUI.
682Таймер объекта: воротаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: ворота.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Gate.

Обратите внимание: Это учебный таймер Output, не GUI.
683Таймер объекта: мостИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: мост.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Bridge.

Обратите внимание: Это учебный таймер Output, не GUI.
684Таймер объекта: платформаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: платформа.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Platform.

Обратите внимание: Это учебный таймер Output, не GUI.
685Таймер объекта: сфераИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: сфера.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Sphere.

Обратите внимание: Это учебный таймер Output, не GUI.
686Таймер объекта: фонарьИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: фонарь.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Lantern.

Обратите внимание: Это учебный таймер Output, не GUI.
687Таймер объекта: кристаллИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: кристалл.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Crystal.

Обратите внимание: Это учебный таймер Output, не GUI.
688Таймер объекта: порталИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: портал.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Portal.

Обратите внимание: Это учебный таймер Output, не GUI.
689Таймер объекта: сундукИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: сундук.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Chest.

Обратите внимание: Это учебный таймер Output, не GUI.
690Таймер объекта: кнопкаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: кнопка.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Button.

Обратите внимание: Это учебный таймер Output, не GUI.
691Таймер объекта: лифтИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: лифт.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Lift.

Обратите внимание: Это учебный таймер Output, не GUI.
692Таймер объекта: дорожкаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: дорожка.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Road.

Обратите внимание: Это учебный таймер Output, не GUI.
693Таймер объекта: площадкаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: площадка.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Pad.

Обратите внимание: Это учебный таймер Output, не GUI.
694Таймер объекта: колоннаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: колонна.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Column.

Обратите внимание: Это учебный таймер Output, не GUI.
695Таймер объекта: башняИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: башня.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Tower.

Обратите внимание: Это учебный таймер Output, не GUI.
696Таймер объекта: островИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: остров.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Island.

Обратите внимание: Это учебный таймер Output, не GUI.
697Таймер объекта: каменьИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: камень.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Stone.

Обратите внимание: Это учебный таймер Output, не GUI.
698Таймер объекта: деревоИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: дерево.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Tree.

Обратите внимание: Это учебный таймер Output, не GUI.
699Таймер объекта: метеорИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: метеор.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Meteor.

Обратите внимание: Это учебный таймер Output, не GUI.
700Таймер объекта: аркаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №681

Что делает скрипт

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local p=script.Parent
for seconds=5,1,-1 do
 print(p.Name,"До запуска:",seconds)
 task.wait(1)
end
print(p.Name,"Готово!")

Как работает этот код

Время отсчитывается на сервере; сообщения можно использовать для проверки скрипта. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры. Результат выводится только в Output; игровую механику предстоит создать отдельным шагом.

Разбор строк

  1. local p=script.ParentНаходим деталь, в которой находится Script.
  2. for seconds=5,1,-1 doПеребираем значения 5, 4, 3, 2, 1.
  3. print(p.Name,"До запуска:",seconds)Печатаем оставшееся число секунд в Output.
  4. task.wait(1)Ждём примерно секунду; в реальной игре для точного таймера лучше измерять время сервера.
  5. print(p.Name,"Готово!")После цикла выводим сообщение; код сам по себе не запускает механизм.
Попробуйте самостоятельно

Измените время отсчёта на 10 секунд. После сообщения «Готово!» включи PointLight внутри детали или откройте проход, установив CanCollide=false; проверьте эффект в Play. Объект упражнения: арка.

Как проверить

В Output появится отсчёт 5,4,3,2,1. Проверьте объект Arch.

Обратите внимание: Это учебный таймер Output, не GUI.
701Счётчик касаний: маякИгровые системы / Игровая логика · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: маяк.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Beacon.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
702Счётчик касаний: воротаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: ворота.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Gate.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
703Счётчик касаний: мостИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: мост.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Bridge.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
704Счётчик касаний: платформаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: платформа.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Platform.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
705Счётчик касаний: сфераИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: сфера.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Sphere.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
706Счётчик касаний: фонарьИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: фонарь.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Lantern.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
707Счётчик касаний: кристаллИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: кристалл.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Crystal.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
708Счётчик касаний: порталИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: портал.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Portal.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
709Счётчик касаний: сундукИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: сундук.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Chest.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
710Счётчик касаний: кнопкаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: кнопка.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Button.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
711Счётчик касаний: лифтИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: лифт.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Lift.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
712Счётчик касаний: дорожкаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: дорожка.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Road.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
713Счётчик касаний: площадкаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: площадка.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Pad.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
714Счётчик касаний: колоннаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: колонна.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Column.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
715Счётчик касаний: башняИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: башня.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Tower.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
716Счётчик касаний: островИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: остров.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Island.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
717Счётчик касаний: каменьИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: камень.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Stone.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
718Счётчик касаний: деревоИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: дерево.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Tree.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
719Счётчик касаний: метеорИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: метеор.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Meteor.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
720Счётчик касаний: аркаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №701

Что делает скрипт

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local count=0
p.Touched:Connect(function(hit)
 if hit.Parent:FindFirstChildOfClass("Humanoid") then
  count+=1
  print(p.Name,"Событий касания:",count)
 end
end)

Как работает этот код

Touched срабатывает при контакте, счётчик фиксирует число событий, а не уникальных игроков. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры. Важно: счётчик измеряет срабатывания Touched, не число уникальных игроков и не игровые очки.

Разбор строк

  1. local p=script.ParentПолучаем деталь, которой принадлежит Script.
  2. local count=0Создаём счётчик событий касания, начиная с нуля.
  3. p.Touched:Connect(function(hit)Подписываемся на касание; событие может сработать несколько раз.
  4. hit.Parent:FindFirstChildOfClass("Humanoid")Проверяем, что коснулась часть модели персонажа с Humanoid.
  5. count+=1Увеличиваем счётчик событий, а не число разных игроков.
  6. print(p.Name,"Событий касания:",count)Показываем счётчик в Output, не изменяя игровые очки.
Попробуйте самостоятельно

Проверь, почему одно касание персонажа иногда прибавляет несколько событий. Добавьте защиту от повторных касаний с паузой 2 секунды и сравните результат. Объект упражнения: арка.

Как проверить

Каждое касание добавляет запись в Output. Проверьте объект Arch.

Обратите внимание: Касание может вызываться несколько раз для одного персонажа.
721Личное первое касание: маякИгровые системы / Игровая логика · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: маяк.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Beacon.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
722Личное первое касание: воротаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: ворота.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Gate.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
723Личное первое касание: мостИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: мост.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Bridge.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
724Личное первое касание: платформаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: платформа.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Platform.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
725Личное первое касание: сфераИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: сфера.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Sphere.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
726Личное первое касание: фонарьИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: фонарь.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Lantern.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
727Личное первое касание: кристаллИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: кристалл.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Crystal.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
728Личное первое касание: порталИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: портал.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Portal.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
729Личное первое касание: сундукИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: сундук.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Chest.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
730Личное первое касание: кнопкаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: кнопка.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Button.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
731Личное первое касание: лифтИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: лифт.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Lift.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
732Личное первое касание: дорожкаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: дорожка.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Road.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
733Личное первое касание: площадкаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: площадка.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Pad.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
734Личное первое касание: колоннаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: колонна.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Column.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
735Личное первое касание: башняИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: башня.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Tower.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
736Личное первое касание: островИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: остров.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Island.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
737Личное первое касание: каменьИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: камень.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Stone.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
738Личное первое касание: деревоИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: дерево.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Tree.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
739Личное первое касание: метеорИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: метеор.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Meteor.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
740Личное первое касание: аркаИгровые системы / Игровая логика · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №721

Что делает скрипт

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
local visited={}
p.Touched:Connect(function(hit)
 local plr=Players:GetPlayerFromCharacter(hit.Parent)
 if not plr or visited[plr.UserId] then return end
 visited[plr.UserId]=true
 print(plr.Name,"впервые коснулся",p.Name)
end)

Как работает этот код

Таблица отмечает UserId каждого игрока, поэтому повторные касания не считаются. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем сервис игроков, чтобы найти владельца персонажа.
  2. local visited={}Храним UserId игроков, уже коснувшихся детали на этом сервере.
  3. Players:GetPlayerFromCharacter(hit.Parent)Определяем игрока по модели персонажа, если это возможно.
  4. if not plr or visited[plr.UserId] then return endПропускаем посторонние детали и повторные касания того же игрока.
  5. visited[plr.UserId]=trueПомечаем первое касание, без постоянного сохранения в DataStore.
  6. print(plr.Name,"впервые коснулся",p.Name)Выводим событие только при первом касании игрока.
Попробуйте самостоятельно

Запустите тест с двумя игроками: каждый должен получить только одно сообщение о первом касании. Затем проверьте поведение после перезапуска сервера. Объект упражнения: арка.

Как проверить

Один игрок вызовет сообщение лишь однажды за сессию. Проверьте объект Arch.

Обратите внимание: Данные в таблице очищаются при перезапуске сервера.
741Дистанция до объекта: маякСерверная практика / Безопасность · Средний
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: маяк.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Beacon.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
742Дистанция до объекта: воротаСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: ворота.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Gate.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
743Дистанция до объекта: мостСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: мост.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Bridge.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
744Дистанция до объекта: платформаСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: платформа.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Platform.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
745Дистанция до объекта: сфераСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: сфера.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Sphere.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
746Дистанция до объекта: фонарьСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: фонарь.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Lantern.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
747Дистанция до объекта: кристаллСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: кристалл.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Crystal.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
748Дистанция до объекта: порталСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: портал.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Portal.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
749Дистанция до объекта: сундукСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: сундук.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Chest.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
750Дистанция до объекта: кнопкаСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: кнопка.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Button.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
751Дистанция до объекта: лифтСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: лифт.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Lift.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
752Дистанция до объекта: дорожкаСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: дорожка.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Road.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
753Дистанция до объекта: площадкаСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: площадка.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Pad.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
754Дистанция до объекта: колоннаСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: колонна.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Column.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
755Дистанция до объекта: башняСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: башня.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Tower.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
756Дистанция до объекта: островСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: остров.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Island.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
757Дистанция до объекта: каменьСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: камень.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Stone.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
758Дистанция до объекта: деревоСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: дерево.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Tree.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
759Дистанция до объекта: метеорСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: метеор.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Meteor.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
760Дистанция до объекта: аркаСерверная практика / Безопасность · Средний
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №741

Что делает скрипт

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local Players=game:GetService("Players")
local p=script.Parent
while p.Parent do
 for _,player in Players:GetPlayers() do
  local root=player.Character and player.Character:FindFirstChild("HumanoidRootPart")
  if root and (root.Position-p.Position).Magnitude<=12 then
   print(player.Name,"рядом с",p.Name)
  end
 end
 task.wait(5)
end

Как работает этот код

Сервер измеряет расстояние между персонажем и деталью и пишет только для ближайших. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры.

Разбор строк

  1. local Players=game:GetService("Players")Получаем список игроков на сервере.
  2. while p.Parent doПовторяем проверку, пока объект существует.
  3. for _,player in Players:GetPlayers() doПеребираем игроков, у каждого своя позиция.
  4. FindFirstChild("HumanoidRootPart")Ищем главную деталь персонажа; при её отсутствии пропускаем игрока.
  5. (root.Position-p.Position).Magnitude<=12Считаем расстояние в studs и сравниваем с порогом 12.
  6. task.wait(5)Проверяем раз в пять секунд, а не непрерывно.
Попробуйте самостоятельно

Измените радиус с 12 до 20 studs и интервал проверки с 5 до 2 секунд. Сравни, как часто появляются сообщения, когда рядом два игрока. Объект упражнения: арка.

Как проверить

Рядом с объектом увидишь сообщение в Output. Проверьте объект Arch.

Обратите внимание: Это пример дистанции, он не выдаёт награды.
761Ограничение значения: маякСерверная практика / Безопасность · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Beacon.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: маяк.

Как проверить

В Output появится безопасное число 30. Проверьте объект Beacon.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
762Ограничение значения: воротаСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Gate.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: ворота.

Как проверить

В Output появится безопасное число 30. Проверьте объект Gate.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
763Ограничение значения: мостСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Bridge.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: мост.

Как проверить

В Output появится безопасное число 30. Проверьте объект Bridge.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
764Ограничение значения: платформаСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Platform.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: платформа.

Как проверить

В Output появится безопасное число 30. Проверьте объект Platform.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
765Ограничение значения: сфераСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Sphere.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: сфера.

Как проверить

В Output появится безопасное число 30. Проверьте объект Sphere.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
766Ограничение значения: фонарьСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lantern.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: фонарь.

Как проверить

В Output появится безопасное число 30. Проверьте объект Lantern.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
767Ограничение значения: кристаллСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Crystal.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: кристалл.

Как проверить

В Output появится безопасное число 30. Проверьте объект Crystal.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
768Ограничение значения: порталСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Portal.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: портал.

Как проверить

В Output появится безопасное число 30. Проверьте объект Portal.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
769Ограничение значения: сундукСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Chest.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: сундук.

Как проверить

В Output появится безопасное число 30. Проверьте объект Chest.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
770Ограничение значения: кнопкаСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Button.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: кнопка.

Как проверить

В Output появится безопасное число 30. Проверьте объект Button.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
771Ограничение значения: лифтСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Lift.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: лифт.

Как проверить

В Output появится безопасное число 30. Проверьте объект Lift.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
772Ограничение значения: дорожкаСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Road.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: дорожка.

Как проверить

В Output появится безопасное число 30. Проверьте объект Road.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
773Ограничение значения: площадкаСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Pad.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: площадка.

Как проверить

В Output появится безопасное число 30. Проверьте объект Pad.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
774Ограничение значения: колоннаСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Column.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: колонна.

Как проверить

В Output появится безопасное число 30. Проверьте объект Column.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
775Ограничение значения: башняСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tower.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: башня.

Как проверить

В Output появится безопасное число 30. Проверьте объект Tower.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
776Ограничение значения: островСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Island.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: остров.

Как проверить

В Output появится безопасное число 30. Проверьте объект Island.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
777Ограничение значения: каменьСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Stone.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: камень.

Как проверить

В Output появится безопасное число 30. Проверьте объект Stone.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
778Ограничение значения: деревоСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Tree.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: дерево.

Как проверить

В Output появится безопасное число 30. Проверьте объект Tree.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
779Ограничение значения: метеорСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Meteor.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: метеор.

Как проверить

В Output появится безопасное число 30. Проверьте объект Meteor.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
780Ограничение значения: аркаСерверная практика / Безопасность · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №761

Что делает скрипт

math.clamp удерживает число в интервале независимо от запрошенного значения.

Куда вставить

Script внутри Part

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Создайте Part с именем, указанным в карточке; добавьте внутрь обычный Script. Назови деталь Arch.

Код Luau
local requested=55
local allowed=math.clamp(requested,0,30)
print(script.Parent.Name,"Ограничение:",allowed)

Как работает этот код

math.clamp удерживает число в интервале независимо от запрошенного значения. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры. Это вычисление без изменения характеристик игрока.

Разбор строк

  1. local requested=55Задаём пример запрошенного значения.
  2. math.clamp(requested,0,30)Ограничиваем число диапазоном от 0 до 30: здесь получится 30.
  3. print(script.Parent.Name,"Ограничение:",allowed)Выводим вычисленный результат; скорость персонажа не меняется.
Попробуйте самостоятельно

Поменяй requested на -5, затем на 10 и 50. Предскажи вывод math.clamp до запуска и сравните с Output. Объект упражнения: арка.

Как проверить

В Output появится безопасное число 30. Проверьте объект Arch.

Обратите внимание: Это демонстрация чисел, не изменение скорости персонажа.
781Подсказка действия: маякИнтерактивные объекты / Взаимодействие · Начальный
Практическая вариация механикиНе проверено запуском в Roblox Studio

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Beacon в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Beacon.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Beacon; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: маяк.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Beacon.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
782Подсказка действия: воротаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Gate в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Gate.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Gate; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: ворота.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Gate.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
783Подсказка действия: мостИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Bridge в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Bridge.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Bridge; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: мост.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Bridge.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
784Подсказка действия: платформаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Platform в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Platform.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Platform; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: платформа.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Platform.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
785Подсказка действия: сфераИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Sphere в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Sphere.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Sphere; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: сфера.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Sphere.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
786Подсказка действия: фонарьИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Lantern в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Lantern.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Lantern; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: фонарь.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Lantern.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
787Подсказка действия: кристаллИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Crystal в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Crystal.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Crystal; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: кристалл.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Crystal.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
788Подсказка действия: порталИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Portal в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Portal.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Portal; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: портал.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Portal.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
789Подсказка действия: сундукИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Chest в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Chest.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Chest; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: сундук.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Chest.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
790Подсказка действия: кнопкаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Button в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Button.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Button; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: кнопка.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Button.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
791Подсказка действия: лифтИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Lift в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Lift.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Lift; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: лифт.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Lift.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
792Подсказка действия: дорожкаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Road в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Road.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Road; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: дорожка.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Road.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
793Подсказка действия: площадкаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Pad в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Pad.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Pad; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: площадка.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Pad.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
794Подсказка действия: колоннаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Column в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Column.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Column; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: колонна.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Column.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
795Подсказка действия: башняИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Tower в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Tower.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Tower; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: башня.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Tower.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
796Подсказка действия: островИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Island в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Island.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Island; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: остров.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Island.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
797Подсказка действия: каменьИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Stone в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Stone.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Stone; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: камень.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Stone.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
798Подсказка действия: деревоИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Tree в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Tree.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Tree; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: дерево.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Tree.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
799Подсказка действия: метеорИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Meteor в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Meteor.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Meteor; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: метеор.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Meteor.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
800Подсказка действия: аркаИнтерактивные объекты / Взаимодействие · Начальный
Повтор ранее встречавшегося кодаНе проверено запуском в Roblox StudioИсходный пример №781

Что делает скрипт

ActionText указывает действие, ObjectText — название предмета в системной подсказке.

Куда вставить

Script внутри Part c ProximityPrompt

Пошаговая установка

  1. Создайте деталь Arch в Workspace и установите необходимые дочерние объекты.
  2. Внутри Part создайте ProximityPrompt и Script.
  3. Вставьте код и запустите Play. При необходимости откройте View → Output.

Внутри Part создайте ProximityPrompt и Script. Назови деталь Arch.

Код Luau
local p=script.Parent
local prompt=p:WaitForChild("ProximityPrompt")
prompt.ActionText="Осмотреть"
prompt.ObjectText=p.Name
prompt.HoldDuration=0.5

Как работает этот код

ActionText указывает действие, ObjectText — название предмета в системной подсказке. В этом сценарии используется объект Arch; поменяй его имя и оформление для собственной игры. Только надпись и время удержания: без события Triggered действие ещё ничего не делает.

Разбор строк

  1. local p=script.ParentПолучаем деталь, внутри которой расположен Script.
  2. p:WaitForChild("ProximityPrompt")Ожидаем объект ProximityPrompt внутри детали.
  3. prompt.ActionText="Осмотреть"Задаём название действия, видимое игроку.
  4. prompt.ObjectText=p.NameПоказываем имя детали в подсказке.
  5. prompt.HoldDuration=0.5Устанавливаем время удержания кнопки в полсекунды; действие отдельно не обработано.
Попробуйте самостоятельно

Измените ActionText на «Включить», а HoldDuration на 1 секунду. Затем добавьте обработчик prompt.Triggered, который меняет цвет детали. Объект упражнения: арка.

Как проверить

Подойдите к объекту: увидишь собственную надпись. Проверьте объект Arch.

Обратите внимание: Кнопка действия на мобильных устройствах отображается средствами Roblox.
Пометка «Основной пример» означает уникальный текст кода в исходном наборе 1–300, а не подтверждённую уникальность игровой механики. Совпадения кода отмечаются отдельно. Эти скрипты — учебные примеры, а не готовые защищённые игровые системы. Перед публикацией игры проверяйте код в Roblox Studio, особенно покупки, сохранения и мультиплеер.