Run it
Copy the script and paste it into your executor.
Players = :()
ReplicatedStorage = :()
UserInputService = :()
RunService = :()
TweenService = :()
SoundService = :()
Debris = :()
Player = Players.LocalPlayer
PlayerGui = Player:()
Event = ReplicatedStorage:():()
Gui = .()
Gui.Name =
Gui.ResetOnSpawn =
Gui.IgnoreGuiInset =
Gui.ZIndexBehavior = .ZIndexBehavior.Global
Gui.DisplayOrder =
Gui.Parent = PlayerGui
Image = .()
Image.Name =
Image.Size = .(, )
Image.AnchorPoint = .(, )
Image.Position = .(, )
Image.BackgroundTransparency =
Image.BorderSizePixel =
Image.Image =
Image.ImageTransparency =
Image.ScaleType = .ScaleType.Fit
Image.AutoButtonColor =
Image.Active =
Image.Selectable =
Image.Visible =
Image.ZIndex =
Image.Parent = Gui
UIScale = .()
UIScale.Scale =
UIScale.Parent = Image
IntroSound = .()
IntroSound.Name =
IntroSound.SoundId =
IntroSound.PlaybackSpeed =
IntroSound.Volume =
IntroSound.Parent = SoundService
ready =
activeInput =
dragStart =
startPosition =
targetPosition = Image.Position
dragging =
moved =
smoothness =
dragThreshold =
screenPadding =
pressScaleTween
releaseScaleTween
()
Gui.Parent ~= PlayerGui
Gui.Parent = PlayerGui
Gui.DisplayOrder =
Gui.ZIndexBehavior = .ZIndexBehavior.Global
Image.ZIndex =
PlayerGui.ChildAdded:((child)
child:() child ~= Gui
.(KeepGuiOnTop)
)
()
sound = .()
sound.SoundId =
sound.Volume =
sound.Parent = SoundService
sound:()
Debris:(sound, )
(position)
camera = .CurrentCamera
camera
position
viewport = camera.ViewportSize
halfWidth = Image.AbsoluteSize.X *
halfHeight = Image.AbsoluteSize.Y *
minX = halfWidth + screenPadding
maxX = .(minX, viewport.X - halfWidth - screenPadding)
minY = halfHeight + screenPadding
maxY = .(minY, viewport.Y - halfHeight - screenPadding)
x = .(
viewport.X * position.X.Scale + position.X.Offset,
minX,
maxX
)
y = .(
viewport.Y * position.Y.Scale + position.Y.Offset,
minY,
maxY
)
.(x, y)
()
pressScaleTween
pressScaleTween:()
releaseScaleTween
releaseScaleTween:()
UIScale.Scale =
pressScaleTween = TweenService:(
UIScale,
TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out),
{Scale = }
)
releaseScaleTween = TweenService:(
UIScale,
TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out),
{Scale = }
)
pressScaleTween:()
pressScaleTween.Completed:((state)
state == .PlaybackState.Completed
releaseScaleTween:()
)
()
camera = .CurrentCamera
camera
lookVector = camera.CFrame.LookVector
spawnPosition = camera.CFrame.Position + lookVector *
spawnCFrame = .(
spawnPosition,
spawnPosition + lookVector
)
.(()
(()
Event:(
,
spawnCFrame,
.zero
)
)
)
(position)
imagePosition = Image.AbsolutePosition
imageSize = Image.AbsoluteSize
position.X >= imagePosition.X
position.X <= imagePosition.X + imageSize.X
position.Y >= imagePosition.Y
position.Y <= imagePosition.Y + imageSize.Y
Image.InputBegan:((input)
ready activeInput
inputType = input.UserInputType
inputType ~= .UserInputType.Touch
inputType ~= .UserInputType.MouseButton1
activeInput = input
dragStart = input.Position
startPosition = Image.Position
targetPosition = Image.Position
dragging =
moved =
)
(position, isTouch)
ready activeInput
isTouch
activeInput.UserInputType ~= .UserInputType.Touch
activeInput.UserInputType ~= .UserInputType.MouseButton1
delta = position - dragStart
delta.Magnitude >= dragThreshold
moved =
dragging =
dragging
proposed = .(
startPosition.X.Scale,
startPosition.X.Offset + delta.X,
startPosition.Y.Scale,
startPosition.Y.Offset + delta.Y
)
targetPosition = (proposed)
UserInputService.TouchMoved:((input)
activeInput == input
(input.Position, )
)
UserInputService.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement
(input.Position, )
)
UserInputService.InputEnded:((input)
activeInput input ~= activeInput
activeInput
activeInput.UserInputType ~= .UserInputType.MouseButton1
input.UserInputType ~= .UserInputType.MouseButton1
inputType = activeInput.UserInputType
inputType == .UserInputType.Touch input ~= activeInput
inputType == .UserInputType.MouseButton1
input.UserInputType ~= .UserInputType.MouseButton1
wasDragging = dragging
wasMoved = moved
releasePosition = input.Position
activeInput =
dragging =
moved =
wasDragging wasMoved
targetPosition = (targetPosition)
(releasePosition)
()
()
()
)
IntroSound:()
IntroSound.Ended:()
Gui.Parent
Image.Visible =
fadeTween = TweenService:(
Image,
TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out),
{ImageTransparency = }
)
fadeTween:()
fadeTween.Completed:()
Gui.Parent
Image.Active =
ready =
RunService.RenderStepped:((dt)
()
ready
activeInput
targetPosition = (targetPosition)
alpha = - .(-smoothness * dt)
Image.Position = .(
Image.Position.X.Scale
+ (targetPosition.X.Scale - Image.Position.X.Scale) * alpha,
Image.Position.X.Offset
+ (targetPosition.X.Offset - Image.Position.X.Offset) * alpha,
Image.Position.Y.Scale
+ (targetPosition.Y.Scale - Image.Position.Y.Scale) * alpha,
Image.Position.Y.Offset
+ (targetPosition.Y.Offset - Image.Position.Y.Offset) * alpha
)
)🩵💙Samurai is a script that helps players "fling objects and people" create a stage without opening the object interface. No key required! Open source script🩵💙

Universal