local LibraryUrl = "https://raw.githubusercontent.com/Vovabro46/trash/refs/heads/main/Test.lua" local Success, Library = pcall(function() return loadstring(game:HttpGet(LibraryUrl))() end) if not Success or not Library then return warn("Ошибка загрузки библиотеки! Проверь ссылку или наличие файла на GitHub.") end local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") local Camera = Workspace.CurrentCamera local CoreGui = game:GetService("CoreGui") -- ============================================================================== -- >> СИСТЕМА ESP (LOGIC) << -- ============================================================================== local ESPSettings = { Enabled = false, TeamCheck = false, -- 2D Boxes Box = false, BoxColor = Color3.fromRGB(255, 255, 255), BoxOutline = true, -- Tracers Tracers = false, TracersOrigin = "Bottom", TracersColor = Color3.fromRGB(255, 255, 255), -- Text Info Name = false, NameColor = Color3.fromRGB(255, 255, 255), Distance = false, Weapon = false, WeaponColor = Color3.fromRGB(200, 200, 255), -- Bars HealthBar = false, -- Skeleton & Head Skeleton = false, SkeletonColor = Color3.fromRGB(255, 255, 255), HeadDot = false, HeadDotColor = Color3.fromRGB(255, 0, 0), ViewTracer = false, ViewTracerColor = Color3.fromRGB(255, 100, 100), -- 3D Chams Chams = false, ChamsFillColor = Color3.fromRGB(255, 0, 0), ChamsOutlineColor = Color3.fromRGB(255, 255, 255), ChamsTransparency = 0.5, ChamsOutlineTransparency = 0 } local ESPStorage = {} local function CreateDrawing(Type, Properties) local DrawingObj = Drawing.new(Type) for Property, Value in pairs(Properties) do DrawingObj[Property] = Value end return DrawingObj end local function RemoveESP(Player) if ESPStorage[Player] then for _, Obj in pairs(ESPStorage[Player].Drawings) do if Obj.Remove then Obj:Remove() end end if ESPStorage[Player].SkeletonLines then for _, Line in pairs(ESPStorage[Player].SkeletonLines) do Line:Remove() end end if ESPStorage[Player].Highlight then ESPStorage[Player].Highlight:Destroy() end ESPStorage[Player] = nil end end local function AddESP(Player) if Player == LocalPlayer then return end local SkeletonLines = {} for i = 1, 16 do table.insert(SkeletonLines, CreateDrawing("Line", {Thickness = 1, Color = Color3.new(1,1,1), ZIndex = 2})) end ESPStorage[Player] = { Drawings = { Box = CreateDrawing("Square", {Thickness = 1, Filled = false, ZIndex = 2}), BoxOutline = CreateDrawing("Square", {Thickness = 3, Filled = false, Color = Color3.new(0,0,0), ZIndex = 1}), Tracer = CreateDrawing("Line", {Thickness = 1, ZIndex = 2}), Name = CreateDrawing("Text", {Size = 13, Center = true, Outline = true, Font = 2, ZIndex = 3}), Distance = CreateDrawing("Text", {Size = 12, Center = true, Outline = true, Font = 2, ZIndex = 3}), Weapon = CreateDrawing("Text", {Size = 11, Center = true, Outline = true, Font = 2, ZIndex = 3}), HealthBar = CreateDrawing("Square", {Thickness = 1, Filled = true, ZIndex = 2}), HealthOutline = CreateDrawing("Square", {Thickness = 1, Filled = true, Color = Color3.new(0,0,0), ZIndex = 1}), HeadDot = CreateDrawing("Circle", {Radius = 3, Filled = true, NumSides = 12, ZIndex = 3}), ViewTracer = CreateDrawing("Line", {Thickness = 1, ZIndex = 2}) }, SkeletonLines = SkeletonLines, Highlight = nil } end local function UpdateSkeletonLine(Line, PartA, PartB) if not PartA or not PartB then Line.Visible = false return end local PosA, OnScreenA = Camera:WorldToViewportPoint(PartA.Position) local PosB, OnScreenB = Camera:WorldToViewportPoint(PartB.Position) if OnScreenA or OnScreenB then Line.From = Vector2.new(PosA.X, PosA.Y) Line.To = Vector2.new(PosB.X, PosB.Y) Line.Color = ESPSettings.SkeletonColor Line.Visible = true else Line.Visible = false end end RunService.RenderStepped:Connect(function() for Player, Storage in pairs(ESPStorage) do local Character = Player.Character local RootPart = Character and Character:FindFirstChild("HumanoidRootPart") local Humanoid = Character and Character:FindFirstChild("Humanoid") local Head = Character and Character:FindFirstChild("Head") local Drawings = Storage.Drawings local ShouldDraw = false -- Базовые проверки if ESPSettings.Enabled and Character and RootPart and Humanoid and Humanoid.Health > 0 and Head then if not ESPSettings.TeamCheck or Player.Team ~= LocalPlayer.Team then local Vector, OnScreen = Camera:WorldToViewportPoint(RootPart.Position) if OnScreen then ShouldDraw = true local HeadPos = Head.Position + Vector3.new(0, 0.5, 0) local LegPos = RootPart.Position - Vector3.new(0, Humanoid.HipHeight + 2, 0) local TopPos = Camera:WorldToViewportPoint(HeadPos) local BotPos = Camera:WorldToViewportPoint(LegPos) local Height = math.abs(TopPos.Y - BotPos.Y) local Width = Height / 1.6 local BoxPos = Vector2.new(Vector.X - Width / 2, Vector.Y - Height / 2) -- 1. BOX ESP if ESPSettings.Box then Drawings.Box.Size = Vector2.new(Width, Height) Drawings.Box.Position = BoxPos Drawings.Box.Color = ESPSettings.BoxColor Drawings.Box.Visible = true if ESPSettings.BoxOutline then Drawings.BoxOutline.Size = Vector2.new(Width, Height) Drawings.BoxOutline.Position = BoxPos Drawings.BoxOutline.Visible = true else Drawings.BoxOutline.Visible = false end else Drawings.Box.Visible = false Drawings.BoxOutline.Visible = false end -- 2. TRACERS if ESPSettings.Tracers then local Origin = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y) -- Bottom if ESPSettings.TracersOrigin == "Center" then Origin = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) elseif ESPSettings.TracersOrigin == "Mouse" then Origin = UserInputService:GetMouseLocation() end Drawings.Tracer.From = Origin Drawings.Tracer.To = Vector2.new(Vector.X, BotPos.Y) Drawings.Tracer.Color = ESPSettings.TracersColor Drawings.Tracer.Visible = true else Drawings.Tracer.Visible = false end -- 3. HEALTH BAR if ESPSettings.HealthBar then local BarWidth = 2 local HealthPercent = math.clamp(Humanoid.Health / Humanoid.MaxHealth, 0, 1) local BarHeight = Height * HealthPercent Drawings.HealthOutline.Size = Vector2.new(BarWidth + 2, Height + 2) Drawings.HealthOutline.Position = Vector2.new(BoxPos.X - 6, BoxPos.Y - 1) Drawings.HealthOutline.Visible = true Drawings.HealthBar.Size = Vector2.new(BarWidth, BarHeight) Drawings.HealthBar.Position = Vector2.new(BoxPos.X - 5, BoxPos.Y + (Height - BarHeight)) Drawings.HealthBar.Color = Color3.fromRGB(255, 0, 0):Lerp(Color3.fromRGB(0, 255, 0), HealthPercent) Drawings.HealthBar.Visible = true else Drawings.HealthBar.Visible = false Drawings.HealthOutline.Visible = false end -- 4. TEXT INFO (Name, Distance, Weapon) local TextYOffset = BoxPos.Y - 16 -- Name if ESPSettings.Name then Drawings.Name.Text = Player.Name Drawings.Name.Position = Vector2.new(Vector.X, TextYOffset) Drawings.Name.Color = ESPSettings.NameColor Drawings.Name.Visible = true TextYOffset = TextYOffset - 14 else Drawings.Name.Visible = false end -- Bottom Text Start local BottomOffset = BoxPos.Y + Height + 2 -- Distance if ESPSettings.Distance then local Dist = math.floor((Camera.CFrame.Position - RootPart.Position).Magnitude) Drawings.Distance.Text = "[" .. tostring(Dist) .. "m]" Drawings.Distance.Position = Vector2.new(Vector.X, BottomOffset) Drawings.Distance.Color = Color3.fromRGB(255, 255, 255) Drawings.Distance.Visible = true BottomOffset = BottomOffset + 14 else Drawings.Distance.Visible = false end -- Weapon if ESPSettings.Weapon then local Tool = Character:FindFirstChildOfClass("Tool") local WeaponName = Tool and Tool.Name or "None" Drawings.Weapon.Text = WeaponName Drawings.Weapon.Position = Vector2.new(Vector.X, BottomOffset) Drawings.Weapon.Color = ESPSettings.WeaponColor Drawings.Weapon.Visible = true else Drawings.Weapon.Visible = false end -- 5. HEAD DOT if ESPSettings.HeadDot then local HeadVect = Camera:WorldToViewportPoint(Head.Position) Drawings.HeadDot.Position = Vector2.new(HeadVect.X, HeadVect.Y) Drawings.HeadDot.Color = ESPSettings.HeadDotColor Drawings.HeadDot.Visible = true else Drawings.HeadDot.Visible = false end -- 6. VIEW TRACER (Gaze) if ESPSettings.ViewTracer then local HeadVect = Camera:WorldToViewportPoint(Head.Position) local LookVect = Camera:WorldToViewportPoint(Head.Position + Head.CFrame.LookVector * 10) Drawings.ViewTracer.From = Vector2.new(HeadVect.X, HeadVect.Y) Drawings.ViewTracer.To = Vector2.new(LookVect.X, LookVect.Y) Drawings.ViewTracer.Color = ESPSettings.ViewTracerColor Drawings.ViewTracer.Visible = true else Drawings.ViewTracer.Visible = false end -- 7. SKELETON (BONES) if ESPSettings.Skeleton then local S = Storage.SkeletonLines local R15 = Humanoid.RigType == Enum.HumanoidRigType.R15 if R15 then -- R15 Connections UpdateSkeletonLine(S[1], Character:FindFirstChild("Head"), Character:FindFirstChild("UpperTorso")) UpdateSkeletonLine(S[2], Character:FindFirstChild("UpperTorso"), Character:FindFirstChild("LowerTorso")) UpdateSkeletonLine(S[3], Character:FindFirstChild("UpperTorso"), Character:FindFirstChild("LeftUpperArm")) UpdateSkeletonLine(S[4], Character:FindFirstChild("LeftUpperArm"), Character:FindFirstChild("LeftLowerArm")) UpdateSkeletonLine(S[5], Character:FindFirstChild("LeftLowerArm"), Character:FindFirstChild("LeftHand")) UpdateSkeletonLine(S[6], Character:FindFirstChild("UpperTorso"), Character:FindFirstChild("RightUpperArm")) UpdateSkeletonLine(S[7], Character:FindFirstChild("RightUpperArm"), Character:FindFirstChild("RightLowerArm")) UpdateSkeletonLine(S[8], Character:FindFirstChild("RightLowerArm"), Character:FindFirstChild("RightHand")) UpdateSkeletonLine(S[9], Character:FindFirstChild("LowerTorso"), Character:FindFirstChild("LeftUpperLeg")) UpdateSkeletonLine(S[10], Character:FindFirstChild("LeftUpperLeg"), Character:FindFirstChild("LeftLowerLeg")) UpdateSkeletonLine(S[11], Character:FindFirstChild("LeftLowerLeg"), Character:FindFirstChild("LeftFoot")) UpdateSkeletonLine(S[12], Character:FindFirstChild("LowerTorso"), Character:FindFirstChild("RightUpperLeg")) UpdateSkeletonLine(S[13], Character:FindFirstChild("RightUpperLeg"), Character:FindFirstChild("RightLowerLeg")) UpdateSkeletonLine(S[14], Character:FindFirstChild("RightLowerLeg"), Character:FindFirstChild("RightFoot")) else -- R6 Connections (Simpler) local Torso = Character:FindFirstChild("Torso") UpdateSkeletonLine(S[1], Character:FindFirstChild("Head"), Torso) UpdateSkeletonLine(S[2], Torso, Character:FindFirstChild("Left Arm")) UpdateSkeletonLine(S[3], Torso, Character:FindFirstChild("Right Arm")) UpdateSkeletonLine(S[4], Torso, Character:FindFirstChild("Left Leg")) UpdateSkeletonLine(S[5], Torso, Character:FindFirstChild("Right Leg")) -- Hide unused lines for i=6, 14 do S[i].Visible = false end end else -- Hide all skeleton lines for _, L in pairs(Storage.SkeletonLines) do L.Visible = false end end end -- End OnScreen Check -- 8. CHAMS (3D) if ESPSettings.Chams then if not Storage.Highlight then local Highlight = Instance.new("Highlight") Highlight.Name = "ESPHighlight" Highlight.FillColor = ESPSettings.ChamsFillColor Highlight.OutlineColor = ESPSettings.ChamsOutlineColor Highlight.FillTransparency = ESPSettings.ChamsTransparency Highlight.OutlineTransparency = ESPSettings.ChamsOutlineTransparency Highlight.Adornee = Character Highlight.Parent = CoreGui Storage.Highlight = Highlight else Storage.Highlight.Adornee = Character Storage.Highlight.FillColor = ESPSettings.ChamsFillColor Storage.Highlight.OutlineColor = ESPSettings.ChamsOutlineColor Storage.Highlight.FillTransparency = ESPSettings.ChamsTransparency Storage.Highlight.OutlineTransparency = ESPSettings.ChamsOutlineTransparency Storage.Highlight.Enabled = true end else if Storage.Highlight then Storage.Highlight.Enabled = false end end else ShouldDraw = false end end if not ShouldDraw then for _, Obj in pairs(Drawings) do Obj.Visible = false end for _, Line in pairs(Storage.SkeletonLines) do Line.Visible = false end if Storage.Highlight then Storage.Highlight.Enabled = false end end end end) Players.PlayerAdded:Connect(AddESP) Players.PlayerRemoving:Connect(RemoveESP) for _, P in pairs(Players:GetPlayers()) do AddESP(P) end -- ============================================================================== -- >> (UI SETUP) << -- ============================================================================== Library:Watermark("DINAS ESP") local Window = Library:Window("Dinas Hub") -- TABS Window:Section("Menu") local VisualsTab = Window:Tab("Visuals") Window:Section("System") local SettingsTab = Window:Tab("Settings") -- >> VISUALS TAB local VisualsPage = VisualsTab:SubTab("ESP Config") local ESPMain = VisualsPage:Groupbox("Main ESP", "Left") local ESPInfo = VisualsPage:Groupbox("Info & Extras", "Left") local ESPWorld = VisualsPage:Groupbox("Skeleton & World", "Right") local ESPColors = VisualsPage:Groupbox("Color Palette", "Right") -- Main ESPMain:AddToggle({ Title = "Master Switch", Default = false, Callback = function(V) ESPSettings.Enabled = V end }) ESPMain:AddToggle({ Title = "Team Check", Default = false, Callback = function(V) ESPSettings.TeamCheck = V end }) ESPMain:AddToggle({ Title = "Boxes", Default = false, Callback = function(V) ESPSettings.Box = V end }) ESPMain:AddToggle({ Title = "Tracers", Default = false, Callback = function(V) ESPSettings.Tracers = V end }) ESPMain:AddDropdown({ Title = "Tracer Origin", Values = {"Bottom", "Center", "Mouse"}, Default = "Bottom", Multi = false, Callback = function(V) ESPSettings.TracersOrigin = V end }) -- Info ESPInfo:AddToggle({ Title = "Names", Default = false, Callback = function(V) ESPSettings.Name = V end }) ESPInfo:AddToggle({ Title = "Distance", Default = false, Callback = function(V) ESPSettings.Distance = V end }) ESPInfo:AddToggle({ Title = "Show Weapon", Default = false, Description = "Shows the item in hands", Callback = function(V) ESPSettings.Weapon = V end }) ESPInfo:AddToggle({ Title = "Health Bar", Default = false, Callback = function(V) ESPSettings.HealthBar = V end }) -- World / Skeleton ESPWorld:AddToggle({ Title = "Skeleton", Default = false, Description = "Rendering bones (R6/R15)", Callback = function(V) ESPSettings.Skeleton = V end }) ESPWorld:AddToggle({ Title = "Head Dot", Default = false, Description = "Dot on the head", Callback = function(V) ESPSettings.HeadDot = V end }) ESPWorld:AddToggle({ Title = "View Tracers", Default = false, Description = "Where the player is looking", Callback = function(V) ESPSettings.ViewTracer = V end }) ESPWorld:AddToggle({ Title = "Chams (3D)", Default = false, Description = "See through walls", Callback = function(V) ESPSettings.Chams = V end }) ESPWorld:AddSlider({ Title = "Chams Transparency", Min = 0, Max = 1, Default = 0.5, Rounding = 1, Callback = function(V) ESPSettings.ChamsTransparency = V end }) ESPColors:AddLabel("ESP Colors") ESPColors:AddColorPicker({ Title = "Box Color", Default = ESPSettings.BoxColor, Callback = function(V) ESPSettings.BoxColor = V end }) ESPColors:AddColorPicker({ Title = "Skeleton Color", Default = ESPSettings.SkeletonColor, Callback = function(V) ESPSettings.SkeletonColor = V end }) ESPColors:AddColorPicker({ Title = "Head Dot Color", Default = ESPSettings.HeadDotColor, Callback = function(V) ESPSettings.HeadDotColor = V end }) ESPColors:AddColorPicker({ Title = "View Tracer Color", Default = ESPSettings.ViewTracerColor, Callback = function(V) ESPSettings.ViewTracerColor = V end }) ESPColors:AddColorPicker({ Title = "Weapon Text Color", Default = ESPSettings.WeaponColor, Callback = function(V) ESPSettings.WeaponColor = V end }) ESPColors:AddLabel("Chams Colors") ESPColors:AddColorPicker({ Title = "Fill Color", Default = ESPSettings.ChamsFillColor, Callback = function(V) ESPSettings.ChamsFillColor = V end }) ESPColors:AddColorPicker({ Title = "Outline Color", Default = ESPSettings.ChamsOutlineColor, Callback = function(V) ESPSettings.ChamsOutlineColor = V end }) -- ============================ -- >> SETTINGS TAB << -- ============================ local SettingsPage = SettingsTab:SubTab("Menu Settings") -- >> CONFIG MANAGER << local ConfigGroup = SettingsPage:Groupbox("Configuration", "Left") local Configs = Library:GetConfigs() ConfigGroup:AddDropdown({ Title = "Select Config", Values = Configs, Default = "default", Multi = false, Flag = "SelectedConfig", Callback = function(Value) end }) ConfigGroup:AddTextbox({ Title = "New Config Name", Placeholder = "Type name...", Flag = "NewConfigName", Callback = function(Value) end }) ConfigGroup:AddButton({ Title = "Load Selected", Callback = function() local name = Library.Flags["SelectedConfig"] if name then Library:LoadConfig(name) else Library:Notify("Error", "No config selected!", 3) end end }) ConfigGroup:AddButton({ Title = "Save Config", Callback = function() local name = Library.Flags["NewConfigName"] if name == "" or name == nil then name = Library.Flags["SelectedConfig"] end if name and name ~= "" then Library:SaveConfig(name) local NewList = Library:GetConfigs() if Library.Items["SelectedConfig"] then Library.Items["SelectedConfig"].Refresh(NewList) end else Library:Notify("Error", "Enter a name or select a config!", 3) end end }) ConfigGroup:AddButton({ Title = "Refresh List", Callback = function() local NewList = Library:GetConfigs() if Library.Items["SelectedConfig"] then Library.Items["SelectedConfig"].Refresh(NewList) end Library:Notify("Configs", "List refreshed", 2) end }) -- >> THEME MANAGER << local ThemeGroup = SettingsPage:Groupbox("Theme Manager", "Right") ThemeGroup:AddLabel("Main Colors") ThemeGroup:AddColorPicker({ Title = "Accent Color", Default = Library.Theme.Accent, Flag = "ThemeAccent", Callback = function(Value) Library:UpdateTheme("Accent", Value) end }) ThemeGroup:AddColorPicker({ Title = "Background", Default = Library.Theme.Background, Flag = "ThemeBackground", Callback = function(Value) Library:UpdateTheme("Background", Value) end }) ThemeGroup:AddColorPicker({ Title = "Sidebar", Default = Library.Theme.Sidebar, Flag = "ThemeSidebar", Callback = function(Value) Library:UpdateTheme("Sidebar", Value) end }) ThemeGroup:AddColorPicker({ Title = "Groupbox", Default = Library.Theme.Groupbox, Flag = "ThemeGroupbox", Callback = function(Value) Library:UpdateTheme("Groupbox", Value) end }) ThemeGroup:AddLabel("Text & Outlines") ThemeGroup:AddColorPicker({ Title = "Main Text", Default = Library.Theme.Text, Flag = "ThemeText", Callback = function(Value) Library:UpdateTheme("Text", Value) end }) ThemeGroup:AddColorPicker({ Title = "Secondary Text", Default = Library.Theme.TextDark, Flag = "ThemeTextDark", Callback = function(Value) Library:UpdateTheme("TextDark", Value) end }) ThemeGroup:AddColorPicker({ Title = "Outline/Stroke", Default = Library.Theme.Outline, Flag = "ThemeOutline", Callback = function(Value) Library:UpdateTheme("Outline", Value) end }) ThemeGroup:AddButton({ Title = "Reset Theme to Default", Callback = function() Library:UpdateTheme("Background", Color3.fromRGB(15, 15, 15)) Library:UpdateTheme("Sidebar", Color3.fromRGB(20, 20, 20)) Library:UpdateTheme("Groupbox", Color3.fromRGB(25, 25, 25)) Library:UpdateTheme("Outline", Color3.fromRGB(45, 45, 45)) Library:UpdateTheme("Accent", Color3.fromRGB(255, 40, 40)) Library:UpdateTheme("Text", Color3.fromRGB(235, 235, 235)) Library:UpdateTheme("TextDark", Color3.fromRGB(140, 140, 140)) Library:Notify("Theme", "Colors reset to default", 2) end }) -- >> ПРАВАЯ СТОРОНА (Ниже Theme Manager) : UI SETTINGS << local UISettings = SettingsPage:Groupbox("UI Settings", "Right") UISettings:AddToggle({ Title = "Show Watermark", Default = true, Flag = "WatermarkToggle", Callback = function(Value) Library.WatermarkSettings.Enabled = Value end }) UISettings:AddTextbox({ Title = "Watermark Text", Default = "RedOnyx", Placeholder = "Enter text...", ClearOnFocus = false, Callback = function(Value) Library.WatermarkSettings.Text = Value end }) UISettings:AddButton({ Title = "Unload / Destroy UI", Callback = function() local gui = game:GetService("CoreGui"):FindFirstChild("RedOnyx") local water = game:GetService("CoreGui"):FindFirstChild("Watermark") if gui then gui:Destroy() end if water then water:Destroy() end end })