--[[ MURINO HORROR // ULTIMATE HYBRID HUB Optimized & Clean Framework Version: 2026 Public Release ]] local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({ Name = "Murino Ultimate Hub", LoadingTitle = "Loading Custom UI...", LoadingSubtitle = "by Community Edition", ConfigurationSaving = { Enabled = true, FolderName = "MurinoHubScripts", FileName = "CustomMurinoConfig" } }) -- Создание вкладок local TabFarm = Window:CreateTab("Farm (Монеты)", 4483362458) local TabPlayer = Window:CreateTab("Player & World", 4483362458) local TabMonster = Window:CreateTab("Monsters & Anti-Death", 4483362458) local TabVisuals = Window:CreateTab("Visuals (ESP)", 4483362458) -- ===== ПЕРЕМЕННЫЕ И НАСТРОЙКИ ===== local farming = false local collected = 0 local farmThread = nil local TargetSpeed = 16 local walkspeedEnabled = false local NoclipEnabled = false local FullBrightEnabled = false local holySpiceEnabled = false local holySpiceIntensity = 3.0 local AutoHideRushDrunsEnabled = false local antiArturEnabled = false local IsTeleporting = false local MonsterESP = false local ObjectESP = false local FlickSoundID = "rbxassetid://118519596761992" -- Сервисы local Lighting = game:GetService("Lighting") local Players = game:GetService("Players") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer local DefaultSettings = { Ambient = Lighting.Ambient, Brightness = Lighting.Brightness, ClockTime = Lighting.ClockTime, FogEnd = Lighting.FogEnd, GlobalShadows = Lighting.GlobalShadows, OutdoorAmbient = Lighting.OutdoorAmbient, ColorShift_Bottom = Lighting.ColorShift_Bottom, ColorShift_Top = Lighting.ColorShift_Top } -- ===== ОСНОВНОЙ ЦИКЛ (SPEED / NOCLIP) ===== RunService.Stepped:Connect(function() local character = LocalPlayer.Character if character then -- Логика Noclip for _, part in ipairs(character:GetDescendants()) do if part:IsA("BasePart") then if NoclipEnabled then part.CanCollide = false else if part.Name == "HumanoidRootPart" or part.Name == "UpperTorso" or part.Name == "LowerTorso" or part.Name == "Torso" or part.Name == "Head" then part.CanCollide = true end end end end -- Логика WalkSpeed local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid and walkspeedEnabled then local currentTargetSpeed = IsTeleporting and 0 or TargetSpeed if humanoid.WalkSpeed ~= currentTargetSpeed then humanoid.WalkSpeed = currentTargetSpeed end end end end) -- ===== ФУНКЦИИ ОСВЕЩЕНИЯ ===== local function ApplyFullBright() Lighting.Ambient = Color3.fromRGB(255, 255, 255) Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.FogEnd = 100000 Lighting.GlobalShadows = false Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255) Lighting.ColorShift_Bottom = Color3.fromRGB(255, 255, 255) Lighting.ColorShift_Top = Color3.fromRGB(255, 255, 255) end local function RevertLighting() Lighting.Ambient = DefaultSettings.Ambient Lighting.Brightness = DefaultSettings.Brightness Lighting.ClockTime = DefaultSettings.ClockTime Lighting.FogEnd = DefaultSettings.FogEnd Lighting.GlobalShadows = DefaultSettings.GlobalShadows Lighting.OutdoorAmbient = DefaultSettings.OutdoorAmbient Lighting.ColorShift_Bottom = DefaultSettings.ColorShift_Bottom Lighting.ColorShift_Top = DefaultSettings.ColorShift_Top Lighting.FogColor = Color3.new(1, 1, 1) end local function holySpiceLoop() local hue = 0 while holySpiceEnabled do hue = (hue + 2 * holySpiceIntensity) % 360 local color1 = Color3.fromHSV(hue / 360, 1, 1) local color2 = Color3.fromHSV((hue + 180) / 360, 1, 1) Lighting.Ambient = color1 Lighting.OutdoorAmbient = color2 Lighting.Brightness = 0.5 + (math.sin(tick() * holySpiceIntensity * 2) * 1.5) Lighting.FogEnd = 100 + (math.sin(tick() * holySpiceIntensity) * 500) Lighting.FogColor = color1 Lighting.ClockTime = (tick() * 0.1) % 24 if math.random(1, 10) == 1 then Lighting.Brightness = 5 task.wait(0.05) end task.wait(0.03) end end Lighting.Changed:Connect(function() if FullBrightEnabled and not holySpiceEnabled then ApplyFullBright() end end) -- ===== ВИЗУАЛЫ (ESP СИСТЕМА) ===== local function CreateESP(object, color, text) if not object or not object.Parent or object:FindFirstChild("S_ESP") then return end local highlight = Instance.new("Highlight") highlight.Name = "S_ESP" highlight.FillColor = color highlight.FillTransparency = 0.5 highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.Adornee = object highlight.Parent = object if text then local billboard = Instance.new("BillboardGui") billboard.Name = "S_Text" billboard.Size = UDim2.new(0, 200, 0, 50) billboard.AlwaysOnTop = true billboard.StudsOffset = Vector3.new(0, 3, 0) local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.TextColor3 = color label.TextStrokeTransparency = 0 label.TextSize = 14 label.Text = text label.Font = Enum.Font.SourceSansBold label.Parent = billboard billboard.Parent = object end end local function RemoveESP(object) if object:FindFirstChild("S_ESP") then object.S_ESP:Destroy() end if object:FindFirstChild("S_Text") then object.S_Text:Destroy() end end -- ===== ФАРМ МОНЕТ (COIN FARM) ===== local function findCoins() local coins = {} for _, model in ipairs(workspace:GetDescendants()) do if model.Name == "Coins" and model:IsA("Model") then local root = model:FindFirstChild("Root") local prompt = root and root:FindFirstChildOfClass("ProximityPrompt") local success, pos = pcall(function() return model:GetPivot().Position end) if root and prompt and success then table.insert(coins, {model = model, root = root, prompt = prompt, pos = pos}) end end end return coins end local function farmLoop() while farming do local coins = findCoins() if #coins > 0 then for _, coin in ipairs(coins) do if not farming then break end if coin.model and coin.model.Parent and coin.prompt then local char = LocalPlayer.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if hrp and not IsTeleporting then IsTeleporting = true hrp.CFrame = CFrame.new(coin.pos + Vector3.new(0, 3, 0)) task.wait(0.3) -- Активация промпта монеты local p = coin.prompt local oldHold, oldDist, oldLOS = p.HoldDuration, p.MaxActivationDistance, p.RequiresLineOfSight p.HoldDuration = 0 p.MaxActivationDistance = 100 p.RequiresLineOfSight = false pcall(function() fireproximityprompt(p) end) collected = collected + 1 p.HoldDuration = oldHold p.MaxActivationDistance = oldDist p.RequiresLineOfSight = oldLOS IsTeleporting = false end end task.wait(0.4) end else task.wait(2) end end end -- ===== АВТО-УКРЫТИЕ В ШКАФ ===== local function TeleportToShkaf() if IsTeleporting then return end IsTeleporting = true local character = LocalPlayer.Character local hrp = character and character:FindFirstChild("HumanoidRootPart") if hrp then local closestShkaf = nil local minDistance = math.huge for _, obj in ipairs(workspace:GetDescendants()) do if obj.Name == "Shkaf" and obj:IsA("Model") then local success, pos = pcall(function() return obj:GetPivot().Position end) if success then local dist = (hrp.Position - pos).Magnitude if dist < minDistance then minDistance = dist closestShkaf = obj end end end end if closestShkaf then hrp.Anchored = true hrp.CFrame = closestShkaf:GetPivot() task.wait(0.1) local prompt = closestShkaf:FindFirstChildWhichIsA("ProximityPrompt", true) if prompt then prompt.HoldDuration = 0 fireproximityprompt(prompt) end hrp.Anchored = false end end task.wait(2) IsTeleporting = false end local function HandleFlick(sound) if sound:IsA("Sound") and sound.SoundId == FlickSoundID then sound:GetPropertyChangedSignal("IsPlaying"):Connect(function() if sound.IsPlaying and AutoHideRushDrunsEnabled then TeleportToShkaf() end end) end end -- ===== CORE DETECTOR (ИЗ HITBOXES) ===== local function findArtur() local hitboxes = workspace:FindFirstChild("Hitboxes") if hitboxes then for _, child in ipairs(hitboxes:GetChildren()) do if child.Name == "Artur" then return child end end end return nil end local function antiArturLogic(arturObj) if IsTeleporting then return end IsTeleporting = true local character = LocalPlayer.Character local hrp = character and character:FindFirstChild("HumanoidRootPart") local success, arturPos = pcall(function() return arturObj:GetPivot().Position end) if hrp and success then local oldPos = hrp.CFrame hrp.CFrame = CFrame.new(arturPos + Vector3.new(0, 3, 2)) task.wait(0.3) local prompt = arturObj:FindFirstChildOfClass("ProximityPrompt") or arturObj:FindFirstChildWhichIsA("ProximityPrompt", true) if prompt then local oldHold, oldDist, oldLOS = prompt.HoldDuration, prompt.MaxActivationDistance, prompt.RequiresLineOfSight prompt.HoldDuration = 0 prompt.MaxActivationDistance = 100 prompt.RequiresLineOfSight = false pcall(function() fireproximityprompt(prompt) end) prompt.HoldDuration = oldHold prompt.MaxActivationDistance = oldDist prompt.RequiresLineOfSight = oldLOS end task.wait(0.2) hrp.CFrame = oldPos end task.wait(0.5) IsTeleporting = false end -- Цикл проверки Артура RunService.Stepped:Connect(function() if antiArturEnabled then local artur = findArtur() if artur then antiArturLogic(artur) end end end) -- Мониторинг спавна новых объектов workspace.DescendantAdded:Connect(function(child) HandleFlick(child) task.wait(0.1) if child.Name == "Shkaf" and ObjectESP then CreateESP(child, Color3.fromRGB(0, 255, 0), "Шкаф") elseif (child.Name == "Rush" or child.Name == "Druns" or child.Name == "Artur") and MonsterESP then CreateESP(child, Color3.fromRGB(255, 0, 0), child.Name) end end) -- Первичная инициализация for _, v in ipairs(workspace:GetDescendants()) do pcall(function() HandleFlick(v) end) end -- ========================================== -- ===== ИНТЕРФЕЙС ЭЛЕМЕНТОВ ТАБОВ ===== -- ========================================== -- Вкладка FARM TabFarm:CreateToggle({ Name = "Авто-Фарм Монет (Coin Farm)", CurrentValue = false, Callback = function(v) farming = v if v then task.spawn(farmLoop) end end, }) TabFarm:CreateButton({ Name = "Сбросить счетчик монет", Callback = function() collected = 0 end, }) local farmStatusLabel = TabFarm:CreateLabel("Статус Фарма: Выкл | Собрано: 0") -- Вкладка PLAYER TabPlayer:CreateToggle({ Name = "Включить WalkSpeed", CurrentValue = false, Callback = function(v) walkspeedEnabled = v end, }) TabPlayer:CreateSlider({ Name = "Скорость (WalkSpeed)", Range = {16, 200}, Increment = 1, Suffix = "инд.", CurrentValue = 16, Callback = function(v) TargetSpeed = v end, }) TabPlayer:CreateToggle({ Name = "Прохождение сквозь стены (Noclip)", CurrentValue = false, Callback = function(v) NoclipEnabled = v end, }) -- Вкладка MONSTER TabMonster:CreateToggle({ Name = "Прятаться от Rush / Druns (В Шкаф)", CurrentValue = false, Callback = function(v) AutoHideRushDrunsEnabled = v end, }) TabMonster:CreateToggle({ Name = "Anti-Artur (Авто-Клик Артура)", CurrentValue = false, Callback = function(v) antiArturEnabled = v end, }) -- Вкладка VISUALS TabVisuals:CreateToggle({ Name = "Яркое зрение (FullBright)", CurrentValue = false, Callback = function(v) FullBrightEnabled = v if v then if holySpiceEnabled then holySpiceEnabled = false end ApplyFullBright() else RevertLighting() end end, }) TabVisuals:CreateToggle({ Name = "HOLY SPICE (Диско-Режим)", CurrentValue = false, Callback = function(v) holySpiceEnabled = v if v then if FullBrightEnabled then FullBrightEnabled = false end task.spawn(holySpiceLoop) else RevertLighting() end end, }) TabVisuals:CreateSlider({ Name = "Интенсивность Holy Spice", Range = {1, 5}, Increment = 0.5, Suffix = "x", CurrentValue = 3.0, Callback = function(v) holySpiceIntensity = v end, }) TabVisuals:CreateToggle({ Name = "Подсветка Монстров (ESP)", CurrentValue = false, Callback = function(v) MonsterESP = v for _, obj in ipairs(workspace:GetDescendants()) do if obj.Name == "Artur" or obj.Name == "Rush" or obj.Name == "Druns" then if v then CreateESP(obj, Color3.fromRGB(255, 0, 0), obj.Name) else RemoveESP(obj) end end end end, }) TabVisuals:CreateToggle({ Name = "Подсветка Шкафов (ESP)", CurrentValue = false, Callback = function(v) ObjectESP = v for _, obj in ipairs(workspace:GetDescendants()) do if obj.Name == "Shkaf" then if v then CreateESP(obj, Color3.fromRGB(0, 255, 0), "Шкаф") else RemoveESP(obj) end end end end, }) -- Цикл обновления статуса фарма на UI task.spawn(function() while true do if farming then local currentCoins = findCoins() farmStatusLabel:Set("Статус Фарма: РАБОТАЕТ | Собрано: " .. collected .. " | На карте: " .. #currentCoins) else farmStatusLabel:Set("Статус Фарма: Выкл | Собрано за сессию: " .. collected) end task.wait(1) end end) Rayfield:LoadConfiguration()