--[[ SK HUB PREMIUM v1.0 Features: AutoRob, AutoAim, Boost, AntiRagdoll, AutoMove, Invis Clone, Admin Spammer loadstring(game:HttpGet("https://s0k.neocities.org/skhub-duel-premium"))() ]] local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local HttpService = game:GetService("HttpService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local StarterGui = game:GetService("StarterGui") local Lighting = game:GetService("Lighting") local player = Players.LocalPlayer local mouse = player:GetMouse() -- ========================================= -- 1. クリーンアップ & コンフィグ設定 -- ========================================= if getgenv().SK_HUB_Shutdown then pcall(getgenv().SK_HUB_Shutdown) end local isScriptRunning = true -- 設定値の初期化 getgenv().Toggles = { AutoRob = false, AutoAim = false, Boost = false, AntiRagdoll = false, AutoMove = false, AdminSpammer = false, FPSBoost = false -- 新機能 } getgenv().Settings = { BoostNormal = 22, BoostStealing = 32, } getgenv().autoRob = false local configFileName = "SK_HUB_Config.json" local function SaveConfig() if writefile then local data = { Toggles = { AutoRob = getgenv().Toggles.AutoRob, AutoAim = getgenv().Toggles.AutoAim, Boost = getgenv().Toggles.Boost, AntiRagdoll = getgenv().Toggles.AntiRagdoll, AutoMove = getgenv().Toggles.AutoMove, FPSBoost = getgenv().Toggles.FPSBoost }, Settings = getgenv().Settings } pcall(writefile, configFileName, HttpService:JSONEncode(data)) end end local function LoadConfig() if readfile and isfile and isfile(configFileName) then local success, json = pcall(readfile, configFileName) if success then local successDecode, decoded = pcall(HttpService.JSONDecode, HttpService, json) if successDecode and type(decoded) == "table" then if decoded.Toggles then for k, v in pairs(decoded.Toggles) do if getgenv().Toggles[k] ~= nil then getgenv().Toggles[k] = v end end end if decoded.Settings then for k, v in pairs(decoded.Settings) do getgenv().Settings[k] = v end end end end end getgenv().autoRob = getgenv().Toggles.AutoRob end LoadConfig() -- ========================================= -- 2. GUI構築 (ゴージャス版) -- ========================================= local screenGui = Instance.new("ScreenGui") screenGui.Name = "SK_HUB_PREMIUM" screenGui.ResetOnSpawn = false screenGui.Parent = player:WaitForChild("PlayerGui") -- メインフレーム (Glassmorphism & Glow) local mainFrame = Instance.new("CanvasGroup") mainFrame.Size = UDim2.new(0, 320, 0, 560) -- 少し大きくしてリッチに mainFrame.Position = UDim2.new(0.5, -160, 0.5, -280) mainFrame.BackgroundColor3 = Color3.fromRGB(12, 12, 16) mainFrame.GroupTransparency = 1 mainFrame.Parent = screenGui local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 16) mainCorner.Parent = mainFrame -- ゴールドストローク (呼吸アニメーション付き) local mainStroke = Instance.new("UIStroke") mainStroke.Thickness = 2.5 mainStroke.Color = Color3.fromRGB(212, 175, 55) mainStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border mainStroke.Parent = mainFrame task.spawn(function() while isScriptRunning and mainFrame.Parent do TweenService:Create(mainStroke, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Color = Color3.fromRGB(255, 230, 150)}):Play() task.wait(3) TweenService:Create(mainStroke, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Color = Color3.fromRGB(180, 140, 20)}):Play() task.wait(3) end end) -- 背景の星屑エフェクト (CanvasGroup内でクリップされる) local starContainer = Instance.new("Frame", mainFrame) starContainer.Size = UDim2.new(1, 0, 1, 0) starContainer.BackgroundTransparency = 1 starContainer.ZIndex = 0 local function createStar() local star = Instance.new("Frame") local size = math.random(2, 4) star.Size = UDim2.new(0, size, 0, size) star.Position = UDim2.new(math.random(), 0, math.random(), 0) star.BackgroundColor3 = Color3.fromRGB(255, 255, 200) star.BackgroundTransparency = math.random(5, 9) / 10 star.BorderSizePixel = 0 Instance.new("UICorner", star).CornerRadius = UDim.new(1, 0) star.Parent = starContainer -- 星の明滅アニメーション task.spawn(function() while star.Parent do TweenService:Create(star, TweenInfo.new(math.random(2,5), Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {BackgroundTransparency = 0.2}):Play() task.wait(math.random(2,5)) TweenService:Create(star, TweenInfo.new(math.random(2,5), Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {BackgroundTransparency = 0.9}):Play() task.wait(math.random(2,5)) end end) end for i = 1, 40 do createStar() end -- 40個の星を生成 -- タイトルバー local titleBar = Instance.new("Frame") titleBar.Size = UDim2.new(1, 0, 0, 60) titleBar.BackgroundColor3 = Color3.fromRGB(20, 20, 25) titleBar.BackgroundTransparency = 0.4 titleBar.Parent = mainFrame local titleText = Instance.new("TextLabel") titleText.Size = UDim2.new(1, -90, 1, 0) titleText.Position = UDim2.new(0, 25, 0, 0) titleText.BackgroundTransparency = 1 titleText.Text = "SK HUB PREMIUM" titleText.TextColor3 = Color3.fromRGB(255, 215, 0) titleText.Font = Enum.Font.GothamBlack titleText.TextSize = 20 titleText.TextXAlignment = Enum.TextXAlignment.Left titleText.Parent = titleBar local subTitle = Instance.new("TextLabel") subTitle.Size = UDim2.new(1, -90, 0, 20) subTitle.Position = UDim2.new(0, 25, 0, 35) subTitle.BackgroundTransparency = 1 subTitle.Text = "Ultimate Script Hub v1.0" subTitle.TextColor3 = Color3.fromRGB(150, 150, 150) subTitle.Font = Enum.Font.Gotham subTitle.TextSize = 12 subTitle.TextXAlignment = Enum.TextXAlignment.Left subTitle.Parent = titleBar local container = Instance.new("ScrollingFrame") container.Size = UDim2.new(1, -30, 1, -80) container.Position = UDim2.new(0, 15, 0, 70) container.BackgroundTransparency = 1 container.ScrollBarThickness = 3 container.ScrollBarImageColor3 = Color3.fromRGB(212, 175, 55) container.AutomaticCanvasSize = Enum.AutomaticSize.Y container.CanvasSize = UDim2.new(0,0,0,0) container.Parent = mainFrame local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 14) layout.SortOrder = Enum.SortOrder.LayoutOrder layout.Parent = container local function createRipple(btn, inputPosition) if not btn or not inputPosition then return end local ripple = Instance.new("Frame") ripple.Name = "Ripple" ripple.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ripple.BackgroundTransparency = 0.8 ripple.BorderSizePixel = 0 ripple.AnchorPoint = Vector2.new(0.5, 0.5) local btnAbsolutePos = btn.AbsolutePosition local relativeX = inputPosition.X - btnAbsolutePos.X local relativeY = inputPosition.Y - btnAbsolutePos.Y ripple.Position = UDim2.new(0, relativeX, 0, relativeY) ripple.Size = UDim2.new(0, 0, 0, 0) local corner = Instance.new("UICorner"); corner.CornerRadius = UDim.new(1, 0); corner.Parent = ripple ripple.Parent = btn local targetSize = btn.AbsoluteSize.X * 1.5 TweenService:Create(ripple, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { Size = UDim2.new(0, targetSize, 0, targetSize), BackgroundTransparency = 1 }):Play() task.delay(0.5, function() pcall(function() ripple:Destroy() end) end) end -- ========================================= -- 3. GUIパーツ生成 -- ========================================= local function createButton(name, configKey, callback) local isActive = getgenv().Toggles[configKey] local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 52) btn.BackgroundColor3 = isActive and Color3.fromRGB(212, 175, 55) or Color3.fromRGB(35, 35, 40) btn.Text = name btn.TextColor3 = isActive and Color3.fromRGB(20, 20, 25) or Color3.fromRGB(230, 230, 230) btn.Font = Enum.Font.GothamBold btn.TextSize = 15 btn.AutoButtonColor = false btn.ClipsDescendants = true btn.Parent = container Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 10) local btnStroke = Instance.new("UIStroke", btn) btnStroke.Color = isActive and Color3.fromRGB(255, 255, 200) or Color3.fromRGB(80, 80, 90) btnStroke.Thickness = 1.2 btnStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border local statusDot = Instance.new("Frame") statusDot.Size = UDim2.new(0, 8, 0, 8) statusDot.Position = UDim2.new(0, 15, 0.5, -4) statusDot.BackgroundColor3 = isActive and Color3.fromRGB(50, 255, 50) or Color3.fromRGB(255, 50, 50) Instance.new("UICorner", statusDot).CornerRadius = UDim.new(1,0) statusDot.Parent = btn btn.MouseEnter:Connect(function() if not isActive then TweenService:Create(btnStroke, TweenInfo.new(0.2), {Color = Color3.fromRGB(212, 175, 55), Transparency = 0}):Play() end end) btn.MouseLeave:Connect(function() if not isActive then TweenService:Create(btnStroke, TweenInfo.new(0.2), {Color = Color3.fromRGB(80, 80, 90), Transparency = 0.5}):Play() end end) btn.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then createRipple(btn, input.Position) isActive = not isActive getgenv().Toggles[configKey] = isActive SaveConfig() local targetBg = isActive and Color3.fromRGB(212, 175, 55) or Color3.fromRGB(35, 35, 40) local targetText = isActive and Color3.fromRGB(20, 20, 25) or Color3.fromRGB(230, 230, 230) local targetStroke = isActive and Color3.fromRGB(255, 255, 200) or Color3.fromRGB(80, 80, 90) local targetDot = isActive and Color3.fromRGB(50, 255, 50) or Color3.fromRGB(255, 50, 50) TweenService:Create(btn, TweenInfo.new(0.3), {BackgroundColor3 = targetBg, TextColor3 = targetText}):Play() TweenService:Create(btnStroke, TweenInfo.new(0.3), {Color = targetStroke}):Play() TweenService:Create(statusDot, TweenInfo.new(0.3), {BackgroundColor3 = targetDot}):Play() callback(isActive, btn, statusDot, btnStroke) end end) if isActive then task.spawn(function() callback(isActive, btn, statusDot, btnStroke) end) end return btn end local function createSpeedControl(title, settingKey) local frame = Instance.new("Frame") frame.Size = UDim2.new(1, 0, 0, 45) frame.BackgroundColor3 = Color3.fromRGB(25, 25, 30) frame.Parent = container Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10) local stroke = Instance.new("UIStroke", frame); stroke.Color = Color3.fromRGB(60, 60, 65); stroke.Thickness = 1 local label = Instance.new("TextLabel") label.Size = UDim2.new(0.5, 0, 1, 0) label.Position = UDim2.new(0, 15, 0, 0) label.BackgroundTransparency = 1 label.Text = title label.TextColor3 = Color3.fromRGB(200, 200, 200) label.Font = Enum.Font.GothamMedium label.TextSize = 14 label.TextXAlignment = Enum.TextXAlignment.Left label.Parent = frame local valueLabel = Instance.new("TextLabel") valueLabel.Name = "ValueLabel" valueLabel.Size = UDim2.new(0, 40, 1, 0) valueLabel.Position = UDim2.new(1, -100, 0, 0) valueLabel.BackgroundTransparency = 1 valueLabel.Text = tostring(getgenv().Settings[settingKey]) valueLabel.TextColor3 = Color3.fromRGB(255, 215, 0) valueLabel.Font = Enum.Font.GothamBold valueLabel.TextSize = 16 valueLabel.Parent = frame local function updateValue(delta) getgenv().Settings[settingKey] = math.clamp(getgenv().Settings[settingKey] + delta, 16, 200) valueLabel.Text = tostring(getgenv().Settings[settingKey]) SaveConfig() end local function createSmallBtn(txt, pos, delta) local b = Instance.new("TextButton") b.Size = UDim2.new(0, 32, 0, 32) b.Position = pos b.AnchorPoint = Vector2.new(0, 0.5) b.BackgroundColor3 = Color3.fromRGB(50, 50, 55) b.Text = txt b.TextColor3 = Color3.fromRGB(255, 255, 255) b.Font = Enum.Font.GothamBold b.TextSize = 16 b.Parent = frame Instance.new("UICorner", b).CornerRadius = UDim.new(0, 8) b.MouseButton1Click:Connect(function() updateValue(delta) TweenService:Create(b, TweenInfo.new(0.1), {BackgroundColor3 = Color3.fromRGB(80, 80, 85)}):Play() task.wait(0.1) TweenService:Create(b, TweenInfo.new(0.1), {BackgroundColor3 = Color3.fromRGB(50, 50, 55)}):Play() end) end createSmallBtn("-", UDim2.new(1, -145, 0.5, 0), -2) createSmallBtn("+", UDim2.new(1, -50, 0.5, 0), 2) end -- ========================================= -- 4. [FEATURE] Safe FPS Boost & Admin Spammer -- ========================================= -- [Safe FPS Boost Logic] -- 材質をSmoothPlasticにし、影を消すだけの安全な軽量化 local function updateFPSBoost(enable) if enable then -- Boost ON: 安全に画質を下げる settings().Rendering.QualityLevel = Enum.QualityLevel.Level01 -- クライアント設定 Lighting.GlobalShadows = false Lighting.FogEnd = 9e9 for _, v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") and not v.Parent:IsA("Tool") then v.Material = Enum.Material.SmoothPlastic v.Reflectance = 0 v.CastShadow = false elseif v:IsA("Decal") or v:IsA("Texture") then v.Transparency = 1 -- 削除せず透明にするだけ elseif v:IsA("ParticleEmitter") or v:IsA("Trail") then v.Enabled = false end end else -- Boost OFF: 完全復元は難しいが、ある程度戻す settings().Rendering.QualityLevel = Enum.QualityLevel.Automatic Lighting.GlobalShadows = true -- テクスチャの復元は複雑なため、FPS Boostは「適用したら戻らない」のが一般的だが -- 致命的な変更はしていないのでリジョイン推奨 end end -- [Admin Spammer Logic] local spammerGuiRef = nil local isSpamming = false local function CreateSpammerWindow() if spammerGuiRef then return end local frame = Instance.new("CanvasGroup") frame.Name = "SpammerPanel" frame.Size = UDim2.new(0, 240, 0, 250) frame.Position = UDim2.new(0.5, 170, 0.5, -280) frame.BackgroundColor3 = Color3.fromRGB(15, 15, 18) frame.GroupTransparency = 1 frame.Parent = screenGui spammerGuiRef = frame local c = Instance.new("UICorner", frame); c.CornerRadius = UDim.new(0, 12) local s = Instance.new("UIStroke", frame); s.Color = Color3.fromRGB(212, 175, 55); s.Thickness = 2; s.ApplyStrokeMode = Enum.ApplyStrokeMode.Border local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1, 0, 0, 40) title.BackgroundTransparency = 1 title.Text = "Spammer Panel" title.TextColor3 = Color3.fromRGB(255, 215, 0) title.Font = Enum.Font.GothamBlack title.TextSize = 16 local function mkInput(ph, txt, y) local bg = Instance.new("Frame", frame) bg.Size = UDim2.new(0.9, 0, 0, 35) bg.Position = UDim2.new(0.05, 0, 0, y) bg.BackgroundColor3 = Color3.fromRGB(30, 30, 35) Instance.new("UICorner", bg).CornerRadius = UDim.new(0, 6) local box = Instance.new("TextBox", bg) box.Size = UDim2.new(1, -10, 1, 0) box.Position = UDim2.new(0, 5, 0, 0) box.BackgroundTransparency = 1 box.Text = txt box.PlaceholderText = ph box.TextColor3 = Color3.fromRGB(255, 255, 255) box.Font = Enum.Font.GothamSemibold box.TextSize = 13 box.TextXAlignment = Enum.TextXAlignment.Left return box end local cmdBox = mkInput("Command (e.g. :kill)", ":kill", 50) local targetBox = mkInput("Target (e.g. others)", "others", 95) local toggleBtn = Instance.new("TextButton", frame) toggleBtn.Size = UDim2.new(0.9, 0, 0, 45) toggleBtn.Position = UDim2.new(0.05, 0, 0, 150) toggleBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 45) toggleBtn.Text = "START SPAM" toggleBtn.TextColor3 = Color3.fromRGB(200, 200, 200) toggleBtn.Font = Enum.Font.GothamBold toggleBtn.TextSize = 14 Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 8) local ExecuteCommand pcall(function() local Net = require(ReplicatedStorage.Packages.Net) ExecuteCommand = Net:RemoteEvent("AdminPanelService/ExecuteCommand") end) if not ExecuteCommand then ExecuteCommand = ReplicatedStorage:FindFirstChild("AdminPanelService") and ReplicatedStorage.AdminPanelService:FindFirstChild("ExecuteCommand") end toggleBtn.MouseButton1Click:Connect(function() isSpamming = not isSpamming if isSpamming then toggleBtn.Text = "STOP SPAM" toggleBtn.TextColor3 = Color3.fromRGB(25, 25, 25) TweenService:Create(toggleBtn, TweenInfo.new(0.3), {BackgroundColor3 = Color3.fromRGB(212, 175, 55)}):Play() task.spawn(function() while isSpamming and spammerGuiRef do if ExecuteCommand then local fullCmd = cmdBox.Text .. " " .. targetBox.Text pcall(function() ExecuteCommand:FireServer(fullCmd) end) end task.wait(0.05) end if spammerGuiRef then toggleBtn.Text = "START SPAM" toggleBtn.TextColor3 = Color3.fromRGB(200, 200, 200) TweenService:Create(toggleBtn, TweenInfo.new(0.3), {BackgroundColor3 = Color3.fromRGB(40, 40, 45)}):Play() end end) else toggleBtn.Text = "START SPAM" toggleBtn.TextColor3 = Color3.fromRGB(200, 200, 200) TweenService:Create(toggleBtn, TweenInfo.new(0.3), {BackgroundColor3 = Color3.fromRGB(40, 40, 45)}):Play() end end) TweenService:Create(frame, TweenInfo.new(0.4, Enum.EasingStyle.Back), {GroupTransparency = 0}):Play() local dragging, dragStart, startPos frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true; dragStart = input.Position; startPos = frame.Position end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) end local function DestroySpammerWindow() isSpamming = false if spammerGuiRef then local target = spammerGuiRef spammerGuiRef = nil TweenService:Create(target, TweenInfo.new(0.3), {GroupTransparency = 1}):Play() task.wait(0.3) target:Destroy() end end -- ========================================= -- 5. 機能ロジック (既存) -- ========================================= -- 【第1機能: AutoRob】 local busy = false local function GetNearestPrompt() local character = player.Character if not character then return end local root = character:FindFirstChild("HumanoidRootPart") if not root then return end local closestPrompt, closestDistance = nil, math.huge for _, obj in ipairs(workspace:GetDescendants()) do if obj:IsA("ProximityPrompt") and obj.Enabled then obj.RequiresLineOfSight = false obj.MaxActivationDistance = 250 local worldPos = obj.Parent:IsA("Attachment") and obj.Parent.WorldPosition or (obj.Parent:IsA("BasePart") and obj.Parent.Position) if worldPos then local distance = (root.Position - worldPos).Magnitude if distance < closestDistance then closestDistance = distance; closestPrompt = obj end end end end return closestPrompt end local function HoldPrompt(prompt) if busy or not prompt then return end busy = true if fireproximityprompt then fireproximityprompt(prompt, prompt.HoldDuration or 1) else prompt:InputHoldBegin(); task.wait(prompt.HoldDuration or 1); prompt:InputHoldEnd() end task.wait(0.0005); busy = false end task.spawn(function() while isScriptRunning do if getgenv().autoRob and not busy then local p = GetNearestPrompt(); if p then HoldPrompt(p) end end task.wait(0.05) end end) -- 【第2機能: Auto Aim】 local aimTween = nil task.spawn(function() while isScriptRunning do if getgenv().Toggles.AutoAim then local char = player.Character local bat = char and (char:FindFirstChild("Bat") or player.Backpack:FindFirstChild("Bat")) local hrp = char and char:FindFirstChild("HumanoidRootPart") if hrp and bat then local closestEnemy, dist = nil, 100 for _, p in pairs(Players:GetPlayers()) do if p ~= player and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then local d = (hrp.Position - p.Character.HumanoidRootPart.Position).Magnitude if d < dist then dist = d; closestEnemy = p.Character.HumanoidRootPart end end end if closestEnemy then local lookPos = Vector3.new(closestEnemy.Position.X, hrp.Position.Y, closestEnemy.Position.Z) local targetCFrame = CFrame.lookAt(hrp.Position, lookPos) if aimTween then aimTween:Cancel() end aimTween = TweenService:Create(hrp, TweenInfo.new(0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {CFrame = targetCFrame}) aimTween:Play() if bat.Parent ~= char then bat.Parent = char end bat:Activate() if dist > 4 then char.Humanoid:MoveTo(closestEnemy.Position) end end end end task.wait(0.1) end end) -- 【第3機能: Boost (Aggressive Anti-Override)】 task.spawn(function() while isScriptRunning do local hum = player.Character and player.Character:FindFirstChild("Humanoid") if hum and hum.Health > 0 then local shouldBoost = getgenv().Toggles.Boost or getgenv().Toggles.AutoMove if shouldBoost then local isStealing = player:GetAttribute("Stealing") == true or (player.Character and player.Character:GetAttribute("Stealing") == true) local targetSpeed = isStealing and getgenv().Settings.BoostStealing or getgenv().Settings.BoostNormal -- Force apply hum.WalkSpeed = targetSpeed hum.JumpPower = 60 workspace.Gravity = 150 else -- Auto revert logic is risky here due to override loop, relying on toggle OFF if hum.WalkSpeed > 50 then hum.WalkSpeed = 16 end if workspace.Gravity ~= 196.2 then workspace.Gravity = 196.2 end end end RunService.RenderStepped:Wait() end end) -- 【第4機能: Anti Ragdoll】 local function safeDestroy(obj) if obj and obj.Destroy then pcall(function() obj:Destroy() end) end end task.spawn(function() while isScriptRunning do if getgenv().Toggles.AntiRagdoll then local char = workspace:FindFirstChild(player.Name) if char then safeDestroy(char:FindFirstChild("RagdollClient")) end local coreGui = game:GetService("CoreGui"):FindFirstChild("RobloxGui") if coreGui and coreGui:FindFirstChild("Modules") and coreGui.Modules:FindFirstChild("Common") then safeDestroy(coreGui.Modules.Common:FindFirstChild("RagdollRigging")) end local rs = game:GetService("ReplicatedStorage") if rs then if rs:FindFirstChild("Controllers") then safeDestroy(rs.Controllers:FindFirstChild("RagdollController")) end safeDestroy(rs:FindFirstChild("Packages")) end safeDestroy(game:GetService("StarterPlayer").StarterCharacterScripts:FindFirstChild("RagdollClient")) end task.wait(1) end end) -- 【第5機能: Auto Move】 local isMoving = false local function walkTo(targetPos) local hum = player.Character and player.Character:FindFirstChild("Humanoid") if not hum or not isScriptRunning or not isMoving then return end hum:MoveTo(targetPos) local finished = hum.MoveToFinished:Wait() end local function handleAutoMove(isReturning) isMoving = true local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart") if not hrp then return end local rightStart, leftStart = Vector3.new(-466.31, -6.74, 7.41), Vector3.new(-466.43, -6.69, 113.55) local isRightSide = (hrp.Position - rightStart).Magnitude < (hrp.Position - leftStart).Magnitude task.spawn(function() if not isReturning then if isRightSide then walkTo(Vector3.new(-472.13, -6.83, 104.78)) walkTo(Vector3.new(-487.20, -4.43, 95.19)) else walkTo(Vector3.new(-476.49, -6.83, 31.23)) walkTo(Vector3.new(-487.44, -4.43, 26.74)) end else if isRightSide then walkTo(rightStart) else walkTo(leftStart) end end isMoving = false end) end -- 【第6機能: Invis Clone Combo】 local function executeInvisClone(btn, dot, stroke) task.spawn(function() local char = player.Character if not char then return end local hum = char:FindFirstChild("Humanoid") if not hum then return end local function findTool(name) return char:FindFirstChild(name) or (player.Backpack and player.Backpack:FindFirstChild(name)) end local cloak = findTool("Invisibility Cloak") local cloner = findTool("Quantum Cloner") if cloak and cloner then hum:UnequipTools() task.wait(0.05) if cloak.Parent ~= char then hum:EquipTool(cloak) end task.wait(0.05) cloak:Activate() task.wait(1) if cloner.Parent ~= char then hum:EquipTool(cloner) end cloner:Activate() print("SK HUB: Clone Activated Successfully") else StarterGui:SetCore("SendNotification", { Title = "SK HUB PREMIUM", Text = "Missing Tools: Cloak or Cloner not found!", Duration = 3 }) end task.wait(0.5) getgenv().Toggles.InvisClone = false TweenService:Create(btn, TweenInfo.new(0.3), {BackgroundColor3 = Color3.fromRGB(40, 40, 45), TextColor3 = Color3.fromRGB(230, 230, 230)}):Play() TweenService:Create(mainStroke, TweenInfo.new(0.3), {Color = Color3.fromRGB(212, 175, 55)}):Play() -- Reset stroke TweenService:Create(dot, TweenInfo.new(0.3), {BackgroundColor3 = Color3.fromRGB(255, 50, 50)}):Play() end) end -- ========================================= -- 6. ボタン登録 -- ========================================= createButton("Auto Rob", "AutoRob", function(v) getgenv().autoRob = v end) createButton("Auto Aim (Bat)", "AutoAim", function(v) end) createButton("Boost (Speed/Jump)", "Boost", function(v) end) createSpeedControl("Normal Speed", "BoostNormal") createSpeedControl("Stealing Speed", "BoostStealing") createButton("Anti Ragdoll", "AntiRagdoll", function(v) end) createButton("Auto Move (Walk)", "AutoMove", function(v) handleAutoMove(not v) end) createButton("Invis Clone Combo", "InvisClone", function(isActive, btn, dot, stroke) if isActive then executeInvisClone(btn, dot, stroke) end end) -- [Safe FPS Boost] createButton("Safe FPS Boost", "FPSBoost", function(v) updateFPSBoost(v) end) -- [Admin Spammer] createButton("Admin Spammer", "AdminSpammer", function(isActive) if isActive then CreateSpammerWindow() else DestroySpammerWindow() end end) local dragging, dragInput, dragStart, startPos titleBar.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 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) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) local function createTitleBtn(text, pos, color, callback) local b = Instance.new("TextButton") b.Size = UDim2.new(0, 30, 0, 30) b.Position = pos b.BackgroundColor3 = color b.Text = text b.TextColor3 = Color3.fromRGB(255,255,255) b.Font = Enum.Font.GothamBold b.TextSize = 14 b.Parent = titleBar Instance.new("UICorner", b).CornerRadius = UDim.new(0, 8) b.MouseButton1Click:Connect(callback) end local isMinimized = false createTitleBtn("-", UDim2.new(1, -75, 0, 12), Color3.fromRGB(60, 60, 65), function() isMinimized = not isMinimized TweenService:Create(mainFrame, TweenInfo.new(0.4, Enum.EasingStyle.Back, isMinimized and Enum.EasingDirection.In or Enum.EasingDirection.Out), { Size = isMinimized and UDim2.new(0, 320, 0, 60) or UDim2.new(0, 320, 0, 560) }):Play() container.Visible = not isMinimized end) getgenv().SK_HUB_Shutdown = function() isScriptRunning = false isMoving = false getgenv().autoRob = false DestroySpammerWindow() for key, _ in pairs(getgenv().Toggles) do getgenv().Toggles[key] = false end if aimTween then aimTween:Cancel() end local hum = player.Character and player.Character:FindFirstChild("Humanoid") if hum then hum.WalkSpeed = 16; hum.JumpPower = 50 end workspace.Gravity = 196.2 if screenGui then local closeTween = TweenService:Create(mainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.In), {Scale = 0.8, GroupTransparency = 1}) closeTween:Play(); closeTween.Completed:Wait() pcall(function() screenGui:Destroy() end) end end createTitleBtn("X", UDim2.new(1, -40, 0, 12), Color3.fromRGB(180, 50, 50), getgenv().SK_HUB_Shutdown) -- ========================================= -- 7. 起動アニメーション -- ========================================= mainFrame.Scale = 0.8 task.wait(0.1) TweenService:Create(mainFrame, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { GroupTransparency = 0, Scale = 1 }):Play() print("SK HUB PREMIUM v1.0 Loaded.")