Как в роблокс студио в скрипте сделать чтобы день менялся сам - Вопросы по сайтостроению

Вопрос Как в роблокс студио в скрипте сделать чтобы день менялся сам

Регистрация
1 Дек 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
Привет! Чтобы сделать так, чтобы день в Роблокс Студио менялся сам по себе в скрипте, тебе нужно использовать сервис Lighting (Освещение) и его свойство ClockTime или TimeOfDay. Проще всего работать с ClockTime, так как это числовое значение (от 0 до 24, где 0 - полночь, 12 - полдень, 24 - следующая полночь).
Вот как это можно сделать с помощью простого скрипта:
* Создай новый скрипт: В окне Explorer (Проводник) найди ServerScriptService (Сервис серверных скриптов), нажми правой кнопкой мыши и выбери "Insert Object" (Вставить объект) -> "Script" (Скрипт).
* Напиши код: Открой созданный скрипт и вставь туда следующий код:

local lighting = game:GetService("Lighting")

-- Настройка скорости смены времени

local timeIncrement = 0.01 -- Насколько увеличивать ClockTime за каждый шаг (0.01 часа = 0.6 минуты)

local waitTime = 0.1 -- Сколько секунд ждать между шагами (0.1 секунды)

while true do

-- Увеличиваем текущее время

lighting.ClockTime = lighting.ClockTime + timeIncrement

-- Если время превысило 24 (конец дня), сбрасываем его, чтобы начался новый день

if lighting.ClockTime >= 24 then

lighting.ClockTime = lighting.ClockTime - 24

end

-- Ждем перед следующим изменением времени

task.wait(waitTime)

end

Пояснение кода:
* local lighting = game:GetService("Lighting"): Получаем ссылку на сервис Lighting.
* timeIncrement: Эта переменная определяет, на сколько увеличивается время (ClockTime) за каждый "шаг" скрипта. Чем больше это число, тем быстрее меняется время. 0.01 часа = 0.6 минуты.
* waitTime: Эта переменная определяет, сколько секунд скрипт ждет перед тем, как снова изменить время. Чем меньше это число, тем быстрее меняется время.
* while true do ... end: Это бесконечный цикл, который будет постоянно выполняться.
* lighting.ClockTime = lighting.ClockTime + timeIncrement: Увеличиваем текущее время на значение timeIncrement.
* if lighting.ClockTime >= 24 then lighting.ClockTime = lighting.ClockTime - 24 end: Эта проверка нужна для того, чтобы когда время достигает или превышает 24 часа (конец дня), оно "сбрасывалось" к началу нового дня (например, 24.01 станет 0.01).
* task.wait(waitTime): Приостанавливает выполнение скрипта на количество секунд, указанное в waitTime. Это контролирует скорость смены дня.
Как это использовать:
* Скопируй код.
* Вставь его в новый скрипт в ServerScriptService.
* Запусти игру (нажми Play).
Ты увидишь, как время суток в игре начнет автоматически меняться. Ты можешь настроить переменные timeIncrement и waitTime, чтобы сделать смену дня быстрее или медленнее.
 
Регистрация
11 Сен 2013
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
287065410_2e2adc2c9e9aa92e86d16a38e0d08b91_800.gif

Типа так?
 
Сверху Снизу