Задать вопрос
@Kllklok

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

Хочу сделать так, чтобы игрок создавал комнату и игроки со всех серверов могли зайти в неё. Главная проблема в том, чтобы отображалось на всех серверах, все остальное я смогу сделать сам.
  • Вопрос задан
  • 30 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@moooichido
Используй DataStore, Roblox позволяет хранить данные вне сессий. Тебе нужно будет использовать его, чтобы сохранять информацию о созданной комнате.
Когда игрок создаст комнату, тебе нужно сохранить ее параметры (например, ID комнаты, имя, уровень и т.д.) в DataStore. Ты можешь использовать уникальный идентификатор, чтобы отличать разные комнаты.
local DataStoreService = game:GetService("DataStoreService")
local roomDataStore = DataStoreService:GetDataStore("RoomDataStore")

local function createRoom(player, roomName)
    local roomId = tostring(math.random(100000, 999999))
    local roomData = {
        RoomId = roomId,
        RoomName = roomName,
        Owner = player.UserId
    }
    
    local success, errorMessage = pcall(function()
        roomDataStore:SetAsync(roomId, roomData)
    end)

    if success then
        print("Комната создана с ID: " .. roomId)
    else
        warn("Ошибка при создании комнаты: " .. errorMessage)
    end
end

Когда игрок хочет зайти в комнату, тебе нужно будет загрузить данные комнаты из DataStore по ID комнаты и телепортировать игрока в соответствующее место. Проверь, существует ли комната и доступна ли она для данного игрока.
local function joinRoom(player, roomId)
    local success, roomData = pcall(function()
        return roomDataStore:GetAsync(roomId)
    end)

    if success and roomData then
        print(player.Name .. " зашёл в комнату: " .. roomData.RoomName)
    else
        warn("Комната не найдена или произошла ошибка.")
    end
end

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

Войдите, чтобы написать ответ

Похожие вопросы