-- LocalScript для телепортации к моделям "Cane" local Players = game:GetService("Players") local player = Players.LocalPlayer local function teleportToAllCaneModels() -- Находим все модели с именем "Cane" в workspace local caneModels = {} -- Ищем модели в workspace и его потомках local function searchModels(parent) for _, obj in ipairs(parent:GetChildren()) do if obj:IsA("Model") and obj.Name == "Cane" then table.insert(caneModels, obj) end -- Рекурсивно ищем в дочерних объектах searchModels(obj) end end searchModels(workspace) if #caneModels == 0 then warn("Не найдено моделей с именем 'Cane'") return "Модели Cane не найдены" end print("Найдено моделей Cane: " .. #caneModels) -- Получаем персонажа игрока local character = player.Character if not character then character = player.CharacterAdded:Wait() end local humanoidRootPart = character:WaitForChild("HumanoidRootPart") -- Телепортируемся к каждой модели Cane for i, caneModel in ipairs(caneModels) do -- Находим PrimaryPart или первую BasePart в модели local targetPart = caneModel.PrimaryPart if not targetPart then -- Если нет PrimaryPart, ищем любую BasePart for _, part in ipairs(caneModel:GetDescendants()) do if part:IsA("BasePart") then targetPart = part break end end end if targetPart then -- Телепортируемся к модели с отступом local offset = Vector3.new(0, 5, 0) -- Отступ сверху humanoidRootPart.CFrame = CFrame.new(targetPart.Position + offset) print("Телепортирован к модели Cane #" .. i .. " на позиции: " .. tostring(targetPart.Position)) -- Поворачиваемся лицом к модели humanoidRootPart.CFrame = CFrame.new( humanoidRootPart.Position, targetPart.Position ) -- Визуальный эффект (опционально) local teleportEffect = Instance.new("Part") teleportEffect.Size = Vector3.new(2, 2, 2) teleportEffect.Position = humanoidRootPart.Position teleportEffect.Anchored = true teleportEffect.CanCollide = false teleportEffect.Material = Enum.Material.Neon teleportEffect.Color = Color3.fromRGB(0, 255, 255) teleportEffect.Parent = workspace game:GetService("Debris"):AddItem(teleportEffect, 0.5) else warn("Модель Cane #" .. i .. " не имеет видимых частей") end -- Задержка между телепортациями wait(2) end return "Телепортация завершена! Посещено моделей: " .. #caneModels end -- Версия с автоматическим поиском каждые 30 секунд local function autoTeleportToNewCanes() while true do wait(30) -- Проверка каждые 30 секунд local caneModels = {} for _, obj in ipairs(workspace:GetDescendants()) do if obj:IsA("Model") and obj.Name == "Cane" then table.insert(caneModels, obj) end end if #caneModels > 0 then print("Обнаружены модели Cane: " .. #caneModels) -- Можно вызвать телепортацию или просто уведомить end end end -- GUI интерфейс для удобства local function createTeleporterGUI() local playerGui = player:WaitForChild("PlayerGui") -- Проверяем, существует ли уже GUI if playerGui:FindFirstChild("CaneTeleporterGUI") then playerGui.CaneTeleporterGUI:Destroy() end local screenGui = Instance.new("ScreenGui") screenGui.Name = "CaneTeleporterGUI" screenGui.Parent = playerGui local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 300, 0, 180) frame.Position = UDim2.new(0.5, -150, 0.5, -90) frame.BackgroundColor3 = Color3.fromRGB(30, 30, 40) frame.BorderSizePixel = 2 frame.BorderColor3 = Color3.fromRGB(100, 100, 200) local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame local title = Instance.new("TextLabel") title.Text = "🔮 Телепорт к Cane моделям" title.Size = UDim2.new(1, 0, 0, 40) title.BackgroundColor3 = Color3.fromRGB(50, 50, 80) title.TextColor3 = Color3.fromRGB(255, 255, 255) title.Font = Enum.Font.GothamBold title.TextSize = 18 local cornerTitle = Instance.new("UICorner") cornerTitle.CornerRadius = UDim.new(0, 8) cornerTitle.Parent = title local teleportButton = Instance.new("TextButton") teleportButton.Text = "🚀 Начать телепортацию" teleportButton.Size = UDim2.new(0.8, 0, 0, 50) teleportButton.Position = UDim2.new(0.1, 0, 0.3, 0) teleportButton.BackgroundColor3 = Color3.fromRGB(0, 150, 255) teleportButton.TextColor3 = Color3.fromRGB(255, 255, 255) teleportButton.Font = Enum.Font.GothamSemibold teleportButton.TextSize = 16 local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(0, 6) buttonCorner.Parent = teleportButton local statusLabel = Instance.new("TextLabel") statusLabel.Text = "Статус: Ожидание..." statusLabel.Size = UDim2.new(1, 0, 0, 30) statusLabel.Position = UDim2.new(0, 0, 0.7, 0) statusLabel.BackgroundTransparency = 1 statusLabel.TextColor3 = Color3.fromRGB(200, 200, 255) statusLabel.Font = Enum.Font.Gotham local closeButton = Instance.new("TextButton") closeButton.Text = "✕" closeButton.Size = UDim2.new(0, 30, 0, 30) closeButton.Position = UDim2.new(1, -35, 0, 5) closeButton.BackgroundColor3 = Color3.fromRGB(255, 80, 80) closeButton.TextColor3 = Color3.fromRGB(255, 255, 255) -- Добавляем элементы title.Parent = frame teleportButton.Parent = frame statusLabel.Parent = frame closeButton.Parent = frame frame.Parent = screenGui -- Обработчики событий teleportButton.MouseButton1Click:Connect(function() teleportButton.Text = "Телепортация..." teleportButton.BackgroundColor3 = Color3.fromRGB(255, 150, 0) statusLabel.Text = "Поиск моделей Cane..." local result = teleportToAllCaneModels() statusLabel.Text = result teleportButton.Text = "🚀 Начать телепортацию" teleportButton.BackgroundColor3 = Color3.fromRGB(0, 150, 255) end) closeButton.MouseButton1Click:Connect(function() screenGui:Destroy() end) -- Делаем окно перемещаемым local dragging = false local dragStart, frameStart title.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position frameStart = frame.Position end end) title.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart frame.Position = UDim2.new( frameStart.X.Scale, frameStart.X.Offset + delta.X, frameStart.Y.Scale, frameStart.Y.Offset + delta.Y ) end end) title.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) return screenGui end -- Создаем GUI при загрузке wait(2) -- Даем время на загрузку игры createTeleporterGUI() -- Для немедленного запуска телепортации (раскомментируйте если нужно) -- wait(3) -- teleportToAllCaneModels()