MaxproGlitcher

Projet_Fling_Deluxe_It's temporary

Jul 28th, 2026 (edited)
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 37.04 KB | None | 0 0
  1. local Players = game:GetService("Players")
  2. local TweenService = game:GetService("TweenService")
  3. local UserInputService = game:GetService("UserInputService")
  4. local RunService = game:GetService("RunService")
  5. local player = Players.LocalPlayer
  6. local InstanceNew = Instance.new
  7. local Wait = task.wait
  8.  
  9. local NaProtectUI = NaProtectUI or function(gui) gui.Parent = player:GetService("PlayerGui") end
  10. local NAgui = NAgui or { draggerV2 = function(...) end }
  11. local MouseButtonFix = MouseButtonFix or function(btn, callback) btn.MouseButton1Click:Connect(callback) end
  12. local NAlib = NAlib or { disconnect = function(...) end, connect = function(...) end }
  13. local Lower = Lower or string.lower
  14. local Sub = Sub or string.sub
  15. local Discover = Discover or function(t, v) return table.find(t, v) end
  16. local getPlrHum = getPlrHum or function(char) return char and char:FindFirstChildOfClass("Humanoid") end
  17. local getHead = getHead or function(char) return char and (char:FindFirstChild("Head") or char:FindFirstChild("UpperTorso")) end
  18. local getRoot = function(char) return char and (char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso")) end
  19. local flingManager = flingManager or {}
  20.  
  21. if clickflingUI then clickflingUI:Destroy() end
  22. NAlib.disconnect("clickfling_mouse")
  23. walkflinging = false
  24. loopTargeting = false
  25. tumbleMode = false
  26.  
  27. local screenGui = Instance.new("ScreenGui")
  28. screenGui.Name = "ClickFlingModernGUI"
  29. clickflingUI = screenGui
  30.  
  31. pcall(function()
  32. if gethui then
  33. screenGui.Parent = gethui()
  34. elseif syn and syn.protect_gui then
  35. syn.protect_gui(screenGui)
  36. screenGui.Parent = game:GetService("CoreGui")
  37. else
  38. screenGui.Parent = game:GetService("CoreGui")
  39. end
  40. end)
  41.  
  42. if not screenGui.Parent then
  43. screenGui.Parent = player:WaitForChild("PlayerGui")
  44. end
  45.  
  46. local mainFrame = Instance.new("Frame", screenGui)
  47. mainFrame.Name = "Projet_Fling_Deluxe" .. tostring(math.random(100, 999))
  48. mainFrame.Size = UDim2.new(0, 240, 0, 440)
  49. mainFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
  50. mainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
  51. mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
  52.  
  53. local corner = Instance.new("UICorner")
  54. corner.CornerRadius = UDim.new(0, 10)
  55. corner.Parent = mainFrame
  56.  
  57. local UIStroke = Instance.new("UIStroke")
  58. UIStroke.Color = Color3.fromRGB(45, 45, 45)
  59. UIStroke.Thickness = 1
  60. UIStroke.Parent = mainFrame
  61.  
  62. local MainTitle = Instance.new("TextLabel", mainFrame)
  63. MainTitle.Size = UDim2.new(1, 0, 0, 35)
  64. MainTitle.Position = UDim2.new(0, 0, 0, 2)
  65. MainTitle.BackgroundTransparency = 1
  66. MainTitle.Text = "FLING DELUXE 1.4"
  67. MainTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
  68. MainTitle.TextSize = 12
  69. MainTitle.Font = Enum.Font.GothamBold
  70.  
  71. local DiscordCredits = Instance.new("TextLabel", mainFrame)
  72. DiscordCredits.Size = UDim2.new(0, 150, 0, 15)
  73. DiscordCredits.Position = UDim2.new(1, -155, 1, -27)
  74. DiscordCredits.BackgroundTransparency = 1
  75. DiscordCredits.Text = "Discord : maxproglitcher"
  76. DiscordCredits.TextColor3 = Color3.fromRGB(140, 140, 140)
  77. DiscordCredits.TextSize = 10
  78. DiscordCredits.Font = Enum.Font.GothamMedium
  79. DiscordCredits.TextXAlignment = Enum.TextXAlignment.Right
  80.  
  81. local CreatorCredits = Instance.new("TextLabel", mainFrame)
  82. CreatorCredits.Size = UDim2.new(0, 150, 0, 15)
  83. CreatorCredits.Position = UDim2.new(1, -155, 1, -15)
  84. CreatorCredits.BackgroundTransparency = 1
  85. CreatorCredits.Text = "by MaxproGlitcher"
  86. CreatorCredits.TextColor3 = Color3.fromRGB(140, 140, 140)
  87. CreatorCredits.TextSize = 10
  88. CreatorCredits.Font = Enum.Font.GothamBold
  89. CreatorCredits.TextXAlignment = Enum.TextXAlignment.Right
  90.  
  91. local dragging, dragInput, dragStart, startPos
  92. local function updateDrag(input)
  93. local delta = input.Position - dragStart
  94. local pos = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  95. TweenService:Create(mainFrame, TweenInfo.new(0.15), {Position = pos}):Play()
  96. end
  97.  
  98. mainFrame.InputBegan:Connect(function(input)
  99. if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  100. dragging = true
  101. dragStart = input.Position
  102. startPos = mainFrame.Position
  103. input.Changed:Connect(function()
  104. if input.UserInputState == Enum.UserInputState.End then dragging = false end
  105. end)
  106. end
  107. end)
  108.  
  109. mainFrame.InputChanged:Connect(function(input)
  110. if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
  111. dragInput = input
  112. end
  113. end)
  114.  
  115. UserInputService.InputChanged:Connect(function(input)
  116. if dragging and input == dragInput then updateDrag(input) end
  117. end)
  118.  
  119. local scrollFrame = Instance.new("ScrollingFrame", mainFrame)
  120. scrollFrame.Size = UDim2.new(1, -16, 1, -85)
  121. scrollFrame.Position = UDim2.new(0, 8, 0, 40)
  122. scrollFrame.BackgroundTransparency = 1
  123. scrollFrame.ClipsDescendants = true
  124. scrollFrame.ScrollBarThickness = 4
  125. scrollFrame.ScrollBarImageColor3 = Color3.fromRGB(80, 80, 80)
  126. scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
  127. scrollFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
  128.  
  129. local layout = Instance.new("UIListLayout", scrollFrame)
  130. layout.FillDirection = Enum.FillDirection.Vertical
  131. layout.SortOrder = Enum.SortOrder.LayoutOrder
  132. layout.Padding = UDim.new(0, 8)
  133. layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
  134.  
  135. local uiPadding = Instance.new("UIPadding", scrollFrame)
  136. uiPadding.PaddingTop = UDim.new(0, 2)
  137. uiPadding.PaddingBottom = UDim.new(0, 10)
  138.  
  139. local LeftModuleFrame = Instance.new("Frame", scrollFrame)
  140. LeftModuleFrame.Size = UDim2.new(1, -4, 0, 110)
  141. LeftModuleFrame.BackgroundColor3 = Color3.fromRGB(32, 32, 32)
  142. Instance.new("UICorner", LeftModuleFrame).CornerRadius = UDim.new(0, 6)
  143.  
  144. local LeftTitle = InstanceNew("TextLabel", LeftModuleFrame)
  145. LeftTitle.Size = UDim2.new(1, 0, 0, 25)
  146. LeftTitle.BackgroundTransparency = 1
  147. LeftTitle.Text = "CLICK FLING TYPE"
  148. LeftTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
  149. LeftTitle.TextSize = 10
  150. LeftTitle.Font = Enum.Font.GothamBold
  151.  
  152. local toggleButtonInstant = InstanceNew("TextButton", LeftModuleFrame)
  153. toggleButtonInstant.Size = UDim2.new(0, 180, 0, 26)
  154. toggleButtonInstant.Position = UDim2.new(0.5, -90, 0, 32)
  155. toggleButtonInstant.Text = "Instant Click Fling: ON"
  156. toggleButtonInstant.TextSize = 11
  157. toggleButtonInstant.TextColor3 = Color3.fromRGB(255, 255, 255)
  158. toggleButtonInstant.Font = Enum.Font.GothamMedium
  159. toggleButtonInstant.BackgroundColor3 = Color3.fromRGB(220, 40, 40)
  160. Instance.new("UICorner", toggleButtonInstant).CornerRadius = UDim.new(0, 4)
  161.  
  162. local toggleButtonTween = InstanceNew("TextButton", LeftModuleFrame)
  163. toggleButtonTween.Size = UDim2.new(0, 180, 0, 26)
  164. toggleButtonTween.Position = UDim2.new(0.5, -90, 0, 68)
  165. toggleButtonTween.Text = "Tween Click Fling: OFF"
  166. toggleButtonTween.TextSize = 11
  167. toggleButtonTween.TextColor3 = Color3.fromRGB(255, 255, 255)
  168. toggleButtonTween.Font = Enum.Font.GothamMedium
  169. toggleButtonTween.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  170. Instance.new("UICorner", toggleButtonTween).CornerRadius = UDim.new(0, 4)
  171.  
  172. local RightModuleFrame = Instance.new("Frame", scrollFrame)
  173. RightModuleFrame.Size = UDim2.new(1, -4, 0, 80)
  174. RightModuleFrame.BackgroundColor3 = Color3.fromRGB(32, 32, 32)
  175. Instance.new("UICorner", RightModuleFrame).CornerRadius = UDim.new(0, 6)
  176.  
  177. local RightTitle = InstanceNew("TextLabel", RightModuleFrame)
  178. RightTitle.Size = UDim2.new(1, 0, 0, 25)
  179. RightTitle.BackgroundTransparency = 1
  180. RightTitle.Text = "WALK FLING"
  181. RightTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
  182. RightTitle.TextSize = 10
  183. RightTitle.Font = Enum.Font.GothamBold
  184.  
  185. local toggleButtonRight = InstanceNew("TextButton", RightModuleFrame)
  186. toggleButtonRight.Size = UDim2.new(0, 180, 0, 28)
  187. toggleButtonRight.Position = UDim2.new(0.5, -90, 0, 38)
  188. toggleButtonRight.Text = "Status: OFF"
  189. toggleButtonRight.TextSize = 11
  190. toggleButtonRight.TextColor3 = Color3.fromRGB(255, 255, 255)
  191. toggleButtonRight.Font = Enum.Font.GothamMedium
  192. toggleButtonRight.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  193. Instance.new("UICorner", toggleButtonRight).CornerRadius = UDim.new(0, 4)
  194.  
  195. local TargetModuleFrame = Instance.new("Frame", scrollFrame)
  196. TargetModuleFrame.Size = UDim2.new(1, -4, 0, 110)
  197. TargetModuleFrame.BackgroundColor3 = Color3.fromRGB(32, 32, 32)
  198. Instance.new("UICorner", TargetModuleFrame).CornerRadius = UDim.new(0, 6)
  199.  
  200. local TargetTitle = InstanceNew("TextLabel", TargetModuleFrame)
  201. TargetTitle.Size = UDim2.new(1, 0, 0, 25)
  202. TargetTitle.BackgroundTransparency = 1
  203. TargetTitle.Text = "LOOP TARGET FLING"
  204. TargetTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
  205. TargetTitle.TextSize = 10
  206. TargetTitle.Font = Enum.Font.GothamBold
  207.  
  208. local targetTextBox = Instance.new("TextBox", TargetModuleFrame)
  209. targetTextBox.Size = UDim2.new(0, 180, 0, 26)
  210. targetTextBox.Position = UDim2.new(0.5, -90, 0, 32)
  211. targetTextBox.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
  212. targetTextBox.Text = ""
  213. targetTextBox.PlaceholderText = "Target Username..."
  214. targetTextBox.TextColor3 = Color3.fromRGB(255, 255, 255)
  215. targetTextBox.PlaceholderColor3 = Color3.fromRGB(100, 100, 100)
  216. targetTextBox.TextSize = 11
  217. targetTextBox.Font = Enum.Font.GothamMedium
  218. targetTextBox.ClearTextOnFocus = false
  219. Instance.new("UICorner", targetTextBox).CornerRadius = UDim.new(0, 4)
  220. local textBoxStroke = Instance.new("UIStroke", targetTextBox)
  221. textBoxStroke.Color = Color3.fromRGB(50, 50, 50)
  222. textBoxStroke.Thickness = 1
  223.  
  224. local toggleButtonLoop = InstanceNew("TextButton", TargetModuleFrame)
  225. toggleButtonLoop.Size = UDim2.new(0, 180, 0, 28)
  226. toggleButtonLoop.Position = UDim2.new(0.5, -90, 0, 68)
  227. toggleButtonLoop.Text = "Loop Target: OFF"
  228. toggleButtonLoop.TextSize = 11
  229. toggleButtonLoop.TextColor3 = Color3.fromRGB(255, 255, 255)
  230. toggleButtonLoop.Font = Enum.Font.GothamMedium
  231. toggleButtonLoop.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  232. Instance.new("UICorner", toggleButtonLoop).CornerRadius = UDim.new(0, 4)
  233.  
  234.  
  235. local searchScroll = Instance.new("ScrollingFrame", screenGui)
  236. searchScroll.Size = UDim2.new(0, 180, 0, 120)
  237. searchScroll.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
  238. searchScroll.BorderSizePixel = 0
  239. searchScroll.Visible = false
  240. searchScroll.ZIndex = 10
  241. searchScroll.ScrollBarThickness = 3
  242. searchScroll.ScrollBarImageColor3 = Color3.fromRGB(80, 80, 80)
  243. searchScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
  244. searchScroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
  245. Instance.new("UICorner", searchScroll).CornerRadius = UDim.new(0, 4)
  246. local searchStroke = Instance.new("UIStroke", searchScroll)
  247. searchStroke.Color = Color3.fromRGB(50, 50, 50)
  248. searchStroke.Thickness = 1
  249.  
  250. local searchLayout = Instance.new("UIListLayout", searchScroll)
  251. searchLayout.SortOrder = Enum.SortOrder.LayoutOrder
  252.  
  253. local function updateSearchPosition()
  254. searchScroll.Position = UDim2.new(0, targetTextBox.AbsolutePosition.X, 0, targetTextBox.AbsolutePosition.Y + targetTextBox.AbsoluteSize.Y + 4)
  255. end
  256.  
  257. targetTextBox:GetPropertyChangedSignal("AbsolutePosition"):Connect(updateSearchPosition)
  258.  
  259. local function updateSearchList()
  260. for _, item in ipairs(searchScroll:GetChildren()) do
  261. if item:IsA("TextButton") then item:Destroy() end
  262. end
  263.  
  264. local text = targetTextBox.Text:lower()
  265. local matches = {}
  266.  
  267. table.insert(matches, "None")
  268.  
  269. for _, p in ipairs(Players:GetPlayers()) do
  270. if p ~= player then
  271. if text == "" or p.Name:lower():find(text) or p.DisplayName:lower():find(text) then
  272. table.insert(matches, p.Name)
  273. end
  274. end
  275. end
  276.  
  277. for i, name in ipairs(matches) do
  278. local btn = Instance.new("TextButton", searchScroll)
  279. btn.Size = UDim2.new(1, 0, 0, 24)
  280. btn.BackgroundTransparency = 1
  281. btn.Text = " " .. name
  282. btn.TextColor3 = name == "None" and Color3.fromRGB(180, 70, 70) or Color3.fromRGB(220, 220, 220)
  283. btn.TextXAlignment = Enum.TextXAlignment.Left
  284. btn.TextSize = 11
  285. btn.Font = Enum.Font.GothamMedium
  286. btn.ZIndex = 11
  287.  
  288. btn.MouseEnter:Connect(function()
  289. btn.BackgroundTransparency = 0.9
  290. btn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  291. end)
  292. btn.MouseLeave:Connect(function()
  293. btn.BackgroundTransparency = 1
  294. end)
  295.  
  296. btn.MouseButton1Click:Connect(function()
  297. if name == "None" then
  298. targetTextBox.Text = ""
  299. if loopTargeting then
  300. loopTargeting = false
  301. toggleButtonLoop.Text = "Loop Target: OFF"
  302. toggleButtonLoop.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  303. end
  304. else
  305. targetTextBox.Text = name
  306. end
  307. searchScroll.Visible = false
  308. end)
  309. end
  310. end
  311.  
  312. targetTextBox.Focused:Connect(function()
  313. updateSearchPosition()
  314. updateSearchList()
  315. searchScroll.Visible = true
  316. end)
  317.  
  318. targetTextBox:GetPropertyChangedSignal("Text"):Connect(function()
  319. if targetTextBox:IsFocused() then
  320. updateSearchList()
  321. end
  322. end)
  323.  
  324. -- TRACKER EN TEMPS RÉEL (REJOINT / QUITTE)
  325. Players.PlayerAdded:Connect(function(newPlayer)
  326. if searchScroll.Visible then
  327. updateSearchList()
  328. end
  329. end)
  330.  
  331. Players.PlayerRemoving:Connect(function(leftPlayer)
  332. -- Si le joueur ciblé quitte le serveur, on nettoie le TextBox et coupe le Fling
  333. if targetTextBox.Text:lower() == leftPlayer.Name:lower() then
  334. targetTextBox.Text = ""
  335. if loopTargeting then
  336. loopTargeting = false
  337. toggleButtonLoop.Text = "Loop Target: OFF"
  338. toggleButtonLoop.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  339. if LOOPPROTECT then LOOPPROTECT:Destroy() LOOPPROTECT = nil end
  340. end
  341. end
  342.  
  343. if searchScroll.Visible then
  344. updateSearchList()
  345. end
  346. end)
  347.  
  348. UserInputService.InputBegan:Connect(function(input, gpe)
  349. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  350. Wait(0.05)
  351. if not targetTextBox:IsFocused() and searchScroll.Visible then
  352. searchScroll.Visible = false
  353. end
  354. end
  355. end)
  356.  
  357. local clickFlingMode = "Instant"
  358.  
  359. MouseButtonFix(toggleButtonInstant, function()
  360. if clickFlingMode == "Instant" then
  361. clickFlingMode = "None"
  362. toggleButtonInstant.Text = "Instant Click Fling: OFF"
  363. toggleButtonInstant.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  364. else
  365. clickFlingMode = "Instant"
  366. toggleButtonInstant.Text = "Instant Click Fling: ON"
  367. toggleButtonInstant.BackgroundColor3 = Color3.fromRGB(220, 40, 40)
  368.  
  369. toggleButtonTween.Text = "Tween Click Fling: OFF"
  370. toggleButtonTween.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  371. end
  372. end)
  373.  
  374. MouseButtonFix(toggleButtonTween, function()
  375. if clickFlingMode == "Tween" then
  376. clickFlingMode = "None"
  377. toggleButtonTween.Text = "Tween Click Fling: OFF"
  378. toggleButtonTween.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  379. else
  380. clickFlingMode = "Tween"
  381. toggleButtonTween.Text = "Tween Click Fling: ON"
  382. toggleButtonTween.BackgroundColor3 = Color3.fromRGB(220, 40, 40)
  383.  
  384. toggleButtonInstant.Text = "Instant Click Fling: OFF"
  385. toggleButtonInstant.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  386. end
  387. end)
  388.  
  389. local function startWalkFlingLoop()
  390. local char = player.Character
  391. local hum = getPlrHum(char)
  392. if hum then
  393. local deathConn
  394. deathConn = hum.Died:Connect(function()
  395. walkflinging = false
  396. toggleButtonRight.Text = "Status: OFF"
  397. toggleButtonRight.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  398. if deathConn then deathConn:Disconnect() end
  399. end)
  400. end
  401.  
  402. task.spawn(function()
  403. local movel = 0.1
  404. while walkflinging do
  405. RunService.Heartbeat:Wait()
  406. local character = player.Character
  407. local root = getRoot(character)
  408.  
  409. if character and character.Parent and root and root.Parent then
  410. local vel = root.Velocity
  411. root.Velocity = vel * 10000 + Vector3.new(0, 10000, 0)
  412.  
  413. RunService.RenderStepped:Wait()
  414. if character and character.Parent and root and root.Parent then
  415. root.Velocity = vel
  416. end
  417.  
  418. RunService.Stepped:Wait()
  419. if character and character.Parent and root and root.Parent then
  420. root.Velocity = vel + Vector3.new(0, movel, 0)
  421. movel = movel * -1
  422. end
  423. else
  424. RunService.Heartbeat:Wait()
  425. end
  426. end
  427. end)
  428. end
  429.  
  430. MouseButtonFix(toggleButtonRight, function()
  431. walkflinging = not walkflinging
  432. if walkflinging then
  433. toggleButtonRight.Text = "Status: ON"
  434. toggleButtonRight.BackgroundColor3 = Color3.fromRGB(220, 40, 40)
  435. startWalkFlingLoop()
  436. else
  437. toggleButtonRight.Text = "Status: OFF"
  438. toggleButtonRight.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  439. end
  440. end)
  441.  
  442. local function startLoopTargetAction()
  443. task.spawn(function()
  444. while loopTargeting do
  445. local targetName = targetTextBox.Text
  446. if targetName == "" then
  447. Wait(0.1)
  448. continue
  449. end
  450.  
  451. local AllBool = false
  452. local GetPlayer = function(Name)
  453. Name = Name:lower()
  454. if Name == "all" or Name == "others" then
  455. AllBool = true
  456. return
  457. elseif Name == "random" then
  458. local GetPlayers = Players:GetPlayers()
  459. if Discover(GetPlayers, player) then table.remove(GetPlayers, Discover(GetPlayers, player)) end
  460. return GetPlayers[math.random(#GetPlayers)]
  461. else
  462. for _, x in next, Players:GetPlayers() do
  463. if x ~= player then
  464. if x.Name:lower():match("^"..Name) then
  465. return x
  466. elseif x.DisplayName:lower():match("^"..Name) then
  467. return x
  468. end
  469. end
  470. end
  471. end
  472. end
  473.  
  474. local FlingDeluxePro = function(TargetPlayer)
  475. if LOOPPROTECT then LOOPPROTECT:Destroy() LOOPPROTECT = nil end
  476. local Character = player.Character
  477. local Humanoid = getPlrHum(Character)
  478. local HRP = Humanoid and Humanoid.RootPart
  479. local camera = workspace.CurrentCamera
  480.  
  481. LOOPPROTECT = InstanceNew("Part")
  482. LOOPPROTECT.Size = Vector3.new(1, 1, 1)
  483. LOOPPROTECT.Transparency = 1
  484. LOOPPROTECT.CanCollide = false
  485. LOOPPROTECT.Anchored = false
  486. LOOPPROTECT.Parent = camera
  487.  
  488. local weld = InstanceNew("WeldConstraint")
  489. weld.Part0 = HRP
  490. weld.Part1 = LOOPPROTECT
  491. weld.Parent = LOOPPROTECT
  492.  
  493. local bodyGyro = InstanceNew("BodyGyro")
  494. bodyGyro.MaxTorque = Vector3.new(400000, 400000, 400000)
  495. bodyGyro.D = 1000
  496. bodyGyro.P = 2000
  497. bodyGyro.Parent = LOOPPROTECT
  498.  
  499. local RootPart = HRP
  500. local TCharacter = TargetPlayer.Character
  501. local THumanoid, TRootPart, THead, Accessory, Handle
  502.  
  503. if not TCharacter then if LOOPPROTECT then LOOPPROTECT:Destroy() LOOPPROTECT = nil end return end
  504. if getPlrHum(TCharacter) then THumanoid = getPlrHum(TCharacter) end
  505. if THumanoid and THumanoid.RootPart then TRootPart = THumanoid.RootPart end
  506. if getHead(TCharacter) then THead = getHead(TCharacter) end
  507. if TCharacter:FindFirstChildOfClass("Accessory") then Accessory = TCharacter:FindFirstChildOfClass("Accessory") end
  508. if Accessory and Accessory:FindFirstChild("Handle") then Handle = Accessory.Handle end
  509.  
  510. if Character and Humanoid and HRP then
  511. if not flingManager.lFlingOldPos or RootPart.Velocity.Magnitude < 50 then
  512. flingManager.lFlingOldPos = RootPart.CFrame
  513. end
  514. if THumanoid and THumanoid.Sit and not AllBool then return end
  515.  
  516. if THead then
  517. workspace.CurrentCamera.CameraSubject = THead
  518. elseif not THead and Handle then
  519. workspace.CurrentCamera.CameraSubject = Handle
  520. elseif THumanoid and TRootPart then
  521. workspace.CurrentCamera.CameraSubject = THumanoid
  522. end
  523.  
  524. if not TCharacter or not TCharacter:FindFirstChildWhichIsA("BasePart") then return end
  525.  
  526. local FPos = function(BasePart, Pos, Ang)
  527. RootPart.CFrame = CFrame.new(BasePart.Position) * Pos * Ang
  528. Character:SetPrimaryPartCFrame(CFrame.new(BasePart.Position) * Pos * Ang)
  529. RootPart.Velocity = Vector3.new(9e7, 9e7 * 10, 9e7)
  530. RootPart.RotVelocity = Vector3.new(9e8, 9e8, 9e8)
  531. end
  532.  
  533. local SFBasePart = function(BasePart)
  534. local TimeToWait = 2
  535. local Time = tick()
  536. local Angle = 0
  537. repeat
  538. if RootPart and THumanoid and TCharacter and TCharacter.Parent then
  539. if BasePart.Velocity.Magnitude < 50 then
  540. Angle = Angle + 100
  541. FPos(BasePart, CFrame.new(0, 1.5, 0) + THumanoid.MoveDirection * BasePart.Velocity.Magnitude / 1.25, CFrame.Angles(math.rad(Angle), 0, 0)) Wait()
  542. FPos(BasePart, CFrame.new(0, -1.5, 0) + THumanoid.MoveDirection * BasePart.Velocity.Magnitude / 1.25, CFrame.Angles(math.rad(Angle), 0, 0)) Wait()
  543. FPos(BasePart, CFrame.new(2.25, 1.5, -2.25) + THumanoid.MoveDirection * BasePart.Velocity.Magnitude / 1.25, CFrame.Angles(math.rad(Angle), 0, 0)) Wait()
  544. FPos(BasePart, CFrame.new(-2.25, -1.5, 2.25) + THumanoid.MoveDirection * BasePart.Velocity.Magnitude / 1.25, CFrame.Angles(math.rad(Angle), 0, 0)) Wait()
  545. FPos(BasePart, CFrame.new(0, 1.5, 0) + THumanoid.MoveDirection, CFrame.Angles(math.rad(Angle), 0, 0)) Wait()
  546. FPos(BasePart, CFrame.new(0, -1.5, 0) + THumanoid.MoveDirection, CFrame.Angles(math.rad(Angle), 0, 0)) Wait()
  547. else
  548. FPos(BasePart, CFrame.new(0, 1.5, THumanoid.WalkSpeed), CFrame.Angles(math.rad(90), 0, 0)) Wait()
  549. FPos(BasePart, CFrame.new(0, -1.5, -THumanoid.WalkSpeed), CFrame.Angles(0, 0, 0)) Wait()
  550. FPos(BasePart, CFrame.new(0, 1.5, THumanoid.WalkSpeed), CFrame.Angles(math.rad(90), 0, 0)) Wait()
  551. FPos(BasePart, CFrame.new(0, 1.5, TRootPart.Velocity.Magnitude / 1.25), CFrame.Angles(math.rad(90), 0, 0)) Wait()
  552. FPos(BasePart, CFrame.new(0, -1.5, -TRootPart.Velocity.Magnitude / 1.25), CFrame.Angles(0, 0, 0)) Wait()
  553. FPos(BasePart, CFrame.new(0, 1.5, TRootPart.Velocity.Magnitude / 1.25), CFrame.Angles(math.rad(90), 0, 0)) Wait()
  554. FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(math.rad(90), 0, 0)) Wait()
  555. FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(0, 0, 0)) Wait()
  556. FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(math.rad(-90), 0, 0)) Wait()
  557. FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(0, 0, 0)) Wait()
  558. end
  559. else
  560. break
  561. end
  562. until not BasePart or not BasePart.Parent or BasePart.Velocity.Magnitude > 500 or BasePart.Parent ~= TargetPlayer.Character or TargetPlayer.Parent ~= Players or TargetPlayer.Character ~= TCharacter or THumanoid.Sit or Humanoid.Health <= 0 or tick() > Time + TimeToWait
  563. if LOOPPROTECT then LOOPPROTECT:Destroy() LOOPPROTECT = nil end
  564. end
  565.  
  566. local OrgDestroyHeight = workspace.FallenPartsDestroyHeight
  567. workspace.FallenPartsDestroyHeight = 0/0
  568.  
  569. local BV = InstanceNew("BodyVelocity")
  570. BV.Parent = RootPart
  571. BV.Velocity = Vector3.new(9e8, 9e8, 9e8)
  572. BV.MaxForce = Vector3.new(1/0, 1/0, 1/0)
  573.  
  574. Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, false)
  575.  
  576. if TRootPart and THead then
  577. if (TRootPart.CFrame.p - THead.CFrame.p).Magnitude > 5 then SFBasePart(THead) else SFBasePart(TRootPart) end
  578. elseif TRootPart and not THead then
  579. SFBasePart(TRootPart)
  580. elseif not TRootPart and THead then
  581. SFBasePart(THead)
  582. elseif not TRootPart and not THead and Accessory and Handle then
  583. SFBasePart(Handle)
  584. end
  585.  
  586. if BV then BV:Destroy() end
  587. Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, true)
  588. workspace.CurrentCamera.CameraSubject = Humanoid
  589.  
  590. repeat
  591. if RootPart and flingManager.lFlingOldPos then
  592. RootPart.CFrame = flingManager.lFlingOldPos * CFrame.new(0, 0.5, 0)
  593. Character:SetPrimaryPartCFrame(flingManager.lFlingOldPos * CFrame.new(0, 0.5, 0))
  594. Humanoid:ChangeState("GettingUp")
  595. for _, x in next, Character:GetChildren() do
  596. if x:IsA("BasePart") then
  597. x.Velocity, x.RotVelocity = Vector3.new(), Vector3.new()
  598. end
  599. end
  600. end
  601. Wait()
  602. until not RootPart or (RootPart.Position - flingManager.lFlingOldPos.p).Magnitude < 25
  603. workspace.FallenPartsDestroyHeight = OrgDestroyHeight
  604. if LOOPPROTECT then LOOPPROTECT:Destroy() LOOPPROTECT = nil end
  605. end
  606. end
  607.  
  608. if AllBool then
  609. for _, x in next, Players:GetPlayers() do
  610. if not loopTargeting then break end
  611. FlingDeluxePro(x)
  612. end
  613. else
  614. local TP = GetPlayer(targetName)
  615. if TP and TP ~= player and TP.UserId ~= 1414978355 then
  616. FlingDeluxePro(TP)
  617. end
  618. end
  619. Wait(0.5)
  620. end
  621. end)
  622. end
  623.  
  624. MouseButtonFix(toggleButtonLoop, function()
  625. loopTargeting = not loopTargeting
  626. if loopTargeting then
  627. toggleButtonLoop.Text = "Loop Target: ON"
  628. toggleButtonLoop.BackgroundColor3 = Color3.fromRGB(220, 40, 40)
  629. startLoopTargetAction()
  630. else
  631. toggleButtonLoop.Text = "Loop Target: OFF"
  632. toggleButtonLoop.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
  633. if LOOPPROTECT then LOOPPROTECT:Destroy() LOOPPROTECT = nil end
  634. end
  635. end)
  636.  
  637.  
  638. local Mouse = player:GetMouse()
  639. local conn = Mouse.Button1Down:Connect(function()
  640. if clickFlingMode == "None" then return end
  641.  
  642. local Target = Mouse.Target
  643. if Target and Target.Parent and Target.Parent:IsA("Model") and Players:GetPlayerFromCharacter(Target.Parent) then
  644. local targetUser = Players:GetPlayerFromCharacter(Target.Parent)
  645. if targetUser == player then return end
  646.  
  647. local PlayerName = targetUser.Name
  648. local AllBool = false
  649.  
  650. local GetPlayer = function(Name)
  651. Name = Lower(Name)
  652. if Name == "all" or Name == "others" then
  653. AllBool = true
  654. return
  655. elseif Name == "random" then
  656. local GetPlayers = Players:GetPlayers()
  657. if Discover(GetPlayers, player) then table.remove(GetPlayers, Discover(GetPlayers, player)) end
  658. return GetPlayers[math.random(#GetPlayers)]
  659. end
  660. for _, x in next, Players:GetPlayers() do
  661. if x ~= player then
  662. if Sub(Lower(x.Name), 1, #Name) == Name or Sub(Lower(x.DisplayName), 1, #Name) == Name then
  663. return x
  664. end
  665. end
  666. end
  667. end
  668.  
  669. local OrgDestroyHeight = workspace.FallenPartsDestroyHeight
  670.  
  671. local Fling_Deluxe = function(TargetPlayer)
  672. local Character = player.Character
  673. local Humanoid = getPlrHum(Character)
  674. local RootPart = Humanoid and Humanoid.RootPart
  675. local TCharacter = TargetPlayer.Character
  676. local THumanoid = getPlrHum(TCharacter)
  677. local TRootPart = THumanoid and THumanoid.RootPart
  678. local THead = getHead(TCharacter)
  679. local Accessory = TCharacter and TCharacter:FindFirstChildOfClass("Accessory")
  680. local Handle = Accessory and Accessory:FindFirstChild("Handle")
  681.  
  682. if Character and Humanoid and RootPart then
  683. if not flingManager.cFlingOldPos or RootPart.Velocity.Magnitude < 50 then
  684. flingManager.cFlingOldPos = RootPart.CFrame
  685. end
  686. if THead then
  687. workspace.CurrentCamera.CameraSubject = THead
  688. elseif Handle then
  689. workspace.CurrentCamera.CameraSubject = Handle
  690. elseif THumanoid and TRootPart then
  691. workspace.CurrentCamera.CameraSubject = THumanoid
  692. end
  693.  
  694. if not TCharacter or not TCharacter:FindFirstChildWhichIsA("BasePart") then return end
  695.  
  696. local function FPos(BasePart, Pos, Ang)
  697. RootPart.CFrame = CFrame.new(BasePart.Position) * Pos * Ang
  698. Character:SetPrimaryPartCFrame(CFrame.new(BasePart.Position) * Pos * Ang)
  699. RootPart.Velocity = Vector3.new(9e7, 9e7 * 10, 9e7)
  700. RootPart.RotVelocity = Vector3.new(9e8, 9e8, 9e8)
  701. end
  702.  
  703. local function SFBasePart(BasePart)
  704. local TimeToWait = 2
  705. local Time = tick()
  706. local Angle = 0
  707. repeat
  708. if RootPart and THumanoid and TCharacter and TCharacter.Parent then
  709. if BasePart.Velocity.Magnitude < 50 then
  710. Angle = Angle + 100
  711. FPos(BasePart, CFrame.new(0, 1.5, 0) + THumanoid.MoveDirection * BasePart.Velocity.Magnitude / 1.25, CFrame.Angles(math.rad(Angle), 0, 0)) Wait()
  712. FPos(BasePart, CFrame.new(0, -1.5, 0) + THumanoid.MoveDirection * BasePart.Velocity.Magnitude / 1.25, CFrame.Angles(math.rad(Angle), 0, 0)) Wait()
  713. FPos(BasePart, CFrame.new(2.25, 1.5, -2.25) + THumanoid.MoveDirection * BasePart.Velocity.Magnitude / 1.25, CFrame.Angles(math.rad(Angle), 0, 0)) Wait()
  714. FPos(BasePart, CFrame.new(-2.25, -1.5, 2.25) + THumanoid.MoveDirection * BasePart.Velocity.Magnitude / 1.25, CFrame.Angles(math.rad(Angle), 0, 0)) Wait()
  715. FPos(BasePart, CFrame.new(0, 1.5, 0) + THumanoid.MoveDirection, CFrame.Angles(math.rad(Angle), 0, 0)) Wait()
  716. FPos(BasePart, CFrame.new(0, -1.5, 0) + THumanoid.MoveDirection, CFrame.Angles(math.rad(Angle), 0, 0)) Wait()
  717. else
  718. FPos(BasePart, CFrame.new(0, 1.5, THumanoid.WalkSpeed), CFrame.Angles(math.rad(90), 0, 0)) Wait()
  719. FPos(BasePart, CFrame.new(0, -1.5, -THumanoid.WalkSpeed), CFrame.Angles(0, 0, 0)) Wait()
  720. FPos(BasePart, CFrame.new(0, 1.5, THumanoid.WalkSpeed), CFrame.Angles(math.rad(90), 0, 0)) Wait()
  721. FPos(BasePart, CFrame.new(0, 1.5, TRootPart.Velocity.Magnitude / 1.25), CFrame.Angles(math.rad(90), 0, 0)) Wait()
  722. FPos(BasePart, CFrame.new(0, -1.5, -TRootPart.Velocity.Magnitude / 1.25), CFrame.Angles(0, 0, 0)) Wait()
  723. FPos(BasePart, CFrame.new(0, 1.5, TRootPart.Velocity.Magnitude / 1.25), CFrame.Angles(math.rad(90), 0, 0)) Wait()
  724. FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(math.rad(90), 0, 0)) Wait()
  725. FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(0, 0, 0)) Wait()
  726. FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(math.rad(-90), 0, 0)) Wait()
  727. FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(0, 0, 0)) Wait()
  728. end
  729. else
  730. break
  731. end
  732. until not BasePart or not BasePart.Parent or BasePart.Velocity.Magnitude > 500 or BasePart.Parent ~= TargetPlayer.Character or TargetPlayer.Parent ~= Players or TargetPlayer.Character ~= TCharacter or THumanoid.Sit or Humanoid.Health <= 0 or tick() > Time + TimeToWait
  733. end
  734.  
  735. local targetPart = TRootPart or THead or Handle
  736. if targetPart then
  737. if clickFlingMode == "Tween" then
  738. local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
  739. local tween = TweenService:Create(RootPart, tweenInfo, {CFrame = targetPart.CFrame * CFrame.new(0, 1.5, 0)})
  740. tween:Play()
  741. tween.Completed:Wait()
  742. end
  743. end
  744.  
  745. workspace.FallenPartsDestroyHeight = 0 / 0
  746.  
  747. local BV = InstanceNew("BodyVelocity")
  748. BV.Parent = RootPart
  749. BV.Velocity = Vector3.new(9e8, 9e8, 9e8)
  750. BV.MaxForce = Vector3.new(1/0, 1/0, 1/0)
  751.  
  752. Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, false)
  753.  
  754. if TRootPart and THead then
  755. if (TRootPart.CFrame.p - THead.CFrame.p).Magnitude > 5 then SFBasePart(THead) else SFBasePart(TRootPart) end
  756. elseif TRootPart and not THead then
  757. SFBasePart(TRootPart)
  758. elseif not TRootPart and THead then
  759. SFBasePart(THead)
  760. elseif not TRootPart and not THead and Accessory and Handle then
  761. SFBasePart(Handle)
  762. end
  763.  
  764. if BV then BV:Destroy() end
  765. Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, true)
  766. workspace.CurrentCamera.CameraSubject = Humanoid
  767.  
  768. repeat
  769. if RootPart and flingManager.cFlingOldPos then
  770. RootPart.CFrame = flingManager.cFlingOldPos * CFrame.new(0, 0.5, 0)
  771. Character:SetPrimaryPartCFrame(flingManager.cFlingOldPos * CFrame.new(0, 0.5, 0))
  772. Humanoid:ChangeState("GettingUp")
  773. for _, x in next, Character:GetChildren() do
  774. if x:IsA("BasePart") then
  775. x.Velocity, x.RotVelocity = Vector3.new(), Vector3.new()
  776. end
  777. end
  778. end
  779. Wait()
  780. until not RootPart or (RootPart.Position - flingManager.cFlingOldPos.p).Magnitude < 25
  781. workspace.FallenPartsDestroyHeight = OrgDestroyHeight
  782. end
  783. end
  784.  
  785. if AllBool then
  786. for _, x in next, Players:GetPlayers() do
  787. Fling_Deluxe(x)
  788. end
  789. else
  790. local TP = GetPlayer(PlayerName)
  791. if TP and TP ~= player and TP.UserId ~= 1414978355 then
  792. Fling_Deluxe(TP)
  793. end
  794. end
  795. end
  796. end)
Add Comment
Please, Sign In to add comment