-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- NANAMIAUTO RATIO -- you can skid it btw the -- was for sections this is not skidded -- i got banned from jjs so idk if it will work -- Made by script maker ahh boi on yt -- Destroy any previous instance pcall(function() local old = game:GetService("Players").LocalPlayer:FindFirstChild("PlayerGui") and game:GetService("Players").LocalPlayer.PlayerGui:FindFirstChild("NanamiControlPanel") if old then old:Destroy() end end) if getgenv then getgenv().NANAMI_RUNNING = true end -- Services local Players = game:GetService("Players") local RS = game:GetService("ReplicatedStorage") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Stats = game:GetService("Stats") local LP = Players.LocalPlayer local PG = LP:WaitForChild("PlayerGui") -- Colors local COLORS = { bg = Color3.fromRGB(5, 5, 8), inputBg = Color3.fromRGB(12, 12, 18), headerBg = Color3.fromRGB(15, 15, 22), cyan = Color3.fromRGB(0, 220, 220), lightCyan = Color3.fromRGB(120, 245, 245), darkCyan = Color3.fromRGB(0, 150, 160), whiteText = Color3.fromRGB(240, 240, 245), grayText = Color3.fromRGB(140, 140, 160), green = Color3.fromRGB(90, 200, 120), red = Color3.fromRGB(220, 80, 80), } -- State local SystemActive = false local EventConnection = nil local RunningTasks = {} local TaskIdCounter = 0 local function tween(o, t, p) TweenService:Create(o, TweenInfo.new(t), p):Play() end -- Safe ping getter local function getPing() local ok, ping = pcall(function() return LP:GetNetworkPing() end) if ok and type(ping) == "number" then return ping end local ok2, val = pcall(function() return Stats.Network.ServerStatsItem["Data Ping"]:GetValue() / 1000 end) if ok2 and type(val) == "number" then return val end return 0 end -- ScreenGui local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "NanamiControlPanel" ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.IgnoreGuiInset = true ScreenGui.DisplayOrder = 999 ScreenGui.Parent = PG -- Main panel local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 300, 0, 190) MainFrame.Position = UDim2.new(0.5, -150, 0.5, -95) MainFrame.BackgroundColor3 = COLORS.bg MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Visible = true MainFrame.Parent = ScreenGui local UIStroke = Instance.new("UIStroke", MainFrame) UIStroke.Color = COLORS.cyan UIStroke.Thickness = 1.5 UIStroke.Transparency = 0.1 local UIGlow = Instance.new("UIStroke", MainFrame) UIGlow.Color = COLORS.cyan UIGlow.Thickness = 4 UIGlow.Transparency = 0.85 task.spawn(function() local t = 0 while MainFrame.Parent do t = t + 0.05 local sin = (math.sin(t) + 1) / 2 pcall(function() UIGlow.Transparency = 0.85 - (sin * 0.15) end) task.wait(0.05) end end) -- Header local Header = Instance.new("Frame") Header.Name = "Header" Header.Size = UDim2.new(1, 0, 0, 40) Header.BackgroundColor3 = COLORS.headerBg Header.BorderSizePixel = 0 Header.Active = true Header.Parent = MainFrame local HeaderLine = Instance.new("Frame") HeaderLine.Size = UDim2.new(1, -20, 0, 1) HeaderLine.Position = UDim2.new(0, 10, 1, -1) HeaderLine.BackgroundColor3 = COLORS.cyan HeaderLine.BackgroundTransparency = 0.7 HeaderLine.BorderSizePixel = 0 HeaderLine.Parent = Header local IconFrame = Instance.new("Frame") IconFrame.Size = UDim2.new(0, 22, 0, 22) IconFrame.Position = UDim2.new(0, 10, 0.5, -11) IconFrame.BackgroundColor3 = COLORS.cyan IconFrame.BorderSizePixel = 0 IconFrame.Parent = Header local IconText = Instance.new("TextLabel") IconText.Size = UDim2.new(1, 0, 1, 0) IconText.BackgroundTransparency = 1 IconText.Text = "!" IconText.TextColor3 = Color3.fromRGB(5, 5, 8) IconText.TextScaled = true IconText.Font = Enum.Font.GothamBold IconText.Parent = IconFrame local TitleLabel = Instance.new("TextLabel") TitleLabel.Size = UDim2.new(1, -100, 0, 20) TitleLabel.Position = UDim2.new(0, 40, 0, 4) TitleLabel.BackgroundTransparency = 1 TitleLabel.Text = "NANAMI" TitleLabel.TextColor3 = COLORS.whiteText TitleLabel.Font = Enum.Font.GothamBold TitleLabel.TextSize = 12 TitleLabel.TextXAlignment = Enum.TextXAlignment.Left TitleLabel.Parent = Header local SubLabel = Instance.new("TextLabel") SubLabel.Size = UDim2.new(1, -100, 0, 10) SubLabel.Position = UDim2.new(0, 40, 0, 24) SubLabel.BackgroundTransparency = 1 SubLabel.Text = "auto ratio | inactive" SubLabel.TextColor3 = COLORS.grayText SubLabel.Font = Enum.Font.Gotham SubLabel.TextSize = 9 SubLabel.TextXAlignment = Enum.TextXAlignment.Left SubLabel.Parent = Header local MinimizeBtn = Instance.new("TextButton") MinimizeBtn.Size = UDim2.new(0, 24, 0, 24) MinimizeBtn.Position = UDim2.new(1, -56, 0.5, -12) MinimizeBtn.BackgroundColor3 = Color3.fromRGB(20, 40, 45) MinimizeBtn.BorderSizePixel = 0 MinimizeBtn.Text = "-" MinimizeBtn.TextColor3 = COLORS.cyan MinimizeBtn.Font = Enum.Font.GothamBold MinimizeBtn.TextSize = 16 MinimizeBtn.AutoButtonColor = false MinimizeBtn.Parent = Header local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0, 24, 0, 24) CloseBtn.Position = UDim2.new(1, -28, 0.5, -12) CloseBtn.BackgroundColor3 = Color3.fromRGB(40, 15, 20) CloseBtn.BorderSizePixel = 0 CloseBtn.Text = "x" CloseBtn.TextColor3 = COLORS.red CloseBtn.Font = Enum.Font.GothamBold CloseBtn.TextSize = 12 CloseBtn.AutoButtonColor = false CloseBtn.Parent = Header -- Status local StatusPanel = Instance.new("Frame") StatusPanel.Size = UDim2.new(1, -20, 0, 32) StatusPanel.Position = UDim2.new(0, 10, 0, 50) StatusPanel.BackgroundColor3 = COLORS.inputBg StatusPanel.BorderSizePixel = 0 StatusPanel.Parent = MainFrame local StatusDot = Instance.new("Frame") StatusDot.Size = UDim2.new(0, 10, 0, 10) StatusDot.Position = UDim2.new(0, 12, 0.5, -5) StatusDot.BackgroundColor3 = COLORS.red StatusDot.BorderSizePixel = 0 StatusDot.Parent = StatusPanel Instance.new("UICorner", StatusDot).CornerRadius = UDim.new(1, 0) local DotGlow = Instance.new("UIStroke", StatusDot) DotGlow.Color = COLORS.red DotGlow.Thickness = 2 DotGlow.Transparency = 0.4 local StatusText = Instance.new("TextLabel") StatusText.Size = UDim2.new(1, -40, 1, 0) StatusText.Position = UDim2.new(0, 34, 0, 0) StatusText.BackgroundTransparency = 1 StatusText.Text = "SYSTEM INACTIVE" StatusText.TextColor3 = COLORS.red StatusText.Font = Enum.Font.GothamBold StatusText.TextSize = 11 StatusText.TextXAlignment = Enum.TextXAlignment.Left StatusText.Parent = StatusPanel -- AUTO RATION button local MainButton = Instance.new("TextButton") MainButton.Size = UDim2.new(1, -20, 0, 60) MainButton.Position = UDim2.new(0, 10, 0, 92) MainButton.BackgroundColor3 = COLORS.darkCyan MainButton.BorderSizePixel = 0 MainButton.Text = "AUTO RATION" MainButton.TextColor3 = Color3.fromRGB(5, 20, 25) MainButton.Font = Enum.Font.GothamBlack MainButton.TextSize = 16 MainButton.AutoButtonColor = false MainButton.Parent = MainFrame local MainBtnStroke = Instance.new("UIStroke", MainButton) MainBtnStroke.Color = COLORS.lightCyan MainBtnStroke.Thickness = 1.5 MainBtnStroke.Transparency = 0.2 -- Credit footer local CreditLabel = Instance.new("TextLabel") CreditLabel.Name = "CreditLabel" CreditLabel.Size = UDim2.new(1, -20, 0, 18) CreditLabel.Position = UDim2.new(0, 10, 1, -22) CreditLabel.BackgroundTransparency = 1 CreditLabel.Text = "made by script maker ahh boi on yt" CreditLabel.TextColor3 = COLORS.grayText CreditLabel.Font = Enum.Font.GothamMedium CreditLabel.TextSize = 9 CreditLabel.TextXAlignment = Enum.TextXAlignment.Center CreditLabel.Parent = MainFrame -- Pulse local PulseConn = nil local function startPulse(color) if PulseConn then PulseConn:Disconnect() end local t = 0 PulseConn = RunService.Heartbeat:Connect(function(dt) t = t + dt local alpha = (math.sin(t * 4) + 1) / 2 StatusDot.BackgroundTransparency = 0.2 + alpha * 0.4 DotGlow.Transparency = 0.7 - alpha * 0.5 DotGlow.Color = color StatusDot.BackgroundColor3 = color end) end startPulse(COLORS.red) local function setActiveVisual(active) if active then tween(MainButton, 0.3, { BackgroundColor3 = Color3.fromRGB(0, 180, 180) }) tween(MainBtnStroke, 0.3, { Color = Color3.fromRGB(180, 255, 255), Transparency = 0 }) MainButton.Text = "AUTO RATION ON" MainButton.TextColor3 = Color3.fromRGB(5, 5, 8) StatusText.Text = "SYSTEM ACTIVE" StatusText.TextColor3 = COLORS.green startPulse(COLORS.green) SubLabel.Text = "auto ratio | active" SubLabel.TextColor3 = COLORS.green else tween(MainButton, 0.3, { BackgroundColor3 = COLORS.darkCyan }) tween(MainBtnStroke, 0.3, { Color = COLORS.lightCyan, Transparency = 0.2 }) MainButton.Text = "AUTO RATION" MainButton.TextColor3 = Color3.fromRGB(5, 20, 25) StatusText.Text = "SYSTEM INACTIVE" StatusText.TextColor3 = COLORS.red startPulse(COLORS.red) SubLabel.Text = "auto ratio | inactive" SubLabel.TextColor3 = COLORS.grayText end end -- Custom drag local dragging, dragStart, startPos Header.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = MainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UserInputService.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart MainFrame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) -- Nanami logic local function getNanamiEffects() local ok, result = pcall(function() return RS.Knit.Knit.Services.NanamiService.RE.Effects end) return ok and result or nil end local function getNanamiRightActivated() local ok, result = pcall(function() return RS.Knit.Knit.Services.NanamiService.RE.RightActivated end) return ok and result or nil end local function isNanami() local ok, result = pcall(function() return RS.Knit.Knit.Services.NanamiService end) return ok and result ~= nil end local function cancelTasks() for id, thread in pairs(RunningTasks) do if coroutine.status(thread) ~= "dead" then pcall(task.cancel, thread) end RunningTasks[id] = nil end end local function onEffectReceived(...) local args = { ... } if args[1] ~= "SpawnRatio" then return end if args[2] ~= LP then return end local value = tonumber(args[6]) or 0 local ping = getPing() local delayBase = value * 0.56767676767676769420 local delay = delayBase - ping if delay < 0 then delay = 0 end local variation = math.random(-3, 3) / 1000 delay = delay + variation if delay < 0 then delay = 0 end local taskId = TaskIdCounter + 1 TaskIdCounter = taskId local thread = task.spawn(function() task.wait(delay) if not SystemActive then return end local rightActivated = getNanamiRightActivated() if rightActivated then pcall(function() rightActivated:FireServer() end) end RunningTasks[taskId] = nil end) RunningTasks[taskId] = thread end local function activateSystem() if SystemActive then return end if not isNanami() then StatusText.Text = "NOT NANAMI" StatusText.TextColor3 = COLORS.red task.delay(3, function() if not SystemActive then StatusText.Text = "SYSTEM INACTIVE" StatusText.TextColor3 = COLORS.red end end) return end local effects = getNanamiEffects() if not effects then StatusText.Text = "SERVICE NOT FOUND" StatusText.TextColor3 = COLORS.red return end local ok, conn = pcall(function() return effects.OnClientEvent:Connect(onEffectReceived) end) if not ok or not conn then StatusText.Text = "FAILED TO CONNECT" StatusText.TextColor3 = COLORS.red return end EventConnection = conn SystemActive = true setActiveVisual(true) end local function deactivateSystem() if not SystemActive then return end if EventConnection then pcall(function() EventConnection:Disconnect() end) EventConnection = nil end cancelTasks() SystemActive = false setActiveVisual(false) end -- Buttons MainButton.MouseButton1Click:Connect(function() tween(MainButton, 0.08, { Size = UDim2.new(1, -26, 0, 57) }) task.delay(0.08, function() tween(MainButton, 0.12, { Size = UDim2.new(1, -20, 0, 60) }) end) if SystemActive then deactivateSystem() else activateSystem() end end) MainButton.MouseEnter:Connect(function() if not SystemActive then tween(MainButton, 0.15, { BackgroundColor3 = COLORS.cyan }) else tween(MainButton, 0.15, { BackgroundColor3 = Color3.fromRGB(0, 200, 200) }) end end) MainButton.MouseLeave:Connect(function() if not SystemActive then tween(MainButton, 0.15, { BackgroundColor3 = COLORS.darkCyan }) else tween(MainButton, 0.15, { BackgroundColor3 = Color3.fromRGB(0, 180, 180) }) end end) MinimizeBtn.MouseEnter:Connect(function() tween(MinimizeBtn, 0.15, { BackgroundColor3 = Color3.fromRGB(30, 60, 65) }) end) MinimizeBtn.MouseLeave:Connect(function() tween(MinimizeBtn, 0.15, { BackgroundColor3 = Color3.fromRGB(20, 40, 45) }) end) CloseBtn.MouseEnter:Connect(function() tween(CloseBtn, 0.15, { BackgroundColor3 = Color3.fromRGB(80, 20, 30) }) end) CloseBtn.MouseLeave:Connect(function() tween(CloseBtn, 0.15, { BackgroundColor3 = Color3.fromRGB(40, 15, 20) }) end) -- Minimize local minimized = false local originalSize = UDim2.new(0, 300, 0, 190) local minimizedSize = UDim2.new(0, 300, 0, 40) MinimizeBtn.MouseButton1Click:Connect(function() minimized = not minimized if minimized then for _, obj in ipairs(MainFrame:GetChildren()) do if obj ~= Header and obj:IsA("GuiObject") then obj.Visible = false end end tween(MainFrame, 0.2, { Size = minimizedSize }) MinimizeBtn.Text = "+" else tween(MainFrame, 0.2, { Size = originalSize }) task.delay(0.15, function() if not MainFrame.Parent then return end for _, obj in ipairs(MainFrame:GetChildren()) do if obj:IsA("GuiObject") then obj.Visible = true end end end) MinimizeBtn.Text = "-" end end) -- Close CloseBtn.MouseButton1Click:Connect(function() if SystemActive then deactivateSystem() end ScreenGui.Enabled = false end) -- RightShift toggle UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.RightShift then ScreenGui.Enabled = not ScreenGui.Enabled end end) -- Boot MainFrame.Visible = true print("[NANAMI] Loaded | Made by script maker ahh boi on yt")