-- deobfuscated by TheL0LeR (luaobfuscator honestly is easy to deobf) --I do not own this script. All rights and credits belong entirely to the original creator. -- I have only deobfuscated the code for educational purposes. This is meant for developers and anyone interested in analyzing the structure, logic, and inner workings of scripts like this. -- original author of script in description local function v1() if (type(getgenv) == "function") then return getgenv() end return _G end local function v2() local v5 = game:GetService("Players") local v6 = game:GetService("RunService") local v7 = game:GetService("UserInputService") local v8 = game:GetService("TweenService") local v9 = game:GetService("ReplicatedStorage") local v10 = game:GetService("Workspace") local v11 = v5.LocalPlayer local v12 = v1().JJHub if v12 then v12.Shutdown = true if v12.Conns then for v68 = 1, #v12.Conns do pcall( function() v12.Conns[v68]:Disconnect() end ) end end if v12.Screen then pcall( function() v12.Screen:Destroy() end ) end if v12.NotifyGui then pcall( function() v12.NotifyGui:Destroy() end ) end task.wait(0.15) end local v13 = Color3.fromRGB(60, 140, 255) local v14 = Color3.fromRGB(170, 0, 255) local v15 = Color3.fromRGB(5, 0, 20) local v16 = Color3.fromRGB(15, 10, 40) local v17 = Color3.fromRGB(80, 160, 255) local v18 = Color3.fromRGB(230, 225, 255) local v19 = Color3.fromRGB(150, 140, 220) local v20 = Color3.fromRGB(25, 20, 55) local v21 = Color3.fromRGB(90, 30, 255) local v22 = Color3.fromRGB(140, 120, 220) local v23 = Color3.fromRGB(120, 200, 255) local v24 = v11:WaitForChild("PlayerGui", 10) local v25 = { Shutdown = false, State = {Bypass = false, SweepAll = false, FreezeCam = true, FreezePhys = true}, Toggles = {}, Config = {SweepTime = 0.1, Range = 500, MaxTargets = 6}, Conns = {}, Cached = {}, DummyCache = {}, LastPlayerScan = 0, LastDummyScan = 0, ResetCount = 0, BypassFails = 0, Drag = {}, Screen = nil, NotifyGui = nil, SavedCamCF = nil, } v1().JJHub = v25 local v26 = Instance.new("ScreenGui") v26.Name = "JJHub" v26.ResetOnSpawn = false v26.IgnoreGuiInset = true v26.DisplayOrder = 999 v26.Parent = v24 v25.Screen = v26 local v27 = Instance.new("TextButton") v27.Size = UDim2.new(0, 54, 0, 54) v27.Position = UDim2.new(0, 16, 0, 60) v27.BackgroundColor3 = Color3.fromRGB(255, 255, 255) v27.Text = "J" v27.TextColor3 = Color3.fromRGB(255, 255, 255) v27.Font = Enum.Font.GothamBold v27.TextSize = 24 v27.AutoButtonColor = false v27.BorderSizePixel = 0 v27.Active = true v27.Parent = v26 Instance.new("UICorner", v27).CornerRadius = UDim.new(1, 0) local v28 = Instance.new("UIGradient", v27) v28.Color = ColorSequence.new( {ColorSequenceKeypoint.new(0, v13), ColorSequenceKeypoint.new(1, v14)} ) local v29 = Instance.new("UIStroke", v27) v29.Color = Color3.fromRGB(255, 255, 255) local v30 = Instance.new("UIStroke", v27) v30.Color = v14 v30.Thickness = 5 v30.Transparency = 0.5 local v31 = Instance.new("UIGradient", v30) v31.Color = ColorSequence.new( {ColorSequenceKeypoint.new(0, v13), ColorSequenceKeypoint.new(1, v14)} ) local v32 = Instance.new("Frame") v32.Size = UDim2.new(0, 290, 0, 430) v32.Position = UDim2.new(0.5, -145, 0.5, -215) v32.BackgroundColor3 = v15 v32.BorderSizePixel = 0 v32.Visible = false v32.Active = true v32.Parent = v26 Instance.new("UICorner", v32).CornerRadius = UDim.new(0, 12) local v33 = Instance.new("UIStroke", v32) v33.Thickness = 2 v33.Color = v14 local v34 = Instance.new("UIGradient", v33) v34.Color = ColorSequence.new( { ColorSequenceKeypoint.new(0, v13), ColorSequenceKeypoint.new(0.5, v14), ColorSequenceKeypoint.new(1, v13) } ) local v35 = Instance.new("UIStroke", v32) v35.Thickness = 6 v35.Transparency = 0.6499999999999773 v35.Color = v13 local v36 = Instance.new("UIGradient", v35) v36.Color = ColorSequence.new( {ColorSequenceKeypoint.new(0, v13), ColorSequenceKeypoint.new(1, v14)} ) local v37 = Instance.new("Frame") v37.Size = UDim2.new(1, 0, 0, 66) v37.BackgroundColor3 = v16 v37.BorderSizePixel = 0 v37.Active = true v37.Parent = v32 Instance.new("UICorner", v37).CornerRadius = UDim.new(0, 12) local v38 = Instance.new("Frame") v38.Size = UDim2.new(1, 0, 0, 12) v38.Position = UDim2.new(0, 0, 1, -12) local v39 = Instance.new("Frame") v39.Size = UDim2.new(1, 0, 1, 0) v39.BackgroundColor3 = Color3.new(1, 1, 1) v39.BackgroundTransparency = 0.85 v39.BorderSizePixel = 0 v39.Parent = v37 Instance.new("UICorner", v39).CornerRadius = UDim.new(0, 12) local v40 = Instance.new("UIGradient", v39) v40.Color = ColorSequence.new( {ColorSequenceKeypoint.new(0, v13), ColorSequenceKeypoint.new(1, v14)} ) local v41 = Instance.new("TextLabel") v41.Size = UDim2.new(0, 30, 0, 30) v41.Position = UDim2.new(0, 10, 0, 8) v41.BackgroundColor3 = Color3.fromRGB(255, 255, 255) v41.Text = "J" v41.TextColor3 = Color3.fromRGB(255, 255, 255) v41.Font = Enum.Font.GothamBold v41.TextSize = 14 v41.BorderSizePixel = 0 v41.Parent = v37 Instance.new("UICorner", v41).CornerRadius = UDim.new(1, 0) local v42 = Instance.new("UIGradient", v41) v42.Color = ColorSequence.new( {ColorSequenceKeypoint.new(0, v13), ColorSequenceKeypoint.new(1, v14)} ) local v43 = Instance.new("UIStroke", v41) v43.Color = Color3.fromRGB(255, 255, 255) local v44 = Instance.new("TextLabel") v44.Size = UDim2.new(1, -96, 0, 18) v44.Position = UDim2.new(0, 48, 0, 6) local v45 = Instance.new("TextLabel") v45.Size = UDim2.new(1, -96, 0, 14) v45.Position = UDim2.new(0, 48, 0, 22) local v46 = Instance.new("TextLabel") v46.Size = UDim2.new(1, -96, 0, 14) v46.Position = UDim2.new(0, 48, 0, 36) v46.TextColor3 = Color3.fromRGB(120, 200, 255) local v47 = Instance.new("TextButton") v47.Size = UDim2.new(0, 26, 0, 26) v47.Position = UDim2.new(1, -34, 0, 6) v47.BackgroundColor3 = v20 v47.Text = "X" v47.TextColor3 = v19 v47.Font = Enum.Font.GothamBold v47.TextSize = 16 v47.AutoButtonColor = false v47.Parent = v37 Instance.new("UICorner", v47).CornerRadius = UDim.new(0, 8) local v48 = Instance.new("ScrollingFrame") v48.Size = UDim2.new(1, -14, 1, -76) v48.Position = UDim2.new(0, 7, 0, 70) v48.BackgroundTransparency = 1 v48.BorderSizePixel = 0 v48.ScrollBarThickness = 4 v48.ScrollBarImageColor3 = v14 v48.CanvasSize = UDim2.new(0, 0, 0, 0) v48.AutomaticCanvasSize = Enum.AutomaticSize.Y v48.Parent = v32 local v49 = Instance.new("UIListLayout") v49.Padding = UDim.new(0, 6) local v50 = Instance.new("UIPadding") v50.PaddingTop = UDim.new(0, 4) v50.PaddingBottom = UDim.new(0, 4) local v51 = Instance.new("ScreenGui") v51.Name = "JJNotify" v51.ResetOnSpawn = false v51.IgnoreGuiInset = true v51.DisplayOrder = 1000 v51.Parent = v24 v25.NotifyGui = v51 local v52 = Instance.new("Frame") v52.Size = UDim2.new(0, 230, 0, 0) v52.Position = UDim2.new(1, -244, 0, 60) v52.BackgroundTransparency = 1 v52.AutomaticSize = Enum.AutomaticSize.Y v52.Parent = v51 local v53 = Instance.new("UIListLayout") v53.Padding = UDim.new(0, 6) local function v54(v69, v70) local v71 local v72 v71 = Instance.new("Frame") v71.Size = UDim2.new(1, 0, 0, 48) v71.BackgroundColor3 = v15 v71.BorderSizePixel = 0 v71.Parent = v52 Instance.new("UICorner", v71).CornerRadius = UDim.new(0, 8) v72 = Instance.new("UIStroke", v71) v72.Thickness = 2 v72.Color = v14 v157 = Instance.new("UIGradient", v72) v157.Color = ColorSequence.new( {ColorSequenceKeypoint.new(0, v13), ColorSequenceKeypoint.new(1, v14)} ) v158 = Instance.new("TextLabel") v158.Size = UDim2.new(1, -14, 0, 16) v158.Position = UDim2.new(0, 7, 0, 5) v159 = Instance.new("TextLabel") v159.Size = UDim2.new(1, -14, 0, 18) v159.Position = UDim2.new(0, 7, 0, 22) task.delay( 3, function() for v73 = 1, 10 do if v71.Parent then v71.BackgroundTransparency = v73 / (10) v72.Transparency = v73 / 10 end task.wait(0.03) end if v71.Parent then v71:Destroy() end end ) end v37.InputBegan:Connect( function(v74) if not v1().JJHub then end if ((v74.UserInputType == Enum.UserInputType.MouseButton1) or (v74.UserInputType == Enum.UserInputType.Touch)) then local v75 v1().JJHub.Drag.win = true v1().JJHub.Drag.start = v74.Position v1().JJHub.Drag.startPos = v32.Position v75 = v74.Changed:Connect( function() if (v74.UserInputState == Enum.UserInputState.End) then if v75 then v75:Disconnect() end end end ) end end ) table.insert( v25.Conns, v7.InputChanged:Connect( function(v76) if not v1().JJHub then end if not v1().JJHub.Drag.win then end if ((v76.UserInputType == Enum.UserInputType.MouseMovement) or (v76.UserInputType == Enum.UserInputType.Touch)) then local v77 = v76.Position - v1().JJHub.Drag.start v32.Position = UDim2.new( v1().JJHub.Drag.startPos.X.Scale, v1().JJHub.Drag.startPos.X.Offset + v77.X, v1().JJHub.Drag.startPos.Y.Scale, v1().JJHub.Drag.startPos.Y.Offset + v77.Y ) end end ) ) v27.InputBegan:Connect( function(v78) local v79 if not v1().JJHub then end if ((v78.UserInputType == Enum.UserInputType.MouseButton1) or (v78.UserInputType == Enum.UserInputType.Touch)) then local v80 v1().JJHub.Drag.icon = true v1().JJHub.Drag.iconMoved = false v1().JJHub.Drag.iconStart = v78.Position v1().JJHub.Drag.iconStartPos = v27.Position v80 = v78.Changed:Connect( function() if (v78.UserInputState == Enum.UserInputState.End) then v79.Drag.icon = false if v80 then v80:Disconnect() end if v79.Drag.iconMoved then if workspace.CurrentCamera and workspace.CurrentCamera.ViewportSize then local v81 = v27.Position local v82 = math.clamp( v81.X.Offset, 0, math.max( 0, (workspace.CurrentCamera and workspace.CurrentCamera.ViewportSize).X - (54) ) ) local v83 = math.clamp( v81.Y.Offset, 0, math.max( 0, (workspace.CurrentCamera and workspace.CurrentCamera.ViewportSize).Y - (54) ) ) v27.Position = UDim2.new(0, v82, 0, v83) end end end end ) end end ) table.insert( v25.Conns, v7.InputChanged:Connect( function(v84) if not v1().JJHub then end if not v1().JJHub.Drag.icon then end if ((v84.UserInputType == Enum.UserInputType.MouseMovement) or (v84.UserInputType == Enum.UserInputType.Touch)) then local v85 v85 = v84.Position - v1().JJHub.Drag.iconStart if ((math.abs(v85.X) > (4)) or (math.abs(v85.Y) > (4))) then v1().JJHub.Drag.iconMoved = true end v27.Position = UDim2.new( v1().JJHub.Drag.iconStartPos.X.Scale, v1().JJHub.Drag.iconStartPos.X.Offset + v85.X, v1().JJHub.Drag.iconStartPos.Y.Scale, v1().JJHub.Drag.iconStartPos.Y.Offset + v85.Y ) end end ) ) v27.MouseButton1Click:Connect( function() if not v1().JJHub then end if v1().JJHub.Drag.iconMoved then end v32.Visible = not v32.Visible end ) v47.MouseButton1Click:Connect( function() v32.Visible = false end ) local function v55(v86) local v87 local v88 v87 = Instance.new("Frame") v87.Size = UDim2.new(1, 0, 0, 42) v87.BackgroundColor3 = v16 v87.BorderSizePixel = 0 v87.Parent = v48 Instance.new("UICorner", v87).CornerRadius = UDim.new(0, 8) v88 = Instance.new("UIStroke", v87) v88.Thickness = 1 v88.Color = v14 v160 = Instance.new("UIGradient", v88) v160.Color = ColorSequence.new( {ColorSequenceKeypoint.new(0, v13), ColorSequenceKeypoint.new(1, v14)} ) v161 = Instance.new("TextLabel") v161.Size = UDim2.new(1, -70, 1, 0) v161.Position = UDim2.new(0, 10, 0, 0) return v87 end local function v56(v89, v90, v91) local v92 = v1().JJHub if v92 then v92.Toggles[v89] = v90 end local v93 = v55(v89) local v94 = Instance.new("TextButton") v94.Size = UDim2.new(0, 46, 0, 24) v94.Position = UDim2.new(1, -56, 0.5, -12) v94.BackgroundColor3 = (v90 and v21) or v20 v94.Text = "" v94.AutoButtonColor = false v94.BorderSizePixel = 0 v94.Parent = v93 Instance.new("UICorner", v94).CornerRadius = UDim.new(1, 0) local v95 = Instance.new("UIStroke", v94) v95.Thickness = 1.5 v95.Color = v13 local v96 = Instance.new("UIGradient", v95) v96.Color = ColorSequence.new( {ColorSequenceKeypoint.new(0, v13), ColorSequenceKeypoint.new(1, v14)} ) local v97 = Instance.new("Frame") v97.Size = UDim2.new(0, 18, 0, 18) v97.Position = (v90 and UDim2.new(1, -21, 0.5, -9)) or UDim2.new(0, 3, 0.5, -9) v97.BackgroundColor3 = (v90 and v23) or v22 v97.BorderSizePixel = 0 v97.Parent = v94 Instance.new("UICorner", v97).CornerRadius = UDim.new(1, 0) v94.MouseButton1Click:Connect( function() local v98 if not v1().JJHub then end v1().JJHub.Toggles[v89] = not v1().JJHub.Toggles[v89] v94.BackgroundColor3 = (not v1().JJHub.Toggles[v89] and v21) or v20 v97.BackgroundColor3 = (not v1().JJHub.Toggles[v89] and v23) or v22 pcall( function() v8:Create( v97, TweenInfo.new(0.15), {Position = (v98 and UDim2.new(1, -21, 0.5, -9)) or UDim2.new( 0, 3, 0.5, -9 )} ):Play() end ) if v91 then pcall(v91, not v1().JJHub.Toggles[v89]) end end ) end local function v57(v99, v100, v101) local v102 local v103 local v104 v102 = v55(v99) v103 = Instance.new("TextBox") v103.Size = UDim2.new(0, 68, 0, 24) v103.Position = UDim2.new(1, -78, 0.5, -12) v103.BackgroundColor3 = v20 v103.Text = v100 or "" v103.TextColor3 = v18 v103.Font = Enum.Font.Gotham v103.TextSize = 11 v103.PlaceholderText = "value" v103.PlaceholderColor3 = v19 v103.ClearTextOnFocus = false v103.BorderSizePixel = 0 v103.Parent = v102 Instance.new("UICorner", v103).CornerRadius = UDim.new(0, 6) v104 = Instance.new("UIStroke", v103) v104.Thickness = 1 v104.Color = v14 v162 = Instance.new("UIGradient", v104) v162.Color = ColorSequence.new( {ColorSequenceKeypoint.new(0, v13), ColorSequenceKeypoint.new(1, v14)} ) v103.FocusLost:Connect( function() if v101 then pcall(v101, v103.Text) end end ) end local function v58() local v105 v105 = v11.Character for v106, v107 in ipairs(v105:GetDescendants()) do if (v107:IsA("BasePart") and v107.CanCollide) then v107.CanCollide = false end end end local function v59() local v108 v108 = v11.Character for v109, v110 in ipairs(v108:GetDescendants()) do if (v110:IsA("BasePart") and (v110.Name ~= "HumanoidRootPart")) then v110.CanCollide = true end end end local function v60() local v111 = v1().JJHub local v112 = workspace.CurrentCamera v111.SavedCamCF = v112.CFrame v112.CameraType = Enum.CameraType.Scriptable v112.CFrame = v111.SavedCamCF end local function v61() local v113 = workspace.CurrentCamera v113.CameraType = Enum.CameraType.Custom end local function v62() local v114 = v1().JJHub local v115 = v11.Character local v116 = v115 and v115:FindFirstChild("HumanoidRootPart") local v117 = {} local v118 = v5:GetPlayers() for v119 = 1, #v118 do local v120 = v118[v119] if ((v120 ~= v11) and v120.Character) then local v121 local v122 v121 = v120.Character:FindFirstChildOfClass("Humanoid") v122 = v120.Character:FindFirstChild("HumanoidRootPart") if (v121 and (v121.Health > 0) and v122 and ((v122.Position - v116.Position).Magnitude <= v114.Config.Range)) then table.insert(v117, {hum = v121, hrp = v122}) end end end if ((tick() - v114.LastDummyScan) > (4)) then local v123 v114.LastDummyScan = tick() v114.DummyCache = {} v123 = v10:GetDescendants() for v124 = 1, #v123 do local v125 v125 = v123[v124] if (v125:IsA("Model") and (string.lower(v125.Name) == "dummy")) then local v126 local v127 v126 = nil v127 = nil v126 = v125:FindFirstChildOfClass("Humanoid") v127 = v125:FindFirstChild("HumanoidRootPart") or v125:FindFirstChild("Torso") if (v126 and (v126.Health > 0) and v127) then table.insert(v114.DummyCache, {hum = v126, hrp = v127}) end end end end for v128 = 1, #v114.DummyCache do local v129 = v114.DummyCache[v128] if (v129.hrp and v129.hrp.Parent and ((v129.hrp.Position - v116.Position).Magnitude <= v114.Config.Range)) then table.insert(v117, v129) end end if (#v117 > v114.Config.MaxTargets) then local v130 table.sort( v117, function(v131, v132) return (v131.hrp.Position - v116.Position).Magnitude < (v132.hrp.Position - v116.Position).Magnitude end ) v130 = {} for v133 = 1, v114.Config.MaxTargets do v130[v133] = v117[v133] end v117 = v130 end v114.Cached = v117 end local function v63() local v134 local v135 v134 = v1().JJHub if not v134 then return nil end v135 = {} for v136 = 1, #v134.Cached do local v137 v137 = v134.Cached[v136] if (v137.hrp and v137.hrp.Parent and v137.hum and (v137.hum.Health > (0))) then table.insert(v135, v137) end end if (#v135 > (0)) then return v135[math.random(1, #v135)] end return nil end local function v64() local v138 local v139 v138 = nil v139 = nil v138, v139 = pcall( function() return v9.Knit.Knit.Services.JoinService.RE.Reset end ) if v138 then return v139 end return nil end task.spawn( function() while true do task.wait(0.5) if v1().JJHub.State.Bypass then local v140 = v11.Character if (v140 and v140:FindFirstChild("HumanoidRootPart") and (v140 and v140:FindFirstChildOfClass( "Humanoid" )) and ((v140 and v140:FindFirstChildOfClass("Humanoid")).Health > (0))) then local v141 = v63() if (v63()) then local v142 local v143; (v140 and v140:FindFirstChild("HumanoidRootPart")).CFrame = v141.hrp.CFrame * CFrame.new( 0, 0, 2.5 ) while v143 < 3 do task.wait(0.1) v143 = v143 + 0.1 if (not v1().JJHub or v1().JJHub.Shutdown) then break end if (not v1().JJHub.State.Bypass or not (v140 and v140:FindFirstChildOfClass( "Humanoid" )) or ((v140 and v140:FindFirstChildOfClass("Humanoid")).Health <= (0))) then break end if (((v140 and v140:FindFirstChild("HumanoidRootPart")).Position - (v140 and v140:FindFirstChild( "HumanoidRootPart" )).Position).Magnitude < (10)) then break end end if (v1().JJHub and v1().JJHub.State.Bypass and (v140 and v140:FindFirstChildOfClass( "Humanoid" )) and ((v140 and v140:FindFirstChildOfClass("Humanoid")).Health > (0))) then if v142 then local v144 if not (v64()) then v1().JJHub.BypassFails = v1().JJHub.BypassFails + 1 if (v1().JJHub.BypassFails == (3)) then v54("Bypass", "No reset remote - unavailable") end else while v1().JJHub.State.Bypass and (v140 and v140:FindFirstChildOfClass( "Humanoid" )) and ((v140 and v140:FindFirstChildOfClass("Humanoid")).Health > (0)) do if (not v1().JJHub or v1().JJHub.Shutdown) then break end v144:FireServer() v1().JJHub.ResetCount = v1().JJHub.ResetCount + 1 task.wait(3) end end else v54( "Jujutsu of Fryman", "Bypass Success (Resets: " .. v1().JJHub.ResetCount .. ")" ) task.wait(2) end end end end end end end ) local v65 = 0 local v66 = 1 local v67 = false table.insert( v25.Conns, v6.Heartbeat:Connect( function() local v145 local v146 if not v1().JJHub.State.SweepAll then if v67 then v59() v61() end end if not v67 then if v1().JJHub.State.FreezeCam then v60() end if v1().JJHub.State.FreezePhys then v58() end v1().JJHub.LastPlayerScan = 0 v1().JJHub.LastDummyScan = 0 end v145 = v11.Character if ((tick() - v1().JJHub.LastPlayerScan) > (1)) then v1().JJHub.LastPlayerScan = tick() v62() end v65 = tick() v66 = v66 + 1 if (v146 and v146.hrp and v146.hrp.Parent) then (v145 and v145:FindFirstChild("HumanoidRootPart")).CFrame = v146.hrp.CFrame * CFrame.new( 0, 0, 2.5 ) pcall( function() v163.AssemblyLinearVelocity = Vector3.new(0, 0, 0) v163.AssemblyAngularVelocity = Vector3.new(0, 0, 0) end ) if v1().JJHub.State.FreezeCam then if (workspace.CurrentCamera and v1().JJHub.SavedCamCF) then workspace.CurrentCamera.CFrame = v1().JJHub.SavedCamCF end end end end ) ) v56( "0.2 domain and mahito inf ult", false, function(v147) if not v1().JJHub then end v1().JJHub.State.SweepAll = v147 end ) v56( "Bypass", false, function(v148) if not v1().JJHub then end v1().JJHub.State.Bypass = v148 v1().JJHub.BypassFails = 0 if v148 then v1().JJHub.ResetCount = 0 v54("Jujutsu of Fryman", "Bypass started") end end ) v56( "Freeze Camera (less lag)", true, function(v149) if not v1().JJHub then end v1().JJHub.State.FreezeCam = v149 if (not v149 and v1().JJHub.State.SweepAll) then v61() end end ) v56( "Freeze Physics (less lag)", true, function(v150) if not v1().JJHub then end v1().JJHub.State.FreezePhys = v150 if (not v150 and v1().JJHub.State.SweepAll) then v59() end end ) v57( "Sweep Time", "0.1", function(v151) local v152 if not v1().JJHub then end v152 = tonumber(v151) if ((tonumber(v151)) and (v152 >= 0.03)) then v1().JJHub.Config.SweepTime = v152 else v54("Sweep", "Min 0.03 - use 0.1 if laggy") end end ) v57( "Range", "500", function(v153) local v154 if not v1().JJHub then end v154 = tonumber(v153) if ((tonumber(v153)) and (v154 > 0)) then v1().JJHub.Config.Range = v154 end end ) v57( "Max Targets", "6", function(v155) local v156 if not v1().JJHub then end v156 = tonumber(v155) if ((tonumber(v155)) and (v156 > (0)) and (v156 <= (20))) then v1().JJHub.Config.MaxTargets = math.floor(v156) end end ) v54("Jujutsu of Fryman", "Loaded. Tap icon.") end local v3, v4 = pcall(v2) if not v3 then warn("[JJ Hub] Setup failed: " .. tostring(v4)) end