Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- fling player gui
- local Players = game:GetService("Players")
- local Player = Players.LocalPlayer
- local ScreenGui = Instance.new("ScreenGui")
- local Frame = Instance.new("Frame")
- local TextBox = Instance.new("TextBox")
- local TextButton = Instance.new("TextButton")
- ScreenGui.Parent = Player:WaitForChild("PlayerGui")
- ScreenGui.ResetOnSpawn = false
- Frame.Parent = ScreenGui
- Frame.BackgroundColor3 = Color3.fromRGB(33, 33, 33)
- Frame.Position = UDim2.new(0.5, -100, 0.5, -50)
- Frame.Size = UDim2.new(0, 200, 0, 100)
- Frame.Active = true
- Frame.Draggable = true
- TextBox.Parent = Frame
- TextBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
- TextBox.Position = UDim2.new(0.1, 0, 0.2, 0)
- TextBox.Size = UDim2.new(0.8, 0, 0.2, 0)
- TextBox.Font = Enum.Font.SourceSans
- TextBox.PlaceholderText = "Enter username"
- TextBox.Text = ""
- TextBox.TextColor3 = Color3.fromRGB(0, 0, 0)
- TextBox.TextSize = 14
- TextButton.Parent = Frame
- TextButton.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
- TextButton.Position = UDim2.new(0.1, 0, 0.5, 0)
- TextButton.Size = UDim2.new(0.8, 0, 0.4, 0)
- TextButton.Font = Enum.Font.SourceSans
- TextButton.Text = "FLING!"
- TextButton.TextColor3 = Color3.fromRGB(255, 255, 255)
- TextButton.TextSize = 20
- local function GetPlayer(Name)
- Name = Name:lower()
- for _, x in next, Players:GetPlayers() do
- if x ~= Player then
- if x.Name:lower():match("^" .. Name) or x.DisplayName:lower():match("^" .. Name) then
- return x
- end
- end
- end
- return nil
- end
- local function Message(_Title, _Text, Time)
- game:GetService("StarterGui"):SetCore("SendNotification", {Title = _Title, Text = _Text, Duration = Time})
- end
- local function SkidFling(TargetPlayer)
- local Character = Player.Character
- local Humanoid = Character and Character:FindFirstChildOfClass("Humanoid")
- local RootPart = Humanoid and Humanoid.RootPart
- local TCharacter = TargetPlayer.Character
- local THumanoid = TCharacter and TCharacter:FindFirstChildOfClass("Humanoid")
- local TRootPart = THumanoid and THumanoid.RootPart
- local THead = TCharacter and TCharacter:FindFirstChild("Head")
- local Accessory = TCharacter and TCharacter:FindFirstChildOfClass("Accessory")
- local Handle = Accessory and Accessory:FindFirstChild("Handle")
- if Character and Humanoid and RootPart then
- if RootPart.Velocity.Magnitude < 50 then
- getgenv().OldPos = RootPart.CFrame
- end
- if THumanoid and THumanoid.Sit then
- return Message("Error Occurred", "Target is sitting", 5)
- end
- if THead then
- workspace.CurrentCamera.CameraSubject = THead
- elseif Handle then
- workspace.CurrentCamera.CameraSubject = Handle
- else
- workspace.CurrentCamera.CameraSubject = THumanoid
- end
- if not TCharacter:FindFirstChildWhichIsA("BasePart") then
- return
- end
- local function FPos(BasePart, Pos, Ang)
- RootPart.CFrame = CFrame.new(BasePart.Position) * Pos * Ang
- Character:SetPrimaryPartCFrame(CFrame.new(BasePart.Position) * Pos * Ang)
- RootPart.Velocity = Vector3.new(9e7, 9e7 * 10, 9e7)
- RootPart.RotVelocity = Vector3.new(9e8, 9e8, 9e8)
- end
- local function SFBasePart(BasePart)
- local TimeToWait = 2
- local Time = tick()
- local Angle = 0
- repeat
- if RootPart and THumanoid then
- if BasePart.Velocity.Magnitude < 50 then
- Angle = Angle + 100
- FPos(BasePart, CFrame.new(0, 1.5, 0) + THumanoid.MoveDirection * BasePart.Velocity.Magnitude / 1.25, CFrame.Angles(math.rad(Angle),0 ,0))
- task.wait()
- FPos(BasePart, CFrame.new(0, -1.5, 0) + THumanoid.MoveDirection * BasePart.Velocity.Magnitude / 1.25, CFrame.Angles(math.rad(Angle), 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(2.25, 1.5, -2.25) + THumanoid.MoveDirection * BasePart.Velocity.Magnitude / 1.25, CFrame.Angles(math.rad(Angle), 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(-2.25, -1.5, 2.25) + THumanoid.MoveDirection * BasePart.Velocity.Magnitude / 1.25, CFrame.Angles(math.rad(Angle), 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(0, 1.5, 0) + THumanoid.MoveDirection,CFrame.Angles(math.rad(Angle), 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(0, -1.5, 0) + THumanoid.MoveDirection,CFrame.Angles(math.rad(Angle), 0, 0))
- task.wait()
- else
- FPos(BasePart, CFrame.new(0, 1.5, THumanoid.WalkSpeed), CFrame.Angles(math.rad(90), 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(0, -1.5, -THumanoid.WalkSpeed), CFrame.Angles(0, 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(0, 1.5, THumanoid.WalkSpeed), CFrame.Angles(math.rad(90), 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(0, 1.5, TRootPart.Velocity.Magnitude / 1.25), CFrame.Angles(math.rad(90), 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(0, -1.5, -TRootPart.Velocity.Magnitude / 1.25), CFrame.Angles(0, 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(0, 1.5, TRootPart.Velocity.Magnitude / 1.25), CFrame.Angles(math.rad(90), 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(math.rad(90), 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(0, 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(0, -1.5 ,0), CFrame.Angles(math.rad(-90), 0, 0))
- task.wait()
- FPos(BasePart, CFrame.new(0, -1.5, 0), CFrame.Angles(0, 0, 0))
- task.wait()
- end
- else
- break
- end
- until BasePart.Velocity.Magnitude > 500 or BasePart.Parent ~= TargetPlayer.Character or TargetPlayer.Parent ~= Players or not TargetPlayer.Character == TCharacter or THumanoid.Sit or Humanoid.Health <= 0 or tick() > Time + TimeToWait
- end
- workspace.FallenPartsDestroyHeight = 0/0
- local BV = Instance.new("BodyVelocity")
- BV.Name = "EpixVel"
- BV.Parent = RootPart
- BV.Velocity = Vector3.new(9e8, 9e8, 9e8)
- BV.MaxForce = Vector3.new(1/0, 1/0, 1/0)
- Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, false)
- if TRootPart and THead then
- if (TRootPart.CFrame.p - THead.CFrame.p).Magnitude > 5 then
- SFBasePart(THead)
- else
- SFBasePart(TRootPart)
- end
- elseif TRootPart and not THead then
- SFBasePart(TRootPart)
- elseif not TRootPart and THead then
- SFBasePart(THead)
- elseif not TRootPart and not THead and Accessory and Handle then
- SFBasePart(Handle)
- else
- return Message("Error Occurred", "Target is missing everything", 5)
- end
- BV:Destroy()
- Humanoid:SetStateEnabled(Enum.HumanoidStateType.Seated, true)
- workspace.CurrentCamera.CameraSubject = Humanoid
- repeat
- RootPart.CFrame = getgenv().OldPos * CFrame.new(0, .5, 0)
- Character:SetPrimaryPartCFrame(getgenv().OldPos * CFrame.new(0, .5, 0))
- Humanoid:ChangeState("GettingUp")
- table.foreach(Character:GetChildren(), function(_, x)
- if x:IsA("BasePart") then
- x.Velocity, x.RotVelocity = Vector3.new(), Vector3.new()
- end
- end)
- task.wait()
- until (RootPart.Position - getgenv().OldPos.p).Magnitude < 25
- workspace.FallenPartsDestroyHeight = getgenv().FPDH
- else
- return Message("Error Occurred", "Random error", 5)
- end
- end
- TextButton.MouseButton1Click:Connect(function()
- local targetName = TextBox.Text
- local targetPlayer = GetPlayer(targetName)
- if targetPlayer then
- SkidFling(targetPlayer)
- else
- Message("Error Occurred", "Invalid username", 5)
- end
- end)
Add Comment
Please, Sign In to add comment