Run it
Copy the script and paste it into your executor.
CONFIG = {
FLING_DURATION = ,
TOUCH_DISTANCE = ,
TOUCH_COOLDOWN = ,
WIDTH = ,
HEIGHT = ,
BG = .(, , ),
PANEL = .(, , ),
TITLE = .(, , ),
STROKE = .(, , ),
WHITE = .(, , ),
GREY = .(, , ),
DIM = .(, , ),
ACCENT = .(, , ),
}
Players = :()
RunService = :()
TweenService = :()
UserInputService = :()
player = Players.LocalPlayer
camera = .CurrentCamera
isMobile = UserInputService.TouchEnabled UserInputService.KeyboardEnabled
activeFlings = {}
touchFlingEnabled =
touchConnections = {}
magnitudeConns = {}
touchCooldowns = {}
isMinimized =
()
player.Character
()
c = ()
c c:()
()
c = ()
c c:()
(name)
name = name:()
exact, partial = {}, {}
_, plr (Players:())
plr ~= player
n = plr.Name:()
d = plr.DisplayName:()
n == name d == name
.(exact, plr)
n:(name, , ) d:(name, , )
.(partial, plr)
#exact > exact partial
player.PlayerGui:()
player.PlayerGui.NaNFlingGUI:()
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
screenGui.Parent = player.PlayerGui
(r, p)
c = .()
c.CornerRadius = .(, r )
c.Parent = p
c
(col, thick, p)
s = .()
s.Color = col CONFIG.STROKE
s.Thickness = thick
s.Parent = p
s
(c0, c1, rot, p)
g = .()
g.Color = ColorSequence.(c0, c1)
g.Rotation = rot
g.Parent = p
g
warningFrame = .()
warningFrame.Size = .(, , , )
warningFrame.Position = .(, -, , -)
warningFrame.BackgroundColor3 = .(, , )
warningFrame.BorderSizePixel =
warningFrame.ZIndex =
warningFrame.Parent = screenGui
uiCorner = .()
uiCorner.CornerRadius = .(, )
uiCorner.Parent = warningFrame
uiStroke = .()
uiStroke.Color = .(, , )
uiStroke.Thickness =
uiStroke.Parent = warningFrame
warningIcon = .()
warningIcon.Size = .(, , , )
warningIcon.Position = .(, , , )
warningIcon.BackgroundTransparency =
warningIcon.Text =
warningIcon.TextColor3 = .(, , )
warningIcon.Font = .Font.SourceSansBold
warningIcon.TextSize =
warningIcon.ZIndex =
warningIcon.Parent = warningFrame
warningText = .()
warningText.Size = .(, -, , )
warningText.Position = .(, , , )
warningText.BackgroundTransparency =
warningText.Text =
warningText.TextColor3 = .(, , )
warningText.Font = .Font.SourceSansBold
warningText.TextSize =
warningText.TextWrapped =
warningText.ZIndex =
warningText.Parent = warningFrame
closeButton = .()
closeButton.Size = .(, , , )
closeButton.Position = .(, -, , -)
closeButton.BackgroundColor3 = .(, , )
closeButton.Text =
closeButton.TextColor3 = .(, , )
closeButton.Font = .Font.SourceSansBold
closeButton.TextSize =
closeButton.ZIndex =
closeButton.Parent = warningFrame
closeBtnCorner = .()
closeBtnCorner.CornerRadius = .(, )
closeBtnCorner.Parent = closeButton
closeButton.MouseButton1Click:(()
warningFrame:()
)
mainFrame = .()
mainFrame.Name =
mainFrame.Size = .(, CONFIG.WIDTH, , CONFIG.HEIGHT)
mainFrame.Position = .(, -CONFIG.WIDTH/, -, )
mainFrame.BackgroundColor3 = CONFIG.BG
mainFrame.BorderSizePixel =
mainFrame.Active =
mainFrame.Parent = screenGui
(, mainFrame)
(CONFIG.STROKE, , mainFrame)
TweenService:(mainFrame, TweenInfo.(, .EasingStyle.Back, .EasingDirection.Out), {
Position = .(, -CONFIG.WIDTH/, , -CONFIG.HEIGHT/)
}):()
titleBar = .()
titleBar.Size = .(, , , )
titleBar.BackgroundColor3 = CONFIG.TITLE
titleBar.BorderSizePixel =
titleBar.Parent = mainFrame
(, titleBar)
(.(, , ), .(, , ), , titleBar)
titleFix = .()
titleFix.Size = .(, , , )
titleFix.Position = .(, , , )
titleFix.BackgroundColor3 = CONFIG.TITLE
titleFix.BorderSizePixel =
titleFix.Parent = titleBar
titleLabel = .()
titleLabel.Size = .(, -, , )
titleLabel.Position = .(, , , )
titleLabel.BackgroundTransparency =
titleLabel.Text =
titleLabel.TextColor3 = CONFIG.WHITE
titleLabel.TextSize =
titleLabel.Font = .Font.GothamBold
titleLabel.TextXAlignment = .TextXAlignment.Left
titleLabel.Parent = titleBar
.(()
titleLabel titleLabel.Parent
TweenService:(titleLabel, TweenInfo.(, .EasingStyle.Sine, .EasingDirection.InOut), {
TextColor3 = CONFIG.GREY
}):()
.()
TweenService:(titleLabel, TweenInfo.(, .EasingStyle.Sine, .EasingDirection.InOut), {
TextColor3 = CONFIG.WHITE
}):()
.()
)()
closeBtn = .()
closeBtn.Size = .(, , , )
closeBtn.Position = .(, -, , )
closeBtn.BackgroundColor3 = CONFIG.PANEL
closeBtn.Text =
closeBtn.TextColor3 = CONFIG.GREY
closeBtn.TextSize =
closeBtn.Font = .Font.GothamBold
closeBtn.BorderSizePixel =
closeBtn.Parent = titleBar
(, closeBtn)
(CONFIG.STROKE, , closeBtn)
content = .()
content.Size = .(, -, , -)
content.Position = .(, , , )
content.BackgroundTransparency =
content.Parent = mainFrame
inputLabel = .()
inputLabel.Size = .(, , , )
inputLabel.BackgroundTransparency =
inputLabel.Text =
inputLabel.TextColor3 = CONFIG.GREY
inputLabel.TextSize =
inputLabel.Font = .Font.GothamBold
inputLabel.TextXAlignment = .TextXAlignment.Left
inputLabel.Parent = content
playerBox = .()
playerBox.Size = .(, , , )
playerBox.Position = .(, , , )
playerBox.BackgroundColor3 = CONFIG.PANEL
playerBox.BorderSizePixel =
playerBox.PlaceholderText =
playerBox.PlaceholderColor3 = CONFIG.DIM
playerBox.Text =
playerBox.TextColor3 = CONFIG.WHITE
playerBox.TextSize =
playerBox.Font = .Font.Gotham
playerBox.ClearTextOnFocus =
playerBox.Parent = content
(, playerBox)
(CONFIG.STROKE, , playerBox)
playerBox.Focused:(()
TweenService:(playerBox:(), TweenInfo.(), {
Color = CONFIG.ACCENT
}):()
)
playerBox.FocusLost:(()
TweenService:(playerBox:(), TweenInfo.(), {
Color = CONFIG.STROKE
}):()
)
(txt, xScale, xOff, yPos)
btn = .()
btn.Size = .(xScale, -, , )
btn.Position = .(xOff, xOff == , , yPos)
btn.BackgroundColor3 = CONFIG.PANEL
btn.Text = txt
btn.TextColor3 = CONFIG.WHITE
btn.TextSize =
btn.Font = .Font.GothamBold
btn.BorderSizePixel =
btn.Parent = content
(, btn)
(CONFIG.STROKE, , btn)
btn.MouseEnter:(()
TweenService:(btn, TweenInfo.(), {BackgroundColor3 = CONFIG.DIM}):()
)
btn.MouseLeave:(()
TweenService:(btn, TweenInfo.(), {BackgroundColor3 = CONFIG.PANEL}):()
)
btn
viewBtn = (, , , )
flingBtn = (, , , )
(txt, yPos, initOn)
btn = .()
btn.Size = .(, , , )
btn.Position = .(, , , yPos)
btn.BackgroundColor3 = initOn CONFIG.DIM CONFIG.PANEL
btn.Text = txt .. (initOn )
btn.TextColor3 = initOn CONFIG.WHITE CONFIG.GREY
btn.TextSize =
btn.Font = .Font.GothamBold
btn.TextXAlignment = .TextXAlignment.Left
btn.BorderSizePixel =
btn.Parent = content
(, btn)
s = (initOn CONFIG.ACCENT CONFIG.STROKE, , btn)
pad = .()
pad.PaddingLeft = .(, )
pad.Parent = btn
(on)
btn.BackgroundColor3 = on CONFIG.DIM CONFIG.PANEL
btn.TextColor3 = on CONFIG.WHITE CONFIG.GREY
s.Color = on CONFIG.ACCENT CONFIG.STROKE
btn, setState
touchToggle, setTouch = (, , )
statusLabel = .()
statusLabel.Size = .(, , , )
statusLabel.Position = .(, , , )
statusLabel.BackgroundTransparency =
statusLabel.Text =
statusLabel.TextColor3 = CONFIG.DIM
statusLabel.TextSize =
statusLabel.Font = .Font.Gotham
statusLabel.TextXAlignment = .TextXAlignment.Left
statusLabel.Parent = content
(txt)
statusLabel.Text = txt
cooldownBG = .()
cooldownBG.Size = .(, , , )
cooldownBG.Position = .(, , , )
cooldownBG.BackgroundColor3 = CONFIG.PANEL
cooldownBG.BorderSizePixel =
cooldownBG.Parent = content
(, cooldownBG)
cooldownBar = .()
cooldownBar.Size = .(, , , )
cooldownBar.BackgroundColor3 = CONFIG.ACCENT
cooldownBar.BorderSizePixel =
cooldownBar.Parent = cooldownBG
(, cooldownBar)
(duration)
cooldownBar.Size = .(, , , )
TweenService:(cooldownBar, TweenInfo.(duration, .EasingStyle.Linear), {
Size = .(, , , )
}):()
minimizeBtn = .()
minimizeBtn.Size = .(, , , )
minimizeBtn.Position = .(, -, , -)
minimizeBtn.BackgroundColor3 = CONFIG.PANEL
minimizeBtn.Text =
minimizeBtn.TextColor3 = CONFIG.GREY
minimizeBtn.TextSize =
minimizeBtn.Font = .Font.GothamBold
minimizeBtn.BorderSizePixel =
minimizeBtn.Visible =
minimizeBtn.ZIndex =
minimizeBtn.Parent = screenGui
(, minimizeBtn)
(CONFIG.STROKE, , minimizeBtn)
stopViewBtn = .()
stopViewBtn.Size = .(, , , )
stopViewBtn.Position = .(, -, , -)
stopViewBtn.BackgroundColor3 = CONFIG.PANEL
stopViewBtn.Text =
stopViewBtn.TextColor3 = CONFIG.GREY
stopViewBtn.TextSize =
stopViewBtn.Font = .Font.GothamBold
stopViewBtn.BorderSizePixel =
stopViewBtn.Visible =
stopViewBtn.ZIndex =
stopViewBtn.Parent = screenGui
(, stopViewBtn)
(CONFIG.STROKE, , stopViewBtn)
dragging, dragStart, startPos
titleBar.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
input.UserInputType == .UserInputType.Touch
dragging =
dragStart = input.Position
startPos = mainFrame.Position
input.Changed:(()
input.UserInputState == .UserInputState.End
dragging =
)
)
UserInputService.InputChanged:((input)
dragging (input.UserInputType == .UserInputType.MouseMovement
input.UserInputType == .UserInputType.Touch)
d = input.Position - dragStart
mainFrame.Position = .(startPos.X.Scale, startPos.X.Offset + d.X,
startPos.Y.Scale, startPos.Y.Offset + d.Y)
)
notifY = -
(title, msg, duration)
duration = duration
notif = .()
notif.Size = .(, , , )
notif.Position = .(, , , notifY - )
notif.BackgroundColor3 = CONFIG.PANEL
notif.BorderSizePixel =
notif.ZIndex =
notif.Parent = screenGui
(, notif)
(CONFIG.STROKE, , notif)
tl = .()
tl.Size = .(, -, , )
tl.Position = .(, , , )
tl.BackgroundTransparency =
tl.Text = title
tl.TextColor3 = CONFIG.WHITE
tl.TextSize =
tl.Font = .Font.GothamBold
tl.TextXAlignment = .TextXAlignment.Left
tl.ZIndex =
tl.Parent = notif
ml = .()
ml.Size = .(, -, , )
ml.Position = .(, , , )
ml.BackgroundTransparency =
ml.Text = msg
ml.TextColor3 = CONFIG.GREY
ml.TextSize =
ml.Font = .Font.Gotham
ml.TextXAlignment = .TextXAlignment.Left
ml.TextWrapped =
ml.ZIndex =
ml.Parent = notif
TweenService:(notif, TweenInfo.(, .EasingStyle.Back, .EasingDirection.Out), {
Position = .(, -, , notifY - )
}):()
.(duration, ()
TweenService:(notif, TweenInfo.(, .EasingStyle.Back, .EasingDirection.In), {
Position = .(, , , notifY - )
}):()
.()
notif:()
)
(targetPlayer, fromTouch)
targetPlayer targetPlayer == player
activeFlings[targetPlayer]
sethiddenproperty
(, )
fromTouch touchCooldowns[targetPlayer]
() - touchCooldowns[targetPlayer] < CONFIG.TOUCH_COOLDOWN
char = ()
trgtChr = targetPlayer.Character
char trgtChr
hrp = char:()
hum = char:()
trgtHRP = trgtChr:()
hrp hum trgtHRP
activeFlings[targetPlayer] =
fromTouch touchCooldowns[targetPlayer] = ()
savedPos = hrp.CFrame
NaN = /
NaNVec = .(NaN, NaN, NaN)
( .. targetPlayer.Name)
(CONFIG.FLING_DURATION)
(, targetPlayer.Name, )
hum.PlatformStand =
startTime = ()
conn
conn = RunService.Heartbeat:(()
(() - startTime) >= CONFIG.FLING_DURATION char.Parent trgtChr.Parent
conn:()
activeFlings[targetPlayer] =
hum hum.PlatformStand =
.()
hrp hrp.Parent
hrp.AssemblyLinearVelocity = .zero
hrp.AssemblyAngularVelocity = .zero
(() hrp.Velocity = .zero hrp.RotVelocity = .zero )
(() (hrp, , ) )
(() (hum, , .zero) )
.()
hrp hrp.Parent savedPos
hrp.CFrame = savedPos
.()
hrp.AssemblyLinearVelocity = .zero
hrp.AssemblyAngularVelocity = .zero
(, , )
()
hrp.CFrame = trgtHRP.CFrame
hrp.AssemblyLinearVelocity = NaNVec
hrp.AssemblyAngularVelocity = NaNVec
(() hum:(NaNVec) )
(() (hrp, , trgtHRP) )
(() (hum, , NaNVec) )
)
()
_, c (touchConnections) c c:()
_, c (magnitudeConns) c c:()
touchConnections = {}
magnitudeConns = {}
()
()
touchFlingEnabled
char = ()
char
mc = RunService.Heartbeat:(()
touchFlingEnabled
h = ()
h
_, plr (Players:())
plr ~= player
tc = plr.Character
tc
th = tc:()
th (h.Position - th.Position).Magnitude < CONFIG.TOUCH_DISTANCE
(plr, )
)
.(magnitudeConns, mc)
_, part (char:())
part:() part.Name ~=
c = part.Touched:((hit)
touchFlingEnabled
tp = Players:(hit.Parent)
tp tp ~= player (tp, )
)
.(touchConnections, c)
()
(targetPlayer)
targetPlayer targetPlayer == player
(, )
tc = targetPlayer.Character
tc (, )
th = tc:() tc:()
th (, )
camera.CameraSubject = th
stopViewBtn.Visible =
(, .. targetPlayer.Name)
()
h = ()
h
camera.CameraSubject = h
stopViewBtn.Visible =
(, , )
()
name = playerBox.Text:()
name == (, )
results = (name)
#results == (, .. name)
#results > (, #results .. )
results[]
viewBtn.MouseButton1Click:(()
t = ()
t (t)
)
flingBtn.MouseButton1Click:(()
t = ()
t (t, )
)
playerBox.FocusLost:((enter)
enter flingBtn.MouseButton1Click:()
)
stopViewBtn.MouseButton1Click:(stopViewing)
closeBtn.MouseButton1Click:(()
isMinimized =
TweenService:(mainFrame, TweenInfo.(, .EasingStyle.Back, .EasingDirection.In), {
Position = .(, -CONFIG.WIDTH/, -, )
}):()
.()
mainFrame.Visible =
minimizeBtn.Visible =
)
minimizeBtn.MouseButton1Click:(()
isMinimized =
mainFrame.Visible =
mainFrame.Position = .(, -CONFIG.WIDTH/, -, )
TweenService:(mainFrame, TweenInfo.(, .EasingStyle.Back, .EasingDirection.Out), {
Position = .(, -CONFIG.WIDTH/, , -CONFIG.HEIGHT/)
}):()
minimizeBtn.Visible =
)
touchToggle.MouseButton1Click:(()
touchFlingEnabled = touchFlingEnabled
(touchFlingEnabled)
touchToggle.Text = .. (touchFlingEnabled )
touchFlingEnabled
()
(, )
()
()
(, , )
)
isMobile
UserInputService.InputBegan:((input, gp)
gp
input.KeyCode == .KeyCode.R ()
input.KeyCode == .KeyCode.X
isMinimized = isMinimized
mainFrame.Visible = isMinimized
minimizeBtn.Visible = isMinimized
)
player.CharacterAdded:(()
.()
touchFlingEnabled ()
)
.()
(, .. (isMobile ), )
()
()The STRONGEST Fling script you'll ever see in this site :D (it can permakill people on slap battles lololol, Update: nvm u cant do that anymore i guess 😭) update 28/05: shii it got patched, im leaking the src code now cus yes