-- Script JumpPower GUI với menu vuông nhỏ và nhập độ cao nhảy tùy chỉnh -- Đặt script này vào LocalScript trong StarterGui local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") -- Lưu giá trị gốc local originalJumpPower = humanoid.JumpPower local originalWalkSpeed = humanoid.WalkSpeed -- Tạo GUI chính local screenGui = Instance.new("ScreenGui") screenGui.Name = "JumpPowerGUI" screenGui.Parent = player.PlayerGui -- Nút mở menu jump (hình vuông nhỏ) local menuToggle = Instance.new("TextButton") menuToggle.Name = "JumpMenuToggle" menuToggle.Size = UDim2.new(0, 50, 0, 50) menuToggle.Position = UDim2.new(0.98, -50, 0.85, 0) menuToggle.Text = "🦘" menuToggle.TextSize = 26 menuToggle.TextColor3 = Color3.fromRGB(255, 255, 255) menuToggle.BackgroundColor3 = Color3.fromRGB(200, 100, 50) menuToggle.BorderSizePixel = 0 menuToggle.Parent = screenGui -- Menu jump power (hình vuông nhỏ - góc phải) local jumpMenu = Instance.new("Frame") jumpMenu.Name = "JumpMenu" jumpMenu.Size = UDim2.new(0, 220, 0, 280) jumpMenu.Position = UDim2.new(0.98, -220, 0.85, -290) jumpMenu.BackgroundColor3 = Color3.fromRGB(35, 35, 45) jumpMenu.BackgroundTransparency = 0.1 jumpMenu.BorderSizePixel = 0 jumpMenu.Visible = false jumpMenu.Parent = screenGui -- Tiêu đề menu với icon nhảy local titleFrame = Instance.new("Frame") titleFrame.Name = "Title" titleFrame.Size = UDim2.new(1, 0, 0, 45) titleFrame.Position = UDim2.new(0, 0, 0, 0) titleFrame.BackgroundColor3 = Color3.fromRGB(220, 110, 60) titleFrame.BorderSizePixel = 0 titleFrame.Parent = jumpMenu local titleText = Instance.new("TextLabel") titleText.Name = "TitleText" titleText.Size = UDim2.new(1, 0, 1, 0) titleText.Text = "🦘 JUMP POWER CONTROL" titleText.TextColor3 = Color3.fromRGB(255, 255, 255) titleText.TextSize = 17 titleText.Font = Enum.Font.GothamBold titleText.BackgroundTransparency = 1 titleText.Parent = titleFrame -- Ô hiển thị jump power hiện tại local currentJumpDisplay = Instance.new("Frame") currentJumpDisplay.Name = "CurrentJump" currentJumpDisplay.Size = UDim2.new(1, -20, 0, 55) currentJumpDisplay.Position = UDim2.new(0, 10, 0, 55) currentJumpDisplay.BackgroundColor3 = Color3.fromRGB(45, 45, 55) currentJumpDisplay.BorderSizePixel = 0 currentJumpDisplay.Parent = jumpMenu local currentJumpLabel = Instance.new("TextLabel") currentJumpLabel.Name = "CurrentLabel" currentJumpLabel.Size = UDim2.new(0.5, 0, 1, 0) currentJumpLabel.Position = UDim2.new(0, 10, 0, 0) currentJumpLabel.Text = "Jump Power hiện tại:" currentJumpLabel.TextColor3 = Color3.fromRGB(220, 220, 220) currentJumpLabel.TextSize = 14 currentJumpLabel.Font = Enum.Font.Gotham currentJumpLabel.BackgroundTransparency = 1 currentJumpLabel.TextXAlignment = Enum.TextXAlignment.Left currentJumpLabel.Parent = currentJumpDisplay local currentJumpValue = Instance.new("TextLabel") currentJumpValue.Name = "CurrentValue" currentJumpValue.Size = UDim2.new(0.5, -20, 1, 0) currentJumpValue.Position = UDim2.new(0.5, 0, 0, 0) currentJumpValue.Text = tostring(math.floor(humanoid.JumpPower)) currentJumpValue.TextColor3 = Color3.fromRGB(255, 220, 100) currentJumpValue.TextSize = 22 currentJumpValue.Font = Enum.Font.GothamBold currentJumpValue.BackgroundTransparency = 1 currentJumpValue.TextXAlignment = Enum.TextXAlignment.Right currentJumpValue.Parent = currentJumpDisplay -- Phần nhập jump power mới local inputSection = Instance.new("Frame") inputSection.Name = "InputSection" inputSection.Size = UDim2.new(1, -20, 0, 80) inputSection.Position = UDim2.new(0, 10, 0, 120) inputSection.BackgroundColor3 = Color3.fromRGB(45, 45, 55) inputSection.BorderSizePixel = 0 inputSection.Parent = jumpMenu local inputLabel = Instance.new("TextLabel") inputLabel.Name = "InputLabel" inputLabel.Size = UDim2.new(1, -20, 0, 25) inputLabel.Position = UDim2.new(0, 10, 0, 5) inputLabel.Text = "Nhập Jump Power mới:" inputLabel.TextColor3 = Color3.fromRGB(220, 220, 220) inputLabel.TextSize = 14 inputLabel.Font = Enum.Font.Gotham inputLabel.BackgroundTransparency = 1 inputLabel.TextXAlignment = Enum.TextXAlignment.Left inputLabel.Parent = inputSection local jumpInputBox = Instance.new("TextBox") jumpInputBox.Name = "JumpInputBox" jumpInputBox.Size = UDim2.new(1, -20, 0, 40) jumpInputBox.Position = UDim2.new(0, 10, 0, 30) jumpInputBox.Text = "50" jumpInputBox.PlaceholderText = "Nhập số (0-500)..." jumpInputBox.TextColor3 = Color3.fromRGB(255, 255, 255) jumpInputBox.BackgroundColor3 = Color3.fromRGB(65, 65, 80) jumpInputBox.BorderSizePixel = 0 jumpInputBox.TextSize = 18 jumpInputBox.Font = Enum.Font.Gotham jumpInputBox.TextXAlignment = Enum.TextXAlignment.Center jumpInputBox.Parent = inputSection -- Nút SET JUMPPOWER chính local setJumpButton = Instance.new("TextButton") setJumpButton.Name = "SetJumpButton" setJumpButton.Size = UDim2.new(1, -20, 0, 50) setJumpButton.Position = UDim2.new(0, 10, 0, 210) setJumpButton.Text = "⚡ SET JUMP POWER" setJumpButton.TextColor3 = Color3.fromRGB(255, 255, 255) setJumpButton.TextSize = 16 setJumpButton.Font = Enum.Font.GothamBold setJumpButton.BackgroundColor3 = Color3.fromRGB(220, 110, 60) setJumpButton.BorderSizePixel = 0 setJumpButton.Parent = jumpMenu -- Nút preset jump power local presetFrame = Instance.new("Frame") presetFrame.Name = "PresetFrame" presetFrame.Size = UDim2.new(1, -20, 0, 40) presetFrame.Position = UDim2.new(0, 10, 0, 160) presetFrame.BackgroundTransparency = 1 presetFrame.Parent = jumpMenu local presetLabel = Instance.new("TextLabel") presetLabel.Name = "PresetLabel" presetLabel.Size = UDim2.new(1, 0, 0, 20) presetLabel.Text = "Preset nhanh:" presetLabel.TextColor3 = Color3.fromRGB(200, 200, 200) presetLabel.TextSize = 13 presetLabel.Font = Enum.Font.Gotham presetLabel.BackgroundTransparency = 1 presetLabel.TextXAlignment = Enum.TextXAlignment.Left presetLabel.Parent = presetFrame local presetButtons = Instance.new("Frame") presetButtons.Name = "PresetButtons" presetButtons.Size = UDim2.new(1, 0, 0, 40) presetButtons.Position = UDim2.new(0, 0, 0, 20) presetButtons.BackgroundTransparency = 1 presetButtons.Parent = presetFrame -- Các preset jump power local jumpPresets = { {Value = 50, Label = "Normal", Color = Color3.fromRGB(100, 180, 100)}, {Value = 100, Label = "High", Color = Color3.fromRGB(100, 150, 220)}, {Value = 200, Label = "Super", Color = Color3.fromRGB(220, 120, 50)}, {Value = 350, Label = "Extreme", Color = Color3.fromRGB(220, 70, 70)} } for i, preset in ipairs(jumpPresets) do local presetBtn = Instance.new("TextButton") presetBtn.Name = preset.Label .. "Jump" presetBtn.Size = UDim2.new(0.24, -2, 1, 0) presetBtn.Position = UDim2.new(0.24 * (i-1), 0, 0, 0) presetBtn.Text = preset.Label .. "\n" .. preset.Value presetBtn.TextSize = 11 presetBtn.TextColor3 = Color3.fromRGB(255, 255, 255) presetBtn.BackgroundColor3 = preset.Color presetBtn.Font = Enum.Font.Gotham presetBtn.Parent = presetButtons presetBtn.MouseButton1Click:Connect(function() jumpInputBox.Text = tostring(preset.Value) applyJumpPower(preset.Value) end) end -- Nút reset về giá trị gốc local resetButton = Instance.new("TextButton") resetButton.Name = "ResetButton" resetButton.Size = UDim2.new(1, -20, 0, 35) resetButton.Position = UDim2.new(0, 10, 0, 190) resetButton.Text = "🔄 RESET TO DEFAULT" resetButton.TextColor3 = Color3.fromRGB(255, 220, 180) resetButton.TextSize = 13 resetButton.Font = Enum.Font.Gotham resetButton.BackgroundColor3 = Color3.fromRGB(80, 60, 40) resetButton.BorderSizePixel = 0 resetButton.Parent = jumpMenu -- Thông báo popup local notification = Instance.new("Frame") notification.Name = "JumpNotification" notification.Size = UDim2.new(0, 260, 0, 70) notification.Position = UDim2.new(0.5, -130, 0.2, 0) notification.BackgroundColor3 = Color3.fromRGB(40, 35, 30) notification.BackgroundTransparency = 1 notification.BorderSizePixel = 0 notification.Visible = false notification.Parent = screenGui local notificationText = Instance.new("TextLabel") notificationText.Name = "NotificationText" notificationText.Size = UDim2.new(1, -20, 1, -20) notificationText.Position = UDim2.new(0, 10, 0, 10) notificationText.Text = "" notificationText.TextColor3 = Color3.fromRGB(255, 255, 220) notificationText.TextSize = 15 notificationText.Font = Enum.Font.Gotham notificationText.BackgroundTransparency = 1 notificationText.TextWrapped = true notificationText.Parent = notification -- Biến điều khiển local isMenuOpen = false local currentJumpPower = humanoid.JumpPower -- Hàm hiển thị thông báo local function showNotification(message, duration) notificationText.Text = message notification.Visible = true -- Animation hiện lên notification.BackgroundTransparency = 0.15 TweenService:Create(notification, TweenInfo.new(0.3), { BackgroundTransparency = 0 }):Play() -- Hiệu ứng jump icon notificationText.Text = "🦘 " .. message -- Tự động ẩn duration = duration or 2 task.wait(duration) -- Animation ẩn đi TweenService:Create(notification, TweenInfo.new(0.3), { BackgroundTransparency = 1 }):Play() task.wait(0.3) notification.Visible = false end -- Hàm áp dụng jump power local function applyJumpPower(jumpValue) if not character or not humanoid then return end -- Kiểm tra giá trị hợp lệ jumpValue = tonumber(jumpValue) if not jumpValue then showNotification("❌ Vui lòng nhập số hợp lệ!", 1.5) return end -- Giới hạn jump power (0-500 là an toàn) jumpValue = math.clamp(jumpValue, 0, 500) -- Áp dụng jump power humanoid.JumpPower = jumpValue currentJumpPower = jumpValue -- Cập nhật hiển thị currentJumpValue.Text = tostring(math.floor(jumpValue)) jumpInputBox.Text = tostring(jumpValue) -- Hiệu ứng visual currentJumpValue.TextColor3 = Color3.fromRGB(100, 255, 150) -- Animation bounce cho giá trị local originalSize = currentJumpValue.TextSize currentJumpValue.TextSize = originalSize + 5 TweenService:Create(currentJumpValue, TweenInfo.new(0.2, Enum.EasingStyle.Bounce), { TextSize = originalSize }):Play() -- Thông báo với độ cao ước tính local estimatedHeight = math.floor((jumpValue^2) / (2 * 196.2)) -- Ước tính độ cao nhảy showNotification("✅ Jump Power: " .. math.floor(jumpValue) .. " | Độ cao ~" .. estimatedHeight .. " studs", 2) end -- Hàm reset về giá trị gốc local function resetToDefault() if not character or not humanoid then return end humanoid.JumpPower = originalJumpPower humanoid.WalkSpeed = originalWalkSpeed currentJumpPower = originalJumpPower -- Cập nhật hiển thị currentJumpValue.Text = tostring(math.floor(originalJumpPower)) jumpInputBox.Text = tostring(originalJumpPower) showNotification("🔄 Đã reset về Jump Power mặc định: " .. originalJumpPower, 2) end -- Hàm mở/đóng menu local function toggleMenu() isMenuOpen = not isMenuOpen if isMenuOpen then -- Mở menu jumpMenu.Visible = true menuToggle.Text = "✖" menuToggle.BackgroundColor3 = Color3.fromRGB(180, 80, 40) -- Animation mở menu từ bên phải jumpMenu.Position = UDim2.new(0.98, -220, 0.85, -290) TweenService:Create(jumpMenu, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Position = UDim2.new(0.98, -220, 0.85, -280) }):Play() -- Cập nhật giá trị hiện tại currentJumpValue.Text = tostring(math.floor(humanoid.JumpPower)) else -- Đóng menu menuToggle.Text = "🦘" menuToggle.BackgroundColor3 = Color3.fromRGB(200, 100, 50) -- Animation đóng menu TweenService:Create(jumpMenu, TweenInfo.new(0.2, Enum.EasingStyle.Back, Enum.EasingDirection.In), { Position = UDim2.new(0.98, -220, 0.85, -290) }):Play() task.wait(0.2) jumpMenu.Visible = false end end -- Xử lý input box local function setupInputBox() jumpInputBox.FocusLost:Connect(function(enterPressed) if enterPressed then applyJumpPower(jumpInputBox.Text) end end) -- Validator: chỉ cho phép số jumpInputBox:GetPropertyChangedSignal("Text"):Connect(function() local text = jumpInputBox.Text -- Chỉ cho phép số và dấu chấm local filtered = "" for i = 1, #text do local char = text:sub(i, i) if tonumber(char) or (char == "." and not filtered:find("%.")) then filtered = filtered .. char end end if filtered ~= text then jumpInputBox.Text = filtered end -- Giới hạn độ dài if #filtered > 6 then jumpInputBox.Text = filtered:sub(1, 6) end end) end -- Kết nối sự kiện menuToggle.MouseButton1Click:Connect(toggleMenu) setJumpButton.MouseButton1Click:Connect(function() applyJumpPower(jumpInputBox.Text) end) resetButton.MouseButton1Click:Connect(resetToDefault) setupInputBox() -- Hỗ trợ keyboard shortcut UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end -- Ctrl + J để mở/đóng menu if input.KeyCode == Enum.KeyCode.J and UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then toggleMenu() -- Ctrl + R để reset elseif input.KeyCode == Enum.KeyCode.R and UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then resetToDefault() -- Enter để apply khi menu mở elseif input.KeyCode == Enum.KeyCode.Return and isMenuOpen then applyJumpPower(jumpInputBox.Text) -- Phím tắt cho preset elseif input.KeyCode == Enum.KeyCode.One and isMenuOpen then applyJumpPower(50) elseif input.KeyCode == Enum.KeyCode.Two and isMenuOpen then applyJumpPower(100) elseif input.KeyCode == Enum.KeyCode.Three and isMenuOpen then applyJumpPower(200) elseif input.KeyCode == Enum.KeyCode.Four and isMenuOpen then applyJumpPower(350) end end) -- Auto-update current jump power display RunService.Heartbeat:Connect(function() if character and humanoid then local currentJP = humanoid.JumpPower if math.abs(currentJP - currentJumpPower) > 0.1 then currentJumpPower = currentJP currentJumpValue.Text = tostring(math.floor(currentJP)) -- Hiệu ứng khi jump power thay đổi từ bên ngoài currentJumpValue.TextColor3 = Color3.fromRGB(255, 150, 100) task.wait(0.1) currentJumpValue.TextColor3 = Color3.fromRGB(255, 220, 100) end end end) -- Xử lý khi character thay đổi player.CharacterAdded:Connect(function(newCharacter) character = newCharacter humanoid = character:WaitForChild("Humanoid") -- Lưu giá trị gốc mới originalJumpPower = humanoid.JumpPower originalWalkSpeed = humanoid.WalkSpeed currentJumpPower = originalJumpPower -- Cập nhật hiển thị if currentJumpValue then currentJumpValue.Text = tostring(math.floor(currentJumpPower)) jumpInputBox.Text = tostring(currentJumpPower) end end) -- Thêm hiệu ứng visual local function addVisualEffects() local function addCorner(obj, radius) local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, radius) corner.Parent = obj end local function addShadow(obj, color) local shadow = Instance.new("UIStroke") shadow.Color = color or Color3.fromRGB(0, 0, 0) shadow.Thickness = 2 shadow.Transparency = 0.3 shadow.Parent = obj end -- Menu toggle button addCorner(menuToggle, 10) addShadow(menuToggle, Color3.fromRGB(150, 70, 30)) -- Jump menu addCorner(jumpMenu, 12) addShadow(jumpMenu) -- Title frame addCorner(titleFrame, 12) -- Current jump display addCorner(currentJumpDisplay, 8) addShadow(currentJumpDisplay, Color3.fromRGB(60, 60, 70)) -- Input section addCorner(inputSection, 8) addShadow(inputSection, Color3.fromRGB(60, 60, 70)) -- Input box addCorner(jumpInputBox, 6) addShadow(jumpInputBox, Color3.fromRGB(80, 80, 100)) -- Buttons addCorner(setJumpButton, 8) addShadow(setJumpButton, Color3.fromRGB(180, 90, 40)) addCorner(resetButton, 6) addShadow(resetButton, Color3.fromRGB(100, 70, 40)) -- Preset buttons for _, child in ipairs(presetButtons:GetChildren()) do if child:IsA("TextButton") then addCorner(child, 6) addShadow(child) end end -- Notification addCorner(notification, 10) addShadow(notification, Color3.fromRGB(100, 70, 40)) end addVisualEffects() -- Hiệu ứng hover cho nút menu menuToggle.MouseEnter:Connect(function() TweenService:Create(menuToggle, TweenInfo.new(0.2), { BackgroundColor3 = isMenuOpen and Color3.fromRGB(160, 70, 30) or Color3.fromRGB(220, 120, 70) }):Play() end) menuToggle.MouseLeave:Connect(function() TweenService:Create(menuToggle, TweenInfo.new(0.2), { BackgroundColor3 = isMenuOpen and Color3.fromRGB(180, 80, 40) or Color3.fromRGB(200, 100, 50) }):Play() end) -- Hiệu ứng hover cho nút set jump setJumpButton.MouseEnter:Connect(function() TweenService:Create(setJumpButton, TweenInfo.new(0.2), { BackgroundColor3 = Color3.fromRGB(240, 130, 70), TextColor3 = Color3.fromRGB(255, 255, 200) }):Play() end) setJumpButton.MouseLeave:Connect(function() TweenService:Create(setJumpButton, TweenInfo.new(0.2), { BackgroundColor3 = Color3.fromRGB(220, 110, 60), TextColor3 = Color3.fromRGB(255, 255, 255) }):Play() end) -- Hiệu ứng nhấn cho preset buttons for _, btn in ipairs(presetButtons:GetChildren()) do if btn:IsA("TextButton") then btn.MouseButton1Down:Connect(function() btn.BackgroundTransparency = 0.2 end) btn.MouseButton1Up:Connect(function() btn.BackgroundTransparency = 0 end) end end -- Hiệu ứng jump cho menu toggle khi mở local function playJumpAnimation() local originalPosition = menuToggle.Position menuToggle.Position = UDim2.new(0.98, -50, 0.85, -10) TweenService:Create(menuToggle, TweenInfo.new(0.3, Enum.EasingStyle.Bounce), { Position = originalPosition }):Play() end -- Chạy hiệu ứng lần đầu task.wait(0.5) playJumpAnimation() -- Hướng dẫn sử dụng nhanh task.wait(1.5) showNotification("🦘 Nhấn nút 🦘 để mở Jump Power Control | Ctrl+J", 3) print("✅ Jump Power Control GUI - Đã sẵn sàng!") print("📋 Shortcuts: Ctrl+J (Toggle) | Ctrl+R (Reset) | Enter (Apply)") print("🎯 Preset Keys: 1=Normal, 2=High, 3=Super, 4=Extreme")