loadstring(game:HttpGet("https://pasteblox.com/raw/uqaha3k67v"))()pbx pull uqaha3k67vraw link never changes · v1 live
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players['LocalPlayer']
local session = {
uiName = "WaypointSetter",
unloaded = false,
connections = {},
tweens = {},
markers = {},
cleanups = {},
minimize = nil :: (() -> ())?,
minimizedMenuGui = nil :: Instance?,
}
function session:track(connection)
self.connections[connection] = true
return connection
end
function session:release(connection)
if not connection then return end
self.connections[connection] = nil
connection:Disconnect()
end
function session:onUnload(cleanup)
table['insert'](self.cleanups, cleanup)
end
function session:unload()
if self.unloaded then return end
self.unloaded = true
for _, cleanup in ipairs(self.cleanups) do
local ok, err = pcall(cleanup)
if not ok then
warn(self.uiName .. " unload: " .. tostring(err))
end
end
table['clear'](self.cleanups)
for connection in pairs(self.connections) do
connection:Disconnect()
self.connections[connection] = nil
end
for activeTween in pairs(self.tweens) do
activeTween:Cancel()
self.tweens[activeTween] = nil
end
for marker in pairs(self.markers) do
if marker['Parent'] then marker:Destroy() end
self.markers[marker] = nil
end
if self.gui then
self.gui:Destroy()
self.gui = nil
end
end
local GLASS_TINT = Color3['fromRGB'](18, 22, 30)
local GLASS_TRANSPARENCY = 0
local COLOR_GLASS = Color3['fromRGB'](255, 255, 255)
local COLOR_RED = Color3['fromRGB'](255, 105, 97)
local COLOR_DESTRUCTIVE = Color3['fromRGB'](255, 59, 48)
local COLOR_DESTRUCTIVE_HOVER = Color3['fromRGB'](255, 80, 70)
local COLOR_TEXT = Color3['fromRGB'](255, 255, 255)
local COLOR_TEXT_SOFT = Color3['fromRGB'](240, 244, 250)
local COLOR_SECONDARY = Color3['fromRGB'](222, 228, 238)
local COLOR_TERTIARY = Color3['fromRGB'](200, 208, 220)
local COLOR_STROKE = Color3['fromRGB'](255, 255, 255)
local TL_RED = Color3['fromRGB'](255, 95, 87)
local TL_YELLOW = Color3['fromRGB'](254, 188, 46)
local TL_GREEN = Color3['fromRGB'](40, 200, 64)
local T_PANEL = 0.94
local T_PANEL_HOVER = 0.9
local T_BUTTON = 0.91
local T_BUTTON_HOVER = 0.84
local T_PRIMARY = 0.82
local T_PRIMARY_HOVER = 0.72
local T_RIM = 0.4
local WINDOW_RADIUS = 26
local CARD_RADIUS = 20
local SIDEBAR_WIDTH = 170
local TITLEBAR_HEIGHT = 44
local FONT_REGULAR = Enum['Font'].BuilderSans
local FONT_MEDIUM = Enum['Font'].BuilderSansMedium
local FONT_BOLD = Enum['Font'].BuilderSansBold
local FONT_MONO = Enum['Font'].RobotoMono
local QUINT = Enum['EasingStyle'].Quint
local QUAD = Enum['EasingStyle'].Quad
local BACK = Enum['EasingStyle'].Back
local OUT = Enum['EasingDirection'].Out
local IN = Enum['EasingDirection'].In
local INOUT = Enum['EasingDirection'].InOut
local function create(className, props)
local obj = Instance['new'](className)
for key, value in pairs(props) do
if key ~= "Parent" then
obj[key] = value
end
end
obj['Parent'] = props['Parent']
return obj
end
local function isPress(input)
return input['UserInputType'] == Enum['UserInputType'].MouseButton1 or input['UserInputType'] == Enum['UserInputType'].Touch
end
local function trackDrag(startInput, onMove, onEnd)
local isTouch = startInput['UserInputType'] == Enum['UserInputType'].Touch
local moveConn, endConn
moveConn = session:track(UserInputService['InputChanged']:Connect(function(input)
if session.unloaded then return end
if isTouch and input ~= startInput then return end
if not isTouch and input['UserInputType'] ~= Enum['UserInputType'].MouseMovement then return end
onMove(input)
end))
endConn = session:track(UserInputService['InputEnded']:Connect(function(input)
if isTouch and input ~= startInput then return end
if not isTouch and input['UserInputType'] ~= Enum['UserInputType'].MouseButton1 then return end
session:release(moveConn)
session:release(endConn)
if onEnd and not session.unloaded then onEnd() end
end))
end
local function offsetBy(pos, delta)
return UDim2['new'](pos['X'].Scale, pos['X'].Offset + delta['X'], pos['Y'].Scale, pos['Y'].Offset + delta['Y'])
end
local function runSection(fn)
fn()
end
local function corner(radius, parent)
local c = create("UICorner", { CornerRadius = UDim['new'](0, radius), Parent = parent })
return c
end
local function stroke(parent, color, thickness, transparency)
local s = create("UIStroke", {
Color = color or COLOR_STROKE, Thickness = thickness or 1, Transparency = transparency or T_RIM,
ApplyStrokeMode = Enum['ApplyStrokeMode'].Border, Parent = parent,
})
return s
end
local function tween(obj, props, t, style, dir)
local info = TweenInfo['new'](t or 0.2, style or QUINT, dir or OUT)
local tw = TweenService:Create(obj, info, props)
session.tweens[tw] = true
tw['Completed']:Once(function()
session.tweens[tw] = nil
end)
tw:Play()
return tw
end
local function rimLight(strokeObj)
local g = create("UIGradient", { Rotation = 35 })
g['Transparency'] = NumberSequence['new']({
NumberSequenceKeypoint['new'](0, 0),
NumberSequenceKeypoint['new'](0.45, 0.75),
NumberSequenceKeypoint['new'](0.75, 0.85),
NumberSequenceKeypoint['new'](1, 0.35),
})
g['Parent'] = strokeObj
return g
end
local function glassSheen(obj)
if obj:IsA("CanvasGroup") then
local sheen = create("Frame", {
Name = "sheen", BackgroundColor3 = Color3['fromRGB'](255, 255, 255), BackgroundTransparency = 0.94,
BorderSizePixel = 0, Size = UDim2['new'](1, 0, 0.55, 0), ZIndex = 0, Active = false, Parent = obj,
})
local g = create("UIGradient", { Rotation = 90 })
g['Transparency'] = NumberSequence['new']({
NumberSequenceKeypoint['new'](0, 0),
NumberSequenceKeypoint['new'](1, 1),
})
g['Parent'] = sheen
return g
end
local g = create("UIGradient", { Rotation = 90 })
g['Transparency'] = NumberSequence['new']({
NumberSequenceKeypoint['new'](0, 0),
NumberSequenceKeypoint['new'](1, 0.35),
})
g['Parent'] = obj
return g
end
local function innerEdge(obj, radius)
local edge = create("Frame", {
Name = "innerEdge", BackgroundTransparency = 1, Position = UDim2['new'](0, 1, 0, 1),
Size = UDim2['new'](1, -2, 1, -2), ZIndex = obj['ZIndex'], Active = false, Parent = obj,
})
corner(math['max'](radius - 1, 0), edge)
local s = stroke(edge, COLOR_STROKE, 1, 0.8)
local g = create("UIGradient", { Rotation = 215 })
g['Transparency'] = NumberSequence['new']({
NumberSequenceKeypoint['new'](0, 0.2),
NumberSequenceKeypoint['new'](0.35, 0.9),
NumberSequenceKeypoint['new'](1, 1),
})
g['Parent'] = s
return edge
end
local function glass(obj, transparency, radius, rimTransparency)
obj['BackgroundColor3'] = COLOR_GLASS
obj['BackgroundTransparency'] = transparency or T_PANEL
obj['BorderSizePixel'] = 0
if radius then
corner(radius, obj)
if radius >= 12 then
innerEdge(obj, radius)
end
end
glassSheen(obj)
local s = stroke(obj, COLOR_STROKE, 1, rimTransparency or T_RIM)
rimLight(s)
return s
end
local settings = {
toggleKey = Enum['KeyCode'].K,
topbarButtons = "Default",
notificationTransparency = 0,
minimizedMenuTransparency = 0,
notifications = {
menuClosed = true,
clearAll = true,
waypointAdded = false,
teleported = false,
renamed = false,
},
}
local saveSettings
runSection(function()
local HttpService = game:GetService("HttpService")
local SETTINGS_FOLDER = "YSWAYPOINTSETTER"
local SETTINGS_FILE = SETTINGS_FOLDER .. "/settings_" .. tostring(LocalPlayer['UserId']) .. ".json"
local canSave = typeof(writefile) == "function" and typeof(readfile) == "function"
local migratedSettings = false
if canSave then
local ok, raw = pcall(readfile, SETTINGS_FILE)
if not ok or type(raw) ~= "string" or raw == "" then
local previousFile = "WaypointClicker/settings_" .. tostring(LocalPlayer['UserId']) .. ".json"
ok, raw = pcall(readfile, previousFile)
migratedSettings = ok and type(raw) == "string" and raw ~= ""
end
if ok and type(raw) == "string" and raw ~= "" then
local decodedOk, data = pcall(function()
return HttpService:JSONDecode(raw)
end)
if decodedOk and type(data) == "table" then
if type(data['toggleKey']) == "string" then
local keyOk, key = pcall(function()
return Enum['KeyCode'][data['toggleKey']]
end)
if keyOk and key then
settings['toggleKey'] = key
end
end
if type(data['notifications']) == "table" then
for name, value in pairs(data['notifications']) do
if settings['notifications'][name] ~= nil and type(value) == "boolean" then
settings['notifications'][name] = value
end
end
end
if type(data['transparency']) == "number" then
GLASS_TRANSPARENCY = math['clamp'](data['transparency'], 0, 0.95)
end
if data['topbarButtons'] == "Default" or data['topbarButtons'] == "Mac" then
settings['topbarButtons'] = data['topbarButtons']
end
if type(data['notificationTransparency']) == "number" then
settings['notificationTransparency'] = math['clamp'](data['notificationTransparency'], 0, 0.95)
end
if type(data['minimizedMenuTransparency']) == "number" then
settings['minimizedMenuTransparency'] = math['clamp'](data['minimizedMenuTransparency'], 0, 0.95)
endlines 1–300 of 2,647open raw find-in-page only searches the lines loaded so far. "show all" loads the rest.