local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({ Name = "Snek hub", Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default). LoadingTitle = "Rayfield Interface Suite", LoadingSubtitle = "by Sirius", ShowText = "Rayfield", -- for mobile users to unhide Rayfield, change if you'd like Theme = "Default", -- Check https://docs.sirius.menu/rayfield/configuration/themes ToggleUIKeybind = "K", -- The keybind to toggle the UI visibility (string like "K" or Enum.KeyCode) DisableRayfieldPrompts = false, DisableBuildWarnings = false, -- Prevents Rayfield from emitting warnings when the script has a version mismatch with the interface. ConfigurationSaving = { Enabled = true, FolderName = nil, -- Create a custom folder for your hub/game FileName = "Big Hub" }, Discord = { Enabled = false, -- Prompt the user to join your Discord server if their executor supports it Invite = "noinvitelink", -- The Discord invite code, do not include Discord.gg/. E.g. Discord.gg/ABCD would be ABCD RememberJoins = true -- Set this to false to make them join the Discord every time they load it up }, KeySystem = false, -- Set this to true to use our key system KeySettings = { Title = "Ninja access key system", Subtitle = "Key System", Note = "hint for the key: my new martial arts", -- Use this to tell the user how to get a key FileName = "Key", -- It is recommended to use something unique, as other scripts using Rayfield may overwrite your key file SaveKey = true, -- The user's key will be saved, but if you change the key, they will be unable to use your script GrabKeyFromSite = false, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from Key = {"Holy Fist"} -- List of keys that the system will accept, can be RAW file links (pastebin, github, etc.) or simple strings ("hello", "key22") } }) local MainTab = Window:CreateTab("Main Sneaks", 4483362458) -- Title, Image local Button = MainTab:CreateButton({ Name = "Ninja Ultimate Bar", Callback = function() local Players = game:GetService("Players") local player = Players.LocalPlayer -- 1. CONFIGURATION / VARIABLES local ninjaPoints = 0 local maxPoints = 150 local baseSpeed = 16 local speedPerTenPoints = 0.5 local finalBonusSpeed = 10 local resetTime = 251 -- 4 minutes and 11 seconds local isNinjaMode = false -- 2. CREATE THE GUI PROGRAMMATICALLY local screenGui = Instance.new("ScreenGui") screenGui.Name = "NinjaSystem" screenGui.ResetOnSpawn = false screenGui.Parent = player:WaitForChild("PlayerGui") local bgFrame = Instance.new("Frame") bgFrame.Name = "MeterBG" bgFrame.Size = UDim2.new(0, 250, 0, 35) -- Slightly wider for the timer text bgFrame.Position = UDim2.new(0.5, 0, 0.9, 0) bgFrame.AnchorPoint = Vector2.new(0.5, 0.5) bgFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) bgFrame.BorderSizePixel = 2 bgFrame.Parent = screenGui local fillBar = Instance.new("Frame") fillBar.Name = "FillBar" fillBar.Size = UDim2.new(0, 0, 1, 0) fillBar.BackgroundColor3 = Color3.fromRGB(0, 170, 255) fillBar.BorderSizePixel = 0 fillBar.Parent = bgFrame local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.TextColor3 = Color3.fromRGB(255, 255, 255) label.TextStrokeTransparency = 0 label.Font = Enum.Font.GothamBold label.TextSize = 14 label.Text = "NINJA METER: 0 / 150" label.Parent = bgFrame -- 3. CORE LOGIC FUNCTIONS local function updateUI() local progress = math.clamp(ninjaPoints / maxPoints, 0, 1) fillBar:TweenSize(UDim2.new(progress, 0, 1, 0), "Out", "Quad", 0.3, true) -- Calculate the incremental boost (0.5 for every 10 points) local incrementalBoost = (ninjaPoints / 10) * speedPerTenPoints local totalSpeed = baseSpeed + incrementalBoost if ninjaPoints >= maxPoints then totalSpeed = totalSpeed + finalBonusSpeed fillBar.BackgroundColor3 = Color3.fromRGB(0, 255, 100) -- Green Mode -- Start Timer Logic if not already active if not isNinjaMode then isNinjaMode = true task.spawn(function() for i = resetTime, 0, -1 do -- Stop timer if points were reset externally if ninjaPoints < maxPoints then break end local minutes = math.floor(i / 60) local seconds = i % 60 label.Text = string.format("NINJA MODE! (%d:%02d)", minutes, seconds) task.wait(1) end -- RESET AFTER 4:11 ninjaPoints = 0 isNinjaMode = false updateUI() -- Refresh to reset speed and bar end) end else -- Blue Mode (Charging) isNinjaMode = false fillBar.BackgroundColor3 = Color3.fromRGB(0, 170, 255) label.Text = "NINJA METER: " .. ninjaPoints .. " / " .. maxPoints .. " (SPD: " .. totalSpeed .. ")" end -- Apply the calculated speed to the character local character = player.Character if character and character:FindFirstChild("Humanoid") then character.Humanoid.WalkSpeed = totalSpeed end end local function onCharacterAdded(character) local humanoid = character:WaitForChild("Humanoid") -- Apply current speed immediately upon spawning updateUI() -- Connect death event humanoid.Died:Connect(function() -- Prevent point gain if already in Ninja Mode (optional, remove if you want them to 'refresh' the timer) if not isNinjaMode then ninjaPoints = math.min(ninjaPoints + 10, maxPoints) updateUI() end end) end -- 4. INITIALIZE updateUI() if player.Character then onCharacterAdded(player.Character) end player.CharacterAdded:Connect(onCharacterAdded) end, }) local Button2 = MainTab:CreateButton({ Name = "Bloxy Cola", Callback = function() local Players = game:GetService("Players") local player = Players.LocalPlayer -- 1. Create the GUI and Button via Script local screenGui = Instance.new("ScreenGui") screenGui.Name = "BloxyColaGui" screenGui.Parent = player:WaitForChild("PlayerGui") local imageButton = Instance.new("ImageButton") imageButton.Name = "ColaButton" imageButton.Size = UDim2.new(0, 100, 0, 100) -- Size in pixels imageButton.Position = UDim2.new(0.9, -110, 0.8, -110) -- Bottom right corner imageButton.Image = "rbxassetid://10472779" -- Official Bloxy Cola Image imageButton.BackgroundTransparency = 1 imageButton.Parent = screenGui -- 2. Create the Drink Sound local drinkSound = Instance.new("Sound") drinkSound.SoundId = "rbxassetid://10722059" -- Classic Slurp drinkSound.Parent = player.Character or player.CharacterAdded:Wait() -- 3. Logic Variables local BOOST_AMOUNT = 5 local DURATION = 30 local isBoosting = false -- 4. The Click Function imageButton.MouseButton1Click:Connect(function() local character = player.Character local humanoid = character and character:FindFirstChild("Humanoid") if not humanoid or isBoosting then return end isBoosting = true -- Play Sound and Visual Feedback drinkSound:Play() imageButton.ImageColor3 = Color3.fromRGB(150, 150, 150) -- Dim button while active -- Apply Speed local originalSpeed = humanoid.WalkSpeed humanoid.WalkSpeed = originalSpeed + BOOST_AMOUNT -- Wait 30 seconds task.wait(DURATION) -- Reset everything if humanoid then humanoid.WalkSpeed = originalSpeed end imageButton.ImageColor3 = Color3.fromRGB(255, 255, 255) -- Reset button color isBoosting = false end) -- Re-parent sound if player resets player.CharacterAdded:Connect(function(newCharacter) drinkSound.Parent = newCharacter end) end, })