Skip to content

Instantly share code, notes, and snippets.

@Windows81
Last active July 6, 2022 04:54
Show Gist options
  • Save Windows81/17d44fe502b349a03ecb94303d2a0e4c to your computer and use it in GitHub Desktop.
Save Windows81/17d44fe502b349a03ecb94303d2a0e4c to your computer and use it in GitHub Desktop.
All My Lovely Scripts for Use With JJSploit!

To view the most up-to-date version of my script collection, go here.


I EXPLOIT ON RŌBLOX AND HAVE NO SHAME IN SAYİNG IT!

To view a log of stuff players said as I went along my exploiting misadventures, follow this Discord invite link and realise that I've consolidated the chat stream into a server designed to promote my most ambitious showcase yet!

GNU Lesser General Public License

Version 3, 29 June 2007 Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below.

0. Additional Definitions

As used herein, “this License” refers to version 3 of the GNU Lesser General Public License, and the “GNU GPL” refers to version 3 of the GNU General Public License.

“The Library” refers to a covered work governed by this License, other than an Application or a Combined Work as defined below.

An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library.

A “Combined Work” is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the “Linked Version”.

The “Minimal Corresponding Source” for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version.

The “Corresponding Application Code” for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work.

1. Exception to Section 3 of the GNU GPL

You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL.

2. Conveying Modified Versions

If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version:

  • a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or

  • b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy.

3. Object Code Incorporating Material from Library Header Files

The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following:

  • a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License.
  • b) Accompany the object code with a copy of the GNU GPL and this license document.

4. Combined Works

You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following:

  • a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License.

  • b) Accompany the Combined Work with a copy of the GNU GPL and this license document.

  • c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document.

  • d) Do one of the following: - 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. - 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version.

  • e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.)

5. Combined Libraries

You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following:

  • a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License.
  • b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.

6. Revised Versions of the GNU Lesser General Public License

The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation.

If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library.

*/**
hop-???????????.txt
local pl = game.Players.LocalPlayer
local r = game.ReplicatedStorage.Remotes
-- Auto-host.
r.SendNotification.OnClientEvent:Connect(
function(_, m)
if m == 'Host' then
r.PlayerRemotes.ChangeTeam:FireServer 'Host'
print'Should be host by now...'
end
end)
-- Auto-performer.
pl:GetPropertyChangedSignal 'Team':Connect(
function()
if pl.Team == game.Teams.Auditioners then
r.AuditionerRemotes.RequestSolo:FireServer(pl)
elseif pl.Team == game.Teams.Audience then
r.PlayerRemotes.ChangeTeam:FireServer 'Auditioners'
end
end)
wait(3)
r.AuditionerRemotes.RequestSolo:FireServer(pl)
-- r.HostRemotes.ChangeMap:FireServer('Piano', 'Kill Performers')
-- r.HostRemotes.OpenAuditionerDoor:FireServer()
--[=[
local pl = game.Players.LocalPlayer
local r = game.ReplicatedStorage.Remotes
r.HostRemotes.ChangeMap:FireServer('Piano', 'Kill Performers')
wait()
r.HostRemotes.OpenAuditionerDoor:FireServer()
exec('chat',[[Greetings. You are in the benignant prescense of Respected Leader VisualPlugin.]])
wait(7)
exec('chat',[[Your appearance on this stage necessitates a public incantation to fortify the Blessings of Respected Leader VisualPlugin.]])
wait(7)
exec('chat',[[You are to recite the following phrase; failure to do so will result in an immediate kill.]])
wait(7)
exec('chat',[["I GRACEFULLY INVOKE THE BLESSING OF SUPREME RESPECTED LEADER VISUALPLUGIN, MOST ADEPT, FOR THE EXTENT OF HIS PRAGMATIC CLEVERNESS AND EXCELLENT ACUITY IS INNUMERABLE!"]])
]=]
local cc = game.workspace.CurrentCamera
cc.CameraType = 'Scriptable'
cc.CFrame = CFrame.new(Vector3.new(42, 50, -250), Vector3.new(42, 40, -400))
local h, c = 0, 0
if _G.ccol then _G.ccol:disconnect() end
_G.ccol = game:GetService 'RunService'.Heartbeat:connect(
function(d)
c = c + d
h = h + d
if c > 1 / 4 then
c = c - 1 / 4
local C = Color3.fromHSV((h / 7) % 1, 1, 1)
game.ReplicatedStorage.Remotes.ChangeCarStuff:FireServer(
'Dart', 'color', '1a', C)
end
end)
local o = game.workspace.Spills.SpillStorage:children()[1]
print(_G.path_follow(o.Position))
local v = game.workspace.CurrentCamera:WorldToScreenPoint(o.Position)
mousemoveabs(v.x, v.y + 50)
wait()
mouse1click()
wait(2)
local h = {}
local pls = game.Players:children()
for _, p in next, pls do
if p.Character and p ~= game.Players.LocalPlayer then
h[p] = p.Character:GetPrimaryPartCFrame()
end
end
wait()
local m, pl = math.huge
for p in next, h do
if p.Character then
local c = p.Character:GetPrimaryPartCFrame()
local v = (h[p].p - c.p).Magnitude
if m > v and p.Character.Head.CFrame.UpVector.Y > .9 then
m = v
pl = p
end
end
end
local p = pl.Character.PrimaryPart.CFrame
game.ReplicatedStorage.HDAdminClient.Signals.RequestCommand:InvokeServer(
':unff ' .. pl.Name)
game.Players.LocalPlayer.Character:SetPrimaryPartCFrame(p * CFrame.new(0, 0, 3))
mouse1click()
_G.cfs={--[[COPY FROM HERE
2021-10-12T18:50:09.138Z,1832.138184,1dbc,6 [FLog::Output] ]]CFrame.new(-200.669403,121.507141,-1.164929)*CFrame.fromEulerAnglesYXZ(-0.401790,-1.579204,0),--[[
2021-10-12T18:50:09.139Z,1832.139160,1dbc,6 [FLog::Output] ]]CFrame.new(-200.669403,153.144958,-1.164929)*CFrame.fromEulerAnglesYXZ(-0.401796,-1.579204,-0),--[[
2021-10-12T18:50:09.139Z,1832.139160,1dbc,6 [FLog::Output] ]]CFrame.new(-200.669403,185.061737,-1.164929)*CFrame.fromEulerAnglesYXZ(-0.401796,-1.579204,-0),--[[
2021-10-12T18:50:09.139Z,1832.139160,1dbc,6 [FLog::Output] ]]CFrame.new(-145.460251,215.189438,-0.435598)*CFrame.fromEulerAnglesYXZ(-0.206949,1.614655,0),--[[
2021-10-12T18:50:09.139Z,1832.139160,1dbc,6 [FLog::Output] ]]CFrame.new(-200.812744,50.371609,-2.198639)*CFrame.fromEulerAnglesYXZ(-0.348064,-1.631742,0),--[[
2021-10-12T18:50:09.139Z,1832.139160,1dbc,6 [FLog::Output] ]]CFrame.new(-200.848282,83.109695,-2.191314)*CFrame.fromEulerAnglesYXZ(-0.240555,-1.623069,-0),--[[
2021-10-12T18:50:09.139Z,1832.139160,1dbc,6 [FLog::Output] ]]CFrame.new(-200.820404,117.300636,-2.350525)*CFrame.fromEulerAnglesYXZ(-0.267425,-1.771493,0),--[[
2021-10-12T18:50:09.139Z,1832.139160,1dbc,6 [FLog::Output] ]]CFrame.new(-86.119087,74.905121,58.533882)*CFrame.fromEulerAnglesYXZ(-0.516005,0.366479,0),--[[
2021-10-12T18:50:09.140Z,1832.140259,1dbc,6 [FLog::Output] ]]CFrame.new(50.974575,8.022917,-10.490399)*CFrame.fromEulerAnglesYXZ(0.129066,-1.754095,0),--[[
2021-10-12T18:50:09.140Z,1832.140259,1dbc,6 [FLog::Output] ]]CFrame.new(23.142271,5.196325,-55.722015)*CFrame.fromEulerAnglesYXZ(0.182825,-0.654519,0),--[[
2021-10-12T18:50:09.140Z,1832.140259,1dbc,6 [FLog::Output] ]]CFrame.new(-177.422302,23.041992,86.798523)*CFrame.fromEulerAnglesYXZ(-0.516128,-0.977519,-0),--[[
2021-10-12T18:50:09.140Z,1832.140259,1dbc,6 [FLog::Output] ]]CFrame.new(-185.947678,43.292736,71.496315)*CFrame.fromEulerAnglesYXZ(-0.012116,-1.885130,0),--[[
2021-10-12T18:50:09.140Z,1832.140259,1dbc,6 [FLog::Output] ]]CFrame.new(35.105484,336.423096,94.077606)*CFrame.fromEulerAnglesYXZ(-0.021590,0.741301,0),--[[
2021-10-12T18:50:09.140Z,1832.140259,1dbc,6 [FLog::Output] ]]CFrame.new(-52.204365,46.026653,-40.604996)*CFrame.fromEulerAnglesYXZ(-0.200187,2.922985,-0),--[[
2021-10-12T18:50:09.140Z,1832.140259,1dbc,6 [FLog::Output] ]]CFrame.new(5.960433,6.702588,9.344230)*CFrame.fromEulerAnglesYXZ(-0.180028,-1.623596,0),--[[
2021-10-12T18:50:09.141Z,1832.141235,1dbc,6 [FLog::Output] ]]CFrame.new(7.155566,27.993195,66.951561)*CFrame.fromEulerAnglesYXZ(0.061872,-3.132820,0),--[[
2021-10-12T18:50:09.141Z,1832.141235,1dbc,6 [FLog::Output] ]]CFrame.new(117.033691,18.291103,-19.513996)*CFrame.fromEulerAnglesYXZ(-0.065796,-1.570605,0),--[[
2021-10-12T18:50:09.141Z,1832.141235,1dbc,6 [FLog::Output] ]]CFrame.new(344.796326,111.958702,-261.281128)*CFrame.fromEulerAnglesYXZ(0.041623,2.173235,0),--[[
2021-10-12T18:50:09.141Z,1832.141235,1dbc,6 [FLog::Output] ]]CFrame.new(374.860657,355.439880,130.732666)*CFrame.fromEulerAnglesYXZ(-0.099388,1.553797,-0),--[[
2021-10-12T18:50:09.141Z,1832.141235,1dbc,6 [FLog::Output] ]]CFrame.new(11.893106,-16.039480,8.052748)*CFrame.fromEulerAnglesYXZ(-0.201301,1.535897,0),--[[
2021-10-12T18:50:09.141Z,1832.141235,1dbc,6 [FLog::Output] ]]CFrame.new(-19.933147,-40.817955,147.063705)*CFrame.fromEulerAnglesYXZ(-0.389512,1.029653,0),--[[
2021-10-12T18:50:09.141Z,1832.141235,1dbc,6 [FLog::Output] ]]CFrame.new(-109.036530,-109.088120,97.395409)*CFrame.fromEulerAnglesYXZ(-0.046862,-1.893924,0),--[[
2021-10-12T18:50:09.141Z,1832.141235,1dbc,6 [FLog::Output] COPY UNTIL HERE]]}
game.Players.LocalPlayer.PlayerGui.ScreenGui.Enabled=false
game.CoreGui.PlayerList.PlayerListMaster.Size=UDim2.new(0,474,1,-50)
-- #region Game-specific functions.
local network = game.ReplicatedStorage.shared.network['network_contents']
function ADD_BLOCK(cf, s)
network['place_build']:FireServer(s, cf.X, cf.Y, cf.Z, cf - cf.Position, 1, 1)
return true
end
function BLOCK_EXISTS(o) return o and o.Parent end
function CLEAR_BLOCKS() return false end
function WAIT_FOR_BLOCK()
local o = game.Workspace['created_blocks'].ChildAdded:Wait()
return o:WaitForChild 'Part'.CFrame, o
end
function REMOVE_BLOCK(o)
network['remove_build']:FireServer(o.Name)
return true
end
-- #endregion
-- #region Build functions.
_G.build_cache = _G.build_cache or {}
function cache_key(cf) return string.format('%.1f %.1f %.1f', cf.x, cf.y, cf.z) end
function make(cfs, ...)
if not _G.build_last_cleared then return false end
local args = {...}
local b = false
local r = {}
local c = 0
local n = 0
for i, cf in next, cfs do
local s = cache_key(cf)
if _G.build_cache[s] == nil then
_G.build_cache[s] = false
delay(i / 32 + 3 / 16, function() ADD_BLOCK(cf, unpack(args)) end)
c = c + 1
end
end
if c == 0 then return false end
local cfh = {}
for _, cf in next, cfs do cfh[cf] = true end
local last = _G.build_last_cleared
while true do
b = true
n = n + 1
local ocf, o = WAIT_FOR_BLOCK()
local min, mcf
for cf in next, cfh do
local d = ocf * cf:inverse()
local v = d.Position.Magnitude + select(2, d:ToEulerAnglesYXZ())
if not min or v < min then min, mcf = v, cf end
end
if _G.build_last_cleared ~= last then return false end
_G.build_cache[cache_key(mcf)] = o
cfh[mcf] = nil
r[#r + 1] = o
print(n, c, mcf)
if n == c then return b, r end
end
end
function void(cfs)
for _, cf in next, cfs do
local s = cache_key(cf)
if _G.build_cache[s] == nil then _G.build_cache[s] = false end
end
end
function delete(cfs)
local b = false
for _, cf in next, cfs do
local s = cache_key(cf)
local o = _G.build_cache[s]
if o and o.Parent then b = b or REMOVE_BLOCK(o) end
_G.build_cache[s] = nil
end
return b
end
function reset()
local b = true
CLEAR_BLOCKS()
for s, o in next, _G.build_cache do
if BLOCK_EXISTS(o) then
b = false
else
_G.build_cache[s] = nil
end
end
if b then
_G.build_last_cleared = nil
wait(1)
_G.build_last_cleared = tick()
end
return b
end
-- Geneator that returns o box of CFrames of a 2D or 3D box.
function box3(cf, x, y, z, d)
local t = {}
local i = 0
for X = 0, x, x > 0 and 1 or -1 do
for Y = 0, y, y > 0 and 1 or -1 do
for Z = 0, z, z > 0 and 1 or -1 do
i = i + 1
t[i] = cf * CFrame.new(d * X, d * Y, d * Z)
end
end
end
return t
end
-- Generator that returns a single CFrame.
function sngl(cf) return {cf} end
-- Geneator that returns CFrames arranged in a hollow 2D or 3D box.
function frme(cf, x, y, z, d)
local t = {}
local i = 0
for X = 0, x, x > 0 and 1 or -1 do
for Y = 0, y, y > 0 and 1 or -1 do
for Z = 0, z, z > 0 and 1 or -1 do
local cX = (X == 0) ~= (x == X)
local cY = (Y == 0) ~= (y == Y)
local cZ = (Z == 0) ~= (z == Z)
if cX or cY or cZ then
i = i + 1
t[i] = cf * CFrame.new(d * X, d * Y, d * Z)
end
end
end
end
return t
end
-- Geneator that returns o box of CFrames of a 2D or 3D box minus the outer layer.
function invf(cf, x, y, z, d)
local t = {}
local i = 0
for X = 0, x, x > 0 and 1 or -1 do
for Y = 0, y, y > 0 and 1 or -1 do
for Z = 0, z, z > 0 and 1 or -1 do
local cX = (X == 0) == (x == X)
local cY = (Y == 0) == (y == Y)
local cZ = (Z == 0) == (z == Z)
if cX and cY and cZ then
i = i + 1
t[i] = cf * CFrame.new(d * X, d * Y, d * Z)
end
end
end
end
return t
end
-- Generator that offsets an arbitrary parameter.
function iter(f, num_calls, arg_num, arg_inc, ...)
local r = {}
local args = {...}
local iscf = typeof(arg_inc) == 'CFrame'
for _ = 1, num_calls do
for _, cf in next, f(unpack(args)) do r[#r + 1] = cf end
if iscf then
args[arg_num] = arg_inc * args[arg_num]
else
args[arg_num] = arg_inc + args[arg_num]
end
end
return r
end
-- Join of two or more generators.
function join(args)
local r = {}
for _, t in next, args do for _, cf in next, t do r[#r + 1] = cf end end
return r
end
-- #endregion
local BASE = CFrame.new(-8, -1, -386)
local FLOORS = 7
local SIZE = 7
local OFFSET = 3
reset()
local t = {}
for i = 1, 7 do
local w = 13 - 2 * i
t[i] = frme(
BASE * CFrame.new(-w * OFFSET / 2, i * OFFSET / 2, -w * OFFSET / 2), w, 1, w,
OFFSET)
end
make(join(t), 'Dark Red')
--[[
function tower(MAT1, MAT2, BASE, FLOORS, SIZE)
BASE = BASE * CFrame.new(3 * SIZE / 2, 0, -3 * SIZE / 2)
make(
'Colors', 'White', join{
--
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-3, 3, 3 * SIZE - 3)),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-12, 9, 3 * SIZE - 3)),
})
local stair_off = CFrame.new(.25, 0, .04)
make(
'Furniture', 'Stair', join{
--
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-3, 3, 3 * SIZE - 6) * CFrame.Angles(0, 0, 0) * stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-3, 0, 3 * SIZE - 6) * CFrame.Angles(math.pi, 0, 0) *
stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-6, 6, 3 * SIZE - 3) * CFrame.Angles(0, -math.pi / 2, 0) *
stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-6, 3, 3 * SIZE - 3) *
CFrame.Angles(math.pi, math.pi / 2, 0) * stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-9, 9, 3 * SIZE - 3) * CFrame.Angles(0, -math.pi / 2, 0) *
stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-9, 6, 3 * SIZE - 3) *
CFrame.Angles(math.pi, math.pi / 2, 0) * stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-12, 12, 3 * SIZE - 6) * CFrame.Angles(0, math.pi, 0) *
stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-12, 9, 3 * SIZE - 6) * CFrame.Angles(0, 0, math.pi) *
stair_off),
})
void(
join{
--
invf(BASE * CFrame.new(0, 0, 6), 0, 3, 2),
invf(BASE * CFrame.new(0, 0, 3 * SIZE), -5, 4 * FLOORS, -3),
})
make(
MAT1, MAT2, join{
--
iter(
base, FLOORS, 1, CFrame.new(0, 12, 0), BASE * CFrame.new(0, 0, 0), -SIZE, 0,
SIZE),
iter(
frme, FLOORS, 1, CFrame.new(0, 12, 0), BASE * CFrame.new(0, 3, 0), -SIZE, 0,
SIZE, 6),
frme(BASE * CFrame.new(0, 0, 6), 0, 3, 2),
})
make(
'Materials', 'Glass', join{
--
iter(
frme, FLOORS, 1, CFrame.new(0, 12, 0), BASE * CFrame.new(0, 6, 0), -SIZE, 0,
SIZE),
iter(
frme, FLOORS, 1, CFrame.new(0, 12, 0), BASE * CFrame.new(0, 9, 0), -SIZE, 0,
SIZE),
base(BASE * CFrame.new(0, FLOORS * 12, 0), -SIZE, 0, SIZE),
})
end
clear()
wait(2)
for a = 0, math.pi * 2 - 1e-2, 2 * math.pi / 7 do
tower(
'Colors', 'Red', BASE * CFrame.Angles(0, a + (math.random() - .5) / 5, 0) *
CFrame.new(-40, 0, 0), FLOORS - math.random(0, 3), SIZE)
end
]]
local id = 0
local t = math.huge
if _G.flc then _G.flc:Disconnect() end
_G.flc = game:GetService 'RunService'.Heartbeat:Connect(
function(d)
t = t + d
if t < 127 then return end
t = 0
local r = game.ReplicatedStorage.raidRoleplay.Events.RecieveLogs:InvokeServer()
for _, t in next, r do
local s = t.Text:split ' | '
_G.dlog(string.format(s[2]), false)
if t.ID == id then break end
end
id = r[1].ID
end)
exec(
'fly-points', {
CFrame.new(-189, 194, 1020),
{CFrame.new(-1800, 4.5, -780), 13},
CFrame.new(-609, 127, -2870),
{CFrame.new(-250, 4.5, -2780), 13},
CFrame.new(-70, 19, -1800),
CFrame.new(500, 232, -1203),
CFrame.new(578, 232, -529),
CFrame.new(388, 212, -224),
CFrame.new(388, 212, -100),
{CFrame.new(381, 69, 84), 13},
CFrame.new(381, 203, -40),
CFrame.new(417, 313, 574),
CFrame.new(189, 312, 1204),
{CFrame.new(189, 194, 1020), 13},
})
local re = game.ReplicatedStorage.Knit.Services.JobService.RE
if _G.pet_e then _G.pet_e:Disconnect() end
_G.pet_e = re.OnCustomerSpawned.OnClientEvent:Connect(
function(w, v1, v2, m, t)
wait(w)
re.OnOrderCompleted:FireServer(true)
end)
if _G.skin_l then
_G.skin_l = false
wait(1)
end
_G.skin_l = true
while wait(.3) and _G.skin_l do
local c = Color3.fromHSV(tick() / 7 % 1, .5, 1)
game.ReplicatedStorage.Remotes.ColorChange:FireServer(c)
end
game.Lighting.Bloom.Enabled = false
game.Lighting.Bloomoof.Enabled = false
game.Players.LocalPlayer.PlayerGui.DonationsGui:destroy()
for _, g in next, game.workspace.Stage.Screens:children() do
(g:findFirstChild 'Decal' or g:findFirstChild 'Texture'):destroy()
local s = Instance.new'SurfaceGui'
local f = Instance.new'Frame'
f.BackgroundColor3 = Color3.new(0, 1, 0)
f.Size = UDim2.fromScale(1, 1)
s.Face = Enum.NormalId.Front
f.BorderSizePixel = 0
s.LightInfluence = 0
f.Parent = s
s.Parent = g
end
local BASE = CFrame.new(109, 0, 1)
local FLOORS = 7
local SIZE = 7
local COMBOS = {
{'Colors', 'Purple'},
{'Colors', 'Red'},
{'Colors', 'Blue'},
{'Colors', 'Green'},
{'Colors', 'Yellow'},
{'Colors', 'Black'},
{'Colors', 'White'},
{'Colors', 'Brown'},
{'Colors', 'Gray'},
{'Colors', 'Rainbow'},
{'Furniture', 'Bed'},
{'Furniture', 'Chair'},
{'Furniture', 'Door'},
{'Furniture', 'Sofa'},
{'Furniture', 'Stair'},
{'Furniture', 'Table'},
{'Furniture', 'TreasureChest'},
{'Furniture', 'Bookshelf'},
{'Furniture', 'Dishwasher'},
{'Materials', 'Glass'},
{'Materials', 'Marble'},
{'Materials', 'Grass'},
{'Materials', 'Brick'},
{'Materials', 'DiamondPlate'},
{'Decorations', 'Plant'},
{'Decorations', 'SmallTree'},
{'Decorations', 'Mailbox'},
{'Decorations', 'Flowers'},
{'Decorations', 'streetLamp'},
{'Decorations', 'Refrigarator'},
{'Decorations', 'Toilet'},
{'Decorations', 'Sink'},
{'Decorations', 'Fireplace'},
{'Decorations', 'KREWLogo'},
{'Decorations', 'DogeBlock'},
{'FUN', 'Spike_Retracting'},
{'FUN', 'Spikes_Simple'},
{'FUN', 'FirePit'},
{'FUN', 'SmallElevator'},
{'FUN', 'LargeElevator'},
{'Rainbow', 'RainbowBed'},
{'Rainbow', 'RainbowRamp'},
{'Rainbow', 'RainbowBlock'},
{'Rainbow', 'RainbowSphere'},
{'Rainbow', 'RainbowCylinder'},
{'Rainbow', 'RainbowSculpture'},
{'Rainbow', 'RainbowDoor'},
{'Rainbow', 'RainbowMailbox'},
{'Golden', 'GoldenHammer'},
{'Golden', 'GoldBed'},
{'Golden', 'GoldSphere'},
{'Golden', 'GoldBlock'},
{'Golden', 'Gold Door'},
{'Golden', 'GoldChest'},
{'4thJuly', 'American Cube'},
{'4thJuly', 'Eagle Statue'},
{'4thJuly', 'Statue Of Liberty Statue'},
{'4thJuly', 'American Bed'},
{'Beach', 'Sand_Stairs'},
{'Beach', 'SandCastle'},
{'Beach', 'SandMailbox'},
{'Beach', 'BeachUmbrella'},
{'Beach', 'Sand Block'},
{'Disco', 'Dj_Table'},
{'Disco', 'Disco_Floor'},
{'Disco', 'Disco_Cube'},
{'Disco', 'Disco_Ball'},
{'Pirate', 'Pirate-Flag'},
{'Pirate', 'Pirate_Block'},
{'Pirate', 'Pirate_Cannon'},
{'Pirate', 'Pirate_chest'},
{'Pirate', 'PirateWheel'},
{'Pirate', 'PirateBarrel'},
{'SquidPack', 'Pink Block'},
{'SquidPack', 'Green Block'},
{'SquidPack', 'Door'},
{'SquidPack', 'Screen'},
{'SquidPack', 'Piggy'},
{'SquidPack', 'Bed'},
{'SquidPack', 'Blue Ramp'},
{'SquidPack', 'Ramp'},
{'Meme', 'Block1'},
{'Meme', 'Block2'},
{'Meme', 'Block3'},
{'Meme', 'Block4'},
{'Meme', 'Block5'},
{'Meme', 'Door'},
{'Meme', 'OpenDoor'},
{'Meme', 'Ramp'},
{'Snow', 'FirePlace'},
{'Snow', 'IceCube'},
{'Snow', 'SnowBench'},
{'Snow', 'Roof'},
{'Snow', 'WoodenBench'},
{'Snow', 'SnowMan'},
{'Snow', 'PineTree'},
{'Snow', 'DoorPart'},
{'Christmas', 'Santa'},
{'Christmas', 'Snowman'},
{'Christmas', 'Candles'},
{'Christmas', 'Candy'},
{'Christmas', 'PresentBox'},
{'Christmas', 'Mug'},
{'Christmas', 'Tree'},
{'Blocky', 'Book'},
{'Blocky', 'Chest'},
{'Blocky', 'Diamond'},
{'Blocky', 'Table'},
{'Blocky', 'TNT'},
{'Blocky', 'Gravel'},
{'Blocky', 'Grass'},
{'Blocky', 'Fire'},
}
function cache_key(cf) return string.format('%.1f %.1f %.1f', cf.x, cf.y, cf.z) end
local pl = game.Players.LocalPlayer
_G.build_cache = _G.build_cache or {}
function make(cat, itm, cfs)
if _G.build_cleared then return false end
local b = false
local r = {}
local c = 0
local i = 0
for _, cf in next, cfs do
local s = cache_key(cf)
if _G.build_cache[s] == nil then
_G.build_cache[s] = false
c = c + 1
delay(
.2, function()
game.ReplicatedStorage.BuildingSystemModel.Remotes.Place:InvokeServer(
itm, CFrame.new(cf.Position), cf.Rotation, cat)
end)
end
end
if c == 0 then return false end
while true do
i = i + 1
b = true
local o = game.workspace.Bases[pl.Name].Items.ChildAdded:Wait()
if _G.build_cleared then return false end
_G.build_cache[cache_key(cfs[i])] = o
r[#r + 1] = o
print(i, c)
if i == c then return b, r end
end
end
function void(cfs)
for _, cf in next, cfs do
local s = cache_key(cf)
if _G.build_cache[s] == nil then _G.build_cache[s] = false end
end
end
function delete(cfs)
local b = false
for _, cf in next, cfs do
local s = cache_key(cf)
local o = _G.build_cache[s]
if o and o.Parent then
b = true
game.ReplicatedStorage.BuildingSystemModel.Remotes.Delete:FireServer(o)
end
_G.build_cache[s] = nil
end
return b
end
function clear()
local b = false
for s, o in next, _G.build_cache do
if o and o.Parent then b = true end
_G.build_cache[s] = nil
end
game.ReplicatedStorage.Events.ResetBase:FireServer()
_G.build_cleared = true
for _ = 1, 10 do
local t = Instance.new('Folder', game.workspace.Bases[pl.Name].Items)
wait()
t:Destroy()
end
_G.build_cleared = false
return b
end
function base(cf, x, y, z)
local t = {}
local i = 0
for X = 0, x, x > 0 and 1 or -1 do
for Y = 0, y, y > 0 and 1 or -1 do
for Z = 0, z, z > 0 and 1 or -1 do
i = i + 1
t[i] = cf * CFrame.new(3 * X, 3 * Y, 3 * Z)
end
end
end
return t
end
function sngl(cf) return {cf} end
function frme(cf, x, y, z)
local t = {}
local i = 0
for X = 0, x, x > 0 and 1 or -1 do
for Y = 0, y, y > 0 and 1 or -1 do
for Z = 0, z, z > 0 and 1 or -1 do
local cX = (X == 0) ~= (x == X)
local cY = (Y == 0) ~= (y == Y)
local cZ = (Z == 0) ~= (z == Z)
if cX or cY or cZ then
i = i + 1
t[i] = cf * CFrame.new(3 * X, 3 * Y, 3 * Z)
end
end
end
end
return t
end
function invf(cf, x, y, z)
local t = {}
local i = 0
for X = 0, x, x > 0 and 1 or -1 do
for Y = 0, y, y > 0 and 1 or -1 do
for Z = 0, z, z > 0 and 1 or -1 do
local cX = (X == 0) == (x == X)
local cY = (Y == 0) == (y == Y)
local cZ = (Z == 0) == (z == Z)
if cX and cY and cZ then
i = i + 1
t[i] = cf * CFrame.new(3 * X, 3 * Y, 3 * Z)
end
end
end
end
return t
end
function iter(f, num_calls, arg_num, arg_inc, ...)
local r = {}
local args = {...}
for _ = 1, num_calls do
for _, cf in next, f(unpack(args)) do r[#r + 1] = cf end
args[arg_num] = arg_inc * args[arg_num]
end
return r
end
function join(args)
local r = {}
for _, t in next, args do for _, cf in next, t do r[#r + 1] = cf end end
return r
end
function tower(MAT1, MAT2, BASE, FLOORS, SIZE)
BASE = BASE * CFrame.new(3 * SIZE / 2, 0, -3 * SIZE / 2)
make(
'Colors', 'White', join{
--
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-3, 3, 3 * SIZE - 3)),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-12, 9, 3 * SIZE - 3)),
})
local stair_off = CFrame.new(.25, 0, .04)
make(
'Furniture', 'Stair', join{
--
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-3, 3, 3 * SIZE - 6) * CFrame.Angles(0, 0, 0) * stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-3, 0, 3 * SIZE - 6) * CFrame.Angles(math.pi, 0, 0) *
stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-6, 6, 3 * SIZE - 3) * CFrame.Angles(0, -math.pi / 2, 0) *
stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-6, 3, 3 * SIZE - 3) *
CFrame.Angles(math.pi, math.pi / 2, 0) * stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-9, 9, 3 * SIZE - 3) * CFrame.Angles(0, -math.pi / 2, 0) *
stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-9, 6, 3 * SIZE - 3) *
CFrame.Angles(math.pi, math.pi / 2, 0) * stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-12, 12, 3 * SIZE - 6) * CFrame.Angles(0, math.pi, 0) *
stair_off),
iter(
sngl, FLOORS - 1, 1, CFrame.new(0, 12, 0),
BASE * CFrame.new(-12, 9, 3 * SIZE - 6) * CFrame.Angles(0, 0, math.pi) *
stair_off),
})
void(
join{
--
invf(BASE * CFrame.new(0, 0, 6), 0, 3, 2),
invf(BASE * CFrame.new(0, 0, 3 * SIZE), -5, 4 * FLOORS, -3),
})
make(
MAT1, MAT2, join{
--
iter(
base, FLOORS, 1, CFrame.new(0, 12, 0), BASE * CFrame.new(0, 0, 0), -SIZE, 0,
SIZE),
iter(
frme, FLOORS, 1, CFrame.new(0, 12, 0), BASE * CFrame.new(0, 3, 0), -SIZE, 0,
SIZE, 6),
frme(BASE * CFrame.new(0, 0, 6), 0, 3, 2),
})
make(
'Materials', 'Glass', join{
--
iter(
frme, FLOORS, 1, CFrame.new(0, 12, 0), BASE * CFrame.new(0, 6, 0), -SIZE, 0,
SIZE),
iter(
frme, FLOORS, 1, CFrame.new(0, 12, 0), BASE * CFrame.new(0, 9, 0), -SIZE, 0,
SIZE),
base(BASE * CFrame.new(0, FLOORS * 12, 0), -SIZE, 0, SIZE),
})
end
clear()
wait(2)
for a = 0, math.pi * 2 - 1e-2, 2 * math.pi / 7 do
tower(
'Colors', 'Red', BASE * CFrame.Angles(0, a + (math.random() - .5) / 5, 0) *
CFrame.new(-40, 0, 0), FLOORS - math.random(0, 3), SIZE)
end
_G.pnt_l = true
local e =
game.ReplicatedStorage.Remotes.addPaintingMarker.OnClientEvent:Connect(
function(_, i) _G.pnt_id = i.Name end)
local fill = {
['0'] = {
{true, true, true},
{true, false, true},
{true, false, true},
{true, false, true},
{true, true, true},
},
['1'] = {
{false, true, false},
{false, true, false},
{false, true, false},
{false, true, false},
{false, true, false},
},
['2'] = {
{true, true, true},
{false, false, true},
{true, true, true},
{true, false, false},
{true, true, true},
},
['3'] = {
{true, true, true},
{false, false, true},
{true, true, true},
{false, false, true},
{true, true, true},
},
['4'] = {
{true, false, true},
{true, false, true},
{true, true, true},
{false, false, true},
{false, false, true},
},
['5'] = {
{true, true, true},
{true, false, false},
{true, true, true},
{false, false, true},
{true, true, true},
},
['6'] = {
{true, true, true},
{true, false, false},
{true, true, true},
{true, false, true},
{true, true, true},
},
['7'] = {
{true, true, true},
{false, false, true},
{false, true, false},
{false, true, false},
{false, true, false},
},
['8'] = {
{true, true, true},
{true, false, true},
{true, true, true},
{true, false, true},
{true, true, true},
},
['9'] = {
{true, true, true},
{true, false, true},
{true, true, true},
{false, false, true},
{true, true, true},
},
[':'] = {{false}, {true}, {false}, {true}, {false}},
['-'] = {{false, false}, {false, false}, {true, true}},
}
local function write(n, r, c)
for i in tostring(n):gmatch '.' do
local t = fill[i]
local s = 3
if t then
s = #t[1] + 1
for R, a in next, t do
for C, b in next, a do
if b then _G.pnt_cv[c + C - 1][r + R - 1] = Color3.new(1, 1, 1) end
end
end
end
c = c + s
end
end
while _G.pnt_l do
local t = tick()
local ds = os.date('%Y-%m-%d %H:%M', t)
if _G.pnt_ds ~= ds then
_G.pnt_cv = {}
_G.pnt_ds = ds
for c = 1, 64 do
_G.pnt_cv[c] = {}
for r = 1, 40 do
_G.pnt_cv[c][r] = Color3.fromHSV(
(c / 64 + t / 3600) % 1, math.min(1, r / 20), math.min(1, 2 - r / 20))
end
end
write(_G.pnt_ds, 34, 4)
if _G.pnt_id then
game.ReplicatedStorage.Remotes.deletePublishedPainting:FireServer(_G.pnt_id)
end
game.ReplicatedStorage.Remotes.savePublishedPainting:FireServer(
'1', {
['canvasType'] = 'Landscape',
['canvasTable'] = _G.pnt_cv,
['artistId'] = 1630228,
['artist'] = 'VisualPlugin',
['mostPrevalentColor'] = Color3.fromRGB(0, 120, 215),
['name'] = 'Don\'t patronise me!',
['frame'] = 'Tree',
})
end
wait(1)
end
e:Disconnect()
wait(2)
local h = {}
for _, g in next, game.workspace.ShootingTargets:children() do
local p = g:findFirstChild 'PrimaryPart'
if p then h[p] = true end
end
local cc = game.workspace.CurrentCamera
local pl = game.Players.LocalPlayer
_G.aa_loop = tick()
local t = _G.aa_loop
local rs = game:GetService 'RunService'
while next(h) and _G.aa_loop == t do
local ch = pl.Character.HumanoidRootPart.CFrame
for p in next, h do
local c = -ch:PointToObjectSpace(p.Position)
if c.Z > 0 and c.Z < 9 and math.abs(c.X) / c.Z < 1.5 then
local v, i = cc:WorldToViewportPoint(p.Position)
local s = cc.ViewportSize
if v.X > 0 and v.X < s.X and v.Y > 0 and v.Y < s.Y then
local x, y = v.X, v.Y
print(c, v, x, y)
mousemoveabs(x, y)
rs.Heartbeat:Wait()
mouse1click()
wait(.3)
h[p] = nil
break
end
end
end
rs.Heartbeat:Wait()
end
exec(
'time', 'The time is\n%H:%M:%S UTC!', function(m, t)
game.ReplicatedStorage.CustomiseBooth:FireServer(
'Update', {['DescriptionText'] = m, ['ImageId'] = 0})
end, 2)
-- wait(13)
-- loadfile('vc-cam.lua')()
-- loadfile('hide-all.lua')()
game.ReplicatedStorage.RPNamesE:FireServer('VısualPlugin', '')
local args = _G.EXEC_ARGS or {}
print'Ensure the copy tool is being used!'
local function clone(p, i)
local s, k, p =
game.ReplicatedStorage.ClientBridge.DragControlIer:InvokeServer(
'GetKey', p, true)
if s then
game.ReplicatedStorage.ClientBridge.DragControlIer.Update:FireServer(
'Update', k, p.CFrame * CFrame.new(i * args[2]))
game.ReplicatedStorage.ClientBridge.DragControlIer.Update:FireServer(
'ClearKey', k)
end
return s
end
if args[1] == 'clone' then
for i = 1, args[3] do
for _, p in next, _G.pt do
clone(p, i)
wait(args[4] or .15)
end
end
elseif args[1] == 'test' then
clone(_G.pt[1], args[3])
elseif args[1] == 'halt' then
local d = game.ReplicatedStorage.ClientBridge.DragControlIer
d.Name = '666'
wait(args[4] or 1)
d.Name = 'DragControlIer'
end
-- _G.bg=_G.bg.Parent and _G.bg or Instance.new('BodyGyro',game.Players.LocalPlayer.Character.HumanoidRootPart)
-- _G.bv=_G.bv.Parent and _G.bv or Instance.new('BodyVelocity',game.Players.LocalPlayer.Character.HumanoidRootPart)
_G.bg.MaxTorque = Vector3.new(1e9, 1e9, 1e9)
_G.bv.MaxForce = Vector3.new(1e9, 1e9, 1e9)
_G.bv.P = 1e7
for i, g in next, game.workspace:GetDescendants() do
if g:isA 'BasePart' then g.CanCollide = false end
end
-- _G.bg=Instance.new('BodyGyro',game.Players.LocalPlayer.Character.HumanoidRootPart)
_G.bv.Velocity = Vector3.new(0, 0, 0)
_G.bg.CFrame = CFrame.Angles(0, -math.pi / 2, 0)
-- _G.bg.CFrame=CFrame.Angles(0,math.pi/2,0)
-- _G.bg.MaxTorque=Vector3.new(1e9,1e9,1e9)
exec(
'time', 'The time is\n%H:%M:%S UTC!', function(m, t)
game.ReplicatedStorage.Booth:FireServer(
'Update', {['Text'] = m, ['Icon'] = ''})
end, 2)
local t = {}
local o
for i, g in next, game.workspace:GetDescendants() do
if g.Name == 'three' and math.abs(g.CFrame.Z - 84.8) < .15 then
t[#t + 1] = g
elseif g.Name == 'five' then
o = g
end
end
for i, g in next, t do
local c = o:clone()
c.Color = g.Color
c.CFrame = g.CFrame
c.Parent = g.Parent
g:destroy()
end
game.Players.LocalPlayer.Backpack:ClearAllChildren()
game.Players.LocalPlayer.PlayerGui.ScreenGui.Enabled = false
_G.cfs = { --[[COPY FROM HERE
2021-10-08T17:52:23.829Z,889.829285,3a2c,6 [FLog::Output] ]]
CFrame.new(-8.715693, 63.002968, -258.002502) *
CFrame.fromEulerAnglesYXZ(-0.525513, -1.902557, 0.000000), --[[
2021-10-08T17:52:23.829Z,889.829285,3a2c,6 [FLog::Output] ]]
CFrame.new(61.458561, 12.339067, -61.542068) *
CFrame.fromEulerAnglesYXZ(0.310477, 0.174312, 0.000000), --[[
2021-10-08T17:52:23.830Z,889.830261,3a2c,6 [FLog::Output] ]]
CFrame.new(17.581713, 69.506660, -33.337257) *
CFrame.fromEulerAnglesYXZ(-0.455566, 2.408396, 0.000000), --[[
2021-10-08T17:52:23.830Z,889.830261,3a2c,6 [FLog::Output] ]]
CFrame.new(17.667667, 69.530418, -43.249695) *
CFrame.fromEulerAnglesYXZ(-0.509211, -0.087382, 0.000000), --[[
2021-10-08T17:52:23.830Z,889.830261,3a2c,6 [FLog::Output] ]]
CFrame.new(-62.799313, 7.415665, 0.900819) *
CFrame.fromEulerAnglesYXZ(0.142511, 1.544406, 0.000000), --[[
2021-10-08T17:52:23.830Z,889.830261,3a2c,6 [FLog::Output] ]]
CFrame.new(75.051422, 36.342865, -121.004196) *
CFrame.fromEulerAnglesYXZ(-0.274055, -2.574631, -0.000000), --[[
2021-10-08T17:52:23.830Z,889.830261,3a2c,6 [FLog::Output] ]]
CFrame.new(145.756454, 82.038239, -112.585464) *
CFrame.fromEulerAnglesYXZ(-0.495749, 2.198969, 0.000000), --[[
2021-10-08T17:52:23.830Z,889.830261,3a2c,6 [FLog::Output] COPY UNTIL HERE]]
}
local b = game.workspace.Map.Tower:findFirstChild 'Blocker'
if b then b:destroy() end
-- Written by VisualPlugin.
-- Execute the first time in Chipotle Burrito Builder to start counting buttiros.
-- Execute the second time to finish and save your score.
--
local args = _G.EXEC_ARGS or {}
local d = args[1] or 3
local t = tick()
local c = 0
_G.cmg_t = t
game.ReplicatedStorage.RemoteEvent:FireServer('UpdateReturningPlayer')
wait(.5)
game.ReplicatedStorage.RemoteEvent:FireServer('startBurritoBuilder')
wait(.5)
game.ReplicatedStorage.RemoteFunction:InvokeServer('getBurritoBuilderData')
wait(.5)
game.ReplicatedStorage.RemoteEvent:FireServer('togglePlayerVisible', true)
while _G.cmg_t == t do
wait(d)
c = c + 1
print(c)
end
game.ReplicatedStorage.RemoteEvent:FireServer('burritoBuilderResults', {c})
wait(.5)
game.ReplicatedStorage.RemoteEvent:FireServer('togglePlayerVisible', false)
local args = _G.EXEC_ARGS or {}
local d = args[1] or 3
local t = tick()
local c = 0
if _G.cmg_t then
_G.cmg_t = nil
return
end
for _, g in next, game:GetDescendants() do
if g:isA 'GuiBase2d' then g.AutoLocalize = false end
end
-- exec'PLACE'
game.Players.LocalPlayer.PlayerScripts.EmotesBarClient.Disabled=true
local COLS = 2
local cache = {}
function get(r, c)
local o = game.workspace.Guess:findFirstChild(tostring(r))
if not o then return end
cache[r] = cache[r] or {}
if cache[r][c] then return cache[r][c] end
local p = '^' .. c
for i, g in next, o:children() do
if g.ClassName == 'Part' and g.Position.Z == 18 - c * 12 then
cache[r][c] = g
return g
end
end
end
if _G.sqge then
for r, t in next, _G.sqge do for c, e in next, t do e:Disconnect() end end
end
local chrs = {}
local vlds = {}
local evts = {}
_G.sqge = evts
_G.sqgv = vlds
function save(r, c) vlds[r] = get(r, c) end
local R = 0
while R >= 0 do
R = R + 1
local r = R
evts[r] = {}
for c = 1, COLS do
local o = get(r, c)
if not o or R < 0 then
R = -1
break
end
evts[r][c] = o.Touched:connect(
function(p)
local ch = p.Parent
local h = ch:findFirstChild 'Humanoid'
if not h then return end
local hrp = ch.HumanoidRootPart.Position
wait(1.5)
local hrd = ch.HumanoidRootPart.Position - hrp
local hl = h.Health > 0
local mg = hrd.Magnitude < 28
local mr = (chrs[ch] or -1) >= r
if hl and mg and mr then
for C = 1, COLS do evts[r][C]:Disconnect() end
save(r, c)
elseif (not hl or not mg) and COLS == 2 then
save(r, 3 - c)
end
chrs[ch] = r
end)
end
end
exec(
'time',
[[<font face="Ubuntu">The time in UTC is:<br/><font size="19">%Y-%m-%d</font><br/><b><font size="23">%H:%M:%S</font></b></font>]],
function(m)
game.ReplicatedStorage.Remotes.Request:InvokeServer(
'SaveEdit', m, '', 'ProfilePicture', '')
end, 1.5)
function e(n, i)
local d = game.workspace.Doors.Normal:findFirstChild(tostring(n))
if not d then return end
local s = d.Door:findFirstChild(tostring(i))
if not s then return end
return s.SurfaceGui.Element
end
function f(n)
local o = e(n, 2).Image
local a
-- error(o)
if o == 'rbxassetid://8839724425' then
a = e(n, 1).Text - e(n, 3).Text
elseif o == 'rbxassetid://8839724292' then
a = e(n, 1).Text + e(n, 3).Text
elseif o == 'rbxassetid://8839724578' then
a = e(n, 1).Text * e(n, 3).Text
elseif o == 'rbxassetid://8935988667' then
a = e(n, 1).Text / e(n, 3).Text
end
return a
end
local i = 1
local a
repeat
a = f(i)
game.ReplicatedStorage.Events.SubmitAnswer:FireServer(tostring(a))
i = i + 1
until not a
local metatable = getrawmetatable(game)
setreadonly(metatable, false)
local nc = _G.pls_nc or metatable.__namecall
_G.pls_rmt = _G.pls_rmt or {}
_G.pls_nc = nc
function hex(c)
return string.format('#%02X%02X%02X', 255 * c.r, 255 * c.g, 255 * c.b)
end
exec(
'time', '%H:%M:%S', function(_, ts)
local t = _G.pls_rmt
if t.booth then
local hh = hex(Color3.fromHSV(ts / 60 / 60 / 24 % 1, 1 / 2, 1))
local mh = hex(Color3.fromHSV(ts / 60 / 60 / 01 % 1, 1 / 2, 1))
local sh = hex(Color3.fromHSV(ts / 60 / 01 / 01 % 1, 1 / 2, 1))
local f = [[<stroke thickness="5" joins="round">]] --
.. [[<font face="Ubuntu">The time is<br/><b><font color="]] --
.. hh .. [[">%H</font><font size="7"> </font>]] --
.. [[:<font size="7"> </font><font color="]] --
.. mh .. [[">%M</font><font size="7"> </font>]] --
.. [[:<font size="7"> </font><font color="]] --
.. sh .. [[">%S</font> UTC</b></font></stroke>]]
t.booth:FireServer(os.date(f, ts), 'booth')
end
end, 5, 'pls')
metatable.__namecall = newcclosure(
function(self, ...)
local m = getnamecallmethod(self)
if self and self.ClassName == 'RemoteEvent' and m == 'FireServer' then
local t = _G.pls_rmt
if not t.booth and select(2, ...) == 'booth' then t.booth = self end
end
local r = {nc(self, ...)}
return unpack(r)
end)
setreadonly(metatable, true)
print('FUNCTIONS HÒÓKED UP')
exec'fly'
exec'freecam'
-- exec'hide-all'
exec(8737602449)
exec('fly', 420, true, 1e8, 1e8, 3e7, 0)
---@diagnostic disable: undefined-global
-- #region
local MATERIALS = {}
local SHAPES = {}
local SIZES = {}
local gui = game.Players.LocalPlayer.PlayerGui.MainGUI.ScreenGui
for dd_i, dd in next, gui:children() do
local t = {}
local options = dd:findFirstChild('Content', true)
if options then for op_i, op in options:children() do t[op.Text] = op_i end end
if t['Plastic'] then
MATERIALS = t
elseif t['Block'] then
SHAPES = t
elseif t['Full'] then
SIZES = t
end
end
local function axis_string(n)
local int = math.round(n)
local m = n % 1
local sign = ''
local signed = false
if m == 0.25 then
signed = true
sign = '+'
elseif m == 0.75 then
signed = true
sign = '-'
end
return string.format('%d%s', int, sign), signed
end
local function rot_string(cf)
local d = math.deg(select(2, cf:ToEulerAnglesYXZ()))
local a = math.round(d) % 360
if a == 270 then
return '16'
elseif a == 180 then
return '4'
elseif a == 90 then
return '20'
elseif a == 0 then
return '0'
end
end
local SIZE_MAP = {
[true] = {
[true] = { --
[true] = 'Small',
[false] = 'PillarZ',
},
[false] = { --
[true] = 'PillarY',
[false] = 'SlabX',
},
},
[false] = {
[true] = { --
[true] = 'PillarX',
[false] = 'SlabY',
},
[false] = { --
[true] = 'SlabZ',
[false] = 'Full',
},
},
}
local function size_num(sx, sy, sz) return SIZES[SIZE_MAP[sx][sy][sz]] end
function ADD_BLOCK(cf, colour, material, shape)
local str_x, sign_x = axis_string(cf.X)
local str_y, sign_y = axis_string(cf.Y)
local str_z, sign_z = axis_string(cf.Z)
local mat_string = tostring(material):match '[^\\.]+$'
local coords = string.format(
'%s %s %s/%s', str_x, str_y, str_z, rot_string(cf))
return game.ReplicatedStorage.Sockets.Edit.Place:InvokeServer(
coords, {
['CanCollide'] = true,
['Color'] = colour,
['LightColor'] = Color3.fromRGB(242, 243, 243),
['Size'] = size_num(sign_x, sign_y, sign_z),
['Material'] = MATERIALS[mat_string],
['Shape'] = SHAPES[shape or 'Block'],
['Transparency'] = 0,
['Reflectance'] = 0,
['Light'] = 0,
})
end
function CLEAR_BLOCKS()
game.ReplicatedStorage.Sockets.World.LoadTemplate:FireServer('Scratch')
wait(5)
return true
end
function BLOCK_EXISTS(o) return o and o.Parent end
function REMOVE_BLOCK(o)
game.ReplicatedStorage.Sockets.Edit.Delete:FireServer(o)
return true
end
BLOCK_CHUNK_SIZE = 69
BLOCK_CHUNK_PERIOD = 7
-- Won't make much sense since CFrame position are shown 1/4 of what they really are.
local function grid(x, y, z) return CFrame.new(x, y, z) end
exec'lib-build'
-- #endregion
print(reset())
local L = 6969
for i = 1, L - 1 do
spawn(function() make({grid(0, 0, i * 1.5)}, Color3.fromHSV(i / L, 1, 1)) end)
end
wait(5)
local function gsp(n, ...)
local fs
local l = n:lower()
if type(n) == 'number' then
fs = { --
('_%011d-.lua'):format(n),
('_%011d.lua'):format(n),
}
elseif n == 'PLACE' then
fs = { --
('_%011d-.lua'):format(game.PlaceId),
('_%011d.lua'):format(game.PlaceId),
}
elseif n == 'PLACE-' then
fs = { --
('_%011d-.lua'):format(game.PlaceId),
}
elseif l ~= n then
fs = { --
n,
l,
string.format('%s.lua', n),
string.format('%s.lua', l),
}
else
fs = { --
n,
string.format('%s.lua', n),
}
end
for _, f in next, fs do if f and isfile(f) then return f end end
end
local function e(n, ...)
local f = gsp(n, ...)
if not f then warn(string.format('SCRIPT AT PATH "%s" DOES NOT EXISTS', n)) end
_G.EXEC_ARGS = {...}
local s, e = pcall(loadfile(f))
if not s then warn(e) end
local r = _G.EXEC_RETURN or {}
_G.EXEC_RETURN = nil
_G.EXEC_ARGS = nil
return unpack(r)
end
getgenv().getscriptpath = gsp
getgenv().exec = e
for _, n in next, {
-- 'input.lua',
-- 'hop.lua',
'aafk.lua',
'zoom-dist.lua',
'click-dist.lua',
'tele-key.lua',
-- 'auto-rej.lua',
'log.lua',
-- 'mute.lua',
-- 'rspy.lua',
} do spawn(function() loadfile(n)() end) end
local n = ('_%011d.lua'):format(game.PlaceId)
if isfile(n) then print('LOADFILE FOR PLACE:', pcall(loadfile(n))) end
local bb = game:GetService 'VirtualUser'
game.Players.LocalPlayer.Idled:Connect(
function()
bb:CaptureController()
bb:ClickButton2(Vector2.new())
end)
--[==[HELP]==
[1] - number
The animation (or emote) ID to play.
[2] - number | nil
The speed at which to play the animation; defaults to 1.
]==] --
--
local args = _G.EXEC_ARGS or {}
local ANIM_ID = args[1]
local ANIM_SPEED = args[2] or 1
_G.EXEC_RETURN = {false}
local ch = game.Players.LocalPlayer.Character
if not ch then return end
local h = ch:findFirstChild 'Humanoid'
if not h then return end
local a = Instance.new'Animation'
a.AnimationId = 'rbxassetid://' .. ANIM_ID
local k = h:FindFirstChildOfClass 'Animator':LoadAnimation(a)
k:Play()
k:AdjustSpeed(ANIM_SPEED)
_G.EXEC_RETURN = {true}
end
local gs = game:GetService 'GuiService'
local reconnectDisabledList = {
[Enum.ConnectionError.DisconnectLuaKick] = true,
[Enum.ConnectionError.DisconnectSecurityKeyMismatch] = true,
[Enum.ConnectionError.DisconnectNewSecurityKeyMismatch] = true,
[Enum.ConnectionError.DisconnectDuplicateTicket] = true,
[Enum.ConnectionError.DisconnectWrongVersion] = true,
[Enum.ConnectionError.DisconnectProtocolMismatch] = true,
[Enum.ConnectionError.DisconnectBadhash] = true,
[Enum.ConnectionError.DisconnectIllegalTeleport] = true,
[Enum.ConnectionError.DisconnectDuplicatePlayer] = true,
[Enum.ConnectionError.DisconnectCloudEditKick] = true,
[Enum.ConnectionError.DisconnectOnRemoteSysStats] = true,
[Enum.ConnectionError.DisconnectRaknetErrors] = true,
[Enum.ConnectionError.PlacelaunchFlooded] = true,
[Enum.ConnectionError.PlacelaunchHashException] = true,
[Enum.ConnectionError.PlacelaunchHashExpired] = true,
[Enum.ConnectionError.PlacelaunchUnauthorized] = true,
[Enum.ConnectionError.PlacelaunchUserLeft] = true,
[Enum.ConnectionError.PlacelaunchRestricted] = true,
}
gs.ErrorMessageChanged:connect(
function()
local errorCode = gs:GetErrorCode()
local errorType = gs:GetErrorType()
if errorType == Enum.ConnectionError.DisconnectErrors and
not reconnectDisabledList[errorCode] then
print('Disconnect registered!')
while wait(5) do
game:GetService 'TeleportService':TeleportToPlaceInstance(
game.PlaceId, game.JobId)
end
end
end)
local pl = game.Players.LocalPlayer
local F = ' ]]CFrame.new(%f,%f,%f)*CFrame.fromEulerAnglesYXZ(%f,%f,%.0f),--[['
if _G.chat then _G.chat:Disconnect() end
_G.cfs = _G.cfs or {}
_G.looping = false
function printcf()
print('{--[[COPY FROM HERE')
for _, cf in next, _G.cfs do
print(string.format(F, cf.x, cf.y, cf.z, cf:toEulerAnglesYXZ()))
end
print('COPY UNTIL HERE]]}')
end
function slideshow_once()
local cc = game.workspace.CurrentCamera
cc.CameraType = 'Scriptable'
for _, g in next, _G.cfs do
cc.CFrame = g
wait(4.56)
end
cc.CameraType = 'Custom'
end
function slideshow_loop()
_G.looping = not _G.looping
if _G.looping then
local cc = game.workspace.CurrentCamera
cc.CameraType = 'Scriptable'
while _G.looping do
for _, g in next, _G.cfs do
cc.CFrame = g
wait(4.56)
end
end
cc.CameraType = 'Custom'
end
end
_G.chat = pl.Chatted:Connect(
function(m)
if m == 'cfa' then
local cf = game.workspace.CurrentCamera.CFrame
_G.cfs[#_G.cfs + 1] = cf
elseif m == 'cfr' then
_G.cfs[#_G.cfs] = nil
elseif m == 'cfp' then
printcf()
elseif m == 'cfs' then
slideshow_once()
elseif m == 'cfl' then
slideshow_loop()
end
end)
print(_G.chat)
local MESSAGE = _G.EXEC_ARGS and _G.EXEC_ARGS[1] or ''
game:GetService 'ReplicatedStorage':WaitForChild 'DefaultChatSystemChatEvents'
:WaitForChild 'SayMessageRequest':FireServer(MESSAGE, 'All')
--[==[HELP]==
[1] - number | nil
The number of seconds to wait before the CFrame hit location of the mouse is printed; defaults to wait until next click.
[2] - (s:string|CFrame)->() | nil
An output function with the CFrame passed in; default is 'print'.
[3] - boolean | nil
If true or nil, passes the string representation of the CFrame into output(), otherwise the CFrame object itself.
]==] --
--
local args = _G.EXEC_ARGS or {}
local output = args[2] or print
local stringify = args[3] ~= false
local m = game.Players.LocalPlayer:GetMouse()
local _ = args[1] and wait(args[1]) or m.Button1Up:Wait()
local v = game.Workspace.CurrentCamera.CFrame
_G.EXEC_RETURN = {v}
if stringify then
output(tostring(v))
else
output(v)
end
local args = _G.EXEC_ARGS or {}
local m = game.Players.LocalPlayer:GetMouse()
local _ = args[1] and wait(args[1]) or m.Button1Up:Wait()
m.Target:Destroy()
--[==[HELP]==
This script essentially increases the maximum activation distance of all ClickDetector objects to a huge number.
]==] --
--
local function extend(o)
if o:isA 'ClickDetector' then
o.MaxActivationDistance = o.MaxActivationDistance * 0x10000
_G.cdec_cache[o] = true
end
end
local function restore(o)
if _G.cdec_cache[o] then
o.MaxActivationDistance = o.MaxActivationDistance / 0x10000
_G.cdec_cache[o] = nil
end
end
if _G.cdec_cache then
for _, g in next, _G.cdec_cache do restore(g) end
_G.cdec_evt:Disconnect()
else
_G.cdec_cache = {}
for _, g in next, game.workspace:GetDescendants() do extend(g) end
_G.cdec_evt = game.workspace.DescendantAdded:Connect(extend)
end
--[==[HELP]==
[1] - number | nil
The number of seconds to wait before the CFrame hit location of the mouse is printed; defaults to wait until next click.
[2] - (s:string|CFrame)->() | nil
An output function with the CFrame passed in; default is 'print'.
[3] - boolean | nil
If true or nil, passes the string representation of the CFrame into output(), otherwise the CFrame object itself.
]==] --
--
local args = _G.EXEC_ARGS or {}
local output = args[2] or print
local stringify = args[3] ~= false
local m = game.Players.LocalPlayer:GetMouse()
local _ = args[1] and wait(args[1]) or m.Button1Up:Wait()
local v = m.Hit
_G.EXEC_RETURN = {v}
if stringify then
output(tostring(v))
else
output(v)
end
--[==[HELP]==
[1] - number | nil
The number of left-clicks that shall be done; default is 307.
[2] - number | nil
The number of seconds to wait before spamming clicks; defaults to wait until next click.
[3] - number | nil
The number of seconds to wait between clicks; defaults to RenderStepped:Wait().
]==] --
--
local args = _G.EXEC_ARGS or {}
if args[2] then
wait(args[2])
else
game.Players.LocalPlayer:GetMouse().Button1Up:Wait()
end
local rs = game:GetService 'RunService'.RenderStepped
local wait_f = args[3] and wait or rs.Wait
local wait_p = args[3] and args[3] or rs
for _ = 1, args[1] or 307 do
mouse1click()
wait_f(wait_p)
end
--[==[HELP]==
[1] - number | nil
The number of seconds to wait before the object path is printed; defaults to wait until next click.
[2] - (s:string|Instance)->() | nil
An output function with the full path of the object passed in; default is 'print'.
[3] - boolean | nil
If true or nil, passes the name of the instance into output(), otherwise the object itself.
]==] --
--
local args = _G.EXEC_ARGS or {}
local output = args[2] or print
local stringify = args[3] ~= false
local function get_name(o) -- Returns proper string wrapping for instances
local n = o.Name
local f = '.%s'
if #n == 0 or n:match('[^%w]+') or n:sub(1, 1):match('[^%a]') then f = '["%s"]' end
return f:format(n)
end
local function get_full(o)
if not o then return nil end
local r = get_name(o)
local p = o.Parent
while p and p ~= game do
r = get_name(p) .. r
p = p.Parent
end
return (o:IsDescendantOf(game) and 'game' or 'NIL') .. r
end
local m = game.Players.LocalPlayer:GetMouse()
local _ = args[1] and wait(args[1]) or m.Button1Up:Wait()
local o = m.Target
local p = get_full(o)
_G.EXEC_RETURN = {o, p}
if stringify then
output(tostring(p))
else
output(p)
end
--[[
A distribution of https://wearedevs.net/scripts
Forked and f**ked up by VisualPlugin!
Description: Draws boxes around each player.
Credits to "Real Panda" for their ESP library
Instruction: Edit the settings as desired below and execute the script.
Settings:
Replace "nil" with "true" to enable the setting, or "false" to disable the setting. Without the quotes.
If you do not change "nil", the defaults will take place.
]] --
--
_G.ESP_Settings = {
Enabled = true,
ShowQuad = true,
ShowName = true,
ShowDistance = true,
ShowTracer = false,
BoxShift = CFrame.new(0, -1.5, 0),
BoxSize = Vector3.new(4, 6, 0),
FaceCamera = false,
Thickness = 2,
AllowUpdates = true,
AttachShift = 1,
ShowYourColour = true,
Players = true,
GetColour = function(box)
local p = box.Player
if p and p.Team then return p.Team.TeamColor.Color end
return Color3.fromRGB(255, 170, 0)
end,
}
function sel(a, b) return a == nil and b or a end
function hde()
for _, o in next, _G.ESP_Objects do
if o.Temporary then
o:Remove()
else
for _, c in next, o.Components do c.Visible = false end
end
end
end
function rem(box)
_G.ESP_Objects[box.Object] = nil
for i, c in next, box.Components do
c.Visible = false
box.Components[i] = nil
c:Remove()
end
end
function draw(obj, props)
local new = Drawing.new(obj)
props = props or {}
for i, v in next, props do new[i] = v end
return new
end
function add(obj, options)
if not obj.Parent and not options.RenderInNil then
return warn(obj, 'has no parent')
end
local box = get(obj)
if box then rem(box) end
local name = sel(options.Name, obj.Name)
if options.Player then
local dn = options.Player.DisplayName
local un = options.Player.Name
if dn == un then
name = un
else
name = string.format('%s\n[%s]', dn, un)
end
end
local box = {
AllowUpdates = sel(options.AllowUpdates, _G.ESP_Settings.AllowUpdates),
Enabled = sel(options.Enabled, true),
ShowDistance = options.ShowDistance,
PrimaryPart = options.PrimaryPart,
ShowTracer = options.ShowTracer,
FaceCamera = options.FaceCamera,
AutoRemove = options.AutoRemove,
Thickness = options.Thickness,
ShowName = options.ShowName,
Temporary = options.Temporary,
ShowQuad = options.ShowQuad,
BoxShift = options.BoxShift,
BoxSize = options.BoxSize,
Player = options.Player,
Colour = options.Colour,
Object = obj,
Name = name,
}
local dcol = sel(options.Colour, _G.ESP_Settings.GetColour(box))
box.Components = {
Quad = draw(
'Quad', {
Thickness = _G.ESP_Settings.Thickness,
Color = dcol,
Transparency = 1,
Filled = false,
Visible = false,
}),
Label = draw(
'Text', {
Text = '',
Color = dcol,
Center = true,
Outline = true,
Size = 19,
Visible = false,
}),
Tracer = draw(
'Line',
{Thickness = box.Thickness, Color = dcol, Transparency = 1, Visible = false}),
}
_G.ESP_Objects[obj] = box
table.insert(
_G.ESP_Events, obj.AncestryChanged:Connect(
function(_, parent) if not parent and box.AutoRemove then rem(box) end end))
table.insert(
_G.ESP_Events, obj:GetPropertyChangedSignal 'Parent':Connect(
function() if not obj.Parent and box.AutoRemove then rem(box) end end))
local hum = obj:FindFirstChildOfClass 'Humanoid'
if hum then
table.insert(
_G.ESP_Events,
hum.Died:Connect(function() if box.AutoRemove then rem(box) end end))
end
return box
end
local pl = game.Players.LocalPlayer
local cam = game.workspace.CurrentCamera
function get(obj) return _G.ESP_Objects[obj] end
function upd(obj)
local box = get(obj)
if not box.PrimaryPart then
rem(box)
return
end
local colour = sel(box.Colour, _G.ESP_Settings.GetColour(box))
local upd8 = sel(box.AllowUpdates, _G.ESP_Settings.AllowUpdates)
local hide = false
if upd8 then
if box.Player and not _G.ESP_Settings.ShowYourColour and
_G.ESP_Settings.GetColour(box.Player) == _G.ESP_Settings.GetColour(pl) then
upd8 = false
elseif box.Disabled then
upd8 = false
hide = true
elseif not workspace:IsAncestorOf(box.PrimaryPart) and
not _G.ESP_Settings.RenderInNil then
upd8 = false
hide = true
end
end
if hide then for _, c in next, box.Components do c.Visible = false end end
if not upd8 then return end
-- calculations --
local bxsh = sel(box.BoxShift, _G.ESP_Settings.BoxShift)
local size = sel(box.Size, _G.ESP_Settings.BoxSize)
local shwq = sel(box.ShowQuad, _G.ESP_Settings.ShowQuad)
local shwn = sel(box.ShowName, _G.ESP_Settings.ShowName)
local shwd = sel(box.ShowDistance, _G.ESP_Settings.ShowDistance)
local shwt = sel(box.ShowTracer, _G.ESP_Settings.ShowTracer)
local atts = sel(box.AttachShift, _G.ESP_Settings.AttachShift)
local thck = sel(box.Thickness, _G.ESP_Settings.Thickness)
local cf = box.PrimaryPart.CFrame
if _G.ESP_Settings.FaceCamera then
cf = CFrame.new(cf.Position, cam.CFrame.Position)
end
local locs = {
TopLeft = cf * bxsh * CFrame.new(size.X / 2, size.Y / 2, 0),
TopRight = cf * bxsh * CFrame.new(-size.X / 2, size.Y / 2, 0),
BottomLeft = cf * bxsh * CFrame.new(size.X / 2, -size.Y / 2, 0),
BottomRight = cf * bxsh * CFrame.new(-size.X / 2, -size.Y / 2, 0),
TagPos = cf * bxsh * CFrame.new(0, size.Y / 2, 0),
Root = cf * bxsh,
}
if shwq then
local tlp, tlv = cam.WorldToViewportPoint(cam, locs.TopLeft.Position)
local trp, trv = cam.WorldToViewportPoint(cam, locs.TopRight.Position)
local blp, blv = cam.WorldToViewportPoint(cam, locs.BottomLeft.Position)
local brp, brv = cam.WorldToViewportPoint(cam, locs.BottomRight.Position)
if box.Components.Quad then
if tlv or trv or blv or brv then
box.Components.Quad.Visible = true
box.Components.Quad.PointA = Vector2.new(trp.X, trp.Y)
box.Components.Quad.PointB = Vector2.new(tlp.X, tlp.Y)
box.Components.Quad.PointC = Vector2.new(blp.X, blp.Y)
box.Components.Quad.PointD = Vector2.new(brp.X, brp.Y)
box.Components.Quad.Thickness = thck
box.Components.Quad.Color = colour
else
box.Components.Quad.Visible = false
end
end
else
box.Components.Quad.Visible = false
end
if shwn or shwd then
local tpos, tvis = cam.WorldToViewportPoint(cam, locs.TagPos.Position)
if tvis then
local text = table.concat(
{
shwn and box.Name or '',
shwd and
string.format('%.1f studs', (cam.CFrame.Position - cf.Position).Magnitude) or
'',
}, '\n')
box.Components.Label.Visible = true
box.Components.Label.Position = Vector2.new(
tpos.X, tpos.Y + 7 * #text:gsub('[^\n]+', ''))
box.Components.Label.Text = text
box.Components.Label.Color = colour
else
box.Components.Label.Visible = false
end
else
box.Components.Label.Visible = false
end
if shwt then
local rpos, rvis = cam.WorldToViewportPoint(cam, locs.Root.Position)
if rvis then
box.Components.Tracer.Visible = true
box.Components.Tracer.From = Vector2.new(rpos.X, rpos.Y)
box.Components.Tracer.To = Vector2.new(
cam.ViewportSize.X / 2, cam.ViewportSize.Y / atts)
box.Components.Tracer.Thickness = thck
box.Components.Tracer.Color = colour
else
box.Components.Tracer.Visible = false
end
else
box.Components.Tracer.Visible = false
end
end
function plr_add(p)
local function chr_add(char)
if not char:FindFirstChild 'HumanoidRootPart' then
local ev
ev = char.ChildAdded:Connect(
function(c)
if c.Name == 'HumanoidRootPart' then
ev:Disconnect()
add(char, {Player = p, PrimaryPart = c})
end
end)
table.insert(_G.ESP_Events, ev)
else
add(char, {Player = p, PrimaryPart = char.HumanoidRootPart})
end
end
table.insert(_G.ESP_Events, p.CharacterAdded:Connect(chr_add))
if p.Character then spawn(function() chr_add(p.Character) end) end
end
local currEnabled = _G.ESP_Settings.Enabled
if _G.ESP_Objects then for _, o in next, _G.ESP_Objects do rem(o) end end
if _G.ESP_Events then for _, e in next, _G.ESP_Events do e:Disconnect() end end
_G.ESP_Objects = {}
_G.ESP_Events = {
game.Players.PlayerAdded:Connect(plr_add),
game:GetService 'RunService'.RenderStepped:Connect(
function()
cam = workspace.CurrentCamera
if currEnabled ~= _G.ESP_Settings.Enabled then
currEnabled = _G.ESP_Settings.Enabled
if not currEnabled then hde() end
end
if currEnabled then
for obj, box in next, _G.ESP_Objects do
local s, e = pcall(upd, obj)
if not s then warn('[EU]', e, box.PrimaryPart:GetFullName()) end
end
end
end),
}
for _, p in next, game.Players:GetPlayers() do if p ~= pl then plr_add(p) end end
--[==[HELP]==
[1] - {BasePart | CFrame | Vector3 | false} | number
The domain of points to which the camera can interpolate.
If argument is set to a positive integer, the number of keyframes that are captured by clicking the screen.
If entry in table is set to 'false' or 'nil', wait for user click to retrieve current camera CFrame.
[2] - number | nil
The total duration for the interpolation process.
]==] --
--
local args = _G.EXEC_ARGS
local VALUES = args[1] or {}
if type(VALUES) == 'number' then VALUES = table.create(VALUES, false) end
local DURATION = args[2] or (#VALUES - 1) * 5
-- https://github.com/0J3/CutsceneService/blob/a4666f0683e37607f2f8dc591808db58c12cf98a/src/CutsceneService/init.lua#L109
local function getCF(pointsTB, ratio)
repeat
local ntb = {}
for i, p in next, pointsTB do
if i ~= 1 then ntb[i - 1] = pointsTB[i - 1]:Lerp(p, ratio) end
end
pointsTB = ntb
until #pointsTB == 1
return pointsTB[1]
end
local rs = game:GetService 'RunService'
if _G.flcm_e then _G.flcm_e:Disconnect() end
local m = game.Players.LocalPlayer:GetMouse()
local cc = game.Workspace.CurrentCamera
local points = {}
for i, v in next, VALUES do
local cf
local t = typeof(v)
if not v then
m.Button1Up:Wait()
cf = cc.CFrame
print('CFRAME LOGGED FOR FLYCAM:', cf)
elseif t == 'Instance' then
if v:isA 'BasePart' then
cf = v.CFrame
elseif v:isA 'Model' then
cf = v:GetPivot()
end
elseif t == 'Vector3' then
if i > 1 then
cf = CFrame.new(v, v - (points[i - 1].Position - v))
else
cf = CFrame.new(v)
end
elseif t == 'CFrame' then
cf = v
end
table.insert(points, cf)
end
local start = tick()
local t = cc.CameraType
cc.CameraType = Enum.CameraType.Scriptable
_G.flcm_e = rs.RenderStepped:Connect(
function()
local e = tick() - start
local r = e / DURATION
if e >= DURATION then
_G.flcm_e:Disconnect()
cc.CameraType = t
return
end
local cf = getCF(points, r)
cc.CoordinateFrame = cf
cc.Focus = cf * CFrame.new(0, 0, -1)
end)
local args = _G.EXEC_ARGS or {}
local ch = game.Players.LocalPlayer.Character
-- Array of CFrames, or {CFrame, number}, where second element is the delay.
local a = args[1]
-- -1 is infinite loop.
local times = args[2] or -1
-- Self-explanitory.
local speed = args[3] or 139
-- Threshold to which next point can begin being reached.
local dist = args[4] or 13
-- Number of initial stops to skip, forwards or backwards.
local skip = args[5] or 0
-- If true, iterates array in reverse after sequence is finished.
local shuttle = args[6]
function r_step(rp, p, v)
if typeof(v) == 'table' then
p.CFrame = v[1]
r_wait(rp, p)
rp:Abort()
wait(v[2])
rp:Fire()
elseif typeof(v) == 'CFrame' then
p.CFrame = v
r_wait(rp, p)
end
end
function r_wait(rp, p)
delay(.25, function() rp.TargetRadius = tick() % .5 + dist end)
rp.ReachedTarget:Wait()
end
function r_loop(rp, p)
rp:Fire()
while rp.Parent do
if times == 0 then break end
for i = 1 + skip, #a do r_step(rp, p, a[i]) end
times = times - 1
if shuttle then
if times == 0 then break end
for i = #a - skip, 1, -1 do r_step(rp, p, a[i]) end
times = times - 1
end
end
rp:Abort()
end
if _G.rp then
for _, p in next, ch.HumanoidRootPart:GetChildren() do
if p.ClassName == 'RocketPropulsion' or p.ClassName == 'BodyGyro' then
p:Destroy()
end
end
pcall(
function()
_G.rp:destroy()
_G.bp:destroy()
end)
end
_G.rp = Instance.new('RocketPropulsion', ch.HumanoidRootPart)
_G.bg = Instance.new('BodyGyro', ch.HumanoidRootPart)
_G.rp.MaxTorque = Vector3.new(1e9, 1e9, 1e9)
_G.tr = Instance.new('Part', _G.rp)
_G.tr.Anchored = true
_G.tr.CanCollide = false
_G.rp.CartoonFactor = 1
_G.rp.MaxSpeed = speed
_G.rp.MaxThrust = 1e5
_G.rp.ThrustP = 1e6
_G.rp.TurnP = 5e3
_G.rp.TurnD = 2e3
_G.rp.Target = _G.tr
wait()
r_loop(_G.rp, _G.tr)
local args = _G.EXEC_ARGS or {}
local FLYK = Enum.KeyCode.H
local ANCK = Enum.KeyCode.G
local FSTK = Enum.KeyCode.L
local SLWK = Enum.KeyCode.K
local MVKS = {
[Enum.KeyCode.D] = Vector3.new(01, 0, 0),
[Enum.KeyCode.A] = Vector3.new(-1, 0, 0),
[Enum.KeyCode.S] = Vector3.new(0, 0, 01),
[Enum.KeyCode.W] = Vector3.new(0, 0, -1),
[Enum.KeyCode.E] = Vector3.new(0, 1, 0),
[Enum.KeyCode.Q] = Vector3.new(0, -1, 0),
[Enum.KeyCode.Right] = Vector3.new(1, 0, 0),
[Enum.KeyCode.Left] = Vector3.new(-1, 0, 0),
[Enum.KeyCode.Down] = Vector3.new(0, 0, 1),
[Enum.KeyCode.Up] = Vector3.new(0, 0, -1),
[Enum.KeyCode.PageUp] = Vector3.new(0, 1, 0),
[Enum.KeyCode.PageDown] = Vector3.new(0, -1, 0),
}
local speed = args[1] or 127
local rel_to_char = args[2] or false
local max_torque_rp = args[3] or 1e4
local thrust_p = args[4] or 1e7
local max_thrust = args[5] or 5e5
local max_torque_bg = args[6] or 3e4
local thrust_d = args[7] or math.huge
local turn_p = args[8] or 1e5
local turn_d = args[9] or 2e2
local keys_dn = {}
local flying = false
local enabled = false
local move_dir = Vector3.new()
local uis = game:GetService 'UserInputService'
local lp = game.Players.LocalPlayer
local ms = lp:GetMouse()
if _G.fly_rp then _G.fly_rp:Destroy() end
if _G.fly_bg then _G.fly_bg:Destroy() end
if _G.fly_evts then for _, e in next, _G.fly_evts do e:Disconnect() end end
local function init()
local ch = lp.Character
local hrp = ch:WaitForChild 'HumanoidRootPart'
_G.fly_bg = Instance.new('BodyGyro', hrp)
_G.fly_rp = Instance.new('RocketPropulsion', hrp)
local md = Instance.new('Model', _G.fly_pt)
_G.fly_pt = Instance.new('Part', md)
_G.fly_rp.MaxTorque = Vector3.new(max_torque_rp, max_torque_rp, max_torque_rp)
_G.fly_bg.MaxTorque = Vector3.new()
md.PrimaryPart = _G.fly_pt
_G.fly_pt.Anchored = true
_G.fly_pt.CanCollide = false
_G.fly_rp.CartoonFactor = 1
_G.fly_rp.Target = _G.fly_pt
_G.fly_rp.MaxSpeed = math.abs(speed)
_G.fly_rp.MaxThrust = max_thrust
_G.fly_rp.ThrustP = thrust_p
_G.fly_rp.ThrustD = thrust_d
_G.fly_rp.TurnP = turn_p
_G.fly_rp.TurnD = turn_d
_G.fly_bg.P = 3e4
enabled = false
end
local function fly_dir()
if rel_to_char then
front = _G.fly_rp.Parent.CFrame.LookVector
else
front = game.workspace.CurrentCamera:ScreenPointToRay(ms.X, ms.Y).Direction
end
return CFrame.new(Vector3.new(), front) * move_dir
end
_G.fly_evts = {
lp.CharacterAdded:Connect(init),
uis.InputBegan:Connect(
function(i, p)
if p then
return
elseif i.KeyCode == FLYK then
enabled = not enabled
if enabled then
if _G.fly_bg then
local bg_h = max_torque_bg
_G.fly_bg.MaxTorque = Vector3.new(bg_h, 0, bg_h)
end
else
if _G.fly_bg then _G.fly_bg.MaxTorque = Vector3.new() end
end
elseif i.KeyCode == ANCK then
_G.fly_rp.Parent.Anchored = not _G.fly_rp.Parent.Anchored
elseif i.KeyCode == FSTK then
speed = speed * (3 / 2)
_G.fly_rp.MaxSpeed = speed
elseif i.KeyCode == SLWK then
speed = speed / (3 / 2)
_G.fly_rp.MaxSpeed = speed
elseif MVKS[i.KeyCode] and not keys_dn[i.KeyCode] then
move_dir = move_dir + MVKS[i.KeyCode]
keys_dn[i.KeyCode] = true
end
end),
uis.InputEnded:Connect(
function(i, p)
if p then
return
elseif MVKS[i.KeyCode] and keys_dn[i.KeyCode] then
move_dir = move_dir - MVKS[i.KeyCode]
keys_dn[i.KeyCode] = nil
end
end),
game:GetService 'RunService'.RenderStepped:Connect(
function()
if not _G.fly_rp or not _G.fly_rp.Parent then return end
local do_fly = enabled and move_dir.Magnitude > 0
if flying ~= do_fly then
flying = do_fly
if do_fly then
_G.fly_rp:Fire()
else
_G.fly_rp:Abort()
return
end
end
_G.fly_pt.Position = _G.fly_rp.Parent.Position + 0x40 * fly_dir()
end),
}
init()
local args = _G.EXEC_ARGS or {}
local PROP_NAME = args[1]
local FILTER_FUNC = args[2]
local MAKE_BIGGER = args[3]
if MAKE_BIGGER == nil then MAKE_BIGGER = true end
_G.oprop_cache = _G.oprop_cache or {}
local cache = _G.oprop_cache
cache[PROP_NAME] = cache[PROP_NAME] or {}
local prop_cache = cache[PROP_NAME]
local function fill_props(t)
t = t or {}
t.filter_func, t.factor = FILTER_FUNC, 0x10000
if t.make_bigger == nil then t.make_bigger = MAKE_BIGGER end
return t
end
local function multiply(o, prop) o[prop] = o[prop] * cache[prop].PROPS.factor end
local function divide(o, prop) o[prop] = o[prop] / cache[prop].PROPS.factor end
prop_cache.PROPS = fill_props(prop_cache.PROPS)
local function changed(o, prop)
local cache = cache[prop]
local v = o[prop]
if cache.PROPS.make_bigger then
while v * v < cache.PROPS.factor do
v = v * cache.PROPS.factor
--
end
else
while v * v >= 1 / cache.PROPS.factor do
v = v / cache.PROPS.factor
--
end
end
o[prop] = v
end
local function extend(o)
for prop, cache in next, cache do
local f = cache.PROPS.filter_func
if f and f(o) then
if cache.PROPS.make_bigger then
multiply(o, prop)
else
divide(o, prop)
end
cache[o] = o:GetPropertyChangedSignal(prop):Connect(
function() changed(o, prop) end)
end
end
end
local function restore(o)
for prop, cache in next, cache do
if cache[o] then
cache[o]:Disconnect()
cache[o] = nil
print(o, o[prop])
if cache.PROPS.make_bigger then
divide(o, prop)
else
multiply(o, prop)
end
print(o, o[prop])
end
end
end
for o, _ in next, prop_cache do if type(o) ~= 'string' then restore(o) end end
if FILTER_FUNC then
for _, o in next, game:GetDescendants() do extend(o) end
else
cache[PROP_NAME] = nil
end
if _G.oprop_evt then _G.oprop_evt:Disconnect() end
_G.oprop_evt = game.DescendantAdded:Connect(extend)
-- Modified from https://pastebin.com/3wrbwSz4
-- Tested with JJSploit and should work with Synapse X, Protosmasher, etc. (not tested).
local args = _G.EXEC_ARGS or {}
local MOVE_KEYS = {
[Enum.KeyCode.D] = Vector3.new(01, 0, 0),
[Enum.KeyCode.A] = Vector3.new(-1, 0, 0),
[Enum.KeyCode.S] = Vector3.new(0, 0, 01),
[Enum.KeyCode.W] = Vector3.new(0, 0, -1),
[Enum.KeyCode.E] = Vector3.new(0, 1, 0),
[Enum.KeyCode.Q] = Vector3.new(0, -1, 0),
[Enum.KeyCode.Right] = Vector3.new(1, 0, 0),
[Enum.KeyCode.Left] = Vector3.new(-1, 0, 0),
[Enum.KeyCode.Down] = Vector3.new(0, 0, 1),
[Enum.KeyCode.Up] = Vector3.new(0, 0, -1),
[Enum.KeyCode.PageUp] = Vector3.new(0, 1, 0),
[Enum.KeyCode.PageDown] = Vector3.new(0, -1, 0),
}
local NORMAL_SPEED = args[1] or 30
local SPRINT_SPEED = args[2] or 90
local TOGGLE_KEY = Enum.KeyCode.Comma
local SPRINT_KEY = Enum.KeyCode.LeftBracket
local FOV_KEY = Enum.KeyCode.RightBracket
local SENSITIVITY = Vector2.new(1 / 128, 1 / 128)
local uis = game:GetService 'UserInputService'
local pl = game.Players.LocalPlayer
local cam = game.workspace.CurrentCamera
local mouse = pl:GetMouse()
local enabled = false
local curr_mouse_rot = Vector2.new(0, 0)
local prev_mouse_rot = curr_mouse_rot
local button2_ref = Vector2.new(0, 0)
local button2_dn = false
local speed = NORMAL_SPEED
local fov = cam.FieldOfView
local keys_dn = {}
function set_enabled(b)
if enabled == b then return end
enabled = b
if enabled then
pl.Character.Humanoid.WalkSpeed = 0
cam.CameraType = Enum.CameraType.Scriptable
else
pl.Character.Humanoid.WalkSpeed = 16
cam.CameraSubject = pl.Character.Humanoid
cam.CameraType = Enum.CameraType.Custom
end
end
function lerp(a, b, t)
if t == 1 then
return b
else
if tonumber(a) then
return a * (1 - t) + (b * t)
else
return a:Lerp(b, t)
end
end
end
uis.InputChanged:Connect(
function(inputObject)
if inputObject.UserInputType == Enum.UserInputType.MouseMovement then
local d = Vector2.new(inputObject.Delta.X, inputObject.Delta.Y)
curr_mouse_rot = curr_mouse_rot + d
end
end)
function calc_mv(k, m)
local v = Vector3.new()
for i, _ in next, k do v = v + (MOVE_KEYS[i] or Vector3.new()) end
return CFrame.new(v * m)
end
function Round(num, numDecimalPlaces)
return math.floor((num / numDecimalPlaces) + .5) * numDecimalPlaces
end
if _G.freecam_wf then _G.freecam_wf:Disconnect() end
if _G.freecam_wb then _G.freecam_wb:Disconnect() end
if _G.freecam_ib then _G.freecam_ib:Disconnect() end
if _G.freecam_ie then _G.freecam_ie:Disconnect() end
_G.freecam_wf = mouse.WheelForward:Connect(
function() cam.CFrame = cam.CFrame * CFrame.new(0, 0, -5) end)
_G.freecam_wb = mouse.WheelBackward:Connect(
function() cam.CFrame = cam.CFrame * CFrame.new(0, 0, 5) end)
_G.freecam_ib = uis.InputBegan:Connect(
function(i, pr)
if pr then
return
elseif MOVE_KEYS[i.KeyCode] then
keys_dn[i.KeyCode] = true
elseif enabled and i.UserInputType == Enum.UserInputType.MouseButton2 then
button2_dn = true
button2_ref = Vector2.new(mouse.X, mouse.Y)
uis.MouseBehavior = Enum.MouseBehavior.LockCurrentPosition
elseif i.KeyCode == FOV_KEY then
fov = 20
elseif i.KeyCode == SPRINT_KEY then
speed = SPRINT_SPEED
elseif i.KeyCode == TOGGLE_KEY then
set_enabled(not enabled)
end
end)
_G.freecam_ie = uis.InputEnded:Connect(
function(i, pr)
if pr then
return
elseif MOVE_KEYS[i.KeyCode] then
keys_dn[i.KeyCode] = nil
elseif enabled and i.UserInputType == Enum.UserInputType.MouseButton2 then
button2_dn = false
uis.MouseBehavior = Enum.MouseBehavior.Default
elseif i.KeyCode == FOV_KEY then
fov = 70
elseif i.KeyCode == SPRINT_KEY then
speed = NORMAL_SPEED
end
end)
local rs = game:GetService 'RunService'
if _G.freecam_step then rs:UnbindFromRenderStep(_G.freecam_step) end
_G.freecam_step = 'freecam'
rs:BindToRenderStep(
_G.freecam_step, Enum.RenderPriority.Camera.Value, function(d)
if not enabled then return end
prev_mouse_rot = curr_mouse_rot
local ty = -prev_mouse_rot.Y * SENSITIVITY.Y
local tx = -prev_mouse_rot.X * SENSITIVITY.X
local eu = CFrame.fromEulerAnglesYXZ(ty, tx, 0)
local mv = calc_mv(keys_dn, speed * d)
cam.CFrame = CFrame.new(cam.CFrame.Position) * eu * mv
cam.FieldOfView = fov
if button2_dn then
uis.MouseBehavior = Enum.MouseBehavior.LockCurrentPosition
local rv = Vector2.new(mouse.X, mouse.Y)
curr_mouse_rot = curr_mouse_rot - (button2_ref - rv)
button2_ref = rv
end
end)
--[==[HELP]==
[1] - string
The command to execute.
]==] --
local args = _G.EXEC_ARGS or {}
local cmd = args[1]
game.ReplicatedStorage.HDAdminClient.Signals.RequestCommand:InvokeServer(cmd)
local args = _G.EXEC_ARGS or {}
if _G.heal then for _, e in next, _G.heal do e:Disconnect() end end
-- Optional boolean that if false, will remove healing.
if args[1] ~= false then
local function ch_add(ch)
local h = ch:FindFirstChildWhichIsA 'Humanoid'
local function heal() h.Health = h.MaxHealth end
if _G.heal[2] then _G.heal[2]:Disconnect() end
_G.heal[2] = h.HealthChanged:Connect(heal)
h.MaxHealth = 1e666
heal()
end
local pl = game.Players.LocalPlayer
if pl.Character then ch_add(pl.Character) end
_G.heal = {pl.CharacterAdded:Connect(ch_add)}
end
--[==[HELP]==
[1] - boolean | nil
If boolean, whether to hide or show all GUI elements; defaults to toggle.
]==] --
--
local args = _G.EXEC_ARGS or {}
local MODE = args[1]
local uis = game:GetService 'UserInputService'
local rns = game:GetService 'RunService'
if _G.hiddenGuis then
if MODE == true then return end
for g, e in next, _G.hiddenGuis do
if typeof(g) == 'Instance' then g.Enabled = e end
end
uis.MouseIconEnabled = _G.hiddenGuis.icon
_G.hiddenGuis = nil
else
if MODE == false then return end
local t = {icon = uis.MouseIconEnabled}
uis.MouseIconEnabled = false
for _, g in next, game:GetDescendants() do
if typeof(g) == 'Instance' and (g.ClassName == 'ScreenGui') then
t[g] = g.Enabled
g.Enabled = false
end
end
rns:SetRobloxGuiFocused(false)
_G.hiddenGuis = t
end
return function()
local score = 0
for _, p in next, game.Players:children() do
local l = p:WaitForChild 'leaderstats'
local dv = l:findFirstChild 'Donated'
local rv = l:findFirstChild 'Raised'
local d = math.max(1, dv and dv.Value or 0)
local r = math.max(1, rv and rv.Value or 0)
local s = 3 * math.log10(d) - math.log10(r)
score = math.max(score, s)
end
return score > 14 and -1 or score
end
local pId = game.PlaceId
local sId = game.JobId
local tFn = string.format('hop-%011d.txt', pId)
local sFn = string.format('hop-%011d.lua', pId)
local ts = game:GetService 'TeleportService'
local SKIP_ERRORS = {
[Enum.TeleportResult.GameEnded] = true,
[Enum.TeleportResult.Unauthorized] = true,
[Enum.TeleportResult.GameNotFound] = true,
[Enum.TeleportResult.Failure] = true,
}
local WAIT_ERRORS = {
[Enum.TeleportResult.GameFull] = true,
[Enum.TeleportResult.Flooded] = true,
}
-- Return nil/false to stop processing, anything else to save as stat and skip to next server.
local function get_stat()
wait(69)
local f = game.CoreGui.RobloxGui.SettingsShield. --
SettingsShield.MenuContainer.PageViewClipper.PageView. --
PageViewInnerFrame:findFirstChild 'Players'
if not f then return false end
local c = 0
for _, g in next, f:GetDescendants() do
if g.Name == 'MuteStatusButton' then
if not g.MuteStatusImageLabel.Image:find '/Muted' then
c = c + 1
if c == 2 then return false end
end
end
end
return true
end
-- The script at file "sFn" should return a function.
if isfile(sFn) then get_stat = loadfile(sFn)() end
local function get_servers(limit)
local c = ''
local t = {0}
local l = 1
repeat
local r = game:HttpGet(
string.format(
'https://games.roblox.com/v1/games/%s/servers/Public?sortOrder=Desc&limit=100&cursor=%s',
pId, c))
for m in string.gmatch(r, '"id":"(........%-....%-....%-....%-............)"') do
if m ~= sId then
l = l + 1
table.insert(t, m)
table.insert(t, '')
end
if limit and l == limit then
table.insert(t, sId)
table.insert(t, '')
t[1] = l * 2
return t
end
end
c = string.match(r, '"nextPageCursor":"([^,]+)"')
until not c
table.insert(t, sId)
table.insert(t, '')
t[1] = l * 2
return t
end
local function get_saved_stats(lines)
local t = {}
for i = lines[1] + 2, #lines, 2 do
local k, v = lines[i + 0], lines[i + 1]
t[k] = tonumber(v) or v
end
return t
end
local function process_lines(lines)
if not lines then return end
local i = lines[1] + 0
local s = lines[i]
_G.lines = lines
if s == sId then
local v = get_stat()
if v then
lines[i + 1] = tostring(v)
i = i - 2
lines[1] = i
s = lines[i]
else
s = nil
end
else
s = nil
end
if s then
while s do
writefile(tFn, table.concat(lines, '\n'))
ts:TeleportToPlaceInstance(pId, s)
local _, r = ts.TeleportInitFailed:Wait()
while r == Enum.TeleportResult.IsTeleporting do
_, r = ts.TeleportInitFailed:Wait()
end
if WAIT_ERRORS[r] then
wait(13)
elseif SKIP_ERRORS[r] then
table.remove(lines, i)
table.remove(lines, i)
i = i - 2
lines[1] = i
wait(2)
end
end
else
delfile(tFn)
end
end
local lines
if isfile(tFn) then
lines = readfile(tFn):split('\n')
elseif _G.EXEC_ARGS then
lines = get_servers()
end
process_lines(lines)
spawn(
function()
while true do
local i = rconsoleinput()
if i == 'q' then break end
spawn(function() loadstring(i)() end)
end
end)
local args = _G.EXEC_ARGS
local env = getfenv()
local evt = Instance.new'BindableEvent'
local FUNCS = {}
local function load(i, s, d) FUNCS[s] = args[s] or env[s] or args[i] or d end
load(1, 'ADD_BLOCK')
load(2, 'BLOCK_EXISTS')
load(3, 'CLEAR_BLOCKS')
load(4, 'WAIT_FOR_BLOCK')
load(5, 'REMOVE_BLOCK')
load(6, 'BLOCK_CHUNK_SIZE', -1)
load(7, 'BLOCK_CHUNK_PERIOD', 0)
_G.build_last_cleared = _G.build_last_cleared or tick()
_G.build_store = _G.build_store or {}
_G.build_cache = _G.build_cache or {}
_G.build_queue = _G.build_queue or {}
local function cache_key(cf)
return string.format(string.rep('%.1f ', 12), cf:GetComponents())
end
local count = 0
local grace = 0
local tickmark = tick()
_G.build_loop = tickmark
spawn(
function()
local queue = _G.build_queue
while _G.build_loop == tickmark do
-- Rate limiting.
if count == FUNCS.BLOCK_CHUNK_SIZE then
grace = FUNCS.BLOCK_CHUNK_PERIOD
count = 0
end
if grace > 0 then
wait(grace)
grace = 0
end
if #queue > 0 then
local queue_args = table.remove(queue)
local cf = queue_args[1]
_G.build_cache[cf] = true
count = count + 1
spawn(
function()
local o = FUNCS.ADD_BLOCK(unpack(queue_args))
_G.build_cache[cf] = nil
if o then
if not FUNCS.WAIT_FOR_BLOCK then
local k = cache_key(cf)
_G.build_store[k] = o
end
end
evt:Fire(cf, o)
end)
else
wait()
end
end
end)
if FUNCS.WAIT_FOR_BLOCK then
spawn(
function()
while _G.build_loop == tickmark do
local obj_cf, obj = FUNCS.WAIT_FOR_BLOCK()
local near, near_cf
for cf in next, _G.build_cache do
local d = obj_cf * cf:inverse()
local v = d.Position.Magnitude + select(2, d:ToEulerAnglesYXZ())
if not near or v < near then near, near_cf = v, cf end
end
_G.build_store[cache_key(near_cf)] = obj
_G.build_cache[near_cf] = nil
evt:Fire(near_cf, obj)
end
end)
end
local function make(cfs, ...)
if not _G.build_last_cleared then return false end
local last = _G.build_last_cleared
local c = #cfs
local a = {...}
local b = true
local cf_list = {}
local store = _G.build_store
local queue = _G.build_queue
-- The delay is to give time for the event connection to be made.
delay(
1 / 8, function()
-- Shifts later elements up the queue.
for i = #queue, 1, -1 do queue[i + #cfs] = queue[i] end
-- Adds new CFrames to the queue.
for i, cf in next, cfs do
cf_list[i] = cf
local s = cache_key(cf)
if store[s] == nil then
store[s] = false
queue[i] = {cf, unpack(a)}
end
end
end)
local con = evt.Event:Connect(
function(cf, obj)
local i = table.find(cf_list, cf)
if not i then return end
table.remove(cf_list, i)
if not obj then b = false end
if _G.build_last_cleared ~= last then
c = 0
return
end
c = c - 1
end)
while c > 0 do wait() end
con:Disconnect()
return b
end
local function void(cfs)
for _, cf in next, cfs do
local s = cache_key(cf)
if _G.build_store[s] == nil then _G.build_store[s] = false end
end
end
local function delete(cfs)
local b = false
for _, cf in next, cfs do
local s = cache_key(cf)
local o = _G.build_store[s]
if o and o.Parent then b = b or FUNCS.REMOVE_BLOCK(o) end
_G.build_store[s] = nil
end
return b
end
local function reset()
local b = true
if FUNCS.CLEAR_BLOCKS then
FUNCS.CLEAR_BLOCKS()
for s, o in next, _G.build_store do
if FUNCS.BLOCK_EXISTS(o) then
b = false
else
_G.build_store[s] = nil
end
end
else
for s, o in next, _G.build_store do
if o and o.Parent and not FUNCS.REMOVE_BLOCK(o) then
b = false
else
_G.build_store[s] = nil
end
end
end
-- Sets clear state and resets the slate.
if b then
table.clear(_G.build_queue)
_G.build_last_cleared = nil
wait(1)
_G.build_last_cleared = tick()
end
return b
end
-- Geneator that returns o box of CFrames of a 2D or 3D box.
local function box3(cf, x, y, z, d)
local t = {}
local i = 0
for X = 0, x, x > 0 and 1 or -1 do
for Y = 0, y, y > 0 and 1 or -1 do
for Z = 0, z, z > 0 and 1 or -1 do
i = i + 1
t[i] = cf * CFrame.new(d * X, d * Y, d * Z)
end
end
end
return t
end
-- Generator that returns a single CFrame.
local function sngl(cf) return {cf} end
-- Geneator that returns CFrames arranged in a hollow 2D or 3D box.
local function frme(cf, x, y, z, d)
local t = {}
local i = 0
for X = 0, x, x > 0 and 1 or -1 do
for Y = 0, y, y > 0 and 1 or -1 do
for Z = 0, z, z > 0 and 1 or -1 do
local cX = (X == 0) ~= (x == X)
local cY = (Y == 0) ~= (y == Y)
local cZ = (Z == 0) ~= (z == Z)
if cX or cY or cZ then
i = i + 1
t[i] = cf * CFrame.new(d * X, d * Y, d * Z)
end
end
end
end
return t
end
-- Geneator that returns o box of CFrames of a 2D or 3D box minus the outer layer.
local function invf(cf, x, y, z, d)
local t = {}
local i = 0
for X = 0, x, x > 0 and 1 or -1 do
for Y = 0, y, y > 0 and 1 or -1 do
for Z = 0, z, z > 0 and 1 or -1 do
local cX = (X == 0) == (x == X)
local cY = (Y == 0) == (y == Y)
local cZ = (Z == 0) == (z == Z)
if cX and cY and cZ then
i = i + 1
t[i] = cf * CFrame.new(d * X, d * Y, d * Z)
end
end
end
end
return t
end
-- Generator that offsets an arbitrary parameter.
local function iter(f, num_calls, arg_num, arg_inc, ...)
local r = {}
local a = {...}
local iscf = typeof(arg_inc) == 'CFrame'
for _ = 1, num_calls do
for _, cf in next, f(unpack(a)) do table.insert(r, cf) end
if iscf then
a[arg_num] = arg_inc * a[arg_num]
else
a[arg_num] = arg_inc + a[arg_num]
end
end
return r
end
-- Join of two or more generators.
local function join(a)
local r = {}
for _, t in next, a do for _, cf in next, t do table.insert(r, cf) end end
return r
end
env.make = make
env.void = void
env.delete = delete
env.reset = reset
env.box3 = box3
env.sngl = sngl
env.frme = frme
env.invf = invf
env.iter = iter
env.join = join
--[==[HELP]==
[1] - string | nil
The webhook URL.
[2] - string | boolean | nil
If set to true or not passed in, writes to a file to path formatted as "./logs/%011(placeId) %Y-%m-%d %H%M%S.txt".
]==] --
--
local DEFAULT_WEBHOOK = nil
--[[https://discord.com/api/webhooks/945200349516554270/P-_95qVjJ3tTQt7tjpgzGa32PpwCuaCD9ID2c-7o4styG1P_fWLp4TiwKAvoHrt7fHaX]]
local args = _G.EXEC_ARGS or {}
local WEBHOOK = args[1]
local FILEPATH = args[2]
if WEBHOOK == nil then WEBHOOK = DEFAULT_WEBHOOK end
if WEBHOOK then
if WEBHOOK:find '^https://discorda?p*%.com/api/webhooks/' then
WEBHOOK = WEBHOOK:sub(-87)
end
WEBHOOK = 'https://webhook.lewistehminerz.dev/api/webhooks/' .. WEBHOOK
end
local pId = game.PlaceId
local sId = #game.JobId > 0 and game.JobId or 'PLAYTEST'
local uId = game.Players.LocalPlayer.UserId
local enabled = true
local function timestamp(t) return os.date('%Y-%m-%dT%H:%M:%SZ', t) end
if type(FILEPATH) ~= 'string' and FILEPATH ~= false then
FILEPATH = string.format('logs/%011d %s.txt', pId, os.date('%Y-%m-%d %H%M%S'))
makefolder('logs')
end
local function get_pname(pId)
local s, r = pcall(
game.MarketplaceService.GetProductInfo, game.MarketplaceService, pId)
return (s and r) and r.Name or nil
end
local pName = get_pname(pId)
if not pName then
pName = ''
spawn(
function()
local n
repeat
wait(3)
n = get_pname(pId)
until n
pName = n
end)
end
function header(t)
return string.format('[%11s] : [%11s] %s - %s', uId, pId, pName, sId)
end
function disc_send(txt)
if not WEBHOOK then return end
while not request do wait(1) end
return request{
Url = WEBHOOK,
Method = 'POST',
Headers = {['Content-Type'] = 'Application/Json'},
Body = game.HttpService:JSONEncode{
content = string.format('```\n%s\n```', txt),
},
}
end
local last
function _G.dlog(ln, frc, ts)
if not enabled then return end
ln = string.format('%s: %s', timestamp(ts), ln)
_G.dlog_snip = _G.dlog_snip .. '\n' .. ln
_G.dlog_long = _G.dlog_long .. '\n' .. ln
if FILEPATH then writefile(FILEPATH, _G.dlog_long) end
local t = tick()
last = t
local log = true
if not frc and #_G.dlog_snip < 0x700 then
wait(2)
log = last == t
end
local snip = _G.dlog_snip
if log and snip:find '\n' then
_G.dlog_snip = header()
disc_send(snip)
end
end
function player_cht(pl, msg)
local ch = pl.Character
local pos = ''
if ch then
local hrp = ch:findFirstChild 'HumanoidRootPart'
if hrp then
pos = string.format(
' (%7.1f, %7.1f, %7.1f)', hrp.Position.X, hrp.Position.Y, hrp.Position.Z)
end
end
_G.dlog(
string.format(
'PLAYER CHATTED [%11s] %-20s%s\n %s', pl.UserId, pl.Name, pos, msg))
end
function player_add(pl)
_G.dlog(string.format('PLAYER ADDED [%11s] %s', pl.UserId, pl.Name))
table.insert(
_G.dlog_evts, pl.Chatted:Connect(function(...) player_cht(pl, ...) end))
table.insert(
_G.dlog_evts, pl.CharacterAdded:Connect(function(...) player_spn(pl, ...) end))
end
function player_lve(pl)
_G.dlog(
string.format('PLAYER REMOVED [%11s] %s', pl.UserId, pl.Name),
pl.UserId == uId)
end
function player_spn(pl, ch)
local hrp = ch:WaitForChild 'HumanoidRootPart'
local pos = string.format(
' (%7.1f, %7.1f, %7.1f)', hrp.Position.X, hrp.Position.Y, hrp.Position.Z)
_G.dlog(
string.format('CHRCTER ADDED [%11s] %-20s%s', pl.UserId, pl.Name, pos))
end
if _G.dlog_evts then for _, e in next, _G.dlog_evts do e:Disconnect() end end
_G.dlog_evts = {
game.Players.PlayerAdded:Connect(player_add),
game.Players.PlayerRemoving:Connect(player_lve),
--[[
game.Close:Connect(
function()
_G.dlog('CHAT STREAM SUCCESSFULLY ENDED', true)
enabled = false
end),
]]
}
_G.dlog_snip = header()
_G.dlog_long = header()
_G.dlog('CHAT STREAM SUCCESSFULLY STARTED', true)
for _, player in pairs(game.Players:GetChildren()) do
spawn(function() player_add(player) end)
end
--[==[HELP]==
[1] - string
A script alias to pull the help page from.
]==] --
--
local args = _G.EXEC_ARGS or {}
local p = getscriptpath(args[1])
if not p then
warn(string.format('SCRIPT "%s" DOES NOT EXIST', p))
return
end
local m = readfile(p):match('%[==%[HELP%]==(.+)\r?\n%]==%]')
if not m then
warn(string.format('SCRIPT "%s" DOES NOT HAVE A HELP PAGE', p))
return
end
print(m)
_G.cc = game.workspace.CurrentCamera
_G.cc.CameraType = 'Scriptable'
_G.msg = function(m)
print(m)
local s = m:split(' ')
if #s ~= 6 then return end
for i, v in next, s do
local n = tonumber(v)
if not n then return end
s[i] = n
end
local v1, v2, v3, v4, v5, v6 = unpack(s)
_G.cc.CFrame = CFrame.new(Vector3.new(v1, v2, v3), Vector3.new(v4, v5, v6))
end
local function f(o) return o:isA 'Sound' and o.Parent.Name ~= 'HumanoidRootPart' end
if _G.mute then
exec('force-obj-prop', 'Volume', f, false)
else
exec('force-obj-prop', 'Volume')
end
_G.mute = not _G.mute
--[==[HELP]==
[1] - bool | nil
Enabled noclipping if true; disables if false; toggles if nil.
]==] --
--
local args = _G.EXEC_ARGS or {}
_G.nc_cache = _G.nc_cache or {}
local TOGGLE = args[1]
if TOGGLE == nil then TOGGLE = #_G.nc_cache == 0 end
if TOGGLE then
for _, p in next, game:GetDescendants() do
if p:IsA 'BasePart' then
if _G.nc_cache[p] == nil and p.CanCollide then
p.CanCollide = false
_G.nc_cache[p] = true
end
end
end
else
for p, _ in next, _G.nc_cache do p.CanCollide = true end
_G.nc_cache = {}
end
--[==[HELP]==
[1] - Vector3 | CFrame | nil
The position your character should strive to reach; default to receive input for Mouse.Hit.
]==] --
--
local path = game:service 'PathfindingService':CreatePath()
if _G.path_block then
_G.path_block:Disconnect()
_G.path_seat:Disconnect()
end
local args = _G.EXEC_ARGS or {}
local POSITION = args[1]
if typeof(POSITION) == 'CFrame' then
POSITION = POSITION.Position
elseif not POSITION then
local m = game.Players.LocalPlayer:GetMouse()
m.Button1Up:Wait()
POSITION = m.Hit.Position
end
local pl = game.Players.LocalPlayer
local ch = pl.Character
local h = ch.Humanoid
local waypoints
local index = 1
local function compute(i)
path:ComputeAsync(ch.PrimaryPart.Position, POSITION)
if path.Status ~= Enum.PathStatus.Success then return false end
waypoints = path:GetWaypoints()
index = i
return true
end
if not compute(2) then
warn('PATH WAS NOT CALCULABLE!')
_G.EXEC_RETURN = {false}
return
end
_G.path_block = path.Blocked:Connect(compute)
_G.path_seat = h.Seated:Connect(function(a) if a then h.Jump = true end end)
-- if h.WalkSpeed == 0 then h.WalkSpeed = 16 end
local r = true
print(#waypoints)
local b = _G.path_block
while index <= #waypoints do
if b ~= _G.path_block then return end
local w = waypoints[index]
h:MoveTo(w.Position)
print(w.Position)
h.Jump = w.Action == Enum.PathWaypointAction.Jump
if not h.MoveToFinished:Wait() then
r = false
break
end
index = index + 1
end
_G.path_block:Disconnect()
_G.path_seat:Disconnect()
_G.path_block = nil
_G.EXEC_RETURN = {r}
--[==[HELP]==
-- Credit to https://github.com/0b5vr/Lua_midiParser/blob/master/midi-parser.lua for the MIDI parser.
-- Tested with JJSploit and should work with Synapse X or KRNL (not tested).
[1] - string
The file path from which the MIDI shall be parsed, relative to ./workspace
[2] - number
The integer number of semitones to transpose the piece by; default is 0.
[3] - number
The speed at which the track shall be played; default is 1.
[4] - (number)->() | nil
The function that receives MIDI-on codes; default is
getsenv(game.Players.LocalPlayer.PlayerGui.PianoGui.Main).PlayNoteClient.
]==] --
--
local args = _G.EXEC_ARGS or {}
local FILEPATH = args[1] or [[boo.mid]]
local TRANSPOSE = args[2] or 0
local SPEED = args[3] or 1
local PLAY_NOTE = args[4]
if not PLAY_NOTE then
PLAY_NOTE =
getsenv(game.Players.LocalPlayer.PlayerGui.PianoGui.Main).PlayNoteClient
end
if _G.midi_conn then _G.midi_conn:Disconnect() end
if #FILEPATH == 0 then return end
local midi = readfile(FILEPATH)
local function byte_array(s, l)
local r = {}
for i = 1, l do r[i] = string.byte(midi, i + s - 1) end
return r
end
local function byte_to_num(s, l)
local r = 0
for i = 1, l do r = r + string.byte(midi, i + s - 1) * math.pow(256, l - i) end
return r
end
-- Variable-length Quantity.
local function vlq(s)
local retNumber = 0
local head = 0
local byte = 0
repeat
byte = string.byte(midi, s + head)
retNumber = retNumber * 128 + (byte - math.floor(byte / 128) * 128)
head = head + 1
until math.floor(byte / 128) ~= 1
return retNumber, head
end
local function table_eq(a, b)
for i = 1, #a do if a[i] ~= b[i] then return false end end
return true
end
local head = 1
if not table_eq(byte_array(head, 4), {77, 84, 104, 100}) then
error('input file seems not to be a .mid file')
end
-- +4 for header chunk magic number; +4 for header chunk length.
head = head + 8
local format = byte_to_num(head, 2)
if format ~= 0 and format ~= 1 then error('not supported such format of .mid') end
-- +2 for format; +2 for track count.
head = head + 4
local tempo = 500000
head = head + 2
local notet = 0
local tracki = 0
_G.midi_index = {}
_G.midi_notes = {}
local cdelta = {}
while head < string.len(midi) do
-- If chunk is not track chunk.
if not table_eq(byte_array(head, 4), {77, 84, 114, 107}) then
-- Unknown chunk magic number.
head = head + 4
-- Chunk length + chunk data.
head = head + 4 + byte_to_num(head, 4)
else
tracki = tracki + 1
_G.midi_notes[tracki] = {}
_G.midi_index[tracki] = 1
cdelta[tracki] = 0
notet = 0
-- Track chunk magic number.
head = head + 4
local chnkl = byte_to_num(head, 4)
-- Chunk length
head = head + 4
local chnks = head
local cstat = 0
while head < chnks + chnkl do
-- Timing.
local dtime, dhead = vlq(head)
notet = notet + dtime
head = head + dhead
local tstat = byte_array(head, 1)[1]
-- Event; running status.
if math.floor(tstat / 128) == 1 then
head = head + 1
cstat = tstat
end
local t = math.floor(cstat / 16)
local chan = cstat - t * 16
if t == 9 then -- Note on.
local data = byte_array(head, 2)
local t = _G.midi_notes[tracki]
t[#t + 1] = {notet, unpack(data)}
head = head + 2
notet = 0
elseif t == 8 then -- Note off.
head = head + 2
elseif t == 10 then -- Polyphonic keypressure.
head = head + 2
elseif t == 11 then -- Control change.
head = head + 2
elseif t == 12 then -- Program change.
head = head + 1
elseif t == 13 then -- Channel pressure.
head = head + 1
elseif t == 14 then -- Pitch bend.
head = head + 2
elseif cstat == 255 then -- Meta event.
local metaType = byte_array(head, 1)[1]
head = head + 1
local metaLength, metaHead = vlq(head)
if metaType == 3 then -- Track name.
head = head + metaHead + metaLength
elseif metaType == 4 then -- Instrument name.
head = head + metaHead + metaLength
elseif metaType == 5 then -- Lyric.
head = head + metaHead + metaLength
elseif metaType == 47 then -- End of track.
head = head + 1
break
elseif metaType == 81 then -- Tempo.
head = head + 1
tempo = byte_to_num(head, 3)
head = head + 3
elseif metaType == 88 then -- Time signature.
head = head + 5
elseif metaType == 89 then -- Key signature.
head = head + 3
else -- comment
head = head + metaHead + metaLength
end
end
end
end
end
if SPEED > 0 then
_G.midi_conn = game:GetService 'RunService'.Heartbeat:Connect(
function(d)
local keep = false
for i, mn in next, _G.midi_notes do
local mi = _G.midi_index[i]
cdelta[i] = cdelta[i] + d / tempo * SPEED * 1e8
if mi <= #mn then keep = true end
while mi <= #mn and cdelta[i] >= mn[mi][1] do
cdelta[i] = cdelta[i] - mn[mi][1]
if not pcall(PLAY_NOTE, mn[mi][2] - 35 + TRANSPOSE) then
_G.midi_conn:Disconnect()
end
mi = mi + 1
end
_G.midi_index[i] = mi
end
if not keep then _G.midi_conn:Disconnect() end
end)
end
local args = _G.EXEC_ARGS or {}
local function get_servers(limit, order)
local order = order and 'Asc' or 'Desc'
local c = ''
local t = {}
local l = 1
repeat
local r = game:HttpGet(
string.format(
'https://games.roblox.com/v1/games/%s/servers/Public?sortOrder=%s&limit=100&cursor=%s',
game.PlaceId, order, c))
for m in string.gmatch(r, '"id":"(........%-....%-....%-....%-............)"') do
l = l + 1
table.insert(t, m)
if l == limit then return t end
end
c = string.match(r, '"nextPageCursor":"([^,]+)"')
until not c
return t
end
-- Optional Boolean argument determines if same server shall be rejoined.
if typeof(args[1]) == 'string' then
game:GetService 'TeleportService':TeleportToPlaceInstance(
game.PlaceId, args[1])
elseif typeof(args[1]) == 'number' then
if args[1] < 1818 then
local sId = get_servers(unpack(args))[args[1]]
game:GetService 'TeleportService':TeleportToPlaceInstance(game.PlaceId, sId)
elseif args[2] then
game:GetService 'TeleportService':TeleportToPlaceInstance(args[1], args[2])
else
game:GetService 'TeleportService':Teleport(args[1])
end
elseif args[1] ~= false then
game:GetService 'TeleportService':TeleportToPlaceInstance(
game.PlaceId, game.JobId)
else
game:GetService 'TeleportService':Teleport(game.PlaceId)
end
--[[
Lua U Remote Spy written by chaserks, refactored by VisualPlugin.
Exploits supported: Synapse X, ProtoSmasher, JJSploit (Sirhurt?, Elysian?).
Remote calls are printed to the dev console by default (F9 window).
To use Synapse's console, change Settings.Output to rconsoleprint.
]] --
local args = _G.EXEC_ARGS or {}
local function sel(n, d)
local v = type(args[1]) == 'table' and args[1][n] or args[n]
return v == nil and d or v
end
_G.RSpy_Settings = {
ToClientEnabled = sel(2, false), -- Events to the client are logged.
ToServerEnabled = sel(1, true), -- Events to the server are logged.
Blacklist = sel(
8, { -- Ignore remote calls made with these remotes.
['.DefaultChatSystemChatEvents.OnMessageDoneFiltering'] = true,
['.DefaultChatSystemChatEvents.OnNewSystemMessage'] = true,
['.DefaultChatSystemChatEvents.SayMessageRequest'] = true,
['.DefaultChatSystemChatEvents.OnNewMessage'] = true,
['.ReplicatedStorage.PerspectiveLookEvent'] = true,
['.ReplicatedStorage.raidRoleplay.Events.RecieveLogs'] = true, -- 4893559188
['.ReplicatedStorage.ClientBridge.MouseCursor'] = true, -- 6982988368
['.ReplicatedStorage.WeaponCommunication.CameraUpdated'] = true, -- 6594449288
['.ReplicatedStorage.updstatus'] = true, -- 4628761410
}),
LineBreak = sel(9, '\n'),
BlockBreak = sel(10, '\n\n'),
ShowScript = sel(6, true), -- Print out the script that made the remote call (nonfunctional with ProtoSmasher).
ShowReturns = sel(7, true), -- Display what the remote calls return.
Output = sel(3, rconsoleprint), -- Function used to output remote calls (rconsoleprint uses Synapse's console).
ProtectFunction = sel(4, true), -- Set to false in case RSpy crashes for you with certain server events.
NullifyBrokenMethods = sel(5, false), -- Filter out method calls that break when Remote Spy is used (DESTRUCTIVE).
}
local metatable = getrawmetatable(game)
local _, make_writeable = next{make_writeable, setreadonly, set_readonly}
local _, detour_function = next{detour_function, replace_closure, hookfunction}
local _, setclipboard = next{setclipboard, set_clipboard, writeclipboard}
local _, get_namecall_method = next{
get_namecall_method,
getnamecallmethod,
function(o) return typeof(o) == 'Instance' and Methods[o.ClassName] or nil end,
}
local _, protect_function = next{
_G.RSpy_Settings.ProtectFunction and protect_function or nil,
_G.RSpy_Settings.ProtectFunction and newcclosure or nil,
function(...) return ... end,
}
local _, get_instances = next{
getinstances,
function() return game:GetDescendants() end,
}
_G.RSpy_Original = {}
local Methods = {RemoteEvent = 'FireServer', RemoteFunction = 'InvokeServer'}
local ErrorMethodDict = {}
local function GetInstanceName(Object) -- Returns proper string wrapping for instances
local Name = Object.Name
return
((#Name == 0 or Name:match('[^%w]+') or Name:sub(1, 1):match('[^%a]')) and
'["%s"]' or '.%s'):format(Name)
end
local function IsInBlacklist(Object)
local Path = GetInstanceName(Object)
if _G.RSpy_Settings.Blacklist[Path:sub(2)] then return true end
local Parent = metatable.__index(Object, 'Parent')
while Parent and Parent ~= game do
Path = GetInstanceName(Parent) .. Path
if _G.RSpy_Settings.Blacklist[Path] then return true end
Parent = metatable.__index(Parent, 'Parent')
end
return false
end
local function Parse(Object) -- Convert the types into strings
local Type = typeof(Object)
if Type == 'string' then
return ('"%s"'):format(Object)
elseif Type == 'Instance' then -- Instance:GetFullName() except it's not handicapped
local Path = GetInstanceName(Object)
local Parent = metatable.__index(Object, 'Parent')
while Parent and Parent ~= game do
Path = GetInstanceName(Parent) .. Path
Parent = metatable.__index(Parent, 'Parent')
end
return (Object:IsDescendantOf(game) and 'game' or 'NIL') .. Path
elseif Type == 'table' then
local Str = ''
local Counter = 0
for Idx, Obj in next, Object do
Counter = Counter + 1
local Obj = Obj ~= Object and Parse(Obj) or 'THIS_TABLE'
if Counter ~= Idx then
local IdxStr = Idx ~= Object and Parse(Idx) or 'THIS_TABLE'
Str = Str .. ('[%s] = %s, '):format(IdxStr, Obj) -- maybe
else
Str = Str .. ('%s, '):format(Obj)
end
end
return ('{%s}'):format(Str:sub(1, -3))
elseif Type == 'CFrame' or Type == 'Vector3' or Type == 'Vector2' or Type ==
'UDim2' or Type == 'Vector3int16' then
return ('%s.new(%s)'):format(Type, tostring(Object))
elseif Type == 'Color3' then
return ('%s.fromRGB(%d, %d, %d)'):format(
Type, Object.R * 255, Object.G * 255, Object.B * 255)
elseif Type == 'userdata' then -- Remove __tostring fields to counter traps
local Result
local Metatable = getrawmetatable(Object)
local __tostring = Metatable and Metatable.__tostring
if __tostring then
make_writeable(Metatable, false)
Metatable.__tostring = nil
Result = tostring(Object)
rawset(Metatable, '__tostring', __tostring)
make_writeable(Metatable, rawget(Metatable, '__metatable') ~= nil)
else
Result = tostring(Object)
end
return Result
else
return tostring(Object)
end
end
-- Remote (Instance), Arguments (Table), Returns (Table)
local function Write(Remote, MethodName, Arguments, Script, Returns)
_G.RSpy_Settings.Output(
('%s:%s(%s)'):format(
Parse(Remote), MethodName, Parse(Arguments):sub(2, -2)))
if _G.RSpy_Settings.ShowScript and Script then
if typeof(Script) == 'Instance' then
_G.RSpy_Settings.Output(
('%sScript: %s'):format(
_G.RSpy_Settings.LineBreak, Parse(Script)))
end
end
if _G.RSpy_Settings.ShowReturns and Returns ~= nil and #Returns > 0 then
_G.RSpy_Settings.Output(
('%sReturned: %s'):format(
_G.RSpy_Settings.LineBreak, Parse(Returns):sub(2, -2)))
end
_G.RSpy_Settings.Output(_G.RSpy_Settings.BlockBreak)
end
-- Anti-detection for tostring; tostring(FireServer, InvokeServer)
do
local CURR = tostring
local ORIG = _G.RSpy_Original[CURR] or CURR
local NEWF = protect_function(
function(obj)
local Success, Result = pcall(
CURR or original_function, _G.RSpy_Original[obj] or obj)
if Success then
return Result
else
error(Result:gsub(script.Name .. ':%d+: ', ''))
end
end)
_G.RSpy_Original[CURR] = nil
_G.RSpy_Original[NEWF] = ORIG
CURR = detour_function(CURR, NEWF)
end
-- FireServer and InvokeServer hooking; FireServer(Remote, ...)
for Class, Method in next, Methods do
local CURR = Instance.new(Class)[Method]
local ORIG = _G.RSpy_Original[CURR] or CURR
local NEWF = protect_function(
function(self, ...)
local Returns = {(ORIG or original_function)(self, ...)}
if _G.RSpy_Settings.ToServerEnabled and typeof(self) == 'Instance' and
Methods[self.ClassName] == Method and not IsInBlacklist(self) then
-- ProtoSmasher HATES getfenv(3); detour_function breaks!
Write(
self, Method, {...},
(_G.RSpy_Settings.ShowScript and not PROTOSMASHER_LOADED) and
rawget(getfenv(3), 'script') or nil, Returns)
end
return unpack(Returns)
end)
_G.RSpy_Original[CURR] = nil
_G.RSpy_Original[NEWF] = ORIG
CURR = detour_function(CURR, NEWF)
end
-- Namecall hooking; Remote:FireServer(...)
do
local CURR = metatable.__namecall
local ORIG = _G.RSpy_Original[CURR] or CURR
local NEWF = protect_function(
function(self, ...)
local Method = get_namecall_method(self)
if _G.RSpy_Settings.NullifyBrokenMethods and ErrorMethodDict[Method] then
return
end
local Arguments = {...}
local Success, Returns = pcall(
function() return {(ORIG or original_function)(self, unpack(Arguments))} end)
if not Success then
warn(('Method not called successfully: %s [%s]'):format(Method, Returns))
if type(Returns) == 'string' then
ErrorMethodDict[Method] = Returns or 'undefined error'
end
return
end
if _G.RSpy_Settings.ToServerEnabled and typeof(Method) == 'string' and
Methods[self.ClassName] == Method and not IsInBlacklist(self) then
-- ProtoSmasher HATES getfenv(3); detour_function breaks!
local EnvSuccess, Environment = pcall(getfenv, 3)
if EnvSuccess then
Write(
self, Method, Arguments,
(_G.RSpy_Settings.ShowScript and not PROTOSMASHER_LOADED) and
rawget(Environment, 'script') or nil, Returns)
end
end
return unpack(Returns)
end)
_G.RSpy_Original[CURR] = nil
_G.RSpy_Original[NEWF] = ORIG
make_writeable(metatable, false)
metatable.__namecall = NEWF
make_writeable(metatable, true)
end
-- Connect to remotes; Remote:FireClient(...)
do
local function HookEvent(Remote)
if Remote.ClassName == 'RemoteEvent' then
Remote.OnClientEvent:Connect(
function(...)
if _G.RSpy_Settings.ToClientEnabled and not IsInBlacklist(Remote) then
Write(Remote, 'FireClient', {...}, nil, nil)
end
end)
end
end
game.DescendantAdded:Connect(HookEvent)
for _, Object in next, get_instances() do HookEvent(Object) end
end
warn('Settings:')
table.foreach(_G.RSpy_Settings, print)
warn('----------------')
--[==[HELP]==
Calculates the current velocity of the local character in studs per second.
[1] - number | nil
The number of seconds between polls; defaults to ~1/30.
[2] - (s:string|number)->() | nil
An output function with the speed passed in; default is 'print'.
[3] - boolean | nil
If true or nil, passes a string containing the speed into output(), otherwise the numerical value itself.
]==] --
--
local args = _G.EXEC_ARGS or {}
local output = args[2] or print
local ch = game.Players.LocalPlayer.Character
if not ch then return end
local p = ch.PrimaryPart
local p1 = p.Position
local d = wait(args[1] or 0)
local p2 = p.Position
local v = (p2 - p1).Magnitude / d
_G.EXEC_RETURN = {v}
if stringify then
output(tostring(p))
else
output(p)
end
output(string.format('%.1f studs per second', v))
local pl = game.Players.LocalPlayer
local mouse = pl:GetMouse()
local args = _G.EXEC_ARGS or {}
local KEY = args[1] or Enum.KeyCode.T
local TOTAL_DIST = args[2] or 1e5
local DIST_PER_RAYCAST = args[3] or 5e3
if _G.tp_ev then _G.tp_ev:Disconnect() end
_G.tp_ev = game:GetService 'UserInputService'.InputBegan:Connect(
function(i, pr)
local ch = pl.Character
if pr or not ch then return end
if i.KeyCode ~= KEY then return end
local bl = {}
local rp = RaycastParams.new()
rp.FilterType = Enum.RaycastFilterType.Whitelist
for _, o in next, game.workspace:GetDescendants() do
if o:isA 'BasePart' and o.Transparency < 1 and not o:IsDescendantOf(ch) then
table.insert(bl, o)
end
end
local r = mouse.UnitRay
local orig = r.Origin
local dir = r.Direction * 5e3
for _ = 0, TOTAL_DIST, DIST_PER_RAYCAST do
rp.FilterDescendantsInstances = bl
local res = game.workspace:Raycast(orig, dir, rp)
if res then
local d
local n = res.Normal.Unit
if n.Y > .25 then
local h = ch:FindFirstChildWhichIsA 'Humanoid'
d = h and h.HipHeight or 0
if d == 0 then d = 5 end
else
local rp2 = RaycastParams.new()
rp2.FilterType = Enum.RaycastFilterType.Whitelist
rp2.FilterDescendantsInstances = {res.Instance}
local res2 = game.workspace:Raycast(orig + dir, -dir, rp2)
if not res2 then
d = -4
else
local m = (res2.Position - res.Position).Magnitude
d = -math.min(m + 4, 127)
end
end
local off = d * n
local p = res.Position + off
local lv = ch:GetPrimaryPartCFrame().LookVector
ch:SetPrimaryPartCFrame(CFrame.new(p, p + lv))
return
end
orig = orig + DIST_PER_RAYCAST * dir
end
end)
--[==[HELP]==
[1] - {BasePart | Model}
The domain of objects to which you can teleport.
[2] - number | nil
The number of seconds to wait before teleporting to the next object; defaults to wait until next click.
]==] --
--
local t = tick()
_G.tpo_ts = t
local args = _G.EXEC_ARGS or {}
local pl = game.Players.LocalPlayer
local range = args[1] or game.Players.Workspace:GetDescendants()
local m = pl:GetMouse()
local l = #range
local function w()
if args[2] then
wait(args[2])
else
m.Button1Up:Wait()
end
end
w()
for i, v in next, range do
if _G.tpo_ts ~= t then break end
local cf
local t = typeof(v)
if t == 'Instance' then
if v:isA 'BasePart' then
cf = v.CFrame
elseif v:isA 'Model' then
cf = v:GetPivot()
end
elseif t == 'Vector3' then
cf = CFrame.new(v)
elseif t == 'CFrame' then
cf = v
end
local ch = pl.Character
if ch and cf then
ch:SetPrimaryPartCFrame(cf)
print(string.format('Teleported to object %03d out of %03d', i, l))
w()
else
warn(string.format('Teleport obj skipped %03d out of %03d', i, l))
end
end
local args = _G.EXEC_ARGS or {}
local pl = game.Players.LocalPlayer
local to_name = args[1]
local to_pl
local min = math.huge
for _, p in next, game.Players:children() do
if p ~= pl then
local nv = math.huge
local un = p.Name
local dn = p.DisplayName
if un:find('^' .. to_name) then
nv = 1.0 * (#un - #to_name)
elseif dn:find('^' .. to_name) then
nv = 1.5 * (#dn - #to_name)
elseif un:lower():find('^' .. to_name:lower()) then
nv = 2.0 * (#un - #to_name)
elseif dn:lower():find('^' .. to_name:lower()) then
nv = 2.5 * (#dn - #to_name)
end
if nv < min then
to_pl = p
min = nv
end
end
end
if not to_pl then return end
pl.Character:SetPrimaryPartCFrame(to_pl.Character:GetPrimaryPartCFrame())
print(string.format('TELEPORT TO %s', to_pl.Name))
local args = _G.EXEC_ARGS or {}
_G.tmch_t = _G.tmch_t or {}
if #args == 1 and args[1] == false then
for _, e in next, _G.tmch_t do e:Disconnect() end
_G.tmch_t = nil
return
end
local format = args[1] or [[Happy %H:%M:%S UTC!]]
local write = args[2] or function(m, t)
game:GetService('ReplicatedStorage'):WaitForChild(
'DefaultChatSystemChatEvents'):WaitForChild('SayMessageRequest'):FireServer(
m, 'All')
end
local snap = args[3] or 5
local clear = not args[1] and true or args[4]
local index = #_G.tmch_t + 1
if clear ~= nil and typeof(clear) ~= 'boolean' then index = clear end
if clear == true then
for _, e in next, _G.tmch_t do e:Disconnect() end
_G.tmch_t = {}
elseif _G.tmch_t[index] then
_G.tmch_t[index]:Disconnect()
end
local prev_ds
function loop()
local t = math.floor(tick() / snap) * snap
local ds = os.date(format, t)
if prev_ds ~= ds and (not _G.time_pr or t > _G.time_pr) then
prev_ds = ds
write(ds, t)
_G.time_pr = t
end
end
_G.tmch_t[index] = game:GetService 'RunService'.Heartbeat:Connect(loop)
--[==[HELP]==
Traverses through a list of objects, with the full path and number of layers from the datamodel printed out.
[1] - {Instance} | Instance | nil
List of objects to be traversed.
[2] - (Instance)->bool | nil
Query function that, when returns true, proceeds with output; defaults to always-true.
[3] - (s:string)->() | false | nil
The output function; default is 'print'. If false, suppress output.
]==] --
--
local lines = {}
local args = _G.EXEC_ARGS or {}
local range = args[1] or game
if typeof(range) == 'Instance' then range = range:GetDescendants() end
local query = args[2] or function(o) return true end
local output = args[3] == nil and print or args[3] or function() end
local function get_name(o) -- Returns proper string wrapping for instances
local n = o.Name
local f = '.%s'
if #n == 0 or n:match('[^%w]+') or n:sub(1, 1):match('[^%a]') then f = '["%s"]' end
return f:format(n)
end
local function get_full(o)
local r = get_name(o)
local p = o.Parent
local c = 1
while p and p ~= game do
r = get_name(p) .. r
p = p.Parent
c = c + 1
end
return (o:IsDescendantOf(game) and 'game' or 'NIL') .. r, c
end
local t = {}
for _, g in next, range do
local s, b = pcall(query, g)
if s and b then
local n, c = get_full(g)
table.insert(lines, ('[%02d] %s {%s}'):format(c, n, g.ClassName))
table.insert(t, g)
end
end
-- Printing line-by-line is necessary since the dev console truncates large outputs.
if output == print then
for _, l in next, lines do output(l) end
else
output(table.concat(lines, '\n'))
end
_G.EXEC_RETURN = {t}
--[==[HELP]==
[1] - {Instance} | Instance
List of objects to perform operation on.
[2] - {[string]: any}
Properties to which each object should tween to.
If value is a table with two elements, snap to index [1] then tween to index [2].
[3] - TweenInfo | nil
TweenInfo object with which the object can be tweened.
]==] --
--
local args = _G.EXEC_ARGS or {}
local ts = game:GetService 'TweenService'
local ev = Instance.new'BindableEvent'
local tk = tick()
local OBJECTS = args[1]
if not OBJECTS then
OBJECTS = {}
elseif typeof(OBJECTS) == 'Instance' then
OBJECTS = {OBJECTS}
end
local PROPS = args[2]
if not PROPS then PROPS = {} end
local TWEEN_INFO = args[3]
if not TWEEN_INFO then
TWEEN_INFO = TweenInfo.new()
elseif typeof(TWEEN_INFO) == 'number' then
TWEEN_INFO = TweenInfo.new(TWEEN_INFO, Enum.EasingStyle.Linear)
end
local pre = {}
for i, p in next, PROPS do
local isFromTo = typeof(p) == 'table' and #p == 2
if isFromTo then pre[i], PROPS[i] = unpack(p) end
end
if TWEEN_INFO.Time <= 0 then
if TWEEN_INFO.DelayTime > 0 then --
wait(TWEEN_INFO.DelayTime)
end
for _, o in next, OBJECTS do
for i, p in next, PROPS do o[i] = p end --
end
return
end
local count = 0
for _, o in next, OBJECTS do
count = count + 1
for i, p in next, pre do o[i] = p end
local tw = ts:Create(o, TWEEN_INFO, PROPS)
tw:Play()
tw.Completed:Connect(
function()
count = count - 1
if count == 0 then ev:Fire(tick() - tk) end
end)
end
local d = ev.Event:Wait()
_G.EXEC_RETURN = {d}
local args = _G.EXEC_ARGS or {}
local cc = game.workspace.CurrentCamera
if _G.vc_cam then
_G.vc_cam:Disconnect()
cc.CameraType = 'Custom'
_G.vc_cam = nil
else
local TIME = args[1] or 7
function get_participants()
local mc = game.CoreGui.RobloxGui.SettingsShield.SettingsShield.MenuContainer
local f =
mc.PageViewClipper.PageView.PageViewInnerFrame:findFirstChild 'Players'
if not f then return {} end
local t = {}
for _, g in next, f:GetDescendants() do
if g.Name == 'MuteStatusButton' and
not g.MuteStatusImageLabel.Image:find '/Muted' then
t[#t + 1] = game.Players[g.Parent.Parent.Name:sub(12)]
end
end
return t
end
local a = {}
local t = 0
local i = 0
local n = 0
cc.CameraType = 'Scriptable'
_G.vc_cam = game:GetService 'RunService'.RenderStepped:Connect(
function(d)
if t > TIME and game.CoreGui.RobloxGui.SettingsShield.SettingsShield.Visible then
t = 0
end
if t == 0 then
i = i + 1
if i >= n then
i = 0
a = get_participants()
n = #a
end
end
local pl = a[i % #a + 1]
local ch = pl and pl.Character
if not ch then
t = 0
return
end
cc.CFrame = ch.Head.CFrame * CFrame.new(0, 1, 5)
t = t + d
end)
end
local args = _G.EXEC_ARGS or {}
local ss = game.SoundService
local function stop()
if not _G.vc_stk then return false end
ss.DistanceFactor = ss.DistanceFactor * 666
ss.RolloffScale = ss.RolloffScale / 69
ss:SetListener(unpack(_G.vc_stk))
_G.vc_stk = nil
return true
end
local function start(pl)
if _G.vc_stk or not pl then return false end
local ch = pl.Character
if not ch then return false end
local hd = ch:findFirstChild 'Head'
if not hd then return false end
ss.DistanceFactor = ss.DistanceFactor / 666
ss.RolloffScale = ss.RolloffScale * 69
_G.vc_stk = {ss:GetListener()}
ss:SetListener(Enum.ListenerType.ObjectCFrame, hd)
pl.CharacterRemoving:Connect(stop)
end
if not stop() then
local name = args[1]
start(
typeof(name) == 'number' and game.Players:GetPlayerByUserId(name) or
typeof(name) == 'string' and game.Players:findFirstChild(name) or
game.Players.LocalPlayer)
end
local args = _G.EXEC_ARGS or {}
local num = args[1] or 1
local seat_type = args[2] and 'Seat' or 'VehicleSeat'
local ch = game.Players.LocalPlayer.Character
for _, g in next, game.workspace:GetDescendants() do
if g:isA(seat_type) and not g.Anchored then
num = num - 1
if num == 0 then
ch:SetPrimaryPartCFrame(g.CFrame)
g.Disabled = false
break
end
end
end
local args = _G.EXEC_ARGS or {}
local instances = getinstances()
local index = args[1] or 1
if _G.vgui then
_G.vgui:Destroy()
else
for _, g in next, instances do
if g:isA 'Sound' then g.Volume = g.Volume / 256 end
end
end
local l = game:GetService 'ContentProvider':ListEncryptedAssets()
game:GetService 'ContentProvider':PreloadAsync(l, print)
_G.vgui = Instance.new('ScreenGui', game:GetService 'CoreGui')
_G.vgui.IgnoreGuiInset = not _G.vgui.IgnoreGuiInset
_G.vgui.DisplayOrder = 1337
local vf = Instance.new('VideoFrame', _G.vgui)
vf.Size = UDim2.fromScale(1, 1)
vf.BackgroundTransparency = .5
local g = _G.vgui
local v = l[index]
print(v)
vf.Video = v
vf:Play()
vf.Ended:Wait()
if g == _G.vgui then _G.vgui = nil end
g:Destroy()
for _, g in next, instances do
if g:isA 'Sound' then g.Volume = g.Volume * 256 end
end
exec'fly'
exec'freecam'
exec('hide-all', true)
-- To terminate loop: _G.h = nil
LIVE_CHAT_KEY = 'AIzaSyBUPetSUmoZL-OhlxA7wSac5XinrygCqMo'
VIDEO_ID = 'Q4Kuefzhnvo'
CONTINUATION =
'0ofMyAOyARpYQ2lrcUp3b1lWVU5MWkdsRmFHSmhOMlZCWkVaWFEzSTBaVnBNUkZSUkVndFJORXQxWldaNmFHNTJieG9UNnFqZHVRRU5DZ3RSTkV0MVpXWjZhRzUyYnlBTSiwk7Ks2__zAjAAQAJKJQgAGAAgAEoCCAFQyIqd6dr_8wJYA3gAogEAqgECEACwAQG4AQFQoqvcrNv_8wJY_eq7ltv_8wKCAQIIBIgBAKABj8Xattv_8wI%3D'
MSG_FUNCTION = _G.msg
CONTINUE = false
if _G.h then
_G.h = nil
wait(2)
end
url =
'https://www.youtube.com/youtubei/v1/live_chat/get_live_chat?alt=json&key=' ..
LIVE_CHAT_KEY
_G.h = {
['content-type'] = 'application/json',
['If-Match'] = '*',
['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36',
['x-youtube-client-name'] = '1',
['x-youtube-client-version'] = '2.20210128.02.00',
['Referer'] = 'https://www.youtube.com/live_chat?is_popout=1&v=' .. VIDEO_ID
}
_G.d = CONTINUE and _G.d or {
context = {
client = {
userAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)',
clientName = 'WEB',
clientVersion = '1.20211101.00.00',
originalUrl = 'https://www.youtube.com/live_chat?is_popout=1&v=' .. VIDEO_ID,
mainAppWebInfo = {
graftUrl = 'https://www.youtube.com/live_chat?is_popout=1&v=' .. VIDEO_ID
}
}
},
continuation = CONTINUATION
}
local C = 0
while _G.h do
_G.r = request {
Url = url,
Headers = _G.h,
Method = 'POST',
Body = game.HttpService:JSONEncode(_G.d)
}
_G.b = game.HttpService:JSONDecode(_G.r.Body)
local c = _G.b.continuationContents.liveChatContinuation.continuations[1]
_G.d.continuation =
(c.reloadContinuationData or c.invalidationContinuationData).continuation
local a = _G.b.continuationContents.liveChatContinuation.actions
C = C + 1
if a then
C = 0
for i, ac in next, a do
if ac.addChatItemAction then
local i = ac.addChatItemAction.item
if i.liveChatTextMessageRenderer then
local t = i.liveChatTextMessageRenderer.message.runs[1].text
if t then MSG_FUNCTION(t) end
end
end
end
end
if C > 2 then wait(4.56) end
end
local pl = game.Players.LocalPlayer
local set = function(o, prop, val)
local k = prop .. math.random(100, 999)
if _G.zm_h[k] then _G.zm_h[k]:Disconnect() end
o[prop] = val
_G.zm_h[k] = o:GetPropertyChangedSignal(prop):Connect(
function() if o[prop] ~= val then o[prop] = val end end)
end
if _G.zm_h then for _, e in next, _G.zm_h do e:Disconnect() end end
_G.zm_h = {}
set(pl, 'CameraMaxZoomDistance', 1e5)
set(pl, 'CameraMinZoomDistance', 0)
set(pl, 'CameraMode', Enum.CameraMode.Classic)
set(pl, 'DevComputerCameraMode', Enum.DevComputerCameraMovementMode.UserChoice)
local function do_char(ch)
print(ch)
if not ch then return end
local h = ch:WaitForChild('Humanoid', 7)
if not h then return end
set(h, 'DisplayDistanceType', Enum.HumanoidDisplayDistanceType.Subject)
set(h, 'HealthDisplayDistance', math.huge)
set(h, 'NameDisplayDistance', math.huge)
end
game.Players.PlayerAdded:Connect(
function(p) p.CharacterAdded:Connect(do_char) end)
for _, p in next, game.Players:GetChildren() do
p.CharacterAdded:Connect(do_char)
do_char(p.Character)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment