Pih · RobloxExploits.lolPih
Astell 1 year ago 441 viewsRun it
Copy the script and paste it into your executor.
Pih.lua · 184 lines
G2L = {};
G2L[] = .(, :().LocalPlayer:());
G2L[][] = ;
G2L[][] = .ZIndexBehavior.Sibling;
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = .(, , , );
G2L[][] = .(, , );
G2L[][] = ;
G2L[][] = ;
G2L[][] = .(, , , );
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = ;
G2L[] = .(, G2L[]);
G2L[][] = .(, );
()
= G2L[];
UserInputService = :()
RunService = :()
Players = :()
player = Players.LocalPlayer
playerGui = player:()
screenGui = playerGui:()
frame = screenGui:()
imageLabel = frame:()
sound = imageLabel:() .(, imageLabel)
sound.Name =
sound.SoundId =
sound.Volume =
sound.PlayOnRemove =
dragging =
dragStart = .(, )
startPos = .(, )
lastPos = .(, )
velocity = .(, )
isSliding =
friction =
velocityThreshold =
bounceFactor =
(pos, applyBounce)
frameSize = frame.AbsoluteSize
framePos = frame.AbsolutePosition
imageSize = imageLabel.AbsoluteSize
minX = framePos.X
maxX = framePos.X + frameSize.X - imageSize.X
minY = framePos.Y
maxY = framePos.Y + frameSize.Y - imageSize.Y
clampedX = .(pos.X, minX, maxX)
clampedY = .(pos.Y, minY, maxY)
applyBounce
pos.X <= minX pos.X >= maxX
velocity = .(-velocity.X * bounceFactor, velocity.Y)
(, velocity)
pos.Y <= minY pos.Y >= maxY
velocity = .(velocity.X, -velocity.Y * bounceFactor)
(, velocity)
.(clampedX, clampedY)
imageLabel.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
isSliding =
dragStart = input.Position
startPos = imageLabel.AbsolutePosition
lastPos = input.Position
velocity = .(, )
sound:()
(, input.Position, )
)
imageLabel.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
isSliding =
(, velocity)
)
UserInputService.InputChanged:((input)
dragging (input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch)
currentPos = input.Position
delta = input.Position - dragStart
newPos = .(startPos.X + delta.X, startPos.Y + delta.Y)
clampedPos = (newPos, )
imageLabel.Position = .(, clampedPos.X - frame.AbsolutePosition.X, , clampedPos.Y - frame.AbsolutePosition.Y)
velocity = (currentPos - lastPos) /
lastPos = currentPos
(, velocity)
)
RunService.Heartbeat:((deltaTime)
isSliding
scaledVelocity = velocity * deltaTime
currentPos = imageLabel.AbsolutePosition
newPos = currentPos + scaledVelocity
clampedPos = (newPos, )
imageLabel.Position = .(, clampedPos.X - frame.AbsolutePosition.X, , clampedPos.Y - frame.AbsolutePosition.Y)
velocity = velocity * friction
(, clampedPos, , velocity)
velocity.Magnitude < velocityThreshold
isSliding =
velocity = .(, )
()
)
;
.(C_5);
G2L[], ;
About this script
This script is a paradoxical enigma that shall never be truly deciphered...
--[=[
d888b db db d888888b .d888b. db db db .d8b.
88' Y8b 88 88 `88' VP `8D 88 88 88 d8' `8b
88 88 88 88 odD' 88 88 88 88ooo88
88 ooo 88 88 88 .88' 88 88 88 88~~~88
88. ~8~ 88b d88 .88. j88. 88booo. 88b d88 88 88 @uniquadev
Y888P ~Y8888P' Y888888P 888888D Y88888P ~Y8888P' YP YP CONVERTER
]=]
-- Instances: 6 | Scripts: 1 | Modules: 0 | Tags: 0
local
-- StarterGui.Pih
"1"
Instance
new
"ScreenGui"
game
GetService
"Players"
WaitForChild
"PlayerGui"
"1"
"Name"
[[Pih]]
"1"
"ZIndexBehavior"
Enum
-- StarterGui.Pih.boundary
"2"
Instance
new
"Frame"
"1"
"2"
"BorderSizePixel"
0
"2"
"BackgroundColor3"
Color3
fromRGB
42
37
59
"2"
"ClipsDescendants"
true
"2"
"Size"
UDim2
new
0
2560
0
1152
"2"
"BorderColor3"
Color3
fromRGB
0
0
0
"2"
"Name"
[[boundary]]
"2"
"BackgroundTransparency"
1
-- StarterGui.Pih.boundary.pih
"3"
Instance
new
"ImageLabel"
"2"
"3"
"BorderSizePixel"
0
"3"
"BackgroundColor3"
Color3
fromRGB
255
255
255
-- [ERROR] cannot convert ImageContent, please report to "https://github.com/uniquadev/GuiToLuaConverter/issues"
"3"
"Image"
[[rbxassetid://108917931816235]]
"3"
"Size"
UDim2
new
0
129
0
100
"3"
"BorderColor3"
Color3
fromRGB
0
0
0
"3"
"BackgroundTransparency"
1
"3"
"Name"
[[pih]]
"3"
"Position"
UDim2
new
0.47461
0
0.46181
0
-- StarterGui.Pih.boundary.pih.ClickSound
"4"
Instance
new
"Sound"
"3"
"4"
"Name"
[[ClickSound]]
"4"
"SoundId"
[[rbxassetid://8592530104]]
-- StarterGui.Pih.boundary.pih.Smooth GUI Dragging
"5"
Instance
new
"LocalScript"
"3"
"5"
"Name"
[[Smooth GUI Dragging]]
-- StarterGui.Pih.boundary.UICorner
"6"
Instance
new
"UICorner"
"2"
"6"
"CornerRadius"
UDim
new
0
15
-- StarterGui.Pih.boundary.pih.Smooth GUI Dragging
local
function
C_5
local
script
"5"
local
game
GetService
"UserInputService"
local
game
GetService
"RunService"
local
game
GetService
"Players"
local
local
WaitForChild
"PlayerGui"
local
WaitForChild
"Pih"
-- Ensure ScreenGui exists in PlayerGui
local
WaitForChild
"boundary"
-- Frame to constrain the image
local
WaitForChild
"pih"
-- Draggable ImageLabel
-- Create or get the sound object
local
FindFirstChild
"ClickSound"
or
Instance
new
"Sound"
"ClickSound"
"rbxassetid://8592530104"
-- Default Roblox button press sound
0.5
false
local
false
local
Vector2
new
0
0
local
Vector2
new
0
0
local
Vector2
new
0
0
local
Vector2
new
0
0
local
false
local
0.98
-- Friction for longer slide
local
2
-- Threshold for slide duration
local
0.7
-- Bounce effect (0 to 1, lower means less bounce energy)
-- Function to clamp the image position within the frame and handle bounce
local
function
clampPosition
local
local
local
-- Calculate boundaries
local
local
local
local
-- Clamp the position
local
math
clamp
local
math
clamp
-- Handle bounce if sliding and hitting a boundary
if
then
if
or
then
Vector2
new
print
"Bounce X: New velocity ="
end
if
or
then
Vector2
new
print
"Bounce Y: New velocity ="
end
end
return
Vector2
new
end
-- Handle dragging start and play sound
Connect
function
if
Enum
or
Enum
then
true
false
Vector2
new
0
0
Play
-- Play sound on click
print
"Drag started at"
"Sound played"
end
end
-- Handle dragging end
Connect
function
if
Enum
or
Enum
then
false
true
print
"Drag ended, sliding started with velocity ="
end
end
-- Update velocity during dragging
Connect
function
if
and
Enum
or
Enum
then
local
local
local
Vector2
new
local
clampPosition
false
-- No bounce during dragging
UDim2
new
0
0
-- Calculate velocity (pixels per second)
0.016
-- Assume ~60 FPS
print
"Dragging: Velocity ="
end
end
-- Handle sliding and bouncing
Connect
function
if
then
-- Apply velocity and friction
local
-- Scale velocity for frame rate
local
local
local
clampPosition
true
-- Apply bounce during sliding
UDim2
new
0
0
-- Apply friction to slow down
print
"Sliding: Position ="
"Velocity ="
-- Stop sliding if velocity is too low
if
then
false
Vector2
new
0
0
print
"Sliding stopped"
end
end
end
end
task
spawn
return
"1"
require
Soggyware 60 PLUS Games
Universal