Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local Workspace = game:GetService("Workspace")
- local function getRandomModelPosition()
- -- Получаем папку с моделями
- local droppablesFolder = Workspace:FindFirstChild("Game") and
- Workspace.Game:FindFirstChild("Local") and
- Workspace.Game.Local:FindFirstChild("droppables")
- if not droppablesFolder then
- warn("Папка droppables не найдена!")
- return nil
- end
- -- Собираем все модели и их позиции
- local models = {}
- for _, model in ipairs(droppablesFolder:GetChildren()) do
- if model:IsA("Model") and model.PrimaryPart then
- table.insert(models, model.PrimaryPart.Position)
- elseif model:IsA("BasePart") then
- table.insert(models, model.Position)
- end
- end
- if #models == 0 then
- warn("Не найдено моделей или частей в папке droppables!")
- return nil
- end
- -- Выбираем случайную позицию
- return models[math.random(1, #models)]
- end
- local function teleportPlayerToRandomModel(player)
- -- Ждем появления персонажа
- local character = player.Character or player.CharacterAdded:Wait()
- -- Ждем загрузки HumanoidRootPart (основная часть персонажа)
- local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
- -- Получаем случайную позицию
- local randomPosition = getRandomModelPosition()
- if randomPosition then
- -- Телепортируем игрока
- humanoidRootPart.CFrame = CFrame.new(randomPosition)
- print("Игрок", player.Name, "телепортирован к случайной модели")
- else
- warn("Не удалось найти позицию для телепортации")
- end
- end
- -- Основная логика
- local player = Players.LocalPlayer
- -- Телепортируем игрока сразу при загрузке
- player.CharacterAdded:Connect(function(character)
- -- Небольшая задержка для стабилизации
- wait(1)
- teleportPlayerToRandomModel(player)
- end)
- -- Также телепортируем, если персонаж уже существует
- if player.Character then
- teleportPlayerToRandomModel(player)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement