local FVelocity = Vector3.new(0, 0, 0) local ECSetting = false local ISSetting = false local VMSetting = 1 local SVSetting = 50 local isDynamicVelocity = true local JPToggle = false local JPSetting = 50 local function SmoothVelocity(Velocity) if isDynamicVelocity then if Velocity > 250 or math.random(1, 7) == 1 then return 1 end return Velocity * VMSetting else return SVSetting end end local function HookCheck(var) if not getgenv().hookmetamethod or not getgenv().getnamecallmethod then Rayfield:Notify({ Title = "Compatibility Error", Content = "Cannot enable " .. var .. ". Your executor lacks required functions (hookmetamethod/getnamecallmethod).", Duration = 5, Image = nil, }) return false end return true end local oldindex; if getgenv().hookmetamethod and getgenv().getnamecallmethod then oldindex = hookmetamethod(game, "__index", function(v1, v2) if ECSetting and v2 == "Velocity" and getnamecallmethod() == "ToOrientation" then return FVelocity end return oldindex(v1, v2) end) end local oldnewindex; if getgenv().hookmetamethod then oldnewindex = hookmetamethod(game, "__newindex", function(v1, v2, v3) if v2 == "AssemblyLinearVelocity" then local newSpeed = SmoothVelocity(math.abs((v3).Magnitude)) local horizontalVelocity = Vector3.new(v3.X, 0, v3.Z) if horizontalVelocity.Magnitude > 0.001 then local newVelocity = horizontalVelocity.Unit * newSpeed return oldnewindex(v1, v2, newVelocity) else return oldnewindex(v1, v2, v3) end end return oldnewindex(v1, v2, v3) end) end local oldnamecall; if getgenv().hookmetamethod and getgenv().getnamecallmethod then oldnamecall = hookmetamethod(game, "__namecall", function(v1, v2, ...) if ISSetting and getnamecallmethod() == "FireServer" and v2 == "SpeedTarget" then return oldnamecall(v1, v2, 0) end return oldnamecall(v1, v2, ...) end) end task.spawn(function() local Players = game:GetService("Players") while task.wait() do if JPToggle then local Character = Players.LocalPlayer.Character if Character then local Humanoid = Character:FindFirstChildOfClass("Humanoid") if Humanoid then -- Set the jump power directly if the toggle is active Humanoid.JumpPower = JPSetting end end end end end) local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local RayfieldLibrary = RayfieldLibrary local Window = Rayfield:CreateWindow({ Name = "Ryu Racing", LoadingTitle = "Rachie my baby!!!", LoadingSubtitle = "by Ryu Nanashi", ConfigurationSaving = { Enabled = true, FolderName = "Ryu_Presents", FileName = "Uma_Racing" }, Discord = { Enabled = true, Invite = "njy8U2kVr9", RememberJoins = true }, KeySystem = false, }) Rayfield:Notify({ Title = "Script Loaded", Content = "Oji-san is too old for racing, so i made a script for it uhehe!", Duration = 5, Image = nil, }) local function ChangeTheme(ThemeName) if not RayfieldLibrary or not RayfieldLibrary.Theme then return end local SelectedTheme = RayfieldLibrary.Theme[ThemeName] if not SelectedTheme then return end if Window.Main:FindFirstChild("Topbar") then Window.Main.Topbar.BackgroundColor3 = SelectedTheme.Topbar end for _, obj in ipairs(Window:GetDescendants()) do if obj:IsA("TextLabel") or obj:IsA("TextBox") or obj:IsA("TextButton") then obj.TextColor3 = SelectedTheme.TextColor if SelectedTheme.TextFont and SelectedTheme.TextFont ~= "Default" then obj.Font = SelectedTheme.TextFont end elseif obj:IsA("Frame") then if obj.Name ~= "Placeholder" and obj.Name ~= "SectionSpacing" and obj.Name ~= "SectionTitle" then obj.BackgroundColor3 = SelectedTheme.ElementBackground end local uiStroke = obj:FindFirstChildOfClass("UIStroke") if uiStroke then uiStroke.Color = SelectedTheme.ElementStroke end end end Rayfield:Notify({ Title = "Theme Applied", Content = "Switched to the '" .. ThemeName .. "' theme.", Duration = 3, Image = nil, }) end local MainTab = Window:CreateTab("Main", 4483362458) local SettingsTab = Window:CreateTab("Settings", 7734053495) local ToggleEC = MainTab:CreateToggle({ Name = "Easy Control", Info = "Makes steering significantly easier.", CurrentValue = false, Flag = "EasyControl", Callback = function(Bool) if Bool and not HookCheck("Easy Control") then ToggleEC:ChangeValue(false) return end ECSetting = Bool end, }) local ToggleIS = MainTab:CreateToggle({ Name = "Infinite Stamina", Info = "Prevents stamina depletion.", CurrentValue = false, Flag = "InfStamina", Callback = function(Bool) if Bool and not HookCheck("Infinite Stamina") then ToggleIS:ChangeValue(false) return end ISSetting = Bool end, }) MainTab:CreateSection("Velocity Control") local SliderSV = MainTab:CreateSlider({ Name = "Static Velocity Amount", Info = "Sets a fixed speed (studs/sec) when Static mode is active.", Range = {10, 200}, Increment = 1, Suffix = " stud/s", CurrentValue = 50, Flag = "StaticVelocityValue", Callback = function(Value) SVSetting = Value end, }) local ToggleVMMode = MainTab:CreateToggle({ Name = "Velocity Mode (Dynamic/Static)", Info = "Toggle to use Dynamic Multiplier (ON) or Static Fixed Velocity (OFF).", CurrentValue = true, Flag = "DynamicModeToggle", Callback = function(Bool) isDynamicVelocity = Bool local mode = Bool and "Dynamic Multiplier" or "Static Fixed Speed" Rayfield:Notify({ Title = "Velocity Mode Changed", Content = "Switched to: " .. mode, Duration = 3, Image = nil, }) end, }) local SliderVM = MainTab:CreateSlider({ Name = "Dynamic Velocity Multiplier", Info = "Multiplies your speed when Dynamic mode is active.", Range = {1, 3}, Increment = 0.1, Suffix = "x", CurrentValue = 1, Flag = "VelocityMult", Callback = function(Value) VMSetting = Value end, }) MainTab:CreateSection("Jump Control") local ToggleJP = MainTab:CreateToggle({ Name = "Enable JP", Info = "Allows setting a custom jump height/power.", CurrentValue = false, Flag = "JumpPowerToggle", Callback = function(Bool) JPToggle = Bool if not Bool then local Character = game.Players.LocalPlayer.Character if Character then local Humanoid = Character:FindFirstChildOfClass("Humanoid") if Humanoid then Humanoid.JumpPower = 0 end end end end, }) local SliderJP = MainTab:CreateSlider({ Name = "Jump power", Info = "The value to set the Humanoid's JumpPower to.", Range = {10, 200}, Increment = 5, Suffix = " power", CurrentValue = 50, Flag = "JumpPowerValue", Callback = function(Value) JPSetting = Value end, }) MainTab:CreateSection("Skip Stage Warnings") MainTab:CreateButton({ Name = "Skip stage (Vulnerable)", Interact = 'Click', Callback = function() if not getgenv().firetouchinterest then Rayfield:Notify({ Title = "Compatibility Error", Content = "Cannot execute Skip stage. Your executor lacks the 'firetouchinterest' function.", Duration = 5, Image = nil, }) return end for _, v in pairs(workspace:GetDescendants()) do if v.Name == "TouchInterest" and v.Parent then firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart, v.Parent, 0) task.wait(0.05) firetouchinterest(game.Players.LocalPlayer.Character.HumanoidRootPart, v.Parent, 1) end end end, }) MainTab:CreateParagraph({ Title = "DANGER: Skip Stage Warning", Content = "This feature uses touch interest events to trick the game into thinking you hit the stage goal. You should only use this in private servers or sparingly in public servers. The delay must be reasonable, or the game will kick you and potentially flag your account.", }) MainTab:CreateParagraph({ Title = "Optimal Skip Usage", Content = "This function skips roughly half of the round's progression. To avoid instant kicks, only use it after some time has passed since the start, or when you observe opponents are already making good progress. Use your opponents' positions as a measurement on when to trigger the skip.", }) MainTab:CreateSection("Misc") local ButtonDiscord = MainTab:CreateButton({ Name = "Copy Discord Link", Interact = 'Click', Callback = function() setclipboard("https://discord.gg/njy8U2kVr9") Rayfield:Notify({ Title = "Discord", Content = "Link copied to clipboard!", Duration = 3, Image = nil, }) end, }) local themes = {} if RayfieldLibrary and RayfieldLibrary.Theme then for name, _ in pairs(RayfieldLibrary.Theme) do table.insert(themes, name) end else themes = {"Default", "AmberGlow", "Amethyst", "Bloom", "DarkBlue", "Green", "Light", "Ocean", "Serenity"} end SettingsTab:CreateDropdown({ Name = "Interface Theme", Options = themes, CurrentOption = "Default", MultipleOptions = false, Flag = "ThemeDropdown", Callback = function(Option) ChangeTheme(Option) end, }) SettingsTab:CreateButton({ Name = "Destroy UI", Interact = 'Click', Callback = function() Rayfield:Destroy() end, })