Run it
Copy the script and paste it into your executor.
gamePlayers = :()
RunService = :()
UserInputService = :()
TweenService = :()
Workspace = :()
player = gamePlayers.LocalPlayer
playerGui = player:()
camera = Workspace.CurrentCamera
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.Parent = playerGui
button = .()
button.Size = .(, , , )
button.Position = .(, -, , )
button.BackgroundColor3 = .(, , )
button.TextColor3 = .(, , )
button.Font = .Font.GothamBold
button.TextScaled =
button.Text =
button.Active =
button.AutoButtonColor =
button.ClipsDescendants =
button.Parent = screenGui
padding = .()
padding.PaddingTop = .(, )
padding.PaddingBottom = .(, )
padding.PaddingLeft = .(, )
padding.PaddingRight = .(, )
padding.Parent = button
buttonCorner = .()
buttonCorner.CornerRadius = .(, )
buttonCorner.Parent = button
stroke = .()
stroke.Color = .(, , )
stroke.Thickness =
stroke.ApplyStrokeMode = .ApplyStrokeMode.Border
stroke.Parent = button
resizer = .()
resizer.Size = .(, , , )
resizer.Position = .(, , , )
resizer.AnchorPoint = .(, )
resizer.BackgroundTransparency =
resizer.Text =
resizer.TextColor3 = .(, , )
resizer.TextSize =
resizer.Font = .Font.Gotham
resizer.Active =
resizer.Parent = button
enabled =
onCooldown =
tweenStyle = TweenInfo.(, .EasingStyle.Quint, .EasingDirection.Out)
colors = {
offBg = .(, , ),
offStroke = .(, , ),
onBg = .(, , ),
onStroke = .(, , ),
hoverStroke = .(, , )
}
button.MouseEnter:(()
enabled TweenService:(stroke, tweenStyle, {Color = colors.hoverStroke}):()
)
button.MouseLeave:(()
enabled TweenService:(stroke, tweenStyle, {Color = colors.offStroke}):()
)
resizer.MouseEnter:(()
TweenService:(resizer, tweenStyle, {TextColor3 = .(, , )}):()
)
resizer.MouseLeave:(()
TweenService:(resizer, tweenStyle, {TextColor3 = .(, , )}):()
)
dragging, resizing = ,
dragStart, startPos, startSize
resizer.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
resizing =
dragStart = input.Position
startSize = button.Size
input.Changed:(() input.UserInputState == .UserInputState.End resizing = )
)
button.InputBegan:((input)
(input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch) resizing
dragging =
dragStart = input.Position
startPos = button.Position
input.Changed:(() input.UserInputState == .UserInputState.End dragging = )
)
UserInputService.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch
resizing
delta = input.Position - dragStart
button.Size = .(, .(, startSize.X.Offset + delta.X), , .(, startSize.Y.Offset + delta.Y))
dragging
delta = input.Position - dragStart
button.Position = .(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
)
button.MouseButton1Click:(()
resizing
enabled = enabled
enabled
button.Text =
TweenService:(button, tweenStyle, {BackgroundColor3 = colors.onBg}):()
TweenService:(stroke, tweenStyle, {Color = colors.onStroke}):()
button.Text =
TweenService:(button, tweenStyle, {BackgroundColor3 = colors.offBg}):()
TweenService:(stroke, tweenStyle, {Color = colors.offStroke}):()
)
RunService.RenderStepped:(()
enabled onCooldown
char = player.Character
char
hrp = char:()
humanoid = char:()
hrp humanoid humanoid.Health <=
zoomDistance = (camera.CFrame.Position - camera.Focus.Position).Magnitude
inFirstPerson = zoomDistance <
inShiftLock = UserInputService.MouseBehavior == .MouseBehavior.LockCenter
inFirstPerson inShiftLock
backDirection = -hrp.CFrame.LookVector
rayOrigin = hrp.Position
rayDirection = backDirection *
raycastParams = RaycastParams.()
raycastParams.FilterDescendantsInstances = {char}
raycastParams.FilterType = .RaycastFilterType.Exclude
hitWall = Workspace:(rayOrigin, rayDirection, raycastParams)
hitWall
onCooldown =
overlapParams = OverlapParams.()
overlapParams.FilterDescendantsInstances = {char}
overlapParams.FilterType = .RaycastFilterType.Exclude
foundSafeSpot =
safePosition = hrp.Position
i = ,
checkPos = hrp.Position + (backDirection * i)
partsInSpace = Workspace:(checkPos, , overlapParams)
#partsInSpace ==
foundSafeSpot =
safePosition = checkPos
foundSafeSpot
hrp.CFrame = .(safePosition) * hrp.CFrame.Rotation
.()
onCooldown =
)Lets you go through ANY wall not just corners

Universal