local player = game.Players.LocalPlayer local userInputService = game:GetService("UserInputService") local runService = game:GetService("RunService") local statsService = game:GetService("Stats") local lighting = game:GetService("Lighting") local workspace = game:GetService("Workspace") local tweenService = game:GetService("TweenService") -- ===== ПЕРЕМЕННЫЕ ===== local settings = { fullBright = false, crosshair = false, hitBubble = false, bodyGlow = false, chinaHat = false, customHand = false, blockOverlay = false, aspectRatio = false, arrowNametag = false, maxVisuals = false, fly = false, noclip = false, speed = false, jumpBoost = false, hitColor = false, hosamMer = false, pouch = false, animation = false, } local currentMenu = "main" local flyEnabled = false local bodyGyro = nil local bodyVelocity = nil -- ===== СОЗДАЕМ GUI ===== local screenGui = Instance.new("ScreenGui") screenGui.Name = "PulseVisuals_Menu" screenGui.ResetOnSpawn = false screenGui.Parent = game.CoreGui -- ===== ГЛАВНОЕ МЕНЮ ===== local menuFrame = Instance.new("Frame") menuFrame.Size = UDim2.new(0, 350, 0, 480) menuFrame.Position = UDim2.new(0.5, -175, 0.5, -240) menuFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30) menuFrame.BackgroundTransparency = 0.15 menuFrame.BorderSizePixel = 0 menuFrame.Visible = false menuFrame.ClipsDescendants = true menuFrame.Parent = screenGui local menuCorner = Instance.new("UICorner") menuCorner.CornerRadius = UDim.new(0, 12) menuCorner.Parent = menuFrame local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 45) title.Position = UDim2.new(0, 0, 0, 0) title.BackgroundTransparency = 1 title.Text = "PulseVisuals" title.TextColor3 = Color3.fromRGB(0, 150, 255) title.TextSize = 26 title.Font = Enum.Font.GothamBold title.TextXAlignment = Enum.TextXAlignment.Center title.TextYAlignment = Enum.TextYAlignment.Center title.Parent = menuFrame local backButton = Instance.new("TextButton") backButton.Size = UDim2.new(0, 60, 0, 28) backButton.Position = UDim2.new(0, 8, 0, 8) backButton.Text = "←" backButton.TextColor3 = Color3.fromRGB(255, 255, 255) backButton.TextSize = 18 backButton.BackgroundColor3 = Color3.fromRGB(40, 40, 50) backButton.BackgroundTransparency = 0.5 backButton.BorderSizePixel = 0 backButton.Visible = false backButton.Parent = menuFrame local backCorner = Instance.new("UICorner") backCorner.CornerRadius = UDim.new(0, 6) backCorner.Parent = backButton backButton.MouseButton1Click:Connect(function() currentMenu = "main" updateMenu() end) local scrollContainer = Instance.new("ScrollingFrame") scrollContainer.Size = UDim2.new(1, 0, 1, -50) scrollContainer.Position = UDim2.new(0, 0, 0, 48) scrollContainer.BackgroundTransparency = 1 scrollContainer.BorderSizePixel = 0 scrollContainer.ScrollBarThickness = 4 scrollContainer.ScrollBarImageColor3 = Color3.fromRGB(0, 120, 255) scrollContainer.Parent = menuFrame -- ===== ФУНКЦИИ ===== -- Full Bright local function toggleFullBright() settings.fullBright = not settings.fullBright if settings.fullBright then lighting.Brightness = 10 lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255) lighting.Ambient = Color3.fromRGB(255, 255, 255) else lighting.Brightness = 2 lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128) lighting.Ambient = Color3.fromRGB(128, 128, 128) end print("🔆 Full Bright:", settings.fullBright) end -- Crosshair local function toggleCrosshair() settings.crosshair = not settings.crosshair if settings.crosshair then local crosshair = Instance.new("Frame") crosshair.Name = "PulseCrosshair" crosshair.Size = UDim2.new(0, 40, 0, 40) crosshair.Position = UDim2.new(0.5, -20, 0.5, -20) crosshair.BackgroundTransparency = 1 crosshair.Parent = screenGui for i = 1, 4 do local line = Instance.new("Frame") line.Size = UDim2.new(0, 2, 0, 12) line.Position = UDim2.new(0.5, -1, 0.5, -6) line.BackgroundColor3 = Color3.fromRGB(0, 255, 0) line.BackgroundTransparency = 0.2 line.Rotation = (i - 1) * 90 line.Parent = crosshair end local dot = Instance.new("Frame") dot.Size = UDim2.new(0, 4, 0, 4) dot.Position = UDim2.new(0.5, -2, 0.5, -2) dot.BackgroundColor3 = Color3.fromRGB(255, 0, 0) dot.BackgroundTransparency = 0.1 dot.Parent = crosshair else local crosshair = screenGui:FindFirstChild("PulseCrosshair") if crosshair then crosshair:Destroy() end end print("🎯 Crosshair:", settings.crosshair) end -- Hit Bubble local function toggleHitBubble() settings.hitBubble = not settings.hitBubble if settings.hitBubble then local bubble = Instance.new("Part") bubble.Name = "PulseHitBubble" bubble.Size = Vector3.new(2, 2, 2) bubble.Shape = Enum.PartType.Ball bubble.Anchored = true bubble.CanCollide = false bubble.Transparency = 0.5 bubble.BrickColor = BrickColor.new("Bright red") bubble.Parent = workspace game:GetService("Debris"):AddItem(bubble, 0.2) end print("💥 Hit Bubble:", settings.hitBubble) end -- Body Glow local function toggleBodyGlow() settings.bodyGlow = not settings.bodyGlow local char = player.Character if char then if settings.bodyGlow then for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then local glow = Instance.new("BillboardGui") glow.Name = "BodyGlow" glow.Size = UDim2.new(0, 60, 0, 60) glow.Adornee = part glow.AlwaysOnTop = true glow.Parent = part local frame = Instance.new("Frame") frame.Size = UDim2.new(1, 0, 1, 0) frame.BackgroundColor3 = Color3.fromRGB(0, 150, 255) frame.BackgroundTransparency = 0.5 frame.BorderSizePixel = 0 frame.Parent = glow local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(1, 0) corner.Parent = frame end end else for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then local glow = part:FindFirstChild("BodyGlow") if glow then glow:Destroy() end end end end end print("✨ Body Glow:", settings.bodyGlow) end -- China Hat local function toggleChinaHat() settings.chinaHat = not settings.chinaHat local char = player.Character if char and settings.chinaHat then local hat = Instance.new("Accessory") hat.Name = "ChinaHat" hat.Handle = Instance.new("Part") hat.Handle.Size = Vector3.new(3, 0.8, 3) hat.Handle.Shape = Enum.PartType.Cylinder hat.Handle.BrickColor = BrickColor.new("Bright red") hat.Handle.Anchored = false hat.Handle.CanCollide = false hat.Handle.Material = Enum.Material.Neon hat.Handle.Parent = hat hat.Parent = char elseif char then local hat = char:FindFirstChild("ChinaHat") if hat then hat:Destroy() end end print("🧢 China Hat:", settings.chinaHat) end -- Aspect Ratio local function toggleAspectRatio() settings.aspectRatio = not settings.aspectRatio local camera = workspace.CurrentCamera if camera then camera.FieldOfView = settings.aspectRatio and 120 or 70 end print("📐 Aspect Ratio:", settings.aspectRatio) end -- Arrow Nametag local function toggleArrowNametag() settings.arrowNametag = not settings.arrowNametag if settings.arrowNametag then for _, p in ipairs(game.Players:GetPlayers()) do if p ~= player then local arrow = Instance.new("BillboardGui") arrow.Name = "ArrowNametag" arrow.Size = UDim2.new(0, 50, 0, 50) arrow.Adornee = p.Character and p.Character:FindFirstChild("Head") arrow.AlwaysOnTop = true arrow.Parent = p.Character and p.Character.Head local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.Text = "⬆ " .. p.Name label.TextColor3 = Color3.fromRGB(0, 150, 255) label.TextSize = 14 label.BackgroundTransparency = 1 label.Parent = arrow end end else for _, p in ipairs(game.Players:GetPlayers()) do if p.Character then local arrow = p.Character:FindFirstChild("ArrowNametag") if arrow then arrow:Destroy() end end end end print("🏹 Arrow Nametag:", settings.arrowNametag) end -- Block Overlay local function toggleBlockOverlay() settings.blockOverlay = not settings.blockOverlay if settings.blockOverlay then local overlay = Instance.new("Frame") overlay.Name = "BlockOverlay" overlay.Size = UDim2.new(1, 0, 1, 0) overlay.BackgroundColor3 = Color3.fromRGB(0, 150, 255) overlay.BackgroundTransparency = 0.8 overlay.Parent = screenGui else local overlay = screenGui:FindFirstChild("BlockOverlay") if overlay then overlay:Destroy() end end print("🧱 Block Overlay:", settings.blockOverlay) end -- Custom Hand local function toggleCustomHand() settings.customHand = not settings.customHand local char = player.Character if char and settings.customHand then local tool = Instance.new("Tool") tool.Name = "CustomHand" tool.RequiresHandle = false tool.Parent = player.Backpack local handle = Instance.new("Part") handle.Size = Vector3.new(1, 1, 1) handle.Shape = Enum.PartType.Ball handle.BrickColor = BrickColor.new("Bright blue") handle.Material = Enum.Material.Neon handle.Anchored = false handle.CanCollide = false handle.Parent = tool tool.Equipped:Connect(function() handle.Parent = char handle.Position = char.Head.Position + Vector3.new(0, 2, 0) end) else local tool = player.Backpack:FindFirstChild("CustomHand") if tool then tool:Destroy() end end print("🖐 Custom Hand:", settings.customHand) end -- Max Visuals local function toggleMaxVisuals() settings.maxVisuals = not settings.maxVisuals if settings.maxVisuals then lighting.Brightness = 10 lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255) lighting.Ambient = Color3.fromRGB(255, 255, 255) lighting.FogEnd = 1000 settings.fullBright = true else lighting.Brightness = 2 lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128) lighting.Ambient = Color3.fromRGB(128, 128, 128) lighting.FogEnd = 500 settings.fullBright = false end print("🌟 Max Visuals:", settings.maxVisuals) end -- Speed Boost local function toggleSpeed() settings.speed = not settings.speed local char = player.Character if char and char:FindFirstChild("Humanoid") then char.Humanoid.WalkSpeed = settings.speed and 70 or 16 end print("⚡ Speed:", settings.speed) end -- Fly local function toggleFly() settings.fly = not settings.fly local char = player.Character if char and char:FindFirstChild("Humanoid") then if settings.fly then char.Humanoid.PlatformStand = true bodyGyro = Instance.new("BodyGyro") bodyGyro.P = 1000 bodyGyro.MaxTorque = Vector3.new(4000, 4000, 4000) bodyGyro.CFrame = char.HumanoidRootPart.CFrame bodyGyro.Parent = char.HumanoidRootPart bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.MaxForce = Vector3.new(4000, 4000, 4000) bodyVelocity.Parent = char.HumanoidRootPart game:GetService("RunService").RenderStepped:Connect(function() if settings.fly and char and char.HumanoidRootPart then local move = Vector3.new() if userInputService:IsKeyDown(Enum.KeyCode.W) then move = move + Vector3.new(0, 0, -1) end if userInputService:IsKeyDown(Enum.KeyCode.S) then move = move + Vector3.new(0, 0, 1) end if userInputService:IsKeyDown(Enum.KeyCode.A) then move = move + Vector3.new(-1, 0, 0) end if userInputService:IsKeyDown(Enum.KeyCode.D) then move = move + Vector3.new(1, 0, 0) end if userInputService:IsKeyDown(Enum.KeyCode.Space) then move = move + Vector3.new(0, 1, 0) end if userInputService:IsKeyDown(Enum.KeyCode.LeftShift) then move = move + Vector3.new(0, -1, 0) end if move.Magnitude > 0 then move = move.Unit * 50 bodyVelocity.Velocity = move else bodyVelocity.Velocity = Vector3.new() end bodyGyro.CFrame = workspace.CurrentCamera.CFrame * CFrame.Angles(0, 0, 0) end end) else char.Humanoid.PlatformStand = false if bodyGyro then bodyGyro:Destroy() end if bodyVelocity then bodyVelocity:Destroy() end end end print("🛸 Fly:", settings.fly) end -- NoClip local function toggleNoClip() settings.noclip = not settings.noclip local char = player.Character if char then for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = not settings.noclip end end end print("🚫 NoClip:", settings.noclip) end -- Jump Boost local function toggleJumpBoost() settings.jumpBoost = not settings.jumpBoost local char = player.Character if char and char:FindFirstChild("Humanoid") then char.Humanoid.JumpPower = settings.jumpBoost and 100 or 50 end print("🦘 Jump Boost:", settings.jumpBoost) end -- Hit Color local function toggleHitColor() settings.hitColor = not settings.hitColor if settings.hitColor then local color = Instance.new("Part") color.Name = "HitColor" color.Size = Vector3.new(1, 1, 1) color.Shape = Enum.PartType.Ball color.Anchored = true color.CanCollide = false color.BrickColor = BrickColor.new("Bright green") color.Parent = workspace game:GetService("Debris"):AddItem(color, 0.1) end print("🎨 Hit Color:", settings.hitColor) end -- HosamMer local function toggleHosamMer() settings.hosamMer = not settings.hosamMer if settings.hosamMer then local gui = Instance.new("ScreenGui") gui.Name = "HosamMer" gui.Parent = screenGui local label = Instance.new("TextLabel") label.Size = UDim2.new(0, 200, 0, 50) label.Position = UDim2.new(0.5, -100, 0.5, -25) label.Text = "👤 HosamMer" label.TextColor3 = Color3.fromRGB(0, 150, 255) label.TextSize = 30 label.BackgroundTransparency = 1 label.Parent = gui else local gui = screenGui:FindFirstChild("HosamMer") if gui then gui:Destroy() end end print("👤 HosamMer:", settings.hosamMer) end -- Pouch local function togglePouch() settings.pouch = not settings.pouch if settings.pouch then local gui = Instance.new("ScreenGui") gui.Name = "Pouch" gui.Parent = screenGui local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 200, 0, 150) frame.Position = UDim2.new(0.5, -100, 0.5, -75) frame.BackgroundColor3 = Color3.fromRGB(20, 20, 30) frame.BackgroundTransparency = 0.3 frame.Parent = gui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.Text = "👝 POUCH\nItem 1 | Item 2\nItem 3 | Item 4" label.TextColor3 = Color3.fromRGB(255, 255, 255) label.TextSize = 16 label.BackgroundTransparency = 1 label.Parent = frame else local gui = screenGui:FindFirstChild("Pouch") if gui then gui:Destroy() end end print("👝 Pouch:", settings.pouch) end -- Animation local function toggleAnimation() settings.animation = not settings.animation if settings.animation then local char = player.Character if char and char:FindFirstChild("Humanoid") then local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://507770239" local track = char.Humanoid:LoadAnimation(anim) track:Play() end else local char = player.Character if char and char:FindFirstChild("Humanoid") then char.Humanoid:LoadAnimation(nil) end end print("🎬 Animation:", settings.animation) end -- ===== ⚔️ НОВАЯ ФУНКЦИЯ PVP - НЕЗЕРИТОВЫЙ МЕЧ ===== local function giveNetheriteSword() local char = player.Character if not char then return end -- Проверяем, есть ли уже меч local existingSword = char:FindFirstChild("NetheriteSword") if existingSword then existingSword:Destroy() print("⚔️ Меч убран") return end -- Создаем инструмент local sword = Instance.new("Tool") sword.Name = "NetheriteSword" sword.RequiresHandle = true sword.Parent = player.Backpack -- Рукоять local handle = Instance.new("Part") handle.Name = "Handle" handle.Size = Vector3.new(0.5, 1.5, 0.5) handle.BrickColor = BrickColor.new("Really black") handle.Material = Enum.Material.SmoothPlastic handle.Anchored = false handle.CanCollide = false handle.Parent = sword -- Лезвие local blade = Instance.new("Part") blade.Name = "Blade" blade.Size = Vector3.new(0.3, 2.5, 0.8) blade.Position = Vector3.new(0, 1.5, 0) blade.BrickColor = BrickColor.new("Dark indigo") blade.Material = Enum.Material.Neon blade.Anchored = false blade.CanCollide = false blade.Parent = handle -- Свечение local glow = Instance.new("PointLight") glow.Color = Color3.fromRGB(100, 50, 200) glow.Range = 8 glow.Brightness = 2 glow.Parent = blade -- Атака local damage = 25 local cooldown = false sword.Activated:Connect(function() if cooldown then return end cooldown = true local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) local tween = tweenService:Create(handle, tweenInfo, { CFrame = handle.CFrame * CFrame.Angles(0, 0, -1.5) }) tween:Play() tween.Completed:Connect(function() local tweenBack = tweenService:Create(handle, TweenInfo.new(0.2), { CFrame = handle.CFrame * CFrame.Angles(0, 0, 1.5) }) tweenBack:Play() end) local charPos = char.HumanoidRootPart.Position for _, target in ipairs(game.Players:GetPlayers()) do if target ~= player then local targetChar = target.Character if targetChar and targetChar:FindFirstChild("HumanoidRootPart") then local dist = (targetChar.HumanoidRootPart.Position - charPos).Magnitude if dist < 6 then local humanoid = targetChar:FindFirstChild("Humanoid") if humanoid then humanoid.Health = humanoid.Health - damage print("⚔️ Нанесен урон " .. target.Name .. " (" .. damage .. ")") end end end end end task.wait(0.5) cooldown = false end) sword.Equipped:Connect(function() handle.Parent = char local characterCF = char.HumanoidRootPart.CFrame handle.CFrame = characterCF * CFrame.new(1.5, 1, 0) * CFrame.Angles(0, 0, 0) end) sword.Unequipped:Connect(function() handle.Parent = sword end) task.wait(0.1) if player.Backpack:FindFirstChild("NetheriteSword") then char.Humanoid:EquipTool(sword) end print("⚔️ Незеритовый меч выдан!") end -- ===== ДАННЫЕ МЕНЮ ===== local menuData = { main = { {name = "Visuals", action = function() currentMenu = "visuals"; updateMenu() end}, {name = "HUD", action = function() currentMenu = "hud"; updateMenu() end}, {name = "Utilities", action = function() currentMenu = "utilities"; updateMenu() end}, {name = "Pouch", action = function() currentMenu = "pouch"; updateMenu() end}, {name = "Animations", action = function() currentMenu = "animations"; updateMenu() end}, {name = "PvP", action = function() currentMenu = "pvp"; updateMenu() end}, -- 👈 НОВАЯ КАТЕГОРИЯ }, visuals = { {name = "Max Visuals", action = toggleMaxVisuals, color = Color3.fromRGB(255, 200, 0)}, {name = "Full Bright", action = toggleFullBright}, {name = "Crosshair", action = toggleCrosshair}, {name = "Hit Bubble", action = toggleHitBubble}, {name = "Body Glow", action = toggleBodyGlow}, {name = "China Hat", action = toggleChinaHat}, {name = "AspectRatio", action = toggleAspectRatio}, {name = "BlockOverlay", action = toggleBlockOverlay}, {name = "ArrowNametag", action = toggleArrowNametag}, {name = "Custom Hand", action = toggleCustomHand}, {name = "Hit Color", action = toggleHitColor}, {name = "HosamMer", action = toggleHosamMer}, }, hud = { {name = "Show FPS", action = function() print("📊 FPS: ON") end}, {name = "Show Ping", action = function() print("📊 Ping: ON") end}, {name = "Show Date", action = function() print("📊 Date: " .. os.date()) end}, {name = "Show Time", action = function() print("📊 Time: " .. os.date("%H:%M:%S")) end}, }, utilities = { {name = "Speed Boost", action = toggleSpeed}, {name = "Jump Boost", action = toggleJumpBoost}, {name = "Fly", action = toggleFly}, {name = "NoClip", action = toggleNoClip}, {name = "Reset Speed", action = function() local char = player.Character if char and char:FindFirstChild("Humanoid") then char.Humanoid.WalkSpeed = 16 char.Humanoid.JumpPower = 50 settings.speed = false settings.jumpBoost = false end end}, {name = "God Mode", action = function() local char = player.Character if char and char:FindFirstChild("Humanoid") then char.Humanoid.MaxHealth = math.huge char.Humanoid.Health = math.huge end end}, }, pouch = { {name = "Open Pouch", action = togglePouch}, {name = "Item 1", action = function() print("📦 Item 1: Трава") end}, {name = "Item 2", action = function() print("📦 Item 2: Камень") end}, {name = "Item 3", action = function() print("📦 Item 3: Палка") end}, {name = "Item 4", action = function() print("📦 Item 4: Яблоко") end}, }, animations = { {name = "Dance", action = toggleAnimation}, {name = "Idle", action = function() print("🎬 Idle") end}, {name = "Run", action = function() print("🎬 Run") end}, {name = "Jump", action = function() print("🎬 Jump") end}, {name = "Sit", action = function() print("🎬 Sit") end}, {name = "Wave", action = function() print("🎬 Wave") end}, }, -- ===== НОВАЯ КАТЕГОРИЯ PVP ===== pvp = { {name = "Netherite Sword", action = giveNetheriteSword, color = Color3.fromRGB(150, 50, 200)}, {name = "PvP Speed", action = function() local char = player.Character if char and char:FindFirstChild("Humanoid") then char.Humanoid.WalkSpeed = 50 end end}, {name = "PvP Armor", action = function() local char = player.Character if char then for i = 1, 4 do local armor = Instance.new("Part") armor.Size = Vector3.new(2, 0.5, 1) armor.BrickColor = BrickColor.new("Dark indigo") armor.Material = Enum.Material.Neon armor.Anchored = true armor.CanCollide = false armor.Transparency = 0.3 armor.Parent = char armor.Position = char.HumanoidRootPart.Position + Vector3.new(0, 0.5 + (i-1) * 0.3, 0) game:GetService("Debris"):AddItem(armor, 5) end end end}, {name = "Disable PvP", action = function() local char = player.Character if char then local sword = char:FindFirstChild("NetheriteSword") if sword then sword:Destroy() end local bp = player.Backpack:FindFirstChild("NetheriteSword") if bp then bp:Destroy() end end settings.speed = false local char = player.Character if char and char:FindFirstChild("Humanoid") then char.Humanoid.WalkSpeed = 16 end end}, }, } -- ===== ФУНКЦИЯ ОБНОВЛЕНИЯ МЕНЮ ===== function updateMenu() for _, child in ipairs(scrollContainer:GetChildren()) do if child:IsA("TextButton") or child:IsA("Frame") then child:Destroy() end end backButton.Visible = (currentMenu ~= "main") if currentMenu == "main" then title.Text = "PulseVisuals" else title.Text = "PulseVisuals - " .. string.upper(currentMenu) end local items = menuData[currentMenu] or {} local grid = Instance.new("Frame") grid.Size = UDim2.new(1, 0, 0, math.ceil(#items / 2) * 40 + 20) grid.BackgroundTransparency = 1 grid.Parent = scrollContainer for i, item in ipairs(items) do local col = (i - 1) % 2 local row = math.floor((i - 1) / 2) local button = Instance.new("TextButton") button.Size = UDim2.new(0.45, 0, 0, 32) button.Position = UDim2.new(col == 0 and 0.03 or 0.52, 0, 0, row * 36 + 4) button.BackgroundColor3 = item.color or Color3.fromRGB(40, 40, 50) button.BackgroundTransparency = 0.4 button.BorderSizePixel = 0 button.Text = item.name button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextSize = 14 button.TextXAlignment = Enum.TextXAlignment.Center button.TextYAlignment = Enum.TextYAlignment.Center button.Font = Enum.Font.SourceSansBold button.Parent = grid local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 6) btnCorner.Parent = button button.MouseEnter:Connect(function() button.BackgroundColor3 = Color3.fromRGB(60, 60, 80) end) button.MouseLeave:Connect(function() button.BackgroundColor3 = item.color or Color3.fromRGB(40, 40, 50) end) button.MouseButton1Click:Connect(item.action) end scrollContainer.CanvasSize = UDim2.new(0, 0, 0, math.ceil(#items / 2) * 40 + 20) end -- ===== FPS ДИСПЛЕЙ ===== local fpsFrame = Instance.new("Frame") fpsFrame.Size = UDim2.new(0, 320, 0, 35) fpsFrame.Position = UDim2.new(0.5, -160, 0, 10) fpsFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) fpsFrame.BackgroundTransparency = 0.6 fpsFrame.BorderSizePixel = 0 fpsFrame.ClipsDescendants = true fpsFrame.Parent = screenGui local fpsCorner = Instance.new("UICorner") fpsCorner.CornerRadius = UDim.new(0, 10) fpsCorner.Parent = fpsFrame local fpsText = Instance.new("TextLabel") fpsText.Size = UDim2.new(1, 0, 1, 0) fpsText.BackgroundTransparency = 1 fpsText.TextColor3 = Color3.fromRGB(0, 120, 255) fpsText.Text = "pulsevisuals.pro / 0 ms / 0 FPS" fpsText.TextSize = 16 fpsText.Font = Enum.Font.GothamBold fpsText.TextXAlignment = Enum.TextXAlignment.Center fpsText.TextYAlignment = Enum.TextYAlignment.Center fpsText.Parent = fpsFrame -- ===== ОБНОВЛЕНИЕ FPS ===== local frameCount = 0 local lastTime = tick() local function updateFPS() frameCount = frameCount + 1 local currentTime = tick() local deltaTime = currentTime - lastTime if deltaTime >= 0.5 then local fps = math.floor(frameCount / deltaTime) frameCount = 0 lastTime = currentTime local ping = math.floor(statsService.Network.ServerStatsItem["Data Ping"]:GetValue() * 1000) fpsText.Text = "pulsevisuals.pro / " .. ping .. " ms / " .. fps .. " FPS" end end runService.RenderStepped:Connect(updateFPS) -- ===== ОТКРЫТИЕ МЕНЮ ===== userInputService.InputBegan:Connect(function(input, gameProcessed) if input.KeyCode == Enum.KeyCode.RightShift then menuFrame.Visible = not menuFrame.Visible if menuFrame.Visible then currentMenu = "main" updateMenu() end end end) updateMenu() print("✅ PulseVisuals загружен! Нажмите ПРАВЫЙ SHIFT") print("⚔️ В категории PvP есть Незеритовый меч!")