
Key RequiredUniversal

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,
})No comments yet for this script.



