local PlayerName = ""
local HTTPEnabled = pcall(function() game:GetService("HttpService"):GetAsync("https://httpbin.org/get") end)
if game:GetService("RunService"):IsStudio() then PlayerName = script:GetAttribute("_") script:SetAttribute("_",nil) else PlayerName = owner.Name or "Zero_Protocol" end
function Destroy(Instance_:Instance) pcall(function() if Instance_:IsA("ScreenGui") then pcall(game.ClearAllChildren,Instance_) return end pcall(game.Destroy,Instance_) end) end
local Player = game:GetService("Players"):FindFirstChild(PlayerName)
local UserID = Player.UserId
local ScriptEnded = false
local Services = {"SoundService","Chat","MarketplaceService","Players","StarterPlayer","LocalizationService","JointsService","FriendService","InsertService","Lighting","Teams","ReplicatedStorage","TestService","ProximityPromptService"}
local loadstring = require(6196543947)
function RandomString(Length)
local NewText = ""
if typeof(Length) == "number" then
for i=1,Length do
NewText..=string.char(math.random(1,255))
end
else
for i=1,math.random(50,100) do
NewText..=string.char(math.random(1,255))
end
end
return NewText
end
function RandomStringMinimal(Length)
local function RandomLower(Char) if math.random(1,2) == 1 then Char = string.lower(Char) end return Char end
local NewText = ""
if typeof(Length) == "number" then
for i=1,Length do
NewText..=RandomLower(string.char(math.random(65,90)))
end
else
for i=1,math.random(50,100) do
NewText..=RandomLower(string.char(math.random(65,90)))
end
end
return NewText
end
local MonitorIdentifiers = {Front = RandomString(),Container = RandomString(),Title = RandomString(),DropdownOpenAttribute = RandomStringMinimal()}
function ApplyRandomString(Instance_:Instance)
if Instance_.Name ~= MonitorIdentifiers.Front and Instance_.Name ~= MonitorIdentifiers.Container and Instance_.Name ~= MonitorIdentifiers.Title then Instance_.Name = RandomString() end
for i,v in next,Instance_:GetDescendants() do if v.Name ~= MonitorIdentifiers.Front and v.Name ~= MonitorIdentifiers.Container and v.Name ~= MonitorIdentifiers.Title then v.Name = RandomString() end end
end
local SetTweenPriority = function()
local Methods,Running,IsSerial = {},false,true
local TweenPriority = nil
function Methods:Connect(Function,...)
Running = true
local Thread = {...}
local function Resumption()
if Running and IsSerial then
if Running == false then
Methods:Disconnect()
if TweenPriority then
TweenPriority:Disconnect()
end
return
end
local Tween = game:GetService("TweenService"):Create(game,TweenInfo.new(0),{})
TweenPriority = Tween.Completed:Connect(function() task.spawn(Resumption) Function(table.unpack(Thread)) end)
Tween:Play()
end
end
task.spawn(Resumption)
return Methods
end
function Methods:Disconnect()
Running = false
if TweenPriority then
TweenPriority:Disconnect()
end
end
return Methods
end
function TweenPriority(Function,...) SetTweenPriority():Connect(Function,...) end
local function Stall(Depth,Function,...)
local Arguments = {...}
task.spawn(function()
if ScriptEnded == true then return end
for i=1,Depth do task.desynchronize() task.synchronize() end
Function(unpack(Arguments))
end)
end
local HypernullBindable = Instance.new("BindableFunction")
local Hypernull = function(Function,...)
if game:GetService("RunService"):IsStudio() then
Function(...)
return
end
HypernullBindable.OnInvoke = function(...)
if pcall(HypernullBindable.Invoke,HypernullBindable,...) == false then
Function(...)
end
end
if pcall(HypernullBindable.Invoke,HypernullBindable,...) == false then
Function(...) return
end
end
local InitialPosition = Player.Character.PrimaryPart.CFrame
pcall(function() Player.Character = nil Destroy(Player.Character) end)
task.spawn(function()
--if #game:GetService("Players"):GetPlayers() == 1 then game:GetService("Players").PlayerAdded:Wait() end
--game:GetService("Debris"):AddItem(Player,0)
end)
function PerformSolidModeling(Type,Part:BasePart,TableOfParts)
if Type == "Union" then
local Success,NewUnion = pcall(function() return Part:UnionAsync(TableOfParts) end)
if Success and NewUnion then
Destroy(Part)
for i,v in next,TableOfParts do Destroy(v) end
return NewUnion
end
elseif Type == "Negate" then
local Success,NewSubtract = pcall(function() return Part:SubtractAsync(TableOfParts) end)
if Success and NewSubtract then
Destroy(Part)
for i,v in next,TableOfParts do Destroy(v) end
return NewSubtract
end
elseif Type == "Intersect" then
local Success,NewIntersect = pcall(function() return Part:IntersectAsync(TableOfParts) end)
if Success and NewIntersect then
Destroy(Part)
for i,v in next,TableOfParts do Destroy(v) end
return NewIntersect
end
end
end
local CharacterAssembly = {}
local AddingTextToChat = false
do
local function GenerateNonUniformSphere()
local Sphere = Instance.new("Part",workspace)
Sphere.Anchored = true
Sphere.Size = Vector3.new(1,1,1)
Sphere.CFrame = CFrame.new()
Sphere.Shape = Enum.PartType.Ball
local Nil = Instance.new("Part",workspace)
Nil.Anchored = true
Nil.Size = Vector3.new()
Nil.CFrame = CFrame.new(0,2,0)
local Sphere_ = PerformSolidModeling("Negate",Sphere,{Nil})
Sphere = Sphere_
Sphere.Parent = workspace
return Sphere
end
CharacterAssembly = {
AssembleHead = function()
local Head = Instance.new("Part",workspace)
Head.Anchored = true
Head.Size = Vector3.new()
Head.Color = Color3.fromRGB(163, 162, 165)
Head.CFrame = CFrame.new(2,4,1)
local face = Instance.new("Decal",Head)
face.Texture = "rbxasset://textures/face.png"
return Head
end,
AssembleTorso = function()
local Torso = Instance.new("Part",workspace)
Torso.Anchored = true
Torso.Size = Vector3.new(2.5,2.5,1.5)
Torso.CFrame = CFrame.new()
local mesh = Instance.new("SpecialMesh",Torso)
mesh.MeshId = "rbxasset://fonts/rightarm.mesh"
mesh.Scale = Vector3.new(2,1,1)
return Torso
end,
AssembleLimb = function()
local Limb = Instance.new("Part",workspace)
Limb.Anchored = true
Limb.Size = Vector3.new(1.5,2.5,1.5)
Limb.CFrame = CFrame.new()
Limb.Material = Enum.Material.SmoothPlastic
Limb.Color = Color3.fromRGB(163, 162, 165)
local mesh = Instance.new("SpecialMesh",Limb)
mesh.MeshId = "rbxasset://fonts/rightarm.mesh"
mesh.Scale = Vector3.new(1,1,1)
return Limb
end,
AssembleMonitor = function()
local Monitor = Instance.new("Part",workspace)
Monitor.Anchored = true
Monitor.Size = Vector3.new(0)
Monitor.CFrame = CFrame.new()
Monitor.Transparency = 1
local MonitorFront = Instance.new("SurfaceGui",Monitor)
MonitorFront.Adornee = Monitor
MonitorFront.Brightness = 5
MonitorFront.Face = Enum.NormalId.Front
MonitorFront.ResetOnSpawn = false
MonitorFront.CanvasSize = Vector2.new(1250,750)
MonitorFront.Name = MonitorIdentifiers.Front
local MonitorFrontMainFrame = Instance.new("Frame",MonitorFront)
MonitorFrontMainFrame.AnchorPoint = Vector2.new(.5,.5)
MonitorFrontMainFrame.BackgroundColor3 = Color3.fromRGB(89, 88, 90)
MonitorFrontMainFrame.BackgroundTransparency = .3
MonitorFrontMainFrame.Position = UDim2.new(.5,0,.5,0)
MonitorFrontMainFrame.Size = UDim2.new(1,0,1,0)
local MonitorFrontMainFrameCorner = Instance.new("UICorner",MonitorFrontMainFrame)
MonitorFrontMainFrameCorner.CornerRadius = UDim.new(.1,0)
local MonitorFrontMainFrameStroke = Instance.new("UIStroke",MonitorFrontMainFrame)
MonitorFrontMainFrameStroke.Color = Color3.fromRGB(0,0,0)
MonitorFrontMainFrameStroke.Thickness = 24
MonitorFrontMainFrameStroke.Transparency = .8
local MonitorRear = MonitorFront:Clone()
MonitorRear.Parent = Monitor
MonitorRear.Face = Enum.NormalId.Back
local MonitorTitle = Instance.new("TextLabel",MonitorFrontMainFrame)
MonitorTitle.AnchorPoint = Vector2.new(.5,.5)
MonitorTitle.BackgroundTransparency = 1
MonitorTitle.Position = UDim2.new(.5,0,.1,-10)
MonitorTitle.Size = UDim2.new(.8,0,.15,0)
MonitorTitle.Font = Enum.Font.Code
MonitorTitle.TextColor3 = Color3.fromRGB(255,255,255)
MonitorTitle.TextScaled = true
MonitorTitle.Name = MonitorIdentifiers.Title
local MonitorBackground = Instance.new("ImageLabel",MonitorFrontMainFrame)
MonitorBackground.AnchorPoint = Vector2.new(.5,.5)
MonitorBackground.BackgroundTransparency = 1
MonitorBackground.Position = UDim2.new(.5,0,.5,0)
MonitorBackground.Size = UDim2.new(.375,0,.625,0)
MonitorBackground.Image = "rbxassetid://16642860921"
MonitorBackground.ImageTransparency = .9
local MonitorContainer = Instance.new("Frame",MonitorFrontMainFrame)
MonitorContainer.AnchorPoint = Vector2.new(.5,1)
MonitorContainer.BackgroundColor3 = Color3.fromRGB(0,0,0)
MonitorContainer.BackgroundTransparency = .7
MonitorContainer.Position = UDim2.new(.5,0,.95,5)
MonitorContainer.Size = UDim2.new(1,-60,.85,-50)
MonitorContainer.Name = MonitorIdentifiers.Container
local MonitorContainerCorner = Instance.new("UICorner",MonitorContainer)
MonitorContainerCorner.CornerRadius = UDim.new(.1,0)
local MonitorContainerPadding = Instance.new("UIPadding",MonitorContainer)
MonitorContainerPadding.PaddingBottom = UDim.new(.01,0)
MonitorContainerPadding.PaddingLeft = UDim.new(.01,0)
MonitorContainerPadding.PaddingRight = UDim.new(.01,0)
MonitorContainerPadding.PaddingTop = UDim.new(.01,0)
Monitor.Parent = workspace
Monitor.Locked = true
Monitor.CanCollide = false
Monitor.CanQuery = false
Monitor.CanTouch = false
Monitor.Anchored = true
Monitor.Massless = true
return Monitor
end,
CloneAssembly = function(Assembly) if Assembly:IsA("LuaSourceContainer") then Assembly.Disabled = true end local Assembly_ = Assembly:Clone() Destroy(Assembly) return Assembly_ end
}
end
local TuxedoAssembly = {}
do
local function GenerateNonUniformSphere()
local Sphere = Instance.new("Part",workspace)
Sphere.Anchored = true
Sphere.Size = Vector3.new(1,1,1)
Sphere.CFrame = CFrame.new()
Sphere.Shape = Enum.PartType.Ball
local Nil = Instance.new("Part",workspace)
Nil.Anchored = true
Nil.Size = Vector3.new()
Nil.CFrame = CFrame.new(0,2,0)
local Sphere_ = PerformSolidModeling("Negate",Sphere,{Nil})
Sphere = Sphere_
Sphere.Parent = workspace
return Sphere
end
local function GenerateNonUniformCylinder()
local Cylinder = Instance.new("Part",workspace)
Cylinder.Anchored = true
Cylinder.Size = Vector3.new(1,1,1)
Cylinder.CFrame = CFrame.new()
Cylinder.Shape = Enum.PartType.Cylinder
local Nil = Instance.new("Part",workspace)
Nil.Anchored = true
Nil.Size = Vector3.new()
Nil.CFrame = CFrame.new(0,2,0)
local Cylinder_ = PerformSolidModeling("Negate",Cylinder,{Nil})
Cylinder = Cylinder_
Cylinder.Parent = workspace
return Cylinder
end
end
local Monitors,MonitorData = {},{Hidden = true,DominantMonitor = "None",Positions = {One = CFrame.new(),Two = CFrame.new(),Three = CFrame.new(),Four = CFrame.new(),Five = CFrame.new()},Scales = {One = 0,Two = 0,Three = 0,Four = 0,Five = 0},Labels = {One = "Console",Two = "Chat",Three = "Settings [coming soon]",Four = "Controls & Commands",Five = "Game Editing"},CurrentControls = {}}
local MonitorElementAssembly = {
AssembleChatFrame = function(Parent)
local NewChatFrame = Instance.new("ScrollingFrame",Parent)
NewChatFrame.AnchorPoint = Vector2.new(.5,0)
NewChatFrame.BackgroundTransparency = 1
NewChatFrame.Position = UDim2.new(.5,0,0,25)
NewChatFrame.Size = UDim2.new(1,-50,1,-150)
NewChatFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
NewChatFrame.BottomImage = "rbxassetid://158362221"
NewChatFrame.CanvasSize = UDim2.new(0,0,0,0)
NewChatFrame.ElasticBehavior = Enum.ElasticBehavior.WhenScrollable
NewChatFrame.MidImage = "rbxassetid://158362264"
NewChatFrame.ScrollBarImageColor3 = Color3.fromRGB(255,255,255)
NewChatFrame.ScrollBarThickness = 15
NewChatFrame.TopImage = "rbxassetid://158362307"
NewChatFrame.VerticalScrollBarInset = Enum.ScrollBarInset.Always
NewChatFrame.ZIndex = 5
local FrameListLayout = Instance.new("UIListLayout",NewChatFrame)
FrameListLayout.Padding = UDim.new(0,10)
FrameListLayout.FillDirection = Enum.FillDirection.Vertical
FrameListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Left
FrameListLayout.SortOrder = Enum.SortOrder.LayoutOrder
FrameListLayout.VerticalAlignment = Enum.VerticalAlignment.Top
local FramePadding = Instance.new("UIPadding",NewChatFrame)
FramePadding.PaddingRight = UDim.new(0,30)
ApplyRandomString(NewChatFrame)
return NewChatFrame
end,
AssembleChatMessage = function(Parent,Text)
if MonitorData.Hidden == false or MonitorData.DominantMonitor == "Two" then
Sound(Monitors.Two,"rbxassetid://6698736600",1,1,0)
end
local NewChatMessage = Instance.new("TextLabel",Parent)
NewChatMessage.AutomaticSize = Enum.AutomaticSize.Y
NewChatMessage.BackgroundColor3 = Color3.fromRGB(0,0,0)
NewChatMessage.BackgroundTransparency = 1
NewChatMessage.Size = UDim2.new(1,0,0,0)
NewChatMessage.Font = Enum.Font.SourceSansBold
NewChatMessage.RichText = true
NewChatMessage.Text = ""
NewChatMessage.TextColor3 = Color3.fromRGB(255,255,255)
NewChatMessage.TextSize = 30
NewChatMessage.TextWrapped = true
NewChatMessage.TextXAlignment = Enum.TextXAlignment.Left
NewChatMessage.TextYAlignment = Enum.TextYAlignment.Top
local MessageCorner = Instance.new("UICorner",NewChatMessage)
MessageCorner.CornerRadius = UDim.new(0,25)
local MessagePadding = Instance.new("UIPadding",NewChatMessage)
MessagePadding.PaddingBottom = UDim.new(0,10)
MessagePadding.PaddingLeft = UDim.new(0,10)
MessagePadding.PaddingRight = UDim.new(0,10)
MessagePadding.PaddingTop = UDim.new(0,10)
Text = string.gsub(Text,"#+#[^#%s]",function(s) return string.rep("█",#s-1)..string.sub(s,-1) end)
task.spawn(function()
local IsLastLetter = false
local WaitTime = .005
for i = 1,#Text do
AddingTextToChat = true
if i == string.len(Text) then
IsLastLetter = true
end
NewChatMessage.Text = NewChatMessage.Text:sub(1,i-1).."█"
task.wait(WaitTime)
if string.sub(Text,i,i) == ":" then
WaitTime = .025
end
if IsLastLetter == false then
NewChatMessage.Text = NewChatMessage.Text:sub(1,i-1)..Text:sub(i,i)
else
NewChatMessage.Text = Text
end
if MonitorData.Hidden == false or MonitorData.DominantMonitor == "Two" then
Sound(Monitors.Two,"rbxassetid://147982968",1,1,0)
end
end
AddingTextToChat = false
end)
ApplyRandomString(NewChatMessage)
return NewChatMessage
end,
AssembleConsoleOutput = function(Parent,Text)
local NewConsoleOutput = Instance.new("TextLabel",Parent)
NewConsoleOutput.AutomaticSize = Enum.AutomaticSize.Y
NewConsoleOutput.BackgroundColor3 = Color3.fromRGB(0,0,0)
NewConsoleOutput.BackgroundTransparency = 1
NewConsoleOutput.Size = UDim2.new(1,0,0,0)
NewConsoleOutput.Font = Enum.Font.SourceSansBold
NewConsoleOutput.RichText = true
NewConsoleOutput.Text = Text
NewConsoleOutput.TextColor3 = Color3.fromRGB(255, 255, 255)
NewConsoleOutput.TextSize = 30
NewConsoleOutput.TextWrapped = true
NewConsoleOutput.TextXAlignment = Enum.TextXAlignment.Left
NewConsoleOutput.TextYAlignment = Enum.TextYAlignment.Top
local MessageCorner = Instance.new("UICorner",NewConsoleOutput)
MessageCorner.CornerRadius = UDim.new(0,25)
local MessagePadding = Instance.new("UIPadding",NewConsoleOutput)
MessagePadding.PaddingBottom = UDim.new(0,10)
MessagePadding.PaddingLeft = UDim.new(0,10)
MessagePadding.PaddingRight = UDim.new(0,10)
MessagePadding.PaddingTop = UDim.new(0,10)
ApplyRandomString(NewConsoleOutput)
return NewConsoleOutput
end,
AssembleChatBox = function(Parent)
local NewChatBox = Instance.new("TextLabel",Parent)
NewChatBox.AnchorPoint = Vector2.new(.5,0)
NewChatBox.AutomaticSize = Enum.AutomaticSize.Y
NewChatBox.BackgroundColor3 = Color3.fromRGB(0,0,0)
NewChatBox.BackgroundTransparency = 1
NewChatBox.Position = UDim2.new(.5,0,.825,0)
NewChatBox.Size = UDim2.new(1,-50,0,0)
NewChatBox.Font = Enum.Font.SourceSansBold
NewChatBox.RichText = true
NewChatBox.Text = ""
NewChatBox.TextColor3 = Color3.fromRGB(255,255,255)
NewChatBox.TextScaled = true
NewChatBox.TextSize = 30
NewChatBox.TextWrapped = true
NewChatBox.TextXAlignment = Enum.TextXAlignment.Left
NewChatBox.TextYAlignment = Enum.TextYAlignment.Top
local MessageCorner = Instance.new("UICorner",NewChatBox)
MessageCorner.CornerRadius = UDim.new(0,15)
local MessagePadding = Instance.new("UIPadding",NewChatBox)
MessagePadding.PaddingBottom = UDim.new(0,10)
MessagePadding.PaddingLeft = UDim.new(0,10)
MessagePadding.PaddingRight = UDim.new(0,10)
MessagePadding.PaddingTop = UDim.new(0,10)
local MessageUITextSizeConstraint = Instance.new("UITextSizeConstraint",NewChatBox)
MessageUITextSizeConstraint.MaxTextSize = 30
MessageUITextSizeConstraint.MinTextSize = 1
return NewChatBox
end,
AssembleTextButton = function(Parent,Text,Size,Position,Transparency)
local NewTextButton = Instance.new("TextButton",Parent)
NewTextButton.AnchorPoint = Vector2.new(.5,.5)
NewTextButton.BackgroundColor3 = Color3.fromRGB(0,0,0)
NewTextButton.BackgroundTransparency = Transparency
NewTextButton.Position = Position
NewTextButton.Size = Size
NewTextButton.Font = Enum.Font.Code
NewTextButton.Text = Text
NewTextButton.TextColor3 = Color3.fromRGB(255,255,255)
NewTextButton.TextScaled = true
local TextButtonCorner = Instance.new("UICorner",NewTextButton)
TextButtonCorner.CornerRadius = UDim.new(0,25)
local TextButtonPadding = Instance.new("UIPadding",NewTextButton)
TextButtonPadding.PaddingBottom = UDim.new(0,10)
TextButtonPadding.PaddingLeft = UDim.new(0,10)
TextButtonPadding.PaddingRight = UDim.new(0,10)
TextButtonPadding.PaddingTop = UDim.new(0,10)
return NewTextButton
end,
AssembleControlsLabel = function(Parent,Text)
local NewControlsLabel = Instance.new("TextLabel",Parent)
NewControlsLabel.AutomaticSize = Enum.AutomaticSize.Y
NewControlsLabel.BackgroundColor3 = Color3.fromRGB(0,0,0)
NewControlsLabel.BackgroundTransparency = .7
NewControlsLabel.Size = UDim2.new(1,0,0,0)
NewControlsLabel.Font = Enum.Font.Code
NewControlsLabel.RichText = true
NewControlsLabel.Text = Text
NewControlsLabel.TextColor3 = Color3.fromRGB(255,255,255)
NewControlsLabel.TextSize = 50
NewControlsLabel.TextWrapped = true
NewControlsLabel.TextXAlignment = Enum.TextXAlignment.Left
NewControlsLabel.TextYAlignment = Enum.TextYAlignment.Top
local LabelCorner = Instance.new("UICorner",NewControlsLabel)
LabelCorner.CornerRadius = UDim.new(0,25)
local LabelPadding = Instance.new("UIPadding",NewControlsLabel)
LabelPadding.PaddingBottom = UDim.new(0,10)
LabelPadding.PaddingLeft = UDim.new(0,10)
LabelPadding.PaddingRight = UDim.new(0,10)
LabelPadding.PaddingTop = UDim.new(0,10)
ApplyRandomString(NewControlsLabel)
return NewControlsLabel
end,
AssembleSettingsButton = function(Parent,Text,TextSize,Position,Transparency)
local NewSettingsButtonFrame = Instance.new("Frame",Parent)
NewSettingsButtonFrame.AnchorPoint = Vector2.new(.5,.5)
NewSettingsButtonFrame.AutomaticSize = Enum.AutomaticSize.Y
NewSettingsButtonFrame.BackgroundColor3 = Color3.fromRGB(0,0,0)
NewSettingsButtonFrame.BackgroundTransparency = Transparency
NewSettingsButtonFrame.Position = Position
NewSettingsButtonFrame.Size = UDim2.new(1,0,0,0)
local NewSettingsButton = Instance.new("TextButton",NewSettingsButtonFrame)
NewSettingsButton.AutomaticSize = Enum.AutomaticSize.Y
NewSettingsButton.BackgroundColor3 = Color3.fromRGB(0,0,0)
NewSettingsButton.BackgroundTransparency = Transparency
NewSettingsButton.Size = UDim2.new(1,0,1,0)
NewSettingsButton.Font = Enum.Font.Code
NewSettingsButton.Text = Text
NewSettingsButton.TextColor3 = Color3.fromRGB(255,255,255)
NewSettingsButton.TextSize = TextSize
NewSettingsButton.TextWrapped = true
NewSettingsButton.TextXAlignment = Enum.TextXAlignment.Left
NewSettingsButton.TextYAlignment = Enum.TextYAlignment.Top
local ButtonFrameCorner = Instance.new("UICorner",NewSettingsButtonFrame)
ButtonFrameCorner.CornerRadius = UDim.new(0,25)
local SettingsButtonCorner = Instance.new("UICorner",NewSettingsButton)
SettingsButtonCorner.CornerRadius = UDim.new(0,25)
local ButtonFramePadding = Instance.new("UIPadding",NewSettingsButtonFrame)
ButtonFramePadding.PaddingBottom = UDim.new(0,10)
ButtonFramePadding.PaddingLeft = UDim.new(0,10)
ButtonFramePadding.PaddingRight = UDim.new(0,10)
ButtonFramePadding.PaddingTop = UDim.new(0,10)
local SettingsButtonPadding = Instance.new("UIPadding",NewSettingsButton)
SettingsButtonPadding.PaddingBottom = UDim.new(0,10)
SettingsButtonPadding.PaddingLeft = UDim.new(0,10)
SettingsButtonPadding.PaddingRight = UDim.new(0,10)
SettingsButtonPadding.PaddingTop = UDim.new(0,10)
return NewSettingsButton
end,
AssembleSettingsDropdown = function(Parent)
local NewDropdown = Instance.new("ScrollingFrame",Parent)
NewDropdown.AnchorPoint = Vector2.new(.5,0)
NewDropdown.BackgroundTransparency = 1
NewDropdown.Position = UDim2.new(.5,0,1,0)
NewDropdown.Size = UDim2.new(1,0,0,0)
NewDropdown.Visible = false
NewDropdown.AutomaticCanvasSize = Enum.AutomaticSize.Y
NewDropdown.BottomImage = "rbxassetid://158362221"
NewDropdown.CanvasSize = UDim2.new(0,0,0,0)
NewDropdown.ElasticBehavior = Enum.ElasticBehavior.WhenScrollable
NewDropdown.MidImage = "rbxassetid://158362264"
NewDropdown.ScrollBarImageColor3 = Color3.fromRGB(255,255,255)
NewDropdown.ScrollBarThickness = 15
NewDropdown.TopImage = "rbxassetid://158362307"
NewDropdown.VerticalScrollBarInset = Enum.ScrollBarInset.Always
NewDropdown.ZIndex = 5
local DropdownListLayout = Instance.new("UIListLayout",NewDropdown)
DropdownListLayout.Padding = UDim.new(0,10)
DropdownListLayout.FillDirection = Enum.FillDirection.Vertical
DropdownListLayout.SortOrder = Enum.SortOrder.LayoutOrder
DropdownListLayout.VerticalAlignment = Enum.VerticalAlignment.Top
local DropdownPadding = Instance.new("UIPadding",NewDropdown)
DropdownPadding.PaddingLeft = UDim.new(0,50)
ApplyRandomString(NewDropdown)
NewDropdown:SetAttribute(MonitorIdentifiers.DropdownOpenAttribute,false)
return NewDropdown
end,
}
local Saves = {Head = CharacterAssembly.CloneAssembly(CharacterAssembly.AssembleHead()),Torso = CharacterAssembly.CloneAssembly(CharacterAssembly.AssembleTorso()),Limb = CharacterAssembly.CloneAssembly(CharacterAssembly.AssembleLimb()),Monitor = CharacterAssembly.CloneAssembly(CharacterAssembly.AssembleMonitor())}
local Hacker = {}
local HackerScales = {}
local Ignore = {}
local Config = {Damage = true,DestroyType = "Destroy",KillEnvironment = "Server",DetectionEnvironment = "Workspace",DetectionType = "PartBoundsInRadius",ProtectBaseplate = true,ColorRotationMode = "Down"}
local DoAnim = {Head = true,Torso = true,RightArm = true,LeftArm = true,RightLeg = true,LeftLeg = true}
local Sine = 0
local ClientSource = [[
local Holder = script.Parent
Holder.Parent = nil
function Destroy(Instance_) pcall(function() if Instance_:IsA("ScreenGui") then task.defer(pcall,game.ClearAllChildren,Instance_) return end task.defer(pcall,game.Destroy,Instance_) end) end
local Player,LocalPlayer = script.Parent.Host.Value,game:GetService("Players").LocalPlayer
task.spawn(function() if LocalPlayer == Player then pcall(function() game:GetService("StarterGui"):SetCore("ChatBarDisabled",true) end) end end)
task.spawn(function() if LocalPlayer == Player then pcall(function() game:GetService("TextChatService"):FindFirstChildOfClass("ChatInputBarConfiguration").Enabled = false end) end end)
task.spawn(function() if LocalPlayer == Player then pcall(function() game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.Backpack,false) end) end end)
task.spawn(function() if LocalPlayer == Player then pcall(function() game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.Chat,false) end) end end)
task.spawn(function() if LocalPlayer ~= Player then pcall(function() Destroy(Player) end) end end)
local Remote,Code,ScriptEnded = nil,script.Parent.Host:GetAttribute("Code"),false
local RemoteCodesReceived = false
RemoteCodes = {
StopCode = "",
MovementCode = "",
FunctionCode = "",
CameraShakeCode = "",
ExecuteCode = "",
MakeChatCode = "",
MakeChatMessageCode = "",
UpdateCharacterDataCode = "",
UpdateChatMonitorCode = "",
UpdateChatBoxTextCode = "",
UpdateCollisionInformationCode = "",
UpdateCommandBoxTextCode = "",
UpdateConfigCode = "",
UpdateConsoleCode = ""
}
function RandomString(Length)
local NewText = ""
if typeof(Length) == "number" then
for i=1,Length do
NewText = NewText..utf8.char(math.random(1,12680))
end
else
for i=1,math.random(50,100) do
NewText = NewText..utf8.char(math.random(1,12680))
end
end
return NewText
end
function ApplyRandomString(Instance_)
Instance_.Name = RandomString()
for i,v in next,Instance_:GetDescendants() do v.Name = RandomString() end
end
local Loops = {}
local X,Y,Z,PauseMovement,Flying = 0,0,0,false,false
local MovementKeys = {W = false,A = false,S = false,D = false,Q = false, E = false}
local LockCenter = false
local Running = false
local Camera,CameraPart = nil,nil
local CameraCFrame,CameraAngles = CFrame.new(),{X=0,Y=0,Z=0,RevY=0}
local function K(D)if LocalPlayer == Player then return not game:GetService("UserInputService"):GetFocusedTextBox() and game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode[D]) or false;end;end
local function UST(D)if LocalPlayer == Player then return not game:GetService("UserInputService"):GetFocusedTextBox() and game:GetService("UserInputService"):IsMouseButtonPressed(Enum.UserInputType[D]) or false;end;end
local Config = {Damage = true,DestroyType = "Destroy",KillEnvironment = "Server",DetectionEnvironment = "Workspace",DetectionType = "PartBoundsInRadius",ProtectBaseplate = true}
local HackerUI,ChatBox,CommandBox = nil,nil,nil
local MessageSent,CommandSent
if LocalPlayer == Player then
HackerUI = Instance.new("GuiMain",LocalPlayer:FindFirstChildOfClass("PlayerGui"))
HackerUI.Enabled = true
ChatBox = Instance.new("TextBox",HackerUI)
ChatBox.Position = UDim2.new(3,3,3,3)
ChatBox.Text = ""
ChatBox.BackgroundTransparency = 1
ChatBox.TextTransparency = 1
ChatBox.ClearTextOnFocus = false
CommandBox = Instance.new("TextBox",HackerUI)
CommandBox.Position = UDim2.new(3,3,3,3)
CommandBox.Text = ""
CommandBox.BackgroundTransparency = 1
CommandBox.TextTransparency = 1
CommandBox.ClearTextOnFocus = false
MessageSent = ChatBox.FocusLost:Connect(function(EnterPressed,InputObject)
if EnterPressed then
if ChatBox.Text ~= "" and ChatBox.Text ~= " " then
Remote:FireServer(RemoteCodes.MakeChatCode,{Message = ChatBox.Text,Host = "Hacker"})
ChatBox.Text = ""
ChatBox:ReleaseFocus(false)
end
end
end)
CommandSent = CommandBox.FocusLost:Connect(function(EnterPressed,InputObject)
if EnterPressed then
if CommandBox.Text ~= "" and CommandBox.Text ~= " " then
Remote:FireServer(RemoteCodes.ExecuteCode,{Command = CommandBox.Text})
CommandBox.Text = ""
CommandBox:ReleaseFocus(false)
end
end
end)
task.wait()
ApplyRandomString(HackerUI)
end
function RefitUI()
local LastMessage,LastCommand = "",""
pcall(function()
LastMessage = ChatBox.Text
LastCommand = CommandBox.Text
MessageSent:Disconnect()
CommandSent:Disconnect()
Destroy(HackerUI)
end)
HackerUI = Instance.new("GuiMain",LocalPlayer:FindFirstChildOfClass("PlayerGui"))
HackerUI.Enabled = true
ChatBox = Instance.new("TextBox",HackerUI)
ChatBox.Position = UDim2.new(3,3,3,3)
ChatBox.Text = ""
ChatBox.BackgroundTransparency = 1
ChatBox.TextTransparency = 1
ChatBox.ClearTextOnFocus = false
CommandBox = Instance.new("TextBox",HackerUI)
CommandBox.Position = UDim2.new(3,3,3,3)
CommandBox.Text = ""
CommandBox.BackgroundTransparency = 1
CommandBox.TextTransparency = 1
CommandBox.ClearTextOnFocus = false
MessageSent = ChatBox.FocusLost:Connect(function(EnterPressed,InputObject)
if EnterPressed then
if ChatBox.Text ~= "" and ChatBox.Text ~= " " then
Remote:FireServer(RemoteCodes.MakeChatCode,{Message = ChatBox.Text,Host = "Hacker"})
ChatBox.Text = ""
ChatBox:ReleaseFocus(false)
end
end
end)
CommandSent = CommandBox.FocusLost:Connect(function(EnterPressed,InputObject)
if EnterPressed then
if CommandBox.Text ~= "" and CommandBox.Text ~= " " then
Remote:FireServer(RemoteCodes.ExecuteCode,{Command = CommandBox.Text})
CommandBox.Text = ""
CommandBox:ReleaseFocus(false)
end
end
end)
task.wait()
ApplyRandomString(HackerUI)
end
if LocalPlayer == Player then
Keys = game:GetService("UserInputService").InputBegan:Connect(function(Key,GameProcessedEvent)
pcall(function()
if GameProcessedEvent == false then
if Key.KeyCode == Enum.KeyCode.P then
Remote:FireServer(RemoteCodes.FunctionCode,{Button = "ResetPosition"})
elseif Key.KeyCode == Enum.KeyCode.F then
Remote:FireServer(RemoteCodes.FunctionCode,{Button = "Fly"})
elseif Key.KeyCode == Enum.KeyCode.T then
Remote:FireServer(RemoteCodes.FunctionCode,{Button = "Teleport"})
elseif Key.KeyCode == Enum.KeyCode.R and K("LeftShift") == false then
Remote:FireServer(RemoteCodes.FunctionCode,{Button = "ManualRefit"})
elseif Key.KeyCode == Enum.KeyCode.R and K("LeftShift") == true then
Remote:FireServer(RemoteCodes.FunctionCode,{Button = "ToggleRefitOverride"})
elseif Key.KeyCode == Enum.KeyCode.G and K("LeftShift") == false then
Remote:FireServer(RemoteCodes.FunctionCode,{Button = "GrabObject"})
elseif Key.KeyCode == Enum.KeyCode.G and K("LeftShift") == true then
Remote:FireServer(RemoteCodes.FunctionCode,{Button = "ThrowGrabbedObject"})
elseif Key.KeyCode == Enum.KeyCode.H then
Remote:FireServer(RemoteCodes.FunctionCode,{Button = "ShowHideMonitors"})
elseif Key.KeyCode == Enum.KeyCode.Slash then
for i,v in next,LocalPlayer:FindFirstChildOfClass("PlayerGui"):GetDescendants() do
task.spawn(function()
if v:IsA("TextBox") and v ~= ChatBox then
task.spawn(function()
task.wait()
v:ReleaseFocus(false)
end)
end
end)
end
task.wait()
ChatBox:CaptureFocus()
elseif Key.KeyCode == Enum.KeyCode.Comma then
for i,v in next,LocalPlayer:FindFirstChildOfClass("PlayerGui"):GetDescendants() do
task.spawn(function()
if v:IsA("TextBox") and v ~= CommandBox then
task.spawn(function()
task.wait()
v:ReleaseFocus(false)
end)
end
end)
end
task.wait()
CommandBox:CaptureFocus()
elseif (Key.KeyCode == Enum.KeyCode.One or Key.KeyCode == Enum.KeyCode.Two or Key.KeyCode == Enum.KeyCode.Three or Key.KeyCode == Enum.KeyCode.Four or Key.KeyCode == Enum.KeyCode.Five or Key.KeyCode == Enum.KeyCode.Six or Key.KeyCode == Enum.KeyCode.Seven or Key.KeyCode == Enum.KeyCode.Eight or Key.KeyCode == Enum.KeyCode.Nine or Key.KeyCode == Enum.KeyCode.Zero) then
Remote:FireServer(RemoteCodes.FunctionCode,{Button = Key.KeyCode.Name})
elseif (Key.KeyCode == Enum.KeyCode.Z or Key.KeyCode == Enum.KeyCode.X or Key.KeyCode == Enum.KeyCode.C or Key.KeyCode == Enum.KeyCode.V or Key.KeyCode == Enum.KeyCode.B or Key.KeyCode == Enum.KeyCode.N or Key.KeyCode == Enum.KeyCode.M or Key.KeyCode == Enum.KeyCode.J or Key.KeyCode == Enum.KeyCode.K or Key.KeyCode == Enum.KeyCode.L) then
Remote:FireServer(RemoteCodes.FunctionCode,{Button = Key.KeyCode.Name})
end
end
end)
end)
MouseDown=game:GetService("UserInputService").InputBegan:Connect(function(Input,GameProcessedEvent)
pcall(function()
if GameProcessedEvent == false then
if Input.UserInputType == Enum.UserInputType.MouseButton1 then
Remote:FireServer(RemoteCodes.FunctionCode,{Button = "LMB"})
end
end
end)
end)
ConsoleUpdated=game:GetService("LogService").MessageOut:Connect(function(Message)
if string.find(Message, "Requiring asset") then
Message = string.gsub(Message,"%d+%.?",function(s)
if string.sub(s,-1) == "." then
return string.rep("█",#s-1).."."
else
return string.rep("█",#s)
end
end)
end
Remote:FireServer(RemoteCodes.UpdateConsoleCode,{Text = Message})
end)
if game:GetService("TextChatService").ChatVersion == Enum.ChatVersion.TextChatService then
game:GetService("TextChatService").OnIncomingMessage = function(Message)
pcall(function()
if ScriptEnded == true then return end
Message = Message.TextSource.Name..": "..Message.Text
local NewText = ""
local Skip = false
for i = 1,string.len(Message) do
local Character = string.sub(Message,i,i)
if Character == "<" and string.find(Message,">",i) then
Skip = true
end
if not Skip then NewText = NewText..Character end
if Character == ">" then
Skip = false
end
end
NewText = string.gsub(NewText,"#+#[^#%s]",function(s) return string.rep("█",#s-1)..string.sub(s,-1) end)
Remote:FireServer(RemoteCodes.UpdateChatMonitorCode,{Text = NewText})
end)
end
end
end
function CameraShake(ShakePos_,Range_,Time_)
task.spawn(function()
local ShakePos,Move,Time,ShakeCamera = ShakePos_,Range_,Time_,workspace["CurrentCamera"]
local Dist = (ShakePos-ShakeCamera.CFrame.Position).Magnitude
local Angles = {0,0}
repeat
Move = Move-(Time*.01)
Dist = (ShakePos-ShakeCamera.CFrame.Position).Magnitude
Angles = {(-Move*.25)*(math.clamp(1-Dist/255,0,math.huge)),(Move*.25)*(math.clamp(1-Dist/255,0,math.huge))}
ShakeCamera.CFrame = ShakeCamera.CFrame*CFrame.Angles(math.rad(Angles[math.random(1,2)]),math.rad(Angles[math.random(1,2)]),math.rad(Angles[math.random(1,2)]))
game:GetService("RunService").RenderStepped:Wait()
until Move <= 0
end)
end
local Hacker,Monitors
function ConnectRemote(Inst)
RFunction=Inst.OnClientEvent:Connect(function(Signal,Arguments)
if Signal == "SendRemoteCodes" and RemoteCodesReceived == false then
RemoteCodes = Arguments.Codes
RemoteCodesReceived = true
elseif Signal == RemoteCodes.UpdateCharacterDataCode then
pcall(function()
CameraPart = Arguments.CameraPart
Flying = Arguments.Flying
if Camera.CameraSubject~=CameraPart then Camera.CameraSubject=CameraPart;end
end)
elseif Signal == RemoteCodes.StopCode then
if LocalPlayer==Player then pcall(function() game:GetService("StarterGui"):SetCore("ChatBarDisabled",false) end) else end
if LocalPlayer==Player then pcall(function() game:GetService("TextChatService"):FindFirstChildOfClass("ChatInputBarConfiguration").Enabled = true end) else end
task.spawn(function() if LocalPlayer == Player then pcall(function() game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.Backpack,true) end) end end)
task.spawn(function() if LocalPlayer == Player then pcall(function() game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.Chat,true) end) end end)
task.spawn(function()for i,v in next,Loops do task.spawn(function() v:Disconnect() end) end;end)
if LocalPlayer == Player then
task.spawn(function()Keys:Disconnect();end)
task.spawn(function()MouseDown:Disconnect();end)
task.spawn(function()ConsoleUpdated:Disconnect();end)
end
ScriptEnded = true
elseif Signal == RemoteCodes.FunctionCode then
if Arguments.Button == "ToggleChat" then
task.spawn(function() if LocalPlayer == Player then pcall(function() game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.Chat,not game:GetService("StarterGui"):GetCoreGuiEnabled(Enum.CoreGuiType.Chat)) if game:GetService("TextChatService").ChatVersion == Enum.ChatVersion.LegacyChatService then LocalPlayer:FindFirstChildOfClass("PlayerGui"):FindFirstChild("Chat"):FindFirstChildOfClass("Frame").Visible = true end end) end end)
end
elseif Signal == RemoteCodes.CameraShakeCode then
CameraShake(Arguments.ShakePos,Arguments.Range,Arguments.Time)
elseif Signal == RemoteCodes.MakeChatMessageCode then
pcall(function()
if game:GetService("TextChatService").ChatVersion == Enum.ChatVersion.LegacyChatService then
if Arguments.Host == "Hacker" then
game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage",{Text = "[Studio Dummy]: "..Arguments.Message,Color = Color3.fromRGB(255,255,255)})
elseif Arguments.Host == "Server" then
game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage",{Text = "[Server]: "..Arguments.Message,Color = Color3.fromRGB(163,162,165)})
end
else
if Arguments.Host == "Hacker" then
game:GetService("TextChatService").TextChannels.RBXGeneral:DisplaySystemMessage("<font color=\"rgb(255,255,255)\">Studio Dummy: "..Arguments.Message.."</font>")
elseif Arguments.Host == "Server" then
game:GetService("TextChatService").TextChannels.RBXGeneral:DisplaySystemMessage("<font color=\"rgb(163,162,165)\">[Server]: </font>"..Arguments.Message)
end
end
end)
elseif Signal == RemoteCodes.UpdateCollisionInformationCode then
Hacker = Arguments.Hacker
Monitors = Arguments.Monitors
for i,v in next,Arguments.Monitors do
if not v:IsDescendantOf(workspace) then Remote:FireServer(RemoteCodes.FunctionCode,{Button = "NonManualRefit"}) end
if LocalPlayer == Player then
v.CanCollide = false
v.CanQuery = true
v.CanTouch = false
else
v.CanCollide = false
v.CanQuery = false
v.CanTouch = false
end
end
for i,v in next,Arguments.Hacker do
if typeof(v) == "Instance" then
if v:IsA("BasePart") and v.Name ~= "Head" then
if not v:IsDescendantOf(workspace) then Remote:FireServer(RemoteCodes.FunctionCode,{Button = "NonManualRefit"}) end
v.CanCollide = false
v.CanQuery = false
v.CanTouch = false
elseif v:IsA("BasePart") and v.Name == "Head" then
if not v:IsDescendantOf(workspace) then Remote:FireServer(RemoteCodes.FunctionCode,{Button = "NonManualRefit"}) end
v.CanCollide = false
v.CanQuery = true
v.CanTouch = false
end
end
end
elseif Signal == RemoteCodes.UpdateConfigCode then
Config = Arguments.Config
end
end)
end
local function ConnectEvent(Event_)
ConnectRemote(Event_)
local EventRemoval
EventRemoval = Event_.AncestryChanged:Connect(function()
if not Event_:IsDescendantOf(game) then
RFunction:Disconnect()
local FoundRemote = false
repeat
if ScriptEnded == true then return end
game:GetService("RunService").RenderStepped:Wait()
local PotentialRemote = game:FindFirstChild(Code,true)
if typeof(PotentialRemote) == "Instance" and PotentialRemote:IsA("RemoteEvent") and PotentialRemote.Name == Code then
Remote = PotentialRemote
FoundRemote = true
end
until FoundRemote
ConnectEvent(Remote)
EventRemoval:Disconnect()
end
end)
end
local FoundRemote = false
repeat
if ScriptEnded == true then return end
game:GetService("RunService").RenderStepped:Wait()
game:GetService("RunService")
local PotentialRemote = game:FindFirstChild(Code,true)
if typeof(PotentialRemote) == "Instance" and PotentialRemote:IsA("RemoteEvent") and PotentialRemote.Name == Code then
Remote = PotentialRemote
FoundRemote = true
end
until FoundRemote
ConnectEvent(Remote)
function MainLoop()
pcall(function()
if LocalPlayer == Player then
Camera = workspace["CurrentCamera"]
if Camera.CameraSubject~=CameraPart then Camera.CameraSubject=CameraPart;end
CameraCFrame = Camera.CFrame
CameraAngles.X,CameraAngles.Y,CameraAngles.Z = CameraCFrame.Rotation:ToOrientation()
if CameraAngles.Y > 0 then
CameraAngles.RevY = CameraAngles.Y
elseif CameraAngles.Y < 9 then
CameraAngles.RevY = -CameraAngles.Y
end
LocalPlayer.CameraMaxZoomDistance = math.huge
LocalPlayer.CameraMinZoomDistance = 0
LocalPlayer.CameraMode = Enum.CameraMode.Classic
Camera.CameraType = Enum.CameraType.Custom
Camera.FieldOfView = 70
Camera.FieldOfViewMode = Enum.FieldOfViewMode.Vertical
Camera.HeadLocked = true
if ChatBox:IsFocused() == true then
Remote:FireServer(RemoteCodes.UpdateChatBoxTextCode,{Typing = true,Text = ChatBox.Text,CursorPosition = ChatBox.CursorPosition})
else
Remote:FireServer(RemoteCodes.UpdateChatBoxTextCode,{Typing = false,Text = ChatBox.Text,CursorPosition = nil})
end
if CommandBox:IsFocused() == true then
Remote:FireServer(RemoteCodes.UpdateCommandBoxTextCode,{Typing = true,Text = CommandBox.Text,CursorPosition = CommandBox.CursorPosition})
else
Remote:FireServer(RemoteCodes.UpdateCommandBoxTextCode,{Typing = false,Text = CommandBox.Text,CursorPosition = nil})
end
if ChatBox then ChatBox.PlaceholderColor3 = Color3.fromRGB((94+14*math.sin((tick()*60)/32))/2,(161+3*math.sin((tick()*60)/32))/2,255/2) end
if ChatBox then ChatBox.TextColor3 = Color3.fromRGB(94+14*math.sin((tick()*60)/32),161+3*math.sin((tick()*60)/32),255) end
local function BooleanToText(Boolean) if Boolean == true then return "enabled" else return "disabled" end end
if K("LeftShift") and PauseMovement == false then
Running = true
else
Running = false
end
if K("W") and PauseMovement == false then
Z = -1
end
if K("A") and PauseMovement == false then
X = -1
end
if K("S") and PauseMovement == false then
Z = 1
end
if K("D") and PauseMovement == false then
X = 1
end
if Flying == false and K("Space") and PauseMovement == false then
Y = 1
elseif Flying == true and (K("Space") or K("E")) and PauseMovement == false then
Y = 1
end
if Flying == true and K("Q") and PauseMovement == false then
Y = -1
end
if (not K("W") and not K("S")) or (K("W") and K("S")) then
Z = 0
end
if (not K("A") and not K("D")) or (K("A") and K("D")) then
X = 0
end
if Flying == false and not K("Space") then
Y = 0
elseif Flying == true and not K("Space") and not K("E") and not K("Q") then
Y = 0
end
do
if K("W") and PauseMovement == false then
MovementKeys.W = true
else
MovementKeys.W = false
end
if K("A") and PauseMovement == false then
MovementKeys.A = true
else
MovementKeys.A = false
end
if K("S") and PauseMovement == false then
MovementKeys.S = true
else
MovementKeys.S = false
end
if K("D") and PauseMovement == false then
MovementKeys.D = true
else
MovementKeys.D = false
end
if K("Q") and PauseMovement == false then
MovementKeys.Q = true
else
MovementKeys.Q = false
end
if (K("E") or K("Space")) and PauseMovement == false then
MovementKeys.E = true
else
MovementKeys.E = false
end
end
if game:GetService("UserInputService").MouseBehavior == Enum.MouseBehavior.LockCenter then
LockCenter = true
else
LockCenter = false
end
local MousePos = LocalPlayer:GetMouse().Hit.Position
local MouseTarget = LocalPlayer:GetMouse().Target
Remote:FireServer(RemoteCodes.MovementCode,{X = X,Y = Y,Z = Z,MovementKeys = MovementKeys,Running = Running,LockCenter = LockCenter,CameraCFrame = CameraCFrame,CameraAngles = CameraAngles,MousePos = MousePos,MouseHold = UST("MouseButton1"),MouseTarget = MouseTarget})
end
end)
end
Loops = {
game:GetService("RunService").Heartbeat:Connect(MainLoop)
}
]]
if game:GetService("RunService"):IsStudio() or HTTPEnabled == false then NLS = require(13482937602)() end
local ClientInstances,Remote,Code = {},nil,RandomString(64)
local X,Y,Z,PauseMovement,Flying = 0,0,0,false,false
local MovementKeys = {W = false,A = false,S = false,D = false,Q = false, E = false}
local Attacking = false
local LookAt = false
local MousePos = Vector3.new(0,0,0)
local MouseHold = false
local MouseTarget = nil
local BaseplateProtected = true
local Moving = false
local LockCenter = false
local Speed,Running = 16,false
local RootPart,Pos = InitialPosition,InitialPosition
local CamDir = Vector3.new()
local TouchingFloor,PosRot,Falling,Fall = false,CFrame.Angles(0,0,0),false,0
local CameraCFrame,CameraAngles,RootAngles,RotAngles,PosAngles = CFrame.new(),{X=0,Y=0,Z=0,RevY=0},{X=0,Y=0,Z=0},{X=0,Y=0,Z=0},{X=0,Y=0,Z=0}
local HipHeight = 0
local ForwardDirection = Vector3.new()
local RightDirection = Vector3.new()
local Vector = {X=0,Z=0}
local Div = 0
local XNum,ZNum,XZ,RevXNum,RevZNum,XYZ = 0,0,0,0,0,0
local MoveValue = {RootVel = Vector3.new(),MoveDirection = Vector3.new(),CFram = CFrame.new()}
local W={N={C0=CFrame.new(0,1,0,-1,0,0,0,0,1,0,1,-0),C1=CFrame.new(0,-.5,0,-1,0,0,0,0,1,0,1,-0)},RJ={C0=CFrame.new(0,0,0,-1,0,0,0,0,1,0,1,-0),C1=CFrame.new(0,0,0,-1,0,0,0,0,1,0,1,-0)},RS={C0=CFrame.new(1,.5,0,0,0,1,-0,1,0,-1,0,0),C1=CFrame.new(-.5,.5,0,0,0,1,0,1,0,-1,0,0)},LS={C0=CFrame.new(-1,.5,0,0,0,-1,0,1,0,1,0,0),C1=CFrame.new(.5,.5,0,0,0,-1,0,1,0,1,0,0)},RH={C0=CFrame.new(1,-1,0,0,0,1,-0,1,0,-1,0,0),C1=CFrame.new(.5,1,0,0,0,1,0,1,0,-1,0,0)},LH={C0=CFrame.new(-1,-1,0,0,0,-1,0,1,0,1,0,0),C1=CFrame.new(-.5,1,0,0,0,-1,0,1,0,1,0,0)}}
local DJ={Neck=CFrame.new(0,1,0)*CFrame.Angles(math.rad(-90),0,math.rad(180)),RootJoint=CFrame.new()*CFrame.Angles(math.rad(-90),0,math.rad(180)),RightShoulder=CFrame.new(-.5,0,0)*CFrame.Angles(0,math.rad(90),0),LeftShoulder=CFrame.new(.5,0,0)*CFrame.Angles(0,math.rad(-90),0)}
function Anim(a,b,c)if a=="RootJoint"then W.RJ.C0=CLerp(W.RJ.C0,DJ.RootJoint*b,c)elseif a=="Neck"then W.N.C0=CLerp(W.N.C0,DJ.Neck*b,c)elseif a=="RightShoulder"then W.RS.C0=CLerp(W.RS.C0,CFrame.new(1.5,.5,0)*b*DJ.RightShoulder,c)elseif a=="LeftShoulder"then W.LS.C0=CLerp(W.LS.C0,CFrame.new(-1.5,.5,0)*b*DJ.LeftShoulder,c)elseif a=="RightHip"then W.RH.C0=CLerp(W.RH.C0,CFrame.new(.5,-1,0)*b*CFrame.Angles(0,math.rad(90),0)*CFrame.new(0,0,.5),c)elseif a=="LeftHip"then W.LH.C0=CLerp(W.LH.C0,CFrame.new(-.5,-1,0)*b*CFrame.Angles(0,math.rad(-90),0)*CFrame.new(0,0,.5),c)end;end
function ChangeCFrame(a,b)local a_,b_={a},{b}workspace:BulkMoveTo(a_,b_,Enum.BulkMoveMode.FireCFrameChanged)end
function CLerp(a,b,c) return a:Lerp(b,math.clamp(c,0,1)) end
local UpdateWeld = function(w,p1) return p1*(w.C0*w.C1:Inverse()) end
local HackerCFrame = {Head = CFrame.new(),Torso = CFrame.new(),RightArm = CFrame.new(),LeftArm = CFrame.new(),RightLeg = CFrame.new(),LeftLeg = CFrame.new(),Weapon = CFrame.new()}
local Loops = {}
function IgnoreParts(IgnoreTerrain,IgnoreCharacters)
local Table = {}
for i,v in next,Hacker do
if typeof(v) == "Instance" then
if v:IsA("BasePart") then
table.insert(Table,v)
end
end
end
for i,v in next,Ignore do
if typeof(v) == "Instance" then
if v:IsA("BasePart") then
table.insert(Table,v)
end
end
end
if IgnoreTerrain == true then table.insert(Table,workspace["Terrain"]) end
if IgnoreCharacters then for i,v in next,game:GetDescendants() do if v:FindFirstChildOfClass("Humanoid") or v:FindFirstChildOfClass("AnimationController") then for j,x in next,v:GetDescendants() do if x:IsA("BasePart") then table.insert(Table,x) end end end end end
return Table
end
local CameraPart = nil
local Billboards = {}
local NameTagModel = Instance.new("Model",workspace)
local NameTagHumanoid = Instance.new("Humanoid",NameTagModel)
local MonitorInterfaces = {ChatFrame = MonitorElementAssembly.AssembleChatFrame(workspace),ConsoleFrame = MonitorElementAssembly.AssembleChatFrame(workspace)}
local MonitorInterfaceConnections = {}
local BackgroundMusicPosition = 0
local LastManualRefit = tick()
local RefitOverride = false
function Refit(Manual)
--Hypernull(function()
for i,v in next,MonitorInterfaceConnections do v:Disconnect() end
pcall(function() if MonitorInterfaces.ChatFrame:IsA("Instance") and MonitorInterfaces.ChatFrame:IsDescendantOf(workspace) then MonitorInterfaces.ChatFrame.Parent = workspace else MonitorInterfaces.ChatFrame = MonitorElementAssembly.AssembleChatFrame(workspace) end end)
pcall(function() if MonitorInterfaces.ConsoleFrame:IsA("Instance") and MonitorInterfaces.ConsoleFrame:IsDescendantOf(workspace) then MonitorInterfaces.ConsoleFrame.Parent = workspace else MonitorInterfaces.ConsoleFrame = MonitorElementAssembly.AssembleChatFrame(workspace) end end)
for i, v in next,MonitorInterfaces do if typeof(v) == "Instance" and v ~= MonitorInterfaces.ChatFrame and v ~= MonitorInterfaces.ConsoleFrame then Destroy(v) end end
for i,v in next,Hacker do if typeof(v) == "Instance" then Destroy(v) end end
pcall(function() for i,v in next,Hacker.Tuxedo do if typeof(v) == "Instance" then Destroy(v) end end end)
for i,v in next,Monitors do Destroy(v) end
Destroy(NameTagModel)
Destroy(NameTagHumanoid)
NameTagModel = Instance.new("Model",workspace)
NameTagHumanoid = Instance.new("Humanoid",NameTagModel)
NameTagHumanoid.MaxHealth = 0
Hacker = {Head = Saves.Head:Clone(),FakeHead = Instance.new("Part"),Torso = Saves.Torso:Clone(),RightArm = Saves.Limb:Clone(),LeftArm = Saves.Limb:Clone(),RightLeg = Saves.Limb:Clone(),LeftLeg = Saves.Limb:Clone()}
HackerScales = {Head = Vector3.new(2+math.random(-100,100)/100000,1+math.random(-100,100)/100000,1+math.random(-100,100)/100000),Torso = Vector3.new(2+math.random(-100,100)/100000,2+math.random(-100,100)/100000,1+math.random(-100,100)/100000),RightArm = Vector3.new(1+math.random(-100,100)/100000,2+math.random(-100,100)/100000,1+math.random(-100,100)/100000),LeftArm = Vector3.new(1+math.random(-100,100)/100000,2+math.random(-100,100)/100000,1+math.random(-100,100)/100000),RightLeg = Vector3.new(1+math.random(-100,100)/100000,2+math.random(-100,100)/100000,1+math.random(-100,100)/100000),LeftLeg = Vector3.new(1+math.random(-100,100)/100000,2+math.random(-100,100)/100000,1+math.random(-100,100)/100000),Tuxedo = {Hat = Vector3.new(1.85+math.random(-100,100)/100000,1.141+math.random(-100,100)/100000,1.85+math.random(-100,100)/100000),Bodice = Vector3.new(2.05+math.random(-100,100)/100000,2.063+math.random(-100,100)/100000,1.075+math.random(-100,100)/100000),RightSleeve = Vector3.new(1.05+math.random(-100,100)/100000,1.866+math.random(-100,100)/100000,1.05+math.random(-100,100)/100000),LeftSleeve = Vector3.new(1.05+math.random(-100,100)/100000,1.866+math.random(-100,100)/100000,1.05+math.random(-100,100)/100000),RightPantLeg = Vector3.new(1.05+math.random(-100,100)/100000,1.866+math.random(-100,100)/100000,1.05+math.random(-100,100)/100000),LeftPantLeg = Vector3.new(1.05+math.random(-100,100)/100000,1.866+math.random(-100,100)/100000,1.05+math.random(-100,100)/100000)}}
Hacker.BackgroundMusic = Instance.new("Sound",Hacker.Torso)
Hacker.BackgroundMusic.Volume = .25
Hacker.BackgroundMusic.SoundId = "rbxassetid://1842852563"
Hacker.BackgroundMusic.Looped = true
Hacker.BackgroundMusic.Playing = true
Hacker.BackgroundMusic.TimePosition = BackgroundMusicPosition
if #Billboards > 0 then for i,v in next,Billboards do v.Adornee = Hacker.Head end end
for i,v in next,Hacker do if typeof(v) == "Instance" and v:IsA("BasePart") then v.Parent = workspace end end
pcall(function() for i,v in next,Hacker.Tuxedo do if typeof(v) == "Instance" and v:IsA("BasePart") then v.Parent = workspace end end end)
Hacker.FakeHead.Parent = NameTagModel
Hacker.FakeHead.Name = "Head"
Hacker.FakeHead.Anchored = true
CameraPart = Instance.new("Part",workspace)
CameraPart.Name,CameraPart.Anchored,CameraPart.Size,CameraPart.Transparency,CameraPart.CanCollide,CameraPart.CanQuery,CameraPart.CanTouch,CameraPart.CFrame = RandomString(),true,Vector3.new(),1,false,false,false,CFrame.new(0,0,0)
Monitors = {One = Saves.Monitor:Clone(),Two = Saves.Monitor:Clone(),Three = Saves.Monitor:Clone(),Four = Saves.Monitor:Clone(),Five = Saves.Monitor:Clone()}
for i,v in next,Monitors do if typeof(v) == "Instance" then v.Parent = workspace v.CFrame = HackerCFrame.Torso end end
for i,v in next,Monitors.One:GetDescendants() do
if v.Name == MonitorIdentifiers.Container then
MonitorInterfaces.ConsoleFrame.Parent = v
MonitorInterfaces.CommandBox = MonitorElementAssembly.AssembleChatBox(v)
MonitorInterfaces.ConsoleClearButton = MonitorElementAssembly.AssembleTextButton(v.Parent,"Clear",UDim2.new(0.375/4,0,.625/4,0),UDim2.new(.925,0,.1,-10),.7)
MonitorInterfaceConnections.ConsoleClearButton = MonitorInterfaces.ConsoleClearButton.MouseButton1Click:Connect(function()
for j,x in next,MonitorInterfaces.ConsoleFrame:GetChildren() do
if x:IsA("TextLabel") then
Destroy(x)
end
end
end)
MonitorInterfaces.OneMakeDominantButton = MonitorElementAssembly.AssembleTextButton(v.Parent,"Make Dominant",UDim2.new(0.375/4,0,.625/4,0),UDim2.new(.075,0,.1,-10),.7)
MonitorInterfaceConnections.OneMakeDominantButton = MonitorInterfaces.OneMakeDominantButton.MouseButton1Click:Connect(function()
if MonitorData.DominantMonitor ~= "One" then
MonitorData.DominantMonitor = "One"
else
MonitorData.DominantMonitor = "None"
end
Sound(MonitorData.Positions.One,"rbxassetid://8120249833",1,2,.1)
end)
end
end
for i,v in next,Monitors.Two:GetDescendants() do
if v.Name == MonitorIdentifiers.Container then
MonitorInterfaces.ChatFrame.Parent = v
MonitorInterfaces.ChatBox = MonitorElementAssembly.AssembleChatBox(v)
MonitorInterfaces.ChatClearButton = MonitorElementAssembly.AssembleTextButton(v.Parent,"Clear",UDim2.new(0.375/4,0,.625/4,0),UDim2.new(.925,0,.1,-10),.7)
MonitorInterfaceConnections.ChatClearButton = MonitorInterfaces.ChatClearButton.MouseButton1Click:Connect(function()
for j,x in next,MonitorInterfaces.ChatFrame:GetChildren() do
if x:IsA("TextLabel") then
Destroy(x)
end
end
end)
MonitorInterfaces.TwoMakeDominantButton = MonitorElementAssembly.AssembleTextButton(v.Parent,"Make Dominant",UDim2.new(0.375/4,0,.625/4,0),UDim2.new(.075,0,.1,-10),.7)
MonitorInterfaceConnections.TwoMakeDominantButton = MonitorInterfaces.TwoMakeDominantButton.MouseButton1Click:Connect(function()
if MonitorData.DominantMonitor ~= "Two" then
MonitorData.DominantMonitor = "Two"
else
MonitorData.DominantMonitor = "None"
end
Sound(MonitorData.Positions.Two,"rbxassetid://8120249833",1,2,.1)
end)
end
end
for i,v in next,Monitors.Three:GetDescendants() do
if v.Name == MonitorIdentifiers.Container then
MonitorInterfaces.SettingsList = MonitorElementAssembly.AssembleChatFrame(v)
MonitorInterfaces.SettingsList.Size = UDim2.new(1,-50,1,-50)
MonitorInterfaces.SettingsList.AutomaticCanvasSize = Enum.AutomaticSize.None
MonitorInterfaces.ServerSettingsButton = MonitorElementAssembly.AssembleSettingsButton(MonitorInterfaces.SettingsList,"Server",50,UDim2.new(0,0,0,0),.7)
MonitorInterfaces.ServerSettingsDropdown = MonitorElementAssembly.AssembleSettingsDropdown(MonitorInterfaces.ServerSettingsButton.Parent)
MonitorElementAssembly.AssembleSettingsButton(MonitorInterfaces.ServerSettingsDropdown,"Coming soon",50,UDim2.new(0,0,0,0),.7)
MonitorInterfaceConnections.ServerSettingsButton = MonitorInterfaces.ServerSettingsButton.MouseButton1Click:Connect(function()
MonitorInterfaces.ServerSettingsDropdown:SetAttribute(MonitorIdentifiers.DropdownOpenAttribute,not MonitorInterfaces.ServerSettingsDropdown:GetAttribute(MonitorIdentifiers.DropdownOpenAttribute))
if MonitorInterfaces.ServerSettingsDropdown:GetAttribute(MonitorIdentifiers.DropdownOpenAttribute) == true then
game:GetService("TweenService"):Create(MonitorInterfaces.ServerSettingsDropdown,TweenInfo.new(.5,Enum.EasingStyle.Cubic,Enum.EasingDirection.Out,0,false,0),{Size = UDim2.new(1,0,5,0)}):Play()
MonitorInterfaces.ServerSettingsDropdown.Visible = true
else
game:GetService("TweenService"):Create(MonitorInterfaces.ServerSettingsDropdown,TweenInfo.new(.5,Enum.EasingStyle.Cubic,Enum.EasingDirection.Out,0,false,0),{Size = UDim2.new(1,0,0,0)}):Play()
task.spawn(function()
task.wait(.5)
MonitorInterfaces.ServerSettingsDropdown.Visible = false
end)
end
end)
MonitorInterfaces.ClientSettingsButton = MonitorElementAssembly.AssembleSettingsButton(MonitorInterfaces.SettingsList,"Client",50,UDim2.new(0,0,0,0),.7)
MonitorInterfaces.ClientSettingsDropdown = MonitorElementAssembly.AssembleSettingsDropdown(MonitorInterfaces.ClientSettingsButton.Parent)
MonitorElementAssembly.AssembleSettingsButton(MonitorInterfaces.ClientSettingsDropdown,"Coming soon",50,UDim2.new(0,0,0,0),.7)
MonitorInterfaceConnections.ClientSettingsButton = MonitorInterfaces.ClientSettingsButton.MouseButton1Click:Connect(function()
MonitorInterfaces.ClientSettingsDropdown:SetAttribute(MonitorIdentifiers.DropdownOpenAttribute,not MonitorInterfaces.ClientSettingsDropdown:GetAttribute(MonitorIdentifiers.DropdownOpenAttribute))
if MonitorInterfaces.ClientSettingsDropdown:GetAttribute(MonitorIdentifiers.DropdownOpenAttribute) == true then
game:GetService("TweenService"):Create(MonitorInterfaces.ClientSettingsDropdown,TweenInfo.new(.5,Enum.EasingStyle.Cubic,Enum.EasingDirection.Out,0,false,0),{Size = UDim2.new(1,0,5,0)}):Play()
MonitorInterfaces.ClientSettingsDropdown.Visible = true
else
game:GetService("TweenService"):Create(MonitorInterfaces.ClientSettingsDropdown,TweenInfo.new(.5,Enum.EasingStyle.Cubic,Enum.EasingDirection.Out,0,false,0),{Size = UDim2.new(1,0,0,0)}):Play()
task.spawn(function()
task.wait(.5)
MonitorInterfaces.ClientSettingsDropdown.Visible = false
end)
end
end)
MonitorInterfaces.ThreeMakeDominantButton = MonitorElementAssembly.AssembleTextButton(v.Parent,"Make Dominant",UDim2.new(0.375/4,0,.625/4,0),UDim2.new(.075,0,.1,-10),.7)
MonitorInterfaceConnections.ThreeMakeDominantButton = MonitorInterfaces.ThreeMakeDominantButton.MouseButton1Click:Connect(function()
if MonitorData.DominantMonitor ~= "Three" then
MonitorData.DominantMonitor = "Three"
else
MonitorData.DominantMonitor = "None"
end
Sound(MonitorData.Positions.Three,"rbxassetid://8120249833",1,2,.1)
end)
end
end
for i,v in next,Monitors.Four:GetDescendants() do
if v.Name == MonitorIdentifiers.Container then
MonitorInterfaces.ControlList = MonitorElementAssembly.AssembleChatFrame(v)
MonitorInterfaces.ControlList.Size = UDim2.new(1,-50,1,-50)
MonitorInterfaces.FourMakeDominantButton = MonitorElementAssembly.AssembleTextButton(v.Parent,"Make Dominant",UDim2.new(0.375/4,0,.625/4,0),UDim2.new(.075,0,.1,-10),.7)
MonitorInterfaceConnections.FourMakeDominantButton = MonitorInterfaces.FourMakeDominantButton.MouseButton1Click:Connect(function()
if MonitorData.DominantMonitor ~= "Four" then
MonitorData.DominantMonitor = "Four"
else
MonitorData.DominantMonitor = "None"
end
Sound(MonitorData.Positions.Three,"rbxassetid://8120249833",1,2,.1)
end)
end
end
for i,v in next,Monitors.Five:GetDescendants() do
if v.Name == MonitorIdentifiers.Container then
MonitorInterfaces.FiveMakeDominantButton = MonitorElementAssembly.AssembleTextButton(v.Parent,"Make Dominant",UDim2.new(0.375/4,0,.625/4,0),UDim2.new(.075,0,.1,-10),.7)
MonitorInterfaceConnections.FiveMakeDominantButton = MonitorInterfaces.FiveMakeDominantButton.MouseButton1Click:Connect(function()
if MonitorData.DominantMonitor ~= "Five" then
MonitorData.DominantMonitor = "Five"
else
MonitorData.DominantMonitor = "None"
end
Sound(MonitorData.Positions.Five,"rbxassetid://8120249833",1,2,.1)
end)
end
end
if Manual == false then
Pos = Pos*CFrame.new(math.random(-10,10),0,math.random(-10,10))
RootPart = CFrame.new(Pos.Position+Vector3.new(0,3+HipHeight,0))*RootPart.Rotation
Fall = 0
Sound(Pos,"rbxassetid://289556450",1,1,0)
LastManualRefit = tick()
end
--end)
end
Refit(true)
function FilterMessage(Message)
return Message
end
function SendChatMessage(Message,Host) -- yes it's filtered
Remote:FireAllClients(RemoteCodes.MakeChatMessageCode,{Message = Message,Host = Host})
if Host == "Hacker" then MakeText(Message,4,5,true,false) end
if game:GetService("TextChatService").ChatVersion == Enum.ChatVersion.LegacyChatService then
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ChatFrame,"[Studio Dummy]: "..Message)
else
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ChatFrame,"Studio Dummy: "..Message)
end
end
local BootTable = {}
function ProcessMessage(Message,Host)
pcall(function()
if Host == "Server" then
local MessageCollective = {}
repeat
if #Message > 200 then
local Space = 200
while Space > 0 and string.sub(Message,Space,Space) ~= " " do
Space = Space - 1
end
if Space == 0 then
Space = 200
end
local FilteredMessage = FilterMessage(string.sub(Message,1,Space))
table.insert(MessageCollective,FilteredMessage)
Message = string.sub(Message,Space+1)
else
local FilteredMessage = FilterMessage(Message)
table.insert(MessageCollective,FilteredMessage)
Message = ""
end
until Message == ""
for i,v in next,MessageCollective do Message = Message..v end
SendChatMessage(Message,"Server")
return
end
if string.sub(Message,1,3) == "/e " then
Remote:FireAllClients(RemoteCodes.SetEmoteCode,{Emote = string.upper(string.sub(Message,4,4))..string.lower(string.sub(Message,5))})
return
end
if string.sub(Message,1,3) == "/w " or string.sub(Message,1,3) == "/m " then
return
end
local MessageCollective = {}
repeat
if #Message > 200 then -- messages that exceed 200 characters cannot be filtered, so i need to split them into separate 200-character messages and filter them individually
local Space = 200
while Space > 0 and string.sub(Message,Space,Space) ~= " " do
Space = Space - 1
end
if Space == 0 then
Space = 200
end
local FilteredMessage = FilterMessage(string.sub(Message,1,Space))
table.insert(MessageCollective,FilteredMessage)
Message = string.sub(Message,Space+1)
else
local FilteredMessage = FilterMessage(Message)
table.insert(MessageCollective,FilteredMessage)
Message = ""
end
until Message == ""
for i,v in next,MessageCollective do Message = Message..v end -- yes this is still filtered
SendChatMessage(Message,Host)
end)
end
local ChatEvent = Instance.new("BindableEvent",nil)
ChatEvent.Name = RandomString()
function MakeText(String,LetterRate,Duration,HasAudio)
task.spawn(function()
ChatEvent:Fire()
if typeof(Duration) ~= "number" or not Duration then
Duration = 2
end
local Text
local ContinuedText
if #String > 45 then
local Space = string.find(String," ",46)
if Space then
Text = string.sub(String,1,Space-1)
ContinuedText = string.sub(String,Space+1)
else
local SpaceReverse
for i=45,1,-1 do
if string.sub(String,i,i) == " " then
SpaceReverse = i
break
end
end
if SpaceReverse then
Text = string.sub(String,1,SpaceReverse-1)
ContinuedText = string.sub(String,SpaceReverse+1)
else
Text = string.sub(String,1,45)
ContinuedText = string.sub(String,46)
end
end
else
Text = String
end
local Letters = {}
local IsLastLetter = false
local IsSpacebar = false
--[[
if CurrentOffset then
if CurrentOffset.Value >= 1 then
if HasAudio == true then
local Sound = Sound(Uriel.Head.Position,"rbxassetid://3199239299",1,5)
task.wait(.07)
task.spawn(function()
task.wait(.67)
Destroy(Sound)
end)
end
end
end
]]
local Length = string.len(Text)
local Height = 0
local ChatEventConnection = ChatEvent.Event:Connect(function() Height = Height + 3 end)
local ChatBillboard = Instance.new("BillboardGui",workspace)
ChatBillboard.Brightness = 2.5
ChatBillboard.LightInfluence = 0
ChatBillboard.Size = UDim2.new(1.5,0,1.5,0)
ChatBillboard.Adornee = Hacker.Head
ChatBillboard.Size = UDim2.new(Length*1.25,0,2,0)
table.insert(Billboards,ChatBillboard)
for i=1,Length do
task.spawn(function()
local NewText = Instance.new("TextLabel")
NewText.AnchorPoint = Vector2.new(0,.5)
NewText.BackgroundTransparency = 1
NewText.Position = UDim2.new(0,0,.5,0)
NewText.Size = UDim2.new(1,0,1,0)
NewText.Font = Enum.Font.Code
NewText.TextColor3 = Color3.fromRGB(0,0,0)
NewText.TextScaled = true
NewText.TextStrokeColor3 = Color3.fromRGB(255,255,255)
NewText.TextStrokeTransparency = 0
local NewTextSizeConstraint = Instance.new("UISizeConstraint",NewText)
NewTextSizeConstraint.MaxSize = Vector2.new(50,50)
NewTextSizeConstraint.MinSize = Vector2.new(0,0)
ApplyRandomString(NewText)
task.spawn(function()
NewText.Text = string.sub(Text,i,i)
if string.sub(Text,i,i) == " " then
IsSpacebar = true
else
IsSpacebar = false
end
end)
if #Text == 1 then
NewText.Position = UDim2.new(.5,0,.5,0)
NewText.AnchorPoint = Vector2.new(.5,.5)
else
NewText.Position = UDim2.new((i-1)/(Length-1),0,.5,0)
NewText.AnchorPoint = Vector2.new((i-1)/(Length-1),.5)
end
NewText.Size = UDim2.new(0,0,0,0)
game:GetService("TweenService"):Create(NewText,TweenInfo.new(.5,Enum.EasingStyle.Quint,Enum.EasingDirection.Out,0,false,0),{Size = UDim2.new(.5,0,1,0)}):Play()
table.insert(Letters,NewText)
NewText.Parent = ChatBillboard
local FakeSine = tick()*60+i*10
if HasAudio == true then
if IsSpacebar == true then
--Sound(CharacterCFrame.Head.Position,"rbxassetid://9119713951",1+math.random(-50,50)/100,5)
else
Sound(Hacker.Head.Position,"rbxassetid://9113868529",1+math.random(-50,50)/500,3,.05)
end
end
if string.lower(string.sub(Text,i,i+3)) == "skid" then
Sound(Hacker.Head.Position,"rbxassetid://4138167041",1,5,0)
end
if i == Length then
IsLastLetter = true
end
task.spawn(function()
while NewText ~= nil and NewText:IsDescendantOf(workspace) do
FakeSine = tick()*60+i*10
game:GetService("TweenService"):Create(ChatBillboard,TweenInfo.new(.5,Enum.EasingStyle.Linear,Enum.EasingDirection.Out,0,false,0),{StudsOffset = Vector3.new(0,6+Height,0)}):Play()
local AnchorValue = 1
NewText.Rotation = -math.cos(FakeSine/30)*20
AnchorValue = AnchorValue+(AnchorValue*math.sin(FakeSine/30)-AnchorValue)*.25
if #Text == 1 then
NewText.AnchorPoint = Vector2.new(.5,AnchorValue)
else
NewText.AnchorPoint = Vector2.new((i-1)/(Length-1),AnchorValue)
end
task.wait()
end
end)
if IsLastLetter == true then
if ContinuedText ~= "" and ContinuedText ~= " " and ContinuedText ~= nil then
MakeText(ContinuedText,LetterRate,Duration,HasAudio)
end
task.wait(Duration)
for j = 1,#Letters do
task.spawn(function()
game:GetService("TweenService"):Create(Letters[j],TweenInfo.new(.5,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut),{TextStrokeTransparency = 1,TextTransparency = 1}):Play()
task.wait(.5)
Destroy(Letters[j])
end)
end
task.wait(.5)
table.remove(Billboards,table.find(Billboards,ChatBillboard))
ChatEventConnection:Disconnect()
Destroy(ChatBillboard)
end
end)
if string.sub(Text,i,i) == "." or string.sub(Text,i,i) == "?" or string.sub(Text,i,i) == "!" or string.sub(Text,i,i) == ":" or string.sub(Text,i,i) == ";" then
if string.sub(Text,i,i) == "." then
if string.sub(Text,i+1,i+1) ~= nil and (string.sub(Text,i+1,i+1) == "." or string.sub(Text,i+1,i+1) == " ") then
task.wait(.125*LetterRate)
end
else
if string.sub(Text,i+1,i+1) ~= nil and string.sub(Text,i+1,i+1) == " " then
task.wait(.175*LetterRate)
end
end
elseif string.sub(Text,i,i) == "," and string.sub(Text,i+1,i+1) ~= nil and string.sub(Text,i+1,i+1) == " " then
task.wait(.075*LetterRate)
else
task.wait(.0125*LetterRate)
end
end
end)
end
function HackerVocaloid(ID,PitchPrimary,PitchSecondary,PlaybackSpeed,Volume,Time)
local PrimaryAudio,SecondaryAudio
task.spawn(function()
if PitchPrimary == nil or typeof(PitchPrimary) ~= "number" then PitchPrimary = 1 end
if PitchSecondary == nil or typeof(PitchSecondary) ~= "number" then PitchSecondary = .9 end
if PlaybackSpeed == nil or typeof(PlaybackSpeed) ~= "number" then PlaybackSpeed = 1 end
if Volume == nil or typeof(Volume) ~= "number" then Volume = 4 end
if Time == nil or typeof(Time) ~= "number" then Time = 0 end
local A1,A2 = Sound(Hacker.Head.Position,ID,PlaybackSpeed,Volume,Time),Sound(Hacker.Head.Position,ID,PlaybackSpeed,Volume,Time)
PrimaryAudio = A1:Clone()
Destroy(A1)
PrimaryAudio.Parent = Hacker.Head
PrimaryAudio:Stop()
SecondaryAudio = A2:Clone()
Destroy(A2)
SecondaryAudio.Parent = Hacker.Head
SecondaryAudio:Stop()
local PrimaryPitch,SecondaryPitch = Instance.new("PitchShiftSoundEffect",PrimaryAudio),Instance.new("PitchShiftSoundEffect",SecondaryAudio)
PrimaryPitch.Octave,SecondaryPitch.Octave = PitchPrimary,PitchSecondary
PrimaryAudio.TimePosition = Time
SecondaryAudio.TimePosition = Time
PrimaryAudio:Play()
SecondaryAudio:Play()
repeat task.wait(1) until PrimaryAudio.Playing == false or PrimaryAudio.Parent == nil
Destroy(PrimaryAudio)
Destroy(SecondaryAudio)
end)
return PrimaryAudio,SecondaryAudio
end
function Voice(Input)
task.spawn(function()
if Input == "One" then
HackerVocaloid("rbxassetid://9090226058",1,1.2)
MakeText("Wanna hear somethin' funny?",3,1.5,false)
task.wait(2.25)
MakeText("You're dead.",5,.5,false)
elseif Input == "Two" then
HackerVocaloid("rbxassetid://9090167547",.9,1.1)
MakeText("If your strategy is to build my confidence...",3,.5,false)
task.wait(2)
MakeText("...it's workin'.",3,.5,false)
elseif Input == "Three" then
HackerVocaloid("rbxassetid://9090204724",1,1.2)
MakeText("You shouldn't've even gotten out of bed.",3,1.5,false)
elseif Input == "Four" then
HackerVocaloid("rbxassetid://8815456555",1,1.2)
MakeText("Poggers.",3,1.5,false)
end
end)
end
function NewRemote()
local New = Instance.new("RemoteEvent",nil)
New.Name = Code
New.Parent = game:GetService(Services[math.random(1,#Services)])
New.Archivable = false
return New
end
RemoteCodes = {
StopCode = RandomString(64),
MovementCode = RandomString(64),
FunctionCode = RandomString(64),
CameraShakeCode = RandomString(64),
ExecuteCode = RandomString(64),
MakeChatCode = RandomString(64),
MakeChatMessageCode = RandomString(64),
UpdateCharacterDataCode = RandomString(64),
UpdateChatMonitorCode = RandomString(64),
UpdateChatBoxTextCode = RandomString(64),
UpdateCollisionInformationCode = RandomString(64),
UpdateCommandBoxTextCode = RandomString(64),
UpdateConfigCode = RandomString(64),
UpdateConsoleCode = RandomString(64)
}
local LastCall = tick()
Functions = {
SnapObject = function()
Attacking = true
local MouseTarget_ = MouseTarget
DoAnim.Head = true
DoAnim.Torso = true
DoAnim.RightArm = false
DoAnim.LeftArm = true
DoAnim.RightLeg = true
DoAnim.LeftLeg = true
for i = 1,3 do
Anim("RightShoulder",CFrame.new(0,0,0)*CFrame.Angles(0,0,0),.5)
task.wait()
end
for i = 1,15 do
Anim("RightShoulder",CFrame.new(0,0,0)*CFrame.Angles(math.rad(120),math.rad(30),math.rad(30)),.15)
task.wait()
end
task.spawn(function()
task.wait(.1)
pcall(function()
DirectKill(MouseTarget_,Sound(MouseTarget_.Position,"rbxassetid://8391420364",1,3,1.6))
end)
end)
Sound(HackerCFrame.RightArm,"rbxassetid://862198133",1+math.random(-25,25)/200,3,2)
Anim("RightShoulder",CFrame.new(0,0,0)*CFrame.Angles(math.rad(120),math.rad(-20),math.rad(70)),.5)
task.wait()
for i = 1,15 do
Anim("RightShoulder",CFrame.new(0,0,0)*CFrame.Angles(math.rad(120),math.rad(30),math.rad(30)),.15)
task.wait()
end
for i = 1,5 do
Anim("RightShoulder",CFrame.new(0,0,0)*CFrame.Angles(0,0,0),.5)
task.wait()
end
Attacking = false
DoAnim.Head = true
DoAnim.Torso = true
DoAnim.RightArm = true
DoAnim.LeftArm = true
DoAnim.RightLeg = true
DoAnim.LeftLeg = true
end,
SnapModel = function()
Attacking = true
local MouseTarget_ = MouseTarget
DoAnim.Head = true
DoAnim.Torso = true
DoAnim.RightArm = false
DoAnim.LeftArm = true
DoAnim.RightLeg = true
DoAnim.LeftLeg = true
for i = 1,3 do
Anim("RightShoulder",CFrame.new(0,0,0)*CFrame.Angles(0,0,0),.5)
task.wait()
end
for i = 1,15 do
Anim("RightShoulder",CFrame.new(0,0,0)*CFrame.Angles(math.rad(120),math.rad(30),math.rad(30)),.15)
task.wait()
end
task.spawn(function()
task.wait(.1)
pcall(function()
local MaxParent = MouseTarget_.Parent
if MaxParent == workspace then
DirectKill(MouseTarget_,Sound(MouseTarget_.Position,"rbxassetid://8391420364",1,3,1.6))
else
if MaxParent:IsA("Model") or MaxParent:IsA("Folder") or MaxParent.Parent == workspace then
for i,v in next,MaxParent:GetDescendants() do
if v:IsA("BasePart") and v ~= MouseTarget_ then
pcall(function()
if v then
DirectKill(v,Sound(v.Position,"rbxassetid://4868633804",1,3,0))
if i%3 == 0 then
task.wait()
end
end
end)
end
end
DirectKill(MouseTarget_,Sound(MouseTarget_.Position,"rbxassetid://8391420364",1,3,1.6))
Destroy(MaxParent)
else
repeat MaxParent = MaxParent.Parent until MaxParent:IsA("Model") or MaxParent:IsA("Folder") or MaxParent.Parent == workspace
if MaxParent == workspace then
DirectKill(MouseTarget_,Sound(MouseTarget_.Position,"rbxassetid://8391420364",1,3,1.6))
else
for i,v in next,MaxParent:GetDescendants() do
if v:IsA("BasePart") and v ~= MouseTarget_ then
pcall(function()
if v then
DirectKill(v,Sound(v.Position,"rbxassetid://4868633804",1,3,0))
if i%3 == 0 then
task.wait()
end
end
end)
end
end
DirectKill(MouseTarget_,Sound(MouseTarget_.Position,"rbxassetid://8391420364",1,3,1.6))
Destroy(MaxParent)
end
end
end
end)
end)
Sound(HackerCFrame.RightArm,"rbxassetid://862198133",1+math.random(-25,25)/200,3,2)
Anim("RightShoulder",CFrame.new(0,0,0)*CFrame.Angles(math.rad(120),math.rad(-20),math.rad(70)),.5)
task.wait()
for i = 1,15 do
Anim("RightShoulder",CFrame.new(0,0,0)*CFrame.Angles(math.rad(120),math.rad(30),math.rad(30)),.15)
task.wait()
end
for i = 1,5 do
Anim("RightShoulder",CFrame.new(0,0,0)*CFrame.Angles(0,0,0),.5)
task.wait()
end
Attacking = false
DoAnim.Head = true
DoAnim.Torso = true
DoAnim.RightArm = true
DoAnim.LeftArm = true
DoAnim.RightLeg = true
DoAnim.LeftLeg = true
end,
}
local LastDominantMonitor = "None"
local BusyTypingChat,BusyTypingCommand = false,false
local LastOutput,LastOutput_,LastOutput__ = "","",""
local GrabbedObject,GrabbedObjectProperties = nil,{Anchored = false,CanCollide = false,CanQuery = false,CanTouch = false}
function RemoteFunction(Plr,Signal,Arguments)
if Plr == Player then
LastCall = tick()
if Signal == RemoteCodes.MovementCode then
X,Y,Z = Arguments.X,Arguments.Y,Arguments.Z
MovementKeys = Arguments.MovementKeys
Running = Arguments.Running
LockCenter = Arguments.LockCenter
CameraCFrame = Arguments.CameraCFrame
CameraAngles = Arguments.CameraAngles
MousePos = Arguments.MousePos
MouseHold = Arguments.MouseHold
MouseTarget = Arguments.MouseTarget
elseif Signal == RemoteCodes.FunctionCode then
if Arguments.Button == "ResetPosition" then
Pos,RootPart,Fall = CFrame.new(0,100,0),CFrame.new(Vector3.new(0,103+HipHeight,0))*RootPart.Rotation,0
elseif Arguments.Button == "Fly" then
Flying = not Flying
Fall = 0
elseif Arguments.Button == "Teleport" then
local MousePos_ = MousePos
Pos,RootPart,Fall = CFrame.new(MousePos_)*Pos.Rotation,CFrame.new(MousePos_+Vector3.new(0,3+HipHeight,0))*RootPart.Rotation,0
elseif Arguments.Button == "ManualRefit" then
Refit(true)
elseif Arguments.Button == "NonManualRefit" then
Refit(RefitOverride)
elseif Arguments.Button == "ToggleRefitOverride" then
RefitOverride = not RefitOverride
elseif Arguments.Button == "GrabObject" then
if GrabbedObject == nil then
if ((MouseTarget.Name == "Baseplate" or MouseTarget.Name == "Base") and BaseplateProtected == true) then return end
pcall(function() GrabbedObject = MouseTarget end)
GrabbedObjectProperties.Anchored = GrabbedObject.Anchored
GrabbedObjectProperties.CanCollide = GrabbedObject.CanCollide
GrabbedObjectProperties.CanQuery = GrabbedObject.CanQuery
GrabbedObjectProperties.CanTouch = GrabbedObject.CanTouch
GrabbedObject.Anchored = true
GrabbedObject.CanCollide = false
GrabbedObject.CanQuery = false
GrabbedObject.CanTouch = false
else
GrabbedObject.Anchored = GrabbedObjectProperties.Anchored
GrabbedObject.CanCollide = GrabbedObjectProperties.CanCollide
GrabbedObject.CanQuery = GrabbedObjectProperties.CanQuery
GrabbedObject.CanTouch = GrabbedObjectProperties.CanTouch
GrabbedObject = nil
end
elseif Arguments.Button == "ThrowGrabbedObject" then
if GrabbedObject ~= nil then
pcall(function()
GrabbedObject.Anchored = GrabbedObjectProperties.Anchored
GrabbedObject.CanCollide = GrabbedObjectProperties.CanCollide
GrabbedObject.CanQuery = GrabbedObjectProperties.CanQuery
GrabbedObject.CanTouch = GrabbedObjectProperties.CanTouch
local Velocity = Instance.new("BodyVelocity",GrabbedObject)
Velocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
local Axis = Vector3.new(math.random(),math.random(),math.random()).unit
local Speed = math.random() * 25
local AngularVelocity = Instance.new("BodyAngularVelocity",GrabbedObject)
AngularVelocity.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
AngularVelocity.AngularVelocity = Axis*Speed
Velocity.Velocity = (MousePos-Hacker.RightArm.Position).Unit*math.clamp((MousePos-GrabbedObject.Position).Magnitude,0,700)
if math.clamp((MousePos-GrabbedObject.Position).Magnitude,0,700) > 300 then
local AlreadyGotHumanoid = false
local MaxParent = GrabbedObject
if not MaxParent.Parent:FindFirstChildOfClass("Humanoid") then
repeat MaxParent = MaxParent.Parent until MaxParent.Parent:FindFirstChildOfClass("Humanoid") or MaxParent.Parent == workspace
end
if MaxParent.Parent:FindFirstChildOfClass("Humanoid") then
local Sound = Instance.new("Sound",GrabbedObject)
local Sounds = {"rbxassetid://6467894576","rbxassetid://5546573724","rbxassetid://528432644","rbxassetid://6108565657",
"rbxassetid://1080611063","rbxassetid://8378818523","rbxassetid://1080610827","rbxassetid://5113630674",
"rbxassetid://8399859908","rbxassetid://3154959824","rbxassetid://565424701","rbxassetid://527970724",
"rbxassetid://5304557205","rbxassetid://7086388496","rbxassetid://3571339763","rbxassetid://7259201425",
"rbxassetid://5185744597","rbxassetid://2036438626"}
Sound.SoundId = Sounds[math.random(1,#Sounds)]
if Sound.SoundId == "rbxassetid://5113630674" then
Sound.TimePosition = 1.45
elseif Sound.SoundId == "rbxassetid://8378818523" then
Sound.TimePosition = 0.45
elseif Sound.SoundId == "rbxassetid://3571339763" then
Sound.TimePosition = 0.25
elseif Sound.SoundId == "rbxassetid://5185744597" then
Sound.TimePosition = 0.9
end
Sound.Volume = 2
Sound:Play()
Sound.Ended:Connect(function()
Destroy(Sound)
end)
else end
end
task.wait(.1)
Destroy(Velocity)
Destroy(AngularVelocity)
end)
GrabbedObject = nil
end
elseif Arguments.Button == "ShowHideMonitors" then
MonitorData.Hidden = not MonitorData.Hidden
if MonitorData.Hidden == false then
Sound(HackerCFrame.Torso,"rbxassetid://2062119347",1,1,0)
else
Sound(HackerCFrame.Torso,"rbxassetid://7025035451",1,1,0)
end
elseif Arguments.Button == "LMB" then
elseif Arguments.Button == "One" or Arguments.Button == "Two" or Arguments.Button == "Three" or Arguments.Button == "Four" or Arguments.Button == "Five" or Arguments.Button == "Six" or Arguments.Button == "Seven" or Arguments.Button == "Eight" or Arguments.Button == "Nine" or Arguments.Button == "Zero" then
Voice(Arguments.Button)
elseif Arguments.Button == "Z" then
Functions.SnapObject()
elseif Arguments.Button == "X" then
Functions.SnapModel()
end
elseif Signal == RemoteCodes.UpdateConfigCode then
elseif Signal == RemoteCodes.MakeChatCode then
ProcessMessage(Arguments.Message,Arguments.Host) -- it's filtered ok? don't ban plz
elseif Signal == RemoteCodes.ExecuteCode then
if Arguments.Command == "cls" then
for j,x in next,MonitorInterfaces.ConsoleFrame:GetChildren() do
if x:IsA("TextLabel") then
Destroy(x)
end
end
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Cleared the console.")
return
elseif string.sub(Arguments.Command,1,3) == "ss/" then
game:GetService("SoundService").AmbientReverb = Enum.ReverbType[string.sub(Arguments.Command,4)]
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Set SoundService ambient reverb type to "..tostring(game:GetService("SoundService").AmbientReverb)..".")
return
elseif Arguments.Command == "chatbox" then
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Toggled the Roblox default chat window.")
Remote:FireAllClients(RemoteCodes.FunctionCode,{Button = "ToggleChat"})
return
elseif Arguments.Command == "base" then
BaseplateProtected = not BaseplateProtected
if BaseplateProtected == true then
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Baseplate is now protected.")
else
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Baseplate is now unprotected.")
end
return
elseif string.sub(Arguments.Command,1,8) == "newbase/" then
if string.sub(Arguments.Command,9) == "origin" or string.sub(Arguments.Command,9) == nil or string.sub(Arguments.Command,9) == "" then
local Baseplate = Instance.new("Part",workspace)
Baseplate.Color = Color3.fromRGB(91,91,91)
Baseplate.Material = Enum.Material.Plaster
Baseplate.Locked = true
Baseplate.Name = "Baseplate"
Baseplate.Size = Vector3.new(2048,16,2048)
Baseplate.Position = Vector3.new(0,-8,0)
Baseplate.Anchored = true
local BaseplateTexture = Instance.new("Texture",Baseplate)
BaseplateTexture.Color3 = Color3.fromRGB(0,0,0)
BaseplateTexture.StudsPerTileU = 8
BaseplateTexture.StudsPerTileV = 8
BaseplateTexture.Texture = "rbxassetid://6372755229"
BaseplateTexture.Transparency = .8
BaseplateTexture.Face = Enum.NormalId.Top
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Generated a new baseplate at the default position.")
elseif string.sub(Arguments.Command,10) == "here" then
local Baseplate = Instance.new("Part",workspace)
Baseplate.Color = Color3.fromRGB(91,91,91)
Baseplate.Material = Enum.Material.Plaster
Baseplate.Locked = true
Baseplate.Name = "Baseplate"
Baseplate.Size = Vector3.new(2048,16,2048)
Baseplate.Position = RootPart.Position+Vector3.new(0,-8,0)
Baseplate.Anchored = true
local BaseplateTexture = Instance.new("Texture",Baseplate)
BaseplateTexture.Color3 = Color3.fromRGB(0,0,0)
BaseplateTexture.StudsPerTileU = 8
BaseplateTexture.StudsPerTileV = 8
BaseplateTexture.Texture = "rbxassetid://6372755229"
BaseplateTexture.Transparency = .8
BaseplateTexture.Face = Enum.NormalId.Top
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Generated a new baseplate at your position.")
end
return
elseif Arguments.Command == "fungalshift" or Arguments.Command == "fungal" or Arguments.Command == "fungus" or Arguments.Command == "fun" or Arguments.Command == "fs" then
local function T(Instance_,Duration,Style,Direction,Properties)local Tween=game:GetService("TweenService"):Create(Instance_,TweenInfo.new(Duration,Enum.EasingStyle[Style],Enum.EasingDirection[Direction]),Properties)Tween:Play()return Tween end
Sound(workspace,"rbxassetid://7390331288",1,3,0)
task.spawn(function() task.wait(2) Sound(workspace,"rbxassetid://1912101274",1,3,0) end)
task.wait(.25)
Remote:FireAllClients(RemoteCodes.FunctionCode,{Button = "FungalShift"})
local ColorCorrection = Instance.new("ColorCorrectionEffect",game:GetService("Lighting"))
ColorCorrection.Brightness = 1
ColorCorrection.Contrast = -2
local Reactants,Products = {},{}
for i,v in next,workspace:GetDescendants() do if v:IsA("BasePart") and not table.find(Reactants,v.Material) then table.insert(Reactants,v.Material) end end
for i,v in next,Enum.Material:GetEnumItems() do if v ~= Enum.Material.Cardboard and v ~= Enum.Material.Carpet and v ~= Enum.Material.CeramicTiles and v ~= Enum.Material.ClayRoofTiles and v ~= Enum.Material.RoofShingles and v ~= Enum.Material.Leather and v ~= Enum.Material.Plaster and v ~= Enum.Material.Rubber and v ~= Enum.Material.Water then table.insert(Products,v) end end
local Reactant,Product = Reactants[math.random(1,#Reactants)],Products[math.random(1,#Products)]
if Reactant == Product then
if math.random(1,2) == 1 then
repeat Product = Products[math.random(1,#Products)] until Reactant ~= Product
else
repeat Reactant = Reactants[math.random(1,#Reactants)] until Reactant ~= Product
end
end
local Headers = {"YOUR REALITY IS SHAKEN","YOU SENSE THINGS ARE NO LONGER WHAT THEY USED TO BE","YOU FEEL SOMETHING HAS CHANGED","YOU FEEL THE RULES OF THE COSMOS HAVE SHIFTED","YOU SENSE THE REALITY HAS SHIFTED","THE REALITY HAS SHIFTED"}
local Header = Headers[math.random(1,#Headers)]
local Footer = ""
local function a(a)local b=a:sub(1,1)for c=2,#a do local d=a:sub(c,c)if d:match("%u")then b=b.." "..d else b=b..d end end;return b end
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Fungal shifted all existing "..a(Reactant.Name).." into "..a(Product.Name)..".")
if math.random(1,2) == 1 then
Footer = "YOU HEAR THE WORD \""..string.upper(a(Reactant.Name)).."\" ECHOING AND SHIFTING IN COLORS"
else
Footer = "YOU HEAR THE WORD \""..string.upper(a(Product.Name)).."\" ECHOING AND SHIFTING IN COLORS"
end
for i,v in next,workspace:GetDescendants() do
if v:IsA("BasePart") and Reactant ~= Enum.Material.Water and Product ~= Enum.Material.Water and not v:IsA("Terrain") then
if v.Material == Reactant then
if Product == Enum.Material.Air then
Destroy(v)
else
v.Material = Product
end
end
end
end
task.spawn(function()
for i,v in next,game:GetService("Players"):GetPlayers() do
task.spawn(function()
local BaseUI = Instance.new("ScreenGui",v:FindFirstChildOfClass("PlayerGui"))
local HeaderContainer = Instance.new("Frame",BaseUI)
HeaderContainer.AnchorPoint = Vector2.new(.5,.5)
HeaderContainer.AutomaticSize = Enum.AutomaticSize.XY
HeaderContainer.BackgroundColor3 = Color3.fromRGB(116,0,156)
HeaderContainer.BackgroundTransparency = .815686275
HeaderContainer.Position = UDim2.new(.5,0,.7,0)
HeaderContainer.Size = UDim2.new(0,0,.1,0)
local HeaderCorner = Instance.new("UICorner",HeaderContainer)
HeaderCorner.CornerRadius = UDim.new(.2,0)
local HeaderPadding = Instance.new("UIPadding",HeaderContainer)
HeaderPadding.PaddingLeft = UDim.new(0,10)
HeaderPadding.PaddingRight = UDim.new(0,10)
local HeaderStroke = Instance.new("UIStroke",HeaderContainer)
HeaderStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
HeaderStroke.Color = Color3.fromRGB(223,0,227)
HeaderStroke.Thickness = 5
local HeaderLabel = Instance.new("TextLabel",HeaderContainer)
HeaderLabel.AutomaticSize = Enum.AutomaticSize.XY
HeaderLabel.BackgroundTransparency = 1
HeaderLabel.Size = UDim2.new(1,0,1,0)
HeaderLabel.Font = Enum.Font.Oswald
HeaderLabel.Text = ""
HeaderLabel.TextColor3 = Color3.fromRGB(255,255,255)
HeaderLabel.TextSize = 70
local FooterLabel = Instance.new("TextLabel",BaseUI)
FooterLabel.AnchorPoint = Vector2.new(.5,0)
FooterLabel.AutomaticSize = Enum.AutomaticSize.XY
FooterLabel.BackgroundTransparency = 1
FooterLabel.Position = UDim2.new(.5,0,.75,0)
FooterLabel.Size = UDim2.new(0,0,.1,0)
FooterLabel.Font = Enum.Font.Oswald
FooterLabel.Text = ""
FooterLabel.TextColor3 = Color3.fromRGB(255,255,255)
FooterLabel.TextSize = 30
local HeaderValue = Instance.new("NumberValue",BaseUI)
HeaderValue.Value = 0
T(HeaderValue,1,"Cubic","Out",{Value = string.len(Header)})
local StopHeaderRepeat = tick()
repeat HeaderLabel.Text = string.sub(Header,1,HeaderValue.Value) task.wait() until tick()-StopHeaderRepeat >= 2.5
local FooterValue = Instance.new("NumberValue",BaseUI)
FooterValue.Value = 0
T(FooterValue,1,"Cubic","Out",{Value = string.len(Footer)})
local StopFooterRepeat = tick()
repeat FooterLabel.Text = string.sub(Footer,1,FooterValue.Value) task.wait() until tick()-StopFooterRepeat >= 4
T(HeaderContainer,.75,"Quad","In",{BackgroundTransparency = 1})
T(HeaderStroke,.75,"Quad","In",{Transparency = 1})
T(HeaderLabel,.75,"Quad","In",{TextTransparency = 1})
T(FooterLabel,.75,"Quad","In",{TextTransparency = 1})
task.wait(.75)
Destroy(BaseUI)
end)
end
end)
T(ColorCorrection,3.5,"Cubic","Out",{Contrast = 0})
T(ColorCorrection,1.5,"Cubic","Out",{Brightness = math.random(-5,0)/10})
task.wait(1.5)
T(ColorCorrection,2,"Quad","InOut",{Brightness = 0})
task.wait(.5)
T(ColorCorrection,2,"Quad","InOut",{Saturation = math.random(-10,5),TintColor = Color3.fromRGB(math.random(0,255),math.random(0,255),math.random(0,255))})
T(ColorCorrection,3,"Cubic","InOut",{Brightness = math.random(-5,0)/10})
task.wait(3)
T(ColorCorrection,5,"Quad","InOut",{Brightness = 0,TintColor = Color3.fromRGB(255,255,255)})
T(ColorCorrection,3,"Quad","InOut",{Saturation = 0})
task.wait(5)
Destroy(ColorCorrection)
return
elseif Arguments.Command == "randomshift" or Arguments.Command == "rfungal" or Arguments.Command == "rfungus" or Arguments.Command == "rfun" or Arguments.Command == "rfs" then
local function T(Instance_,Duration,Style,Direction,Properties)local Tween=game:GetService("TweenService"):Create(Instance_,TweenInfo.new(Duration,Enum.EasingStyle[Style],Enum.EasingDirection[Direction]),Properties)Tween:Play()return Tween end
Sound(workspace,"rbxassetid://7390331288",1,3,0)
task.spawn(function() task.wait(2) Sound(workspace,"rbxassetid://1912101274",1,3,0) end)
task.wait(.25)
Remote:FireAllClients(RemoteCodes.FunctionCode,{Button = "FungalShift"})
local ColorCorrection = Instance.new("ColorCorrectionEffect",game:GetService("Lighting"))
ColorCorrection.Brightness = 1
ColorCorrection.Contrast = -2
local Products = {}
for i,v in next,Enum.Material:GetEnumItems() do if v ~= Enum.Material.Cardboard and v ~= Enum.Material.Carpet and v ~= Enum.Material.CeramicTiles and v ~= Enum.Material.ClayRoofTiles and v ~= Enum.Material.RoofShingles and v ~= Enum.Material.Leather and v ~= Enum.Material.Plaster and v ~= Enum.Material.Rubber then table.insert(Products,v) end end
local Headers = {"YOUR REALITY IS SHAKEN","YOU SENSE THINGS ARE NO LONGER WHAT THEY USED TO BE","YOU FEEL SOMETHING HAS CHANGED","YOU FEEL THE RULES OF THE COSMOS HAVE SHIFTED","YOU SENSE THE REALITY HAS SHIFTED","THE REALITY HAS SHIFTED"}
local Header = Headers[math.random(1,#Headers)]
local Footer = ""
local function a(a)local b=a:sub(1,1)for c=2,#a do local d=a:sub(c,c)if d:match("%u")then b=b.." "..d else b=b..d end end;return b end
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Fungal shifted everything into a random material.")
Footer = "THE WORLD AROUND YOU AS A WHOLE ECHOES AND SHIFTS IN COLORS"
for i,v in next,workspace:GetDescendants() do
local Product = Products[math.random(1,#Products)]
if v:IsA("BasePart") and not v:IsA("Terrain") then
if Product == Enum.Material.Air then
Destroy(v)
else
v.Material = Product
end
end
end
task.spawn(function()
for i,v in next,game:GetService("Players"):GetPlayers() do
task.spawn(function()
local BaseUI = Instance.new("ScreenGui",v:FindFirstChildOfClass("PlayerGui"))
local HeaderContainer = Instance.new("Frame",BaseUI)
HeaderContainer.AnchorPoint = Vector2.new(.5,.5)
HeaderContainer.AutomaticSize = Enum.AutomaticSize.XY
HeaderContainer.BackgroundColor3 = Color3.fromRGB(116,0,156)
HeaderContainer.BackgroundTransparency = .815686275
HeaderContainer.Position = UDim2.new(.5,0,.7,0)
HeaderContainer.Size = UDim2.new(0,0,.1,0)
local HeaderCorner = Instance.new("UICorner",HeaderContainer)
HeaderCorner.CornerRadius = UDim.new(.2,0)
local HeaderPadding = Instance.new("UIPadding",HeaderContainer)
HeaderPadding.PaddingLeft = UDim.new(0,10)
HeaderPadding.PaddingRight = UDim.new(0,10)
local HeaderStroke = Instance.new("UIStroke",HeaderContainer)
HeaderStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
HeaderStroke.Color = Color3.fromRGB(223,0,227)
HeaderStroke.Thickness = 5
local HeaderLabel = Instance.new("TextLabel",HeaderContainer)
HeaderLabel.AutomaticSize = Enum.AutomaticSize.XY
HeaderLabel.BackgroundTransparency = 1
HeaderLabel.Size = UDim2.new(1,0,1,0)
HeaderLabel.Font = Enum.Font.Oswald
HeaderLabel.Text = ""
HeaderLabel.TextColor3 = Color3.fromRGB(255,255,255)
HeaderLabel.TextSize = 70
local FooterLabel = Instance.new("TextLabel",BaseUI)
FooterLabel.AnchorPoint = Vector2.new(.5,0)
FooterLabel.AutomaticSize = Enum.AutomaticSize.XY
FooterLabel.BackgroundTransparency = 1
FooterLabel.Position = UDim2.new(.5,0,.75,0)
FooterLabel.Size = UDim2.new(0,0,.1,0)
FooterLabel.Font = Enum.Font.Oswald
FooterLabel.Text = ""
FooterLabel.TextColor3 = Color3.fromRGB(255,255,255)
FooterLabel.TextSize = 30
local HeaderValue = Instance.new("NumberValue",BaseUI)
HeaderValue.Value = 0
T(HeaderValue,1,"Cubic","Out",{Value = string.len(Header)})
local StopHeaderRepeat = tick()
repeat HeaderLabel.Text = string.sub(Header,1,HeaderValue.Value) task.wait() until tick()-StopHeaderRepeat >= 2.5
local FooterValue = Instance.new("NumberValue",BaseUI)
FooterValue.Value = 0
T(FooterValue,1,"Cubic","Out",{Value = string.len(Footer)})
local StopFooterRepeat = tick()
repeat FooterLabel.Text = string.sub(Footer,1,FooterValue.Value) task.wait() until tick()-StopFooterRepeat >= 4
T(HeaderContainer,.75,"Quad","In",{BackgroundTransparency = 1})
T(HeaderStroke,.75,"Quad","In",{Transparency = 1})
T(HeaderLabel,.75,"Quad","In",{TextTransparency = 1})
T(FooterLabel,.75,"Quad","In",{TextTransparency = 1})
task.wait(.75)
Destroy(BaseUI)
end)
end
end)
T(ColorCorrection,3.5,"Cubic","Out",{Contrast = 0})
T(ColorCorrection,1.5,"Cubic","Out",{Brightness = math.random(-5,0)/10})
task.wait(1.5)
T(ColorCorrection,2,"Quad","InOut",{Brightness = 0})
task.wait(.5)
T(ColorCorrection,2,"Quad","InOut",{Saturation = math.random(-10,5),TintColor = Color3.fromRGB(math.random(0,255),math.random(0,255),math.random(0,255))})
T(ColorCorrection,3,"Cubic","InOut",{Brightness = math.random(-5,0)/10})
task.wait(3)
T(ColorCorrection,5,"Quad","InOut",{Brightness = 0,TintColor = Color3.fromRGB(255,255,255)})
T(ColorCorrection,3,"Quad","InOut",{Saturation = 0})
task.wait(5)
Destroy(ColorCorrection)
return
elseif Arguments.Command == "endscript" or Arguments.Command == "stop" or Arguments.Command == "end" or Arguments.Command == "terminate" then
task.spawn(function()
pcall(function()
ScriptEnded = true
pcall(function()
task.spawn(function()for i,v in next,Loops do task.spawn(function() v:Disconnect()end) end;end)
for i,v in next,MonitorInterfaceConnections do v:Disconnect() end
Added:Disconnect()
Removing:Disconnect()
RemoteFunctionEvent:Disconnect()
CharacterAdded:Disconnect()
end)
pcall(function()
Remote:FireAllClients(RemoteCodes.StopCode,{})
end)
pcall(function()
for i,v in next,ClientInstances do
if typeof(v) == "Instance" then
Destroy(v)
end
end
pcall(function()
task.spawn(function()
task.wait(10)
Destroy(Remote)
end)
end)
end)
pcall(function()
task.spawn(function()
task.wait(.1)
for i,v in next,Hacker do if typeof(v) == "Instance" then Destroy(v) end end
for i,v in next,Hacker.Tuxedo do if typeof(v) == "Instance" then Destroy(v) end end
for i,v in next,Monitors do if typeof(v) == "Instance" then Destroy(v) end end
Destroy(CameraPart)
end)
end)
end)
task.wait(1)
Player:LoadCharacter()
pcall(function() script.Enabled = false;Destroy(script) end)
end)
return
elseif Arguments.Command == "fixr" then
task.spawn(function()
Destroy(Remote)
end)
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Attempted to fix remote.")
return
elseif string.sub(Arguments.Command,1,5) == "boot/" then
if string.sub(Arguments.Command,6) == "all" or string.sub(Arguments.Command,6) == "@e" or string.sub(Arguments.Command,6) == "@a" or string.sub(Arguments.Command,6) == "*" or string.sub(Arguments.Command,6) == "@everyone" then
for i,v in next,game:GetService("Players"):GetPlayers() do
v:Kick("Server closed by Studio Dummy using ViperOS.")
end
game:GetService("Players").PlayerAdded:Connect(function(v)
v:Kick("Server closed by Studio Dummy using ViperOS.")
end)
else
local BootedPlayer = false
local BootedName = ""
local BootedDisplayName = ""
for i,v in next,game:GetService("Players"):GetPlayers() do
if v.Name == string.sub(Arguments.Command,6) then
BootedName = v.Name
BootedName = v.DisplayName
v:Kick("Booted from this server by Studio Dummy using ViperOS.")
BootedPlayer = true
end
end
if BootedPlayer == true then
if BootedName ~= BootedDisplayName then
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Booted \""..BootedName.."\", also known as \""..BootedDisplayName.."\", from the server.")
else
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Booted \""..BootedName.."\" from the server.")
end
else
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Failed to boot \""..string.sub(Arguments.Command,6).."\" from the server - user does not exist, is not in the server, or is running on a client.")
end
end
return
elseif string.sub(Arguments.Command,1,10) == "permaboot/" then
local BootedPlayer = false
local BootedName = ""
local BootedDisplayName = ""
for i,v in next,game:GetService("Players"):GetPlayers() do
if v.Name == string.sub(Arguments.Command,11) then
BootedName = v.Name
BootedName = v.DisplayName
v:Kick("Permanently booted from this server by Studio Dummy using ViperOS.")
BootedPlayer = true
end
end
if BootedPlayer == true then
if BootedName ~= BootedDisplayName then
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Permanently booted \""..BootedName.."\", also known as \""..BootedDisplayName.."\", from the server.")
else
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Permanently booted \""..BootedName.."\" from the server.")
end
else
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Appended \""..string.sub(Arguments.Command,11).."\" to the ViperOS Permaboot table.")
end
table.insert(BootTable,string.sub(Arguments.Command,11))
return
elseif string.sub(Arguments.Command,1,7) == "unboot/" then
for i,v in next,BootTable do
if v == string.sub(Arguments.Command,8) then
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Removed \""..string.sub(Arguments.Command,8).."\" from the ViperOS Permaboot table.")
table.remove(BootTable,i)
return
end
end
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Could not remove \""..string.sub(Arguments.Command,8).."\" from the ViperOS Permaboot table - name is not appended to the list.")
return
elseif Arguments.Command == "ily" then
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: Attempted to get rid of all \"ily\" sounds.")
for i,v in next,workspace:GetDescendants() do
if v:IsA("Sound") then
if v.SoundId == "rbxassetid://15957461869" then
v.SoundId = "rbxassetid://7294616388"
v.PlaybackSpeed = 1
v.Volume = 10
v.TimePosition = 2.25
end
end
end
return
end
local don,err = pcall(function()
loadstring(Arguments.Command)()
end)
if not don then
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ConsoleFrame,"[ViperOS]: "..err)
end
elseif Signal == RemoteCodes.UpdateChatMonitorCode then
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ChatFrame,Arguments.Text)
elseif Signal == RemoteCodes.UpdateConsoleCode then
if Arguments.Text ~= LastOutput and Arguments.Text ~= LastOutput_ and Arguments.Text ~= LastOutput__ then
MonitorElementAssembly.AssembleConsoleOutput(MonitorInterfaces.ConsoleFrame,Arguments.Text)
MonitorInterfaces.ConsoleFrame.CanvasPosition = Vector2.new(0,1e9)
LastOutput__ = LastOutput_
LastOutput_ = LastOutput
LastOutput = Arguments.Text
end
elseif Signal == RemoteCodes.UpdateCommandBoxTextCode then
if Arguments.Typing == true then
if BusyTypingCommand == false then
BusyTypingCommand = true
LastDominantMonitor = MonitorData.DominantMonitor
end
if math.floor((tick()*4)%2) == 1 then
Arguments.Text = Arguments.Text:sub(1,Arguments.CursorPosition-1).."█"..Arguments.Text:sub(Arguments.CursorPosition+1)
end
MonitorInterfaces.CommandBox.Text = ">"..Arguments.Text
MonitorData.DominantMonitor = "One"
else
if BusyTypingCommand == true then
BusyTypingCommand = false
MonitorData.DominantMonitor = LastDominantMonitor
end
if Arguments.Text == nil or Arguments.Text == "" then
MonitorInterfaces.CommandBox.Text = "Press \",\" to run a command or process some code"
else
MonitorInterfaces.CommandBox.Text = ">"..Arguments.Text
end
end
elseif Signal == RemoteCodes.UpdateChatBoxTextCode then
if Arguments.Typing == true then
if BusyTypingChat == false then
BusyTypingChat = true
LastDominantMonitor = MonitorData.DominantMonitor
end
if math.floor((tick()*4)%2) == 1 then
Arguments.Text = Arguments.Text:sub(1,Arguments.CursorPosition-1).."█"..Arguments.Text:sub(Arguments.CursorPosition+1)
end
MonitorInterfaces.ChatBox.Text = Arguments.Text
MonitorData.DominantMonitor = "Two"
else
if BusyTypingChat == true then
BusyTypingChat = false
MonitorData.DominantMonitor = LastDominantMonitor
end
if Arguments.Text == nil or Arguments.Text == "" then
MonitorInterfaces.ChatBox.Text = "Press \"/\" to chat"
else
MonitorInterfaces.ChatBox.Text = Arguments.Text
end
end
end
end
end
Remote = NewRemote()
RemoteFunctionEvent = Remote.OnServerEvent:Connect(function(a,b,c)
RemoteFunction(a,b,c)
end)
CharacterAdded = Player.CharacterAdded:Connect(function() Player.Character = nil Destroy(Player.Character) end)
ToolAdded = Player.Backpack.ChildAdded:Connect(function(v) Destroy(v) end)
function Sound(Pos,ID,Pitch,Volume,Time)
Pitch = Pitch or 1
Volume = Volume or 1
Time = Time or 0
local Audio = nil
local Holder = Instance.new("Part",game:GetService("SoundService"))
if typeof(Pos) == "CFrame" then
Pos = Pos.Position
end
if typeof(Pos) == "Vector3" then
Holder.Position = Pos
end
table.insert(Ignore,Holder)
Holder.Name = game:GetService("HttpService"):GenerateGUID(true)
task.spawn(function()
if typeof(Pos) == "Instance" then
Audio = Instance.new("Sound",Pos)
else
Audio = Instance.new("Sound",Holder)
end
Audio.Volume = Volume
Audio.Pitch = Pitch
pcall(function() Audio.TimePosition = tonumber(Time) end)
Audio.SoundId = ID
Audio:Play()
repeat task.wait(1) until Audio.Playing == false or Audio.Parent == nil
Destroy(Audio)
Destroy(Holder)
end)
return Audio
end
function CameraShake(ShakePos,Range,Time)
Remote:FireAllClients(RemoteCodes.CameraShakeCode,{ShakePos = ShakePos,Range = Range,Time = Time})
end
local Solver = {}
local Connections = {}
local VPF
local PosVoidCount = 0
local PosVoid = {X = 0,Y = 0,Z = 0}
local PosVoidCFrame = CFrame.new(PosVoid.X,PosVoid.Y,PosVoid.Z)
local PosVoidVector3 = Vector3.new(PosVoid.X,PosVoid.Y,PosVoid.Z)
local RandomizedModelVoid = {}
local RND = Random.new(os.clock())
local MeshCode = RandomString(32)
local FakeMesh = require(10719960011):Clone()
for i = -1000,1000 do
if i == 0 then continue end
local Value = CFrame.new(9e9*i,9e9*i,9e9*i)
table.insert(RandomizedModelVoid,Value)
end
function EWait(Time) Time = Time or 0 local Tick = tick() repeat game:GetService("RunService").Heartbeat:Wait() until tick()-Tick>=Time end
function RandomSign() return ({-1,1})[RND:NextInteger(1,2)] end
coroutine.wrap(function()
while true do
if PosVoidCount == 1000 then
PosVoidCount = 0
end
PosVoid.X = 9e9*PosVoidCount
PosVoid.Y = 9e9*PosVoidCount
PosVoid.Z = 9e9*PosVoidCount
PosVoidCount += 1
EWait()
end
end)
function Solver:Destroy(Part)
Hypernull(function()
coroutine.wrap(function()
pcall(game.Destroy,Part)
pcall(game.ClearAllChildren,Part)
pcall(game.Remove,Part)
pcall(game:GetService("Debris").AddItem,game:GetService("Debris"),Part,0)
end)()
end)
end
function Solver:Derender(Part)
if Part ~= VPF then
VPF = workspace:FindFirstChildWhichIsA("ViewportFrame") or Instance.new("ViewportFrame",workspace)
Hypernull(function()
pcall(function()
local Parent = Part.Parent
Hypernull(function() Part.Parent = VPF end)
Hypernull(function() Part.Parent = Parent end)
end)
end)
end
end
function Solver:Void(Part)
local Events
if Connections then
Events = Connections[Part]
if Events == nil then
Events = {}
Connections[Part] = Events
end
end
Hypernull(function()
pcall(function() Part.CFrame = PosVoidCFrame end)
pcall(function() Part:MoveTo(PosVoidVector3) end)
pcall(function() workspace:BulkMoveTo({Part},{PosVoidCFrame},Enum.BulkMoveMode.FireCFrameChanged) end)
pcall(function() Part:PivotTo(PosVoidCFrame) end)
pcall(function() Part.Offset = PosVoidVector3 end)
end)
coroutine.wrap(function() Events.CFrame = Part.Changed:Connect(function() Hypernull(function()
pcall(function() Part.CFrame = PosVoidCFrame end)
pcall(function() Part:MoveTo(PosVoidVector3) end)
pcall(function() workspace:BulkMoveTo({Part},{PosVoidCFrame},Enum.BulkMoveMode.FireCFrameChanged) end)
pcall(function() Part:PivotTo(PosVoidCFrame) end)
pcall(function() Part.Offset = PosVoidVector3 end)
end)
end)
end)()
end
function Solver:ModelVoidProper(Model)
local Pivot = Model:GetPivot()
local Index = table.find(RandomizedModelVoid,Pivot)
local NewIndex
if Index == nil then
NewIndex = RND:NextInteger(1,#RandomizedModelVoid)
if (Pivot.Position-RandomizedModelVoid[NewIndex].Position).Magnitude < 9e9/2 then
if NewIndex == 1 then
NewIndex = NewIndex + 1
elseif NewIndex == #RandomizedModelVoid then
NewIndex = NewIndex - 1
else
NewIndex = NewIndex + RandomSign()
end
end
else
if Index == 1 then
NewIndex = RND:NextInteger(2,#RandomizedModelVoid)
elseif Index == #RandomizedModelVoid then
NewIndex = RND:NextInteger(1,#RandomizedModelVoid-1)
else
if RND:NextInteger(1, 2) == 1 then
NewIndex = RND:NextInteger(1,Index-1)
else
NewIndex = RND:NextInteger(Index+1,#RandomizedModelVoid)
end
end
end
Model:PivotTo(RandomizedModelVoid[NewIndex])
end
function Solver:ForceVoid(Instance_)
if Instance_:IsA("Terrain") then return end
Hypernull(function()
local Parent = Instance_.Parent
pcall(function()
local Model = Instance.new("Model",workspace)
Instance_.Parent = Model
Solver:ModelVoidProper(Model)
Instance_.Parent = Parent
Solver:Destroy(Model)
end)
end)
end
function Solver:ZSNINFOff(Mesh,PriorityEvents)
local Events
if PriorityEvents then
Events = PriorityEvents[Mesh]
if Events == nil then
Events = {}
PriorityEvents[Mesh] = Events
end
end
local function A_()
pcall(function()
if Mesh.Scale ~= Vector3.new() then
Hypernull(function()
pcall(function()
Mesh.Scale = Vector3.new()
end)
end)
end
end)
end
local function B_()
pcall(function()
if Mesh.Offset ~= Vector3.new(-9e9,-9e9,-9e9) then
Hypernull(function()
pcall(function()
Mesh.Offset = Vector3.new(-9e9,-9e9,-9e9)
end)
end)
end
end)
end
local function C_()
pcall(function()
if Mesh.MeshType ~= Enum.MeshType.Brick then
Hypernull(function()
pcall(function()
Mesh.MeshType = Enum.MeshType.Brick
end)
end)
end
end)
end
pcall(function()
if Events.Scale == nil or Events.Scale.Connected == false then
local function Scale()
A_()
pcall(A_)
end
Events.Scale = Mesh:GetPropertyChangedSignal("Scale"):Connect(Scale())
end
A_()
end)
pcall(function()
if Events.Offset == nil or Events.Offset.Connected == false then
local function Offset()
B_()
pcall(B_)
end
Events.Offset = Mesh:GetPropertyChangedSignal("Offset"):Connect(Offset)
end
B_()
end)
pcall(function()
if Events.MeshType == nil or Events.MeshType.Connected == false then
local function Type()
C_()
pcall(C_)
end
Events.MeshType = Mesh:GetPropertyChangedSignal("MeshType"):Connect(Type)
end
C_()
end)
end
function Solver:MeshDegredation(Part)
local Events
if Connections then
Events = Connections[Part]
if Events == nil then
Events = {}
Connections[Part] = Events
end
end
Hypernull(function()
if Part:IsA("MeshPart") then
pcall(function()
Part:ApplyMesh(FakeMesh)
Solver:Void(Part)
end)
elseif Part:IsA("SpecialMesh") then
pcall(function()
Part.MeshId = "rbxassetid://1099104545"
Solver:Void(Part)
end)
else
pcall(function()
local Mesh = Instance.new("SpecialMesh")
if Part ~= Mesh or not Part:FindFirstChild(MeshCode) then
Mesh.Scale = Vector3.new()
Mesh.MeshType = Enum.MeshType.Brick
Mesh.Offset = Vector3.new(-9e9, -9e9, -9e9)
Mesh.Name = MeshCode
Mesh.MeshId = "rbxassetid://1099104545"
Mesh.Parent = Part
end
end)
end
end)
coroutine.wrap(function()
Events.Mesh = Part.Changed:Connect(function()
Hypernull(function()
if Part:IsA("MeshPart") then
pcall(function()
Part:ApplyMesh(FakeMesh)
Solver:Void(Part)
end)
elseif Part:IsA("SpecialMesh") then
pcall(function()
Part.MeshId = "rbxassetid://1099104545"
Solver:Void(Part)
end)
else
pcall(function()
local Mesh = Instance.new("SpecialMesh")
if Part ~= Mesh or not Part:FindFirstChild(MeshCode) then
Mesh.Scale = Vector3.new()
Mesh.MeshType = Enum.MeshType.Brick
Mesh.Offset = Vector3.new(-9e9, -9e9, -9e9)
Mesh.Name = MeshCode
Mesh.MeshId = "rbxassetid://1099104545"
Mesh.Parent = Part
end
end)
end
end)
end)
end)()
coroutine.wrap(function()
Events.DescendantRemoving = Part.DescendantRemoving:Connect(function()
Hypernull(function()
if Part:IsA("MeshPart") then
pcall(function()
Part:ApplyMesh(FakeMesh)
Solver:Void(Part)
end)
elseif Part:IsA("SpecialMesh") then
pcall(function()
Part.MeshId = "rbxassetid://1099104545"
Solver:Void(Part)
end)
else
pcall(function()
local Mesh = Instance.new("SpecialMesh")
if Part ~= Mesh or not Part:FindFirstChild(MeshCode) then
Mesh.Scale = Vector3.new()
Mesh.MeshType = Enum.MeshType.Brick
Mesh.Offset = Vector3.new(-9e9, -9e9, -9e9)
Mesh.Name = MeshCode
Mesh.MeshId = "rbxassetid://1099104545"
Mesh.Parent = Part
end
end)
end
end)
end)
end)()
end
function Solver:InstElim(Instance_)
local function exec()
pcall(function()
Instance_:ClearAllChildren()
end)
end
pcall(function()
if Connections.InstElim ~= nil and Connections.InstElim.DescendantAdded == nil or Connections.InstElim.DescendantAdded.Connected == false then
local function Clear()
Connections.InstElim.DescendantAdded:Disconnect()
Connections.InstElim.DescendantAdded = Instance_.DescendantAdded:Connect(Clear)
coroutine.wrap(function()
Hypernull(function()
pcall(function()
Instance_:ClearAllChildren()
end)
end)
end)()
end
Connections.InstElim.DescendantAdded = Instance_.DescendantAdded:Connect(Clear)
end
Hypernull(function()
pcall(function()
Instance_:ClearAllChildren()
end)
end)
end)
end
function Solver:PPEObliteration()
pcall(function()
Hypernull(function()
pcall(function()
workspace:ClearAllChildren()
workspace:PivotTo(CFrame.new(9e9,9e9,9e9))
workspace:ScaleTo(.01)
end)
end)
end)
end
function Descript(Script)
local Events
if Connections then
Events = Connections[Script]
if Events == nil then
Events = {}
Connections[Script] = Events
end
end
if Script:IsA("BaseScript") then
pcall(function()
local A = function()
pcall(function()
Script.Disabled = true
end)
end
local B = function()
pcall(function()
if Script.Disabled ~= true then
Hypernull(A)
end
end)
end
if not (Events.Disabled) or not (Events.Disabled.Connected) then
local function Disable()
B()
coroutine.wrap(B)()
end
Events.Disabled = Script:GetPropertyChangedSignal("Disabled"):Connect(Disable)
end
B()
Solver:Destroy(Script)
end)
elseif Script:IsA("ModuleScript") then
Solver:Destroy(Script)
end
end
function Solve(Instance_)
Hypernull(function()
pcall(function()
Instance_.Name = RandomString()
end)
if Instance_:IsA("Player") then
coroutine.wrap(function()
Instance_.Character = nil
for i, v in next, Instance_:GetChildren() do
if not v:IsA("PlayerGui") then
for i, Instance_ in next, v:GetDescendants() do
Solver:Destroy(Instance_)
end
Solver:Destroy(v)
end
end
end)()
elseif Instance_:IsA("LuaSourceContainer") then
coroutine.wrap(function()
Descript(Instance_)
end)()
elseif Instance_:IsA("Humanoid") then
coroutine.wrap(function()
Instance_.Health = -math.huge
Instance_.MaxHealth = -math.huge
Instance_:TakeDamage(math.huge)
Solver:Destroy(Instance_)
end)()
elseif Instance_:IsA("BasePart") then
coroutine.wrap(function()
Solver:Derender(Instance_)
Solver:Void(Instance_)
Solver:ForceVoid(Instance_)
Solver:ZSNINFOff(Instance_)
Solver:MeshDegredation(Instance_)
Solver:InstElim(Instance_)
end)()
Solver:Destroy(Instance_)
elseif Instance_:IsA("Model") then
coroutine.wrap(function()
Solver:Derender(Instance_)
Solver:ForceVoid(Instance_)
Solver:Destroy(Instance_)
end)()
elseif Instance_:IsA("ImageLabel") then
coroutine.wrap(function()
Instance_.Image = "rbxassetid://0"
Instance_.Visible = false
Instance_.Size = UDim2.new()
Instance_.Position = UDim2.new(9e9,9e9,9e9,9e9)
Instance_.ImageTransparency = 1
Instance_.Transparency = 1
Solver:Destroy(Instance_)
end)()
elseif Instance_:IsA("BillboardGui") then
coroutine.wrap(function()
Instance_.AlwaysOnTop = false
Instance_.Enabled = false
Instance_.Size = UDim2.new()
Solver:Destroy(Instance_)
end)()
elseif Instance_:IsA("CFrameValue") then
coroutine.wrap(function()
Instance_.Value = CFrame.new(-9e9, -9e9, -9e9)
Instance_.Name = RandomString()
Solver:Destroy(Instance_)
end)()
elseif Instance_:IsA("ObjectValue") then
coroutine.wrap(function()
Instance_.Value = workspace
Instance_.Name = RandomString()
Solver:Destroy(Instance_)
end)()
elseif Instance_:IsA("RemoteEvent") and Instance_ ~= Remote then
coroutine.wrap(function()
coroutine.wrap(function()
Instance_:FireAllClients(CFrame.new(-9e9,-9e9,-9e9))
Instance_:FireAllClients({"Stop"})
Instance_:FireAllClients({"Stopscript"})
Instance_:FireAllClients("Stop")
Instance_:FireAllClients("Stopscript")
Instance_:FireAllClients("End")
end)()
Solver:Destroy(Instance_)
end)()
elseif Instance_:IsA("RemoteFunction") and Instance_ ~= Remote then
coroutine.wrap(function()
coroutine.wrap(function()
for i, v in next, game:GetService("Players"):GetPlayers() do
coroutine.wrap(function()
Instance_:InvokeClient(v,CFrame.new(-9e9,-9e9,-9e9))
Instance_:InvokeClient(v,{"Stop"})
Instance_:InvokeClient(v,{"Stopscript"})
Instance_:InvokeClient(v,"Stop")
Instance_:InvokeClient(v,"Stopscript")
Instance_:InvokeClient(v,"End")
end)()
end
end)()
Solver:Destroy(Instance_)
end)()
else
coroutine.wrap(function()
pcall(function()
Solver:Destroy(Instance_)
end)
end)()
end
end)
end
function MakeOverlapParams(IgnoreList,MaxParts,CollisionGroup,BruteForceAllSlow,RespectCanCollide) local OverlapParams_ = OverlapParams.new() OverlapParams_.FilterDescendantsInstances = IgnoreList or {} OverlapParams_.MaxParts = MaxParts or false OverlapParams_.CollisionGroup = CollisionGroup or "Default" OverlapParams_.BruteForceAllSlow = BruteForceAllSlow or false OverlapParams_.RespectCanCollide = RespectCanCollide or false return OverlapParams_ end
function KillEffect(Part)
task.spawn(function()
if Part:IsA("Terrain") then return end
local Effect = Part:Clone()
Effect:BreakJoints()
Effect.Parent = workspace
Effect.Anchored = true
Effect.CanCollide = false
Effect.CanQuery = false
Effect.CanTouch = false
Effect.Color = Color3.fromRGB(255,0,0)
if Effect:IsA("UnionOperation") then Effect.UsePartColor = true end
Effect.Material = Enum.Material.Neon
table.insert(Ignore,Effect)
ApplyRandomString(Effect)
local RandomTime = 1/3
game:GetService("TweenService"):Create(Effect,TweenInfo.new(RandomTime*3,Enum.EasingStyle.Cubic,Enum.EasingDirection.Out,0,false,0),{Size = Effect.Size*1.25,Transparency = 1}):Play()
local RemovalDelay = RandomTime*3
task.spawn(function()
for i,v in next,Effect:GetDescendants() do
if v:IsA("Decal") then
game:GetService("TweenService"):Create(v,TweenInfo.new(RandomTime*2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false,0),{Transparency = 1}):Play()
elseif v:IsA("ParticleEmitter") then
game:GetService("TweenService"):Create(v,TweenInfo.new(RandomTime*2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false,0),{TimeScale = 0}):Play()
elseif v:IsA("Frame") then
game:GetService("TweenService"):Create(v,TweenInfo.new(RandomTime*2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false,0),{BackgroundTransparency = 1}):Play()
elseif v:IsA("ImageLabel") then
game:GetService("TweenService"):Create(v,TweenInfo.new(RandomTime*2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false,0),{BackgroundTransparency = 1,ImageTransparency = 1}):Play()
elseif v:IsA("ImageButton") then
game:GetService("TweenService"):Create(v,TweenInfo.new(RandomTime*2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false,0),{BackgroundTransparency = 1,ImageTransparency = 1}):Play()
elseif v:IsA("TextLabel") then
game:GetService("TweenService"):Create(v,TweenInfo.new(RandomTime*2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false,0),{BackgroundTransparency = 1,TextTransparency = 1}):Play()
elseif v:IsA("TextBox") then
game:GetService("TweenService"):Create(v,TweenInfo.new(RandomTime*2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false,0),{BackgroundTransparency = 1,TextTransparency = 1}):Play()
elseif v:IsA("TextButton") then
game:GetService("TweenService"):Create(v,TweenInfo.new(RandomTime*2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false,0),{BackgroundTransparency = 1,TextTransparency = 1}):Play()
elseif v:IsA("ViewportFrame") then
game:GetService("TweenService"):Create(v,TweenInfo.new(RandomTime*2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false,0),{BackgroundTransparency = 1,ImageTransparency = 1}):Play()
end
end
end)
task.wait(RemovalDelay)
Destroy(Effect)
end)
end
function DirectKill(Part,Sound_)
if ((Part.Name == "Baseplate" or Part.Name == "Base") and BaseplateProtected == true) then Destroy(Sound_) return end
for i,v in next,Hacker do if v == Part then Destroy(Sound_) return end end
for i,v in next,Monitors do if v == Part then Destroy(Sound_) return end end
Part.CanCollide = false
Part.CanQuery = false
Part.CanTouch = false
task.spawn(function() KillEffect(Part) end)
Destroy(Part)
end
function ApplyAoE(Position,Range)
if Config.Damage == false then return end
if Config.DetectionType == "PartBoundsInRadius" and Config.DetectionEnvironment ~= "Game" then
local Parts = workspace:GetPartBoundsInRadius(Position,Range,MakeOverlapParams({workspace:FindFirstChildOfClass("Terrain")}))
for i,v in next,Parts do
if not table.find(Ignore,v) then
if v.Name == "Baseplate" or v.Name == "Base" then
if Config.ProtectBaseplate == false then
KillEffect(v)
v:BreakJoints()
if Config.DestroyType == "Destroy" then
Destroy(v)
elseif Config.DestroyType == "Solve" then
Solve(v)
end
end
else
KillEffect(v)
v:BreakJoints()
if Config.DestroyType == "Destroy" then
Destroy(v)
elseif Config.DestroyType == "Solve" then
Solve(v)
end
end
end
end
elseif Config.DetectionType == "Magnitude" or Config.DetectionEnvironment == "Game" then
local function GetEnvironment(Input) if Input == "Workspace" then return workspace elseif Input == "Game" then return game end end
local Environment = GetEnvironment(Config.DetectionEnvironment)
for i,v in next,Environment:GetDescendants() do
if not table.find(Ignore,v) then
if v:IsA("BasePart") then
if v.Name == "Baseplate" or v.Name == "Base" then
if Config.ProtectBaseplate == false then
if (v.Position-Position).Magnitude <= Range then
KillEffect(v)
if Config.DestroyType == "Destroy" then
Destroy(v)
elseif Config.DestroyType == "Solve" then
Solve(v)
end
end
end
else
if (v.Position-Position).Magnitude <= Range then
KillEffect(v)
if Config.DestroyType == "Destroy" then
Destroy(v)
elseif Config.DestroyType == "Solve" then
Solve(v)
end
end
end
end
end
end
end
end
local Interpolate = {
Linear = function(A,B,C)
return (1-C)*A+C*B
end,
QuadBezier = function(A,B,C,D)
return (1-D)*((1-D)*A+D*B)+D*((1-D)*B+D*C)
end,
CubicBezier = function(A,B,C,D,E)
return (1-E)^3*A+3*(1-E)^2*E*B+3*(1-E)*E^2*C+E^3*D
end,
QuarticBezier = function(A,B,C,D,E,F)
return (1-F)^4*A+4*(1-F)^3*F*B+6*(1-F)^2*F^2*C+4*(1-F)*F^3*D+F^4*E
end,
QuinticBezier = function(A,B,C,D,E,F,G)
return (1-G)^5*A+5*(1-G)^4*G*B+10*(1-G)^3*G^2*C+10*(1-G)^2*G^3*D+5*(1-G)*G^4*E+G^5*F
end,
SexticBezier = function(A,B,C,D,E,F,G,H)
return (1-H)^6*A+6*(1-H)^5*H*B+15*(1-H)^4*H^2*C+20*(1-H)^3*H^3*D+15*(1-H)^2*H^4*E+6*(1-H)*H^5*F+H^6*G
end,
HepticBezier = function(A,B,C,D,E,F,G,H,I)
return (1-I)^7*A+7*(1-I)^6*I*B+21*(1-I)^5*I^2*C+35*(1-I)^4*I^3*D+35*(1-I)^3*I^4*E+21*(1-I)^2*I^5*F+7*(1-I)*I^6*G+I^7*H
end,
OcticBezier = function(A,B,C,D,E,F,G,H,I,J)
return (1-J)^8*A+8*(1-J)^7*J*B+28*(1-J)^6*J^2*C+56*(1-J)^5*J^3*D+70*(1-J)^4*J^4*E+56*(1-J)^3*J^5*F+28*(1-J)^2*J^6*G+8*(1-J)*J^7*H+J^8*I
end,
NonicBezier = function(A,B,C,D,E,F,G,H,I,J,K)
return (1-K)^9*A+9*(1-K)^8*K*B+36*(1-K)^7*K^2*C+84*(1-K)^6*K^3*D+126*(1-K)^5*K^4*E+126*(1-K)^4*K^5*F+84*(1-K)^3*K^6*G+36*(1-K)^2*K^7*H+9*(1-K)*K^8*I+K^9*J
end,
DecicBezier = function(A,B,C,D,E,F,G,H,I,J,K,L)
return (1-L)^10*A+10*(1-L)^9*L*B+45*(1-L)^8*L^2*C+120*(1-L)^7*L^3*D+210*(1-L)^6*L^4*E+252*(1-L)^5*L^5*F+210*(1-L)^4*L^6*G+120*(1-L)^3*L^7*H+45*(1-L)^2*L^8*I+10*(1-L)*L^9*J+L^10*K
end,
}
local Effects = {}
local LegacyChatConnections = {}
for Index,Player_ in next,game:GetService("Players"):GetPlayers() do
local Backpack = Instance.new("Backpack")
Backpack.Parent = Player_
local Host = Instance.new("ObjectValue",Backpack)
Host.Name = "Host"
Host.Value = Player
Host:SetAttribute("Code",Code)
local HackerUI = Instance.new("GuiMain",Backpack)
HackerUI.Enabled = true
local ChatBox = Instance.new("TextBox",HackerUI)
ChatBox.Position = UDim2.new(3,3,3,3)
ChatBox.ClearTextOnFocus = false
local NewClient = NLS(ClientSource,Backpack)
NewClient.Name = RandomString()
table.insert(ClientInstances,NewClient)
Remote:FireAllClients("SendRemoteCodes",{Codes = RemoteCodes})
NewClient.Enabled = true
game:GetService("Debris"):AddItem(Backpack,999999)
if game:GetService("TextChatService").ChatVersion == Enum.ChatVersion.LegacyChatService then
local ChatConnection = Player_.Chatted:Connect(function(Message)
Message = FilterMessage(Message)
local NewText = ""
local Skip = false
for i = 1,string.len(Message) do
local Character = string.sub(Message,i,i)
if Character == "<" and string.find(Message,">",i) then
Skip = true
end
if not Skip then NewText = NewText..Character end
if Character == ">" then
Skip = false
end
end
NewText = string.gsub(NewText,"#+#[^#%s]",function(s) return string.rep("█",#s-1)..string.sub(s,-1) end)
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ChatFrame,"["..Player_.Name.."]: "..NewText)
end)
table.insert(LegacyChatConnections,{Connection = ChatConnection,Player = Player_})
end
end
Added = game:GetService("Players").PlayerAdded:Connect(function(Player_)
if table.find(BootTable,Player_.Name) then
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ChatFrame,"[ViperOS]: Removed a permabooted user "..Player_.Name.." from the server.")
Player_:Kick("Permanently booted from this server by Studio Dummy using ViperOS.")
return
end
task.wait(2)
local Backpack = Instance.new("Backpack")
Backpack.Parent = Player_
local Host = Instance.new("ObjectValue",Backpack)
Host.Name = "Host"
Host.Value = Player
Host:SetAttribute("Code",Code)
local HackerUI = Instance.new("GuiMain",Backpack)
HackerUI.Enabled = true
local ChatBox = Instance.new("TextBox",HackerUI)
ChatBox.Position = UDim2.new(3,3,3,3)
ChatBox.ClearTextOnFocus = false
local NewClient = NLS(ClientSource,Backpack)
NewClient.Name = RandomString()
table.insert(ClientInstances,NewClient)
Remote:FireAllClients("SendRemoteCodes",{Codes = RemoteCodes})
NewClient.Enabled = true
game:GetService("Debris"):AddItem(Backpack,999999999)
if game:GetService("TextChatService").ChatVersion == Enum.ChatVersion.LegacyChatService then
local ChatConnection = Player_.Chatted:Connect(function(Message)
Message = FilterMessage(Message)
local NewText = ""
local Skip = false
for i = 1,string.len(Message) do
local Character = string.sub(Message,i,i)
if Character == "<" and string.find(Message,">",i) then
Skip = true
end
if not Skip then NewText = NewText..Character end
if Character == ">" then
Skip = false
end
end
NewText = string.gsub(NewText,"#+#[^#%s]",function(s) return string.rep("█",#s-1)..string.sub(s,-1) end)
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ChatFrame,"["..Player_.Name.."]: "..NewText)
end)
table.insert(LegacyChatConnections,{Connection = ChatConnection,Player = Player_})
end
end)
Removing = game:GetService("Players").PlayerRemoving:Connect(function(Player_)
if Player_.UserId == UserID then
task.spawn(function()
pcall(function()
ScriptEnded = true
pcall(function()
task.spawn(function()for i,v in next,Loops do task.spawn(function() v:Disconnect()end) end;end)
for i,v in next,MonitorInterfaceConnections do v:Disconnect() end
if game:GetService("TextChatService").ChatVersion == Enum.ChatVersion.LegacyChatService then
for i,v in next,LegacyChatConnections do v:Disconnect() end
table.clear(LegacyChatConnections)
end
Added:Disconnect()
Removing:Disconnect()
RemoteFunctionEvent:Disconnect()
CharacterAdded:Disconnect()
end)
pcall(function()
Remote:FireAllClients(RemoteCodes.StopCode,{})
end)
pcall(function()
for i,v in next,ClientInstances do
if typeof(v) == "Instance" then
Destroy(v)
end
end
pcall(function()
task.spawn(function()
task.wait(10)
Destroy(Remote)
end)
end)
end)
pcall(function()
task.spawn(function()
task.wait(.1)
for i,v in next,Hacker do if typeof(v) == "Instance" then Destroy(v) end end
for i,v in next,Hacker.Tuxedo do if typeof(v) == "Instance" then Destroy(v) end end
for i,v in next,Monitors do if typeof(v) == "Instance" then Destroy(v) end end
Destroy(CameraPart)
end)
end)
end)
task.wait(1)
Player:LoadCharacter()
pcall(function() script.Enabled = false;Destroy(script) end)
end)
return
else
if game:GetService("TextChatService").ChatVersion == Enum.ChatVersion.LegacyChatService then
for i,v in next,LegacyChatConnections do
if v.Player == Player_ then
v.Connection:Disconnect()
table.remove(LegacyChatConnections,i)
end
end
end
end
end)
local LastCollisionCheck = tick()
local LastControlsUpdate = tick()
local LastFootstepTime = tick()
local GrabbedObjectHighlight,GrabbedObjectHighlightName = nil,RandomString()
function MainLoop()
if ScriptEnded == true then return end
--Hypernull(function()
Sine = tick()*60
if not Remote or not Remote:IsDescendantOf(game) or not table.find(Services,Remote.Parent.ClassName) or Remote.Name ~= Code or tick()-LastCall >= 1 then
LastCall = tick()
game:GetService("Debris"):AddItem(Remote,0)
task.spawn(function()RemoteFunctionEvent:Disconnect()end)
Remote = NewRemote()
RemoteFunctionEvent = Remote.OnServerEvent:Connect(function(a,b,c)
RemoteFunction(a,b,c)
end)
end
task.spawn(function()
if GrabbedObject ~= nil then
if not GrabbedObject:FindFirstChild(GrabbedObjectHighlightName) then
GrabbedObjectHighlight = Instance.new("Highlight",GrabbedObject)
GrabbedObjectHighlight.DepthMode = Enum.HighlightDepthMode.Occluded
GrabbedObjectHighlight.FillColor = Color3.fromRGB(255,255,255)
GrabbedObjectHighlight.Name = GrabbedObjectHighlightName
end
GrabbedObject.CFrame = CLerp(GrabbedObject.CFrame,CFrame.new(HackerCFrame.Head.Position)*CFrame.lookAt(HackerCFrame.Head.Position,MousePos).Rotation*CFrame.new(0,0,-math.clamp((HackerCFrame.Head.Position-MousePos).Magnitude,1,20)),.25)
else
Destroy(GrabbedObjectHighlight)
end
end)
task.spawn(function()
if Flying == false then
if LookAt == false then
RootPart = RootPart:Lerp(CFrame.new(Pos.Position+Vector3.new(0,3+HipHeight,0))*CFrame.Angles(0,RotAngles.Y,0),.7)
elseif LookAt == true then
local MX,MY,MZ = CFrame.lookAt(RootPart.Position,MousePos):ToOrientation()
RootPart = RootPart:Lerp(CFrame.new(Pos.Position+Vector3.new(0,3+HipHeight,0))*CFrame.Angles(0,MY,0),.7)
end
RootAngles.X,RootAngles.Y,RootAngles.Z = RootPart.Rotation:ToOrientation()
elseif Flying == true then
if LookAt == false then
RootPart = RootPart:Lerp(CFrame.new(Pos.Position+Vector3.new(0,3+HipHeight,0))*PosRot,.25)
elseif LookAt == true then
local MR = CFrame.lookAt(RootPart.Position,MousePos).Rotation
RootPart = RootPart:Lerp(CFrame.new(Pos.Position+Vector3.new(0,3+HipHeight,0))*MR,.25)
end
end
PosAngles.X,PosAngles.Y,PosAngles.Z = Pos.Rotation:ToOrientation()
RotAngles.X,RotAngles.Y,RotAngles.Z = PosRot.Rotation:ToOrientation()
end)
task.spawn(function()
HackerCFrame.Torso = UpdateWeld(W.RJ,RootPart)
HackerCFrame.Head = UpdateWeld(W.N,HackerCFrame.Torso)
HackerCFrame.RightArm = UpdateWeld(W.RS,HackerCFrame.Torso)
HackerCFrame.LeftArm = UpdateWeld(W.LS,HackerCFrame.Torso)
HackerCFrame.RightLeg = UpdateWeld(W.RH,HackerCFrame.Torso)
HackerCFrame.LeftLeg = UpdateWeld(W.LH,HackerCFrame.Torso)
ChangeCFrame(Hacker.Torso,HackerCFrame.Torso)
ChangeCFrame(Hacker.Head,HackerCFrame.Head)
ChangeCFrame(Hacker.FakeHead,HackerCFrame.Head)
ChangeCFrame(Hacker.RightArm,HackerCFrame.RightArm)
ChangeCFrame(Hacker.LeftArm,HackerCFrame.LeftArm)
ChangeCFrame(Hacker.RightLeg,HackerCFrame.RightLeg)
ChangeCFrame(Hacker.LeftLeg,HackerCFrame.LeftLeg)
ApplyRandomString(Hacker.Head)
Hacker.Head.Parent = workspace
Hacker.Head.Locked = true
Hacker.Head.CanCollide = false
Hacker.Head.CanQuery = false
Hacker.Head.CanTouch = false
Hacker.Head.Anchored = true
Hacker.Head.Massless = true
Hacker.Head.Transparency = 0
Hacker.Head.Material = Enum.Material.SmoothPlastic
Hacker.Head.Color = Color3.fromRGB(163, 162, 165)
ApplyRandomString(Hacker.Torso)
Hacker.Torso.Parent = workspace
Hacker.Torso.Locked = true
Hacker.Torso.CanCollide = false
Hacker.Torso.CanQuery = false
Hacker.Torso.CanTouch = false
Hacker.Torso.Anchored = true
Hacker.Torso.Massless = true
Hacker.Torso.Transparency = 0
Hacker.Torso.Material = Enum.Material.SmoothPlastic
Hacker.Torso.Color = Color3.fromRGB(163, 162, 165)
ApplyRandomString(Hacker.RightArm)
Hacker.RightArm.Parent = workspace
Hacker.RightArm.Locked = true
Hacker.RightArm.CanCollide = false
Hacker.RightArm.CanQuery = false
Hacker.RightArm.CanTouch = false
Hacker.RightArm.Anchored = true
Hacker.RightArm.Massless = true
Hacker.RightArm.Transparency = 0
if Hacker.RightArm:IsA("UnionOperation") then Hacker.RightArm.UsePartColor = true end
Hacker.RightArm.Material = Enum.Material.SmoothPlastic
Hacker.RightArm.Color = Color3.fromRGB(163, 162, 165)
ApplyRandomString(Hacker.LeftArm)
Hacker.LeftArm.Parent = workspace
Hacker.LeftArm.Locked = true
Hacker.LeftArm.CanCollide = false
Hacker.LeftArm.CanQuery = false
Hacker.LeftArm.CanTouch = false
Hacker.LeftArm.Anchored = true
Hacker.LeftArm.Massless = true
Hacker.LeftArm.Transparency = 0
if Hacker.LeftArm:IsA("UnionOperation") then Hacker.LeftArm.UsePartColor = true end
Hacker.LeftArm.Material = Enum.Material.SmoothPlastic
Hacker.LeftArm.Color = Color3.fromRGB(163, 162, 165)
ApplyRandomString(Hacker.RightLeg)
Hacker.RightLeg.Parent = workspace
Hacker.RightLeg.Locked = true
Hacker.RightLeg.CanCollide = false
Hacker.RightLeg.CanQuery = false
Hacker.RightLeg.CanTouch = false
Hacker.RightLeg.Anchored = true
Hacker.RightLeg.Massless = true
Hacker.RightLeg.Transparency = 0
if Hacker.RightLeg:IsA("UnionOperation") then Hacker.RightLeg.UsePartColor = true end
Hacker.RightLeg.Material = Enum.Material.SmoothPlastic
Hacker.RightLeg.Color = Color3.fromRGB(163, 162, 165)
ApplyRandomString(Hacker.LeftArm)
Hacker.LeftLeg.Parent = workspace
Hacker.LeftLeg.Locked = true
Hacker.LeftLeg.CanCollide = false
Hacker.LeftLeg.CanQuery = false
Hacker.LeftLeg.CanTouch = false
Hacker.LeftLeg.Anchored = true
Hacker.LeftLeg.Massless = true
Hacker.LeftLeg.Transparency = 0
if Hacker.LeftLeg:IsA("UnionOperation") then Hacker.LeftLeg.UsePartColor = true end
Hacker.LeftLeg.Material = Enum.Material.SmoothPlastic
Hacker.LeftLeg.Color = Color3.fromRGB(163, 162, 165)
Hacker.Head.Size = HackerScales.Head
Hacker.Torso.Size = HackerScales.Torso
Hacker.RightArm.Size = HackerScales.RightArm
Hacker.LeftArm.Size = HackerScales.LeftArm
Hacker.RightLeg.Size = HackerScales.RightLeg
Hacker.LeftLeg.Size = HackerScales.LeftLeg
Hacker.BackgroundMusic.Playing = true
BackgroundMusicPosition = Hacker.BackgroundMusic.TimePosition
pcall(function()
for i,v in next,Hacker.Tuxedo do
if typeof(v) == "Instance" and v:IsA("BasePart") then
ApplyRandomString(v)
v.Parent = workspace
v.Locked = true
v.CanCollide = false
v.CanQuery = false
v.CanTouch = false
v.Anchored = true
v.Massless = true
v.Transparency = 0
v.UsePartColor = false
v.Material = Enum.Material.Glass
v.Color = Color3.fromRGB(0,0,0)
end
end
for i,v in next,Monitors do
if typeof(v) == "Instance" and v:IsA("BasePart") then
ApplyRandomString(v)
v.Parent = workspace
v.Locked = true
v.CanCollide = false
v.CanQuery = false
v.CanTouch = false
v.Anchored = true
v.Massless = true
v.Transparency = 1
end
end
end)
CameraPart.Name,CameraPart.Anchored,CameraPart.Size,CameraPart.Transparency,CameraPart.CanCollide,CameraPart.CanQuery,CameraPart.CanTouch,CameraPart.CFrame = RandomString(),true,Vector3.new(),1,false,false,false,CFrame.new(0,0,0)
pcall(function()
Hacker.FakeHead.Parent = NameTagModel
Hacker.FakeHead.Size = Vector3.new()
Hacker.FakeHead.Name = "Head"
Hacker.FakeHead.Anchored = true
Hacker.FakeHead.CanCollide = false
Hacker.FakeHead.CanQuery = true
Hacker.FakeHead.CanTouch = false
local NameTag = {"s","t","u","d","i","o"," ","d","u","m","m","y"}
NameTagModel.Name = ""
for i,v in next,NameTag do if math.random(1,5) == 1 then v = string.upper(v) end NameTagModel.Name = NameTagModel.Name..v end
end)
local SettingsCanvasSizeCollective = 0
for i,v in next,MonitorInterfaces.SettingsList:GetChildren() do
if v:IsA("Frame") then
SettingsCanvasSizeCollective = SettingsCanvasSizeCollective+v.AbsoluteSize.Y
end
end
MonitorInterfaces.SettingsList.CanvasSize = UDim2.new(0,0,0,SettingsCanvasSizeCollective)
for i,v in next,MonitorInterfaces.SettingsList:GetDescendants() do
if v:IsA("ScrollingFrame") then
local CanvasSizeCollective = 0
for j,x in next,v:GetChildren() do
if x:IsA("Frame") then
CanvasSizeCollective = CanvasSizeCollective+x.AbsoluteSize.Y
end
end
v.CanvasSize = UDim2.new(0,0,0,CanvasSizeCollective)
end
end
if MonitorData.Hidden == true then
if MonitorData.DominantMonitor == "None" then
MonitorData.Positions.One = CLerp(MonitorData.Positions.One,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.One = Interpolate.Linear(MonitorData.Scales.One,0,.25)
MonitorData.Positions.Two = CLerp(MonitorData.Positions.Two,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Two = Interpolate.Linear(MonitorData.Scales.Two,0,.25)
MonitorData.Positions.Three = CLerp(MonitorData.Positions.Three,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Three = Interpolate.Linear(MonitorData.Scales.Three,0,.25)
MonitorData.Positions.Four = CLerp(MonitorData.Positions.Four,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Four = Interpolate.Linear(MonitorData.Scales.Four,0,.25)
MonitorData.Positions.Five = CLerp(MonitorData.Positions.Five,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Five = Interpolate.Linear(MonitorData.Scales.Five,0,.25)
elseif MonitorData.DominantMonitor == "One" then
MonitorData.Positions.One = CLerp(MonitorData.Positions.One,CFrame.lookAt((RootPart*CFrame.new(0,5,(-4-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.Angles(math.rad(50),0,0)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.One = Interpolate.Linear(MonitorData.Scales.One,2,.25)
MonitorData.Positions.Two = CLerp(MonitorData.Positions.Two,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Two = Interpolate.Linear(MonitorData.Scales.Two,0,.25)
MonitorData.Positions.Three = CLerp(MonitorData.Positions.Three,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Three = Interpolate.Linear(MonitorData.Scales.Three,0,.25)
MonitorData.Positions.Four = CLerp(MonitorData.Positions.Four,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Four = Interpolate.Linear(MonitorData.Scales.Four,0,.25)
MonitorData.Positions.Five = CLerp(MonitorData.Positions.Five,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Five = Interpolate.Linear(MonitorData.Scales.Five,0,.25)
elseif MonitorData.DominantMonitor == "Two" then
MonitorData.Positions.Two = CLerp(MonitorData.Positions.Two,CFrame.lookAt((RootPart*CFrame.new(0,5,(-4-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.Angles(math.rad(50),0,0)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.Two = Interpolate.Linear(MonitorData.Scales.Two,2,.25)
MonitorData.Positions.One = CLerp(MonitorData.Positions.One,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.One = Interpolate.Linear(MonitorData.Scales.One,0,.25)
MonitorData.Positions.Three = CLerp(MonitorData.Positions.Three,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Three = Interpolate.Linear(MonitorData.Scales.Three,0,.25)
MonitorData.Positions.Four = CLerp(MonitorData.Positions.Four,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Four = Interpolate.Linear(MonitorData.Scales.Four,0,.25)
MonitorData.Positions.Five = CLerp(MonitorData.Positions.Five,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Five = Interpolate.Linear(MonitorData.Scales.Five,0,.25)
elseif MonitorData.DominantMonitor == "Three" then
MonitorData.Positions.Three = CLerp(MonitorData.Positions.Three,CFrame.lookAt((RootPart*CFrame.new(0,5,(-4-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.Angles(math.rad(50),0,0)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.Three = Interpolate.Linear(MonitorData.Scales.Three,2,.25)
MonitorData.Positions.One = CLerp(MonitorData.Positions.One,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.One = Interpolate.Linear(MonitorData.Scales.One,0,.25)
MonitorData.Positions.Two = CLerp(MonitorData.Positions.Two,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Two = Interpolate.Linear(MonitorData.Scales.Two,0,.25)
MonitorData.Positions.Four = CLerp(MonitorData.Positions.Four,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Four = Interpolate.Linear(MonitorData.Scales.Four,0,.25)
MonitorData.Positions.Five = CLerp(MonitorData.Positions.Five,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Five = Interpolate.Linear(MonitorData.Scales.Five,0,.25)
elseif MonitorData.DominantMonitor == "Four" then
MonitorData.Positions.Four = CLerp(MonitorData.Positions.Four,CFrame.lookAt((RootPart*CFrame.new(0,5,(-4-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.Angles(math.rad(50),0,0)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.Four = Interpolate.Linear(MonitorData.Scales.Four,2,.25)
MonitorData.Positions.One = CLerp(MonitorData.Positions.One,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.One = Interpolate.Linear(MonitorData.Scales.One,0,.25)
MonitorData.Positions.Two = CLerp(MonitorData.Positions.Two,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Two = Interpolate.Linear(MonitorData.Scales.Two,0,.25)
MonitorData.Positions.Three = CLerp(MonitorData.Positions.Three,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Three = Interpolate.Linear(MonitorData.Scales.Three,0,.25)
MonitorData.Positions.Five = CLerp(MonitorData.Positions.Five,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Five = Interpolate.Linear(MonitorData.Scales.Five,0,.25)
elseif MonitorData.DominantMonitor == "Five" then
MonitorData.Positions.Five = CLerp(MonitorData.Positions.Five,CFrame.lookAt((RootPart*CFrame.new(0,5,(-4-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.Angles(math.rad(50),0,0)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.Five = Interpolate.Linear(MonitorData.Scales.Five,2,.25)
MonitorData.Positions.One = CLerp(MonitorData.Positions.One,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.One = Interpolate.Linear(MonitorData.Scales.One,0,.25)
MonitorData.Positions.Two = CLerp(MonitorData.Positions.Two,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Two = Interpolate.Linear(MonitorData.Scales.Two,0,.25)
MonitorData.Positions.Three = CLerp(MonitorData.Positions.Three,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Three = Interpolate.Linear(MonitorData.Scales.Three,0,.25)
MonitorData.Positions.Four = CLerp(MonitorData.Positions.Four,HackerCFrame.Torso*CFrame.Angles(0,math.rad(180),0),.25)
MonitorData.Scales.Four = Interpolate.Linear(MonitorData.Scales.Four,0,.25)
end
else
if MonitorData.DominantMonitor == "None" then
MonitorData.Positions.One = CLerp(MonitorData.Positions.One,CFrame.lookAt((RootPart*CFrame.new(0,2,(-6-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.One = Interpolate.Linear(MonitorData.Scales.One,1,.25)
MonitorData.Positions.Two = CLerp(MonitorData.Positions.Two,CFrame.lookAt((RootPart*CFrame.new(-6.5,2,(-2.5-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+40)/30)/4,0+math.sin((Sine+40)/20)/4,0+math.sin((Sine+40)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+40)/30)*5),math.rad(0+math.cos((Sine+40)/20)*5),math.rad(0+math.cos((Sine+40)/40)*5)),.25)
MonitorData.Scales.Two = Interpolate.Linear(MonitorData.Scales.Two,1,.25)
MonitorData.Positions.Three = CLerp(MonitorData.Positions.Three,CFrame.lookAt((RootPart*CFrame.new(6.5,2,(-2.5-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+80)/30)/4,0+math.sin((Sine+80)/20)/4,0+math.sin((Sine+80)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+80)/30)*5),math.rad(0+math.cos((Sine+80)/20)*5),math.rad(0+math.cos((Sine+80)/40)*5)),.25)
MonitorData.Scales.Three = Interpolate.Linear(MonitorData.Scales.Three,1,.25)
MonitorData.Positions.Four = CLerp(MonitorData.Positions.Four,CFrame.lookAt((RootPart*CFrame.new(-4,6.5,(-4-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+120)/30)/4,0+math.sin((Sine+120)/20)/4,0+math.sin((Sine+120)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+120)/30)*5),math.rad(-20+math.cos((Sine+120)/20)*5),math.rad(-30+math.cos((Sine+120)/40)*5)),.25)
MonitorData.Scales.Four = Interpolate.Linear(MonitorData.Scales.Four,1,.25)
MonitorData.Positions.Five = CLerp(MonitorData.Positions.Five,CFrame.lookAt((RootPart*CFrame.new(4,6.5,(-4-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+160)/30)/4,0+math.sin((Sine+160)/20)/4,0+math.sin((Sine+160)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+160)/30)*5),math.rad(20+math.cos((Sine+160)/20)*5),math.rad(30+math.cos((Sine+160)/40)*5)),.25)
MonitorData.Scales.Five = Interpolate.Linear(MonitorData.Scales.Five,1,.25)
else
if MonitorData.DominantMonitor == "One" then
MonitorData.Positions.One = CLerp(MonitorData.Positions.One,CFrame.lookAt((RootPart*CFrame.new(0,5,(-4-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.Angles(math.rad(50),0,0)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.One = Interpolate.Linear(MonitorData.Scales.One,2,.25)
MonitorData.Positions.Two = CLerp(MonitorData.Positions.Two,CFrame.lookAt((RootPart*CFrame.new(-12.5,5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+40)/30)/4,0+math.sin((Sine+40)/20)/4,0+math.sin((Sine+40)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+40)/30)*5),math.rad(0+math.cos((Sine+40)/20)*5),math.rad(0+math.cos((Sine+40)/40)*5)),.25)
MonitorData.Scales.Two = Interpolate.Linear(MonitorData.Scales.Two,.5,.25)
MonitorData.Positions.Three = CLerp(MonitorData.Positions.Three,CFrame.lookAt((RootPart*CFrame.new(12.5,5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+80)/30)/4,0+math.sin((Sine+80)/20)/4,0+math.sin((Sine+80)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+80)/30)*5),math.rad(0+math.cos((Sine+80)/20)*5),math.rad(0+math.cos((Sine+80)/40)*5)),.25)
MonitorData.Scales.Three = Interpolate.Linear(MonitorData.Scales.Three,.5,.25)
MonitorData.Positions.Four = CLerp(MonitorData.Positions.Four,CFrame.lookAt((RootPart*CFrame.new(-8,12.5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+120)/30)/4,0+math.sin((Sine+120)/20)/4,0+math.sin((Sine+120)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+120)/30)*5),math.rad(-20+math.cos((Sine+120)/20)*5),math.rad(-30+math.cos((Sine+120)/40)*5)),.25)
MonitorData.Scales.Four = Interpolate.Linear(MonitorData.Scales.Four,.5,.25)
MonitorData.Positions.Five = CLerp(MonitorData.Positions.Five,CFrame.lookAt((RootPart*CFrame.new(8,12.5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+160)/30)/4,0+math.sin((Sine+160)/20)/4,0+math.sin((Sine+160)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+160)/30)*5),math.rad(20+math.cos((Sine+160)/20)*5),math.rad(30+math.cos((Sine+160)/40)*5)),.25)
MonitorData.Scales.Five = Interpolate.Linear(MonitorData.Scales.Five,.5,.25)
elseif MonitorData.DominantMonitor == "Two" then
MonitorData.Positions.Two = CLerp(MonitorData.Positions.Two,CFrame.lookAt((RootPart*CFrame.new(0,5,(-4-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.Angles(math.rad(50),0,0)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.Two = Interpolate.Linear(MonitorData.Scales.Two,2,.25)
MonitorData.Positions.One = CLerp(MonitorData.Positions.One,CFrame.lookAt((RootPart*CFrame.new(0,2,(-12-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.One = Interpolate.Linear(MonitorData.Scales.One,.5,.25)
MonitorData.Positions.Three = CLerp(MonitorData.Positions.Three,CFrame.lookAt((RootPart*CFrame.new(12.5,5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+80)/30)/4,0+math.sin((Sine+80)/20)/4,0+math.sin((Sine+80)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+80)/30)*5),math.rad(0+math.cos((Sine+80)/20)*5),math.rad(0+math.cos((Sine+80)/40)*5)),.25)
MonitorData.Scales.Three = Interpolate.Linear(MonitorData.Scales.Three,.5,.25)
MonitorData.Positions.Four = CLerp(MonitorData.Positions.Four,CFrame.lookAt((RootPart*CFrame.new(-8,12.5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+120)/30)/4,0+math.sin((Sine+120)/20)/4,0+math.sin((Sine+120)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+120)/30)*5),math.rad(-20+math.cos((Sine+120)/20)*5),math.rad(-30+math.cos((Sine+120)/40)*5)),.25)
MonitorData.Scales.Four = Interpolate.Linear(MonitorData.Scales.Four,.5,.25)
MonitorData.Positions.Five = CLerp(MonitorData.Positions.Five,CFrame.lookAt((RootPart*CFrame.new(8,12.5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+160)/30)/4,0+math.sin((Sine+160)/20)/4,0+math.sin((Sine+160)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+160)/30)*5),math.rad(20+math.cos((Sine+160)/20)*5),math.rad(30+math.cos((Sine+160)/40)*5)),.25)
MonitorData.Scales.Five = Interpolate.Linear(MonitorData.Scales.Five,.5,.25)
elseif MonitorData.DominantMonitor == "Three" then
MonitorData.Positions.Three = CLerp(MonitorData.Positions.Three,CFrame.lookAt((RootPart*CFrame.new(0,5,(-4-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.Angles(math.rad(50),0,0)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.Three = Interpolate.Linear(MonitorData.Scales.Three,2,.25)
MonitorData.Positions.One = CLerp(MonitorData.Positions.One,CFrame.lookAt((RootPart*CFrame.new(0,2,(-12-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.One = Interpolate.Linear(MonitorData.Scales.One,.5,.25)
MonitorData.Positions.Two = CLerp(MonitorData.Positions.Two,CFrame.lookAt((RootPart*CFrame.new(-12.5,5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+40)/30)/4,0+math.sin((Sine+40)/20)/4,0+math.sin((Sine+40)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+40)/30)*5),math.rad(0+math.cos((Sine+40)/20)*5),math.rad(0+math.cos((Sine+40)/40)*5)),.25)
MonitorData.Scales.Two = Interpolate.Linear(MonitorData.Scales.Two,.5,.25)
MonitorData.Positions.Four = CLerp(MonitorData.Positions.Four,CFrame.lookAt((RootPart*CFrame.new(-8,12.5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+120)/30)/4,0+math.sin((Sine+120)/20)/4,0+math.sin((Sine+120)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+120)/30)*5),math.rad(-20+math.cos((Sine+120)/20)*5),math.rad(-30+math.cos((Sine+120)/40)*5)),.25)
MonitorData.Scales.Four = Interpolate.Linear(MonitorData.Scales.Four,.5,.25)
MonitorData.Positions.Five = CLerp(MonitorData.Positions.Five,CFrame.lookAt((RootPart*CFrame.new(8,12.5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+160)/30)/4,0+math.sin((Sine+160)/20)/4,0+math.sin((Sine+160)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+160)/30)*5),math.rad(20+math.cos((Sine+160)/20)*5),math.rad(30+math.cos((Sine+160)/40)*5)),.25)
MonitorData.Scales.Five = Interpolate.Linear(MonitorData.Scales.Five,.5,.25)
elseif MonitorData.DominantMonitor == "Four" then
MonitorData.Positions.Four = CLerp(MonitorData.Positions.Four,CFrame.lookAt((RootPart*CFrame.new(0,5,(-4-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.Angles(math.rad(50),0,0)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.Four = Interpolate.Linear(MonitorData.Scales.Four,2,.25)
MonitorData.Positions.One = CLerp(MonitorData.Positions.One,CFrame.lookAt((RootPart*CFrame.new(0,2,(-12-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.One = Interpolate.Linear(MonitorData.Scales.One,.5,.25)
MonitorData.Positions.Two = CLerp(MonitorData.Positions.Two,CFrame.lookAt((RootPart*CFrame.new(-12.5,5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+40)/30)/4,0+math.sin((Sine+40)/20)/4,0+math.sin((Sine+40)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+40)/30)*5),math.rad(0+math.cos((Sine+40)/20)*5),math.rad(0+math.cos((Sine+40)/40)*5)),.25)
MonitorData.Scales.Two = Interpolate.Linear(MonitorData.Scales.Two,.5,.25)
MonitorData.Positions.Three = CLerp(MonitorData.Positions.Three,CFrame.lookAt((RootPart*CFrame.new(12.5,5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+80)/30)/4,0+math.sin((Sine+80)/20)/4,0+math.sin((Sine+80)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+80)/30)*5),math.rad(0+math.cos((Sine+80)/20)*5),math.rad(0+math.cos((Sine+80)/40)*5)),.25)
MonitorData.Scales.Three = Interpolate.Linear(MonitorData.Scales.Three,.5,.25)
MonitorData.Positions.Five = CLerp(MonitorData.Positions.Five,CFrame.lookAt((RootPart*CFrame.new(8,12.5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+160)/30)/4,0+math.sin((Sine+160)/20)/4,0+math.sin((Sine+160)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+160)/30)*5),math.rad(20+math.cos((Sine+160)/20)*5),math.rad(30+math.cos((Sine+160)/40)*5)),.25)
MonitorData.Scales.Five = Interpolate.Linear(MonitorData.Scales.Five,.5,.25)
elseif MonitorData.DominantMonitor == "Five" then
MonitorData.Positions.Five = CLerp(MonitorData.Positions.Five,CFrame.lookAt((RootPart*CFrame.new(0,5,(-4-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.Angles(math.rad(50),0,0)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.Five = Interpolate.Linear(MonitorData.Scales.Five,2,.25)
MonitorData.Positions.One = CLerp(MonitorData.Positions.One,CFrame.lookAt((RootPart*CFrame.new(0,2,(-12-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin(Sine/30)/4,0+math.sin(Sine/20)/4,0+math.sin(Sine/40)/4)*CFrame.Angles(math.rad(0+math.cos(Sine/30)*5),math.rad(0+math.cos(Sine/20)*5),math.rad(0+math.cos(Sine/40)*5)),.25)
MonitorData.Scales.One = Interpolate.Linear(MonitorData.Scales.One,.5,.25)
MonitorData.Positions.Two = CLerp(MonitorData.Positions.Two,CFrame.lookAt((RootPart*CFrame.new(-12.5,5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+40)/30)/4,0+math.sin((Sine+40)/20)/4,0+math.sin((Sine+40)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+40)/30)*5),math.rad(0+math.cos((Sine+40)/20)*5),math.rad(0+math.cos((Sine+40)/40)*5)),.25)
MonitorData.Scales.Two = Interpolate.Linear(MonitorData.Scales.Two,.5,.25)
MonitorData.Positions.Three = CLerp(MonitorData.Positions.Three,CFrame.lookAt((RootPart*CFrame.new(12.5,5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+80)/30)/4,0+math.sin((Sine+80)/20)/4,0+math.sin((Sine+80)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+80)/30)*5),math.rad(0+math.cos((Sine+80)/20)*5),math.rad(0+math.cos((Sine+80)/40)*5)),.25)
MonitorData.Scales.Three = Interpolate.Linear(MonitorData.Scales.Three,.5,.25)
MonitorData.Positions.Four = CLerp(MonitorData.Positions.Four,CFrame.lookAt((RootPart*CFrame.new(-8,12.5,(-10-(2.5*ZNum)))).Position,HackerCFrame.Head.Position)*CFrame.new(math.sin((Sine+120)/30)/4,0+math.sin((Sine+120)/20)/4,0+math.sin((Sine+120)/40)/4)*CFrame.Angles(math.rad(0+math.cos((Sine+120)/30)*5),math.rad(-20+math.cos((Sine+120)/20)*5),math.rad(-30+math.cos((Sine+120)/40)*5)),.25)
MonitorData.Scales.Four = Interpolate.Linear(MonitorData.Scales.Four,.5,.25)
end
end
end
if AddingTextToChat == true then
MonitorInterfaces.ChatFrame.CanvasPosition = Vector2.new(0,1e9)
end
for i,v in next,Monitors do
v.CFrame = MonitorData.Positions[i] v.Size = Vector3.new(6.25*MonitorData.Scales[i],3.75*MonitorData.Scales[i],.001*MonitorData.Scales[i])
for j,x in next,v:GetDescendants() do
if x.Name == MonitorIdentifiers.Title then
x.Text = MonitorData.Labels[i]
end
end
end
MonitorData.CurrentControls = {"Controls","","F - Fly","R - Manual Refit","P - Reset Position","Z - Snap Part","X - Snap Model","","Commands","","cls - Clear the console","stop, end - Stop the script","fixr - Fix the remote","ss/<Enum.ReverbType> - Update SoundService ambient reverb type","fs/ - Perform a fungal reality shift","rfs/ - Perform a fully random fungal reality shift","chatbox - Show or hide the default chat window","base - Toggle baseplate protection","newbase/<origin / here> - Generate a new baseplate"}
if tick()-LastControlsUpdate >= .1 then
MonitorInterfaces.ControlList:ClearAllChildren()
local FrameListLayout = Instance.new("UIListLayout",MonitorInterfaces.ControlList)
FrameListLayout.Padding = UDim.new(0,10)
FrameListLayout.FillDirection = Enum.FillDirection.Vertical
FrameListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Left
FrameListLayout.SortOrder = Enum.SortOrder.LayoutOrder
FrameListLayout.VerticalAlignment = Enum.VerticalAlignment.Top
local FramePadding = Instance.new("UIPadding",MonitorInterfaces.ControlList)
FramePadding.PaddingRight = UDim.new(0,30)
for i,v in next,MonitorData.CurrentControls do
MonitorElementAssembly.AssembleControlsLabel(MonitorInterfaces.ControlList,v)
end
LastControlsUpdate = tick()
end
end)
Remote:FireAllClients(RemoteCodes.UpdateConfigCode,{Config = Config})
local RayCast,Po = workspace:FindPartOnRayWithIgnoreList(Ray.new(RootPart.Position+Vector3.new(0,3,0),Vector3.new(0,-(6.25+HipHeight),0)),IgnoreParts(false),false,true)
if Pos.Position.Y < workspace.FallenPartsDestroyHeight then
Pos = CFrame.new(Pos.Position.X,100,Pos.Position.Z)*Pos.Rotation
end
if MovementKeys.E == true and Flying == false then
if TouchingFloor == true then
Fall = 1+(HipHeight/3)
end
end
if MovementKeys.W == true and MovementKeys.S == true then
MovementKeys.W,MovementKeys.S = false,false
end
if MovementKeys.A == true and MovementKeys.D == true then
MovementKeys.A,MovementKeys.D = false,false
end
if MovementKeys.Q == true and MovementKeys.E == true then
MovementKeys.Q,MovementKeys.E = false,false
end
if Running == true then
Speed = 30
else
Speed = 16
end
if PauseMovement == false then
if Flying == false then
if (MovementKeys.W == true or MovementKeys.A == true or MovementKeys.S == true or MovementKeys.D == true) and PauseMovement == false then
if RayCast == nil or Fall > .1 then
Fall = Fall - .057
local FakePos1,FakePos2,Rot = CFrame.new(Pos.Position.X,Pos.Position.Y+Fall,Pos.Position.Z),CFrame.new(Pos.Position.X,Pos.Position.Y+Fall,Pos.Position.Z)*CFrame.Angles(0,CameraAngles.Y,0)*CFrame.new(X,0,Z),CFrame.Angles(0,0,0)
Rot = CFrame.lookAt(FakePos1.Position,FakePos2.Position).Rotation
Pos = CFrame.new(FakePos1.Position)*Rot*CFrame.new(0,0,(-.025*Speed))
MoveValue.RootVel,MoveValue.MoveDirection = (CFrame.new(FakePos1.Position)*Rot*CFrame.new(0,0,-Speed/16)).Position-FakePos1.Position,(CFrame.new(FakePos1.Position)*Rot*CFrame.new(0,0,-Speed/16)).Position-FakePos1.Position
if game:GetService("UserInputService").MouseBehavior == Enum.MouseBehavior.LockCenter then else
PosRot = PosRot:Lerp(Rot,.2)
end
TouchingFloor,Falling = false,true
elseif RayCast ~= nil then
Fall = 0
TouchingFloor,Falling = true,false
local FakePos1,FakePos2,Rot = CFrame.new(Pos.Position.X,Po.Y,Pos.Position.Z),CFrame.new(Pos.Position.X,Po.Y,Pos.Position.Z)*CFrame.Angles(0,CameraAngles.Y,0)*CFrame.new(X,0,Z),CFrame.Angles(0,0,0)
Rot = CFrame.lookAt(FakePos1.Position,FakePos2.Position).Rotation
Pos = CFrame.new(FakePos1.Position)*Rot*CFrame.new(0,0,(-.025*Speed))
MoveValue.RootVel,MoveValue.MoveDirection = (CFrame.new(FakePos1.Position)*Rot*CFrame.new(0,0,-Speed/16)).Position-FakePos1.Position,(CFrame.new(FakePos1.Position)*Rot*CFrame.new(0,0,-Speed/16)).Position-FakePos1.Position
if LockCenter then else
PosRot = PosRot:Lerp(Rot,.2)
end
end
Moving = true
else
if RayCast == nil or Fall > .1 then
Fall = Fall - .057
TouchingFloor,Falling = false,true
Pos = CFrame.new(Pos.Position.X,Pos.Position.Y+Fall,Pos.Position.Z)*CFrame.Angles(0,PosAngles.Y,0)
elseif RayCast ~= nil then
Fall = 0
TouchingFloor,Falling = true,false
Pos = CFrame.new(Pos.Position.X,Po.Y,Pos.Position.Z)*CFrame.Angles(0,PosAngles.Y,0)
end
MoveValue.RootVel,MoveValue.MoveDirection = Vector3.new(),Vector3.new()
Moving = false
end
if LockCenter then
PosRot = CFrame.Angles(0,CameraAngles.Y,0)
end
elseif Flying == true then
if (MovementKeys.W == true or MovementKeys.A == true or MovementKeys.S == true or MovementKeys.D == true or MovementKeys.Q == true or MovementKeys.E == true) and PauseMovement == false then
local FakePos1,FakePos2,Rot = CFrame.new(Pos.Position),CFrame.new(Pos.Position)*CameraCFrame.Rotation*CFrame.new(X,Y,Z),CFrame.Angles(0,0,0)
Rot = CFrame.lookAt(FakePos1.Position,FakePos2.Position).Rotation
Pos = CFrame.new(FakePos1.Position)*Rot*CFrame.new(0,0,(-.04*Speed))
local Unused1,RotAngleY,Unused2 = Rot.Rotation:ToOrientation()
MoveValue.RootVel,MoveValue.MoveDirection = (CFrame.new(FakePos1.Position)*CFrame.Angles(0,RotAngleY,0)*CFrame.new(0,0,-Speed/16)).Position-FakePos1.Position,(CFrame.new(FakePos1.Position)*CFrame.Angles(0,RotAngleY,0)*CFrame.new(0,0,-Speed/16)).Position-FakePos1.Position
if LockCenter then else
PosRot = PosRot:Lerp(Rot,.2)
end
Moving = true
Falling = false
else
Moving = false
Falling = false
MoveValue.RootVel,MoveValue.MoveDirection = Vector3.new(),Vector3.new()
end
end
if LockCenter then
PosRot = CameraCFrame.Rotation
end
end
ForwardDirection = MoveValue.MoveDirection*RootPart.lookVector
RightDirection = MoveValue.MoveDirection*RootPart.rightVector
Vector = {X=RightDirection.X+RightDirection.Z,Z=ForwardDirection.X+ForwardDirection.Z}
XZ,XYZ = (MoveValue.RootVel*Vector3.new(1,0,1)).Magnitude,(MoveValue.RootVel-MoveValue.RootVel).Magnitude
XNum = Vector.X
ZNum = Vector.Z
if XNum >= 0 then RevXNum = XNum elseif XNum <= 0 then RevXNum = -XNum end
if ZNum >= 0 then RevZNum = ZNum elseif ZNum <= 0 then RevZNum = -ZNum end
CameraPart.CFrame = CFrame.new(RootPart.Position+Vector3.new(0,1.5,0))
Remote:FireAllClients(RemoteCodes.UpdateCharacterDataCode,{CameraPart = CameraPart,Flying = Flying})
if tick()-LastCollisionCheck >= .1 then Remote:FireAllClients(RemoteCodes.UpdateCollisionInformationCode,{Monitors = Monitors,Hacker = Hacker}) LastCollisionCheck = tick() end
if Flying == false then
if Falling == true then
if DoAnim.Torso == true then Anim("RootJoint",CFrame.new(0,0,0)*CFrame.Angles(math.rad(-math.clamp(Fall*5,-25,25)+15*ZNum),math.rad(-15*XNum),0),.25) end
if DoAnim.Head == true then Anim("Neck",CFrame.Angles(math.rad(-5*math.clamp(Fall,-1,1)),0,math.rad(-15*XNum)),.25) end
if DoAnim.RightArm == true then Anim("RightShoulder",CFrame.new(-.5,-.2+.025*math.cos(Sine/50),.2+.025*math.sin(Sine/50))*CFrame.Angles(math.rad(-90-2*math.cos(Sine/50)),0,math.rad(-2*math.sin(Sine/50)))*CFrame.Angles(math.rad(60),0,math.rad(-40)),.25) end
if DoAnim.LeftArm == true then Anim("LeftShoulder",CFrame.new(.5,-.2+.025*math.cos(Sine/50),.2+.025*math.sin(Sine/50))*CFrame.Angles(math.rad(-90-2*math.cos(Sine/50)),0,math.rad(2*math.sin(Sine/50)))*CFrame.Angles(math.rad(60),0,math.rad(40)),.25) end
if DoAnim.RightLeg == true then Anim("RightHip",CFrame.new(0,math.clamp(Fall,0,.5),-math.clamp(Fall,0,.5))*CFrame.Angles(math.rad(math.clamp(Fall*5,-25,25)-25*ZNum),math.rad(-15),math.rad(-15*XNum+2*math.cos(Sine/25))),.25) end
if DoAnim.LeftLeg == true then Anim("LeftHip",CFrame.new(0,math.clamp(Fall,0,.5),-math.clamp(Fall,0,.5))*CFrame.Angles(math.rad(math.clamp(Fall*5,-25,25)-15*ZNum),math.rad(15),math.rad(-15*XNum+2*math.cos(Sine/25))),.25) end
else
if Moving == false then
if DoAnim.Torso == true then Anim("RootJoint",CFrame.Angles(0,0,0)*CFrame.new(0,0,-.1+.1*math.cos(Sine/45))*CFrame.new(0,0,-1)*CFrame.Angles(math.rad(2*math.sin(Sine/45)),0,0)*CFrame.new(0,0,1),.25) end
if DoAnim.Head == true then Anim("Neck",CFrame.new()*CFrame.Angles(math.rad(2*math.cos(Sine/45)),0,0),.25) end
if DoAnim.RightArm == true then Anim("RightShoulder",CFrame.new(-.5,-.2+.025*math.cos(Sine/50),.2+.025*math.sin(Sine/50))*CFrame.Angles(math.rad(-90-2*math.cos(Sine/50)),0,math.rad(-2*math.sin(Sine/50)))*CFrame.Angles(math.rad(60),0,math.rad(-40)),.25) end
if DoAnim.LeftArm == true then Anim("LeftShoulder",CFrame.new(.5,-.2+.025*math.cos(Sine/50),.2+.025*math.sin(Sine/50))*CFrame.Angles(math.rad(-90-2*math.cos(Sine/50)),0,math.rad(2*math.sin(Sine/50)))*CFrame.Angles(math.rad(60),0,math.rad(40)),.25) end
if DoAnim.RightLeg == true then Anim("RightHip",CFrame.Angles(math.rad(2*math.sin(Sine/45)),0,0)*CFrame.new(0,.1-.1*math.cos(Sine/45),0)*CFrame.new(0,-2,0)*CFrame.Angles(math.rad(-2+2*math.cos(Sine/45)),math.rad(-5),0)*CFrame.new(0,2,0),.25) end
if DoAnim.LeftLeg == true then Anim("LeftHip",CFrame.Angles(math.rad(2*math.sin(Sine/45)),0,0)*CFrame.new(0,.1-.1*math.cos(Sine/45),0)*CFrame.new(0,-2,0)*CFrame.Angles(math.rad(-2+2*math.cos(Sine/45)),math.rad(5),0)*CFrame.new(0,2,0),.25) end
else
if DoAnim.Torso == true then Anim("RootJoint",CFrame.Angles(0,0,0)*CFrame.new(0,(.05*math.cos((Sine*(Speed/16))/(7/2)))*ZNum,-.1-(.25*math.cos((Sine*(Speed/16))/(7/2)))*XZ)*CFrame.Angles(math.rad((ZNum*10)+((2*math.sin((Sine*(Speed/16))/(7/2)))*ZNum)),math.rad(-((2*math.sin((Sine*(Speed/16))/(7/2)))*XNum)-(XNum*5)),math.rad(((ZNum*15)*math.cos(Sine*(Speed/16)/7)))),math.clamp((.25*(1+(XZ*.25))),0,1)) end
if DoAnim.Head == true then Anim("Neck",CFrame.new(0,0,0)*CFrame.Angles(math.rad(((1.5*math.sin((Sine*(Speed/16))/(7/2)))*ZNum)-(ZNum*5)+((1*math.sin((Sine*(Speed/16))/(7/2)))*ZNum)),0,math.rad(-(ZNum*15)*math.cos(Sine*(Speed/16)/7)-(math.clamp(XNum,-1,1)*25))),math.clamp((.25*(1+(XZ*.25))),0,1)) end
if Running == true then
if DoAnim.RightArm == true then Anim("RightShoulder",CFrame.new(0,0,-(.5*math.cos((Sine*(Speed/16))/7))*ZNum)*CFrame.Angles(math.rad((ZNum*45)*math.cos((Sine*(Speed/16))/7)),math.rad((ZNum*25)*math.cos((Sine*(Speed/16))/7)),math.rad(((ZNum*5)*math.cos(Sine*(Speed/16)/7))+(RevXNum*15)-((3*math.sin((Sine*(Speed/16))/(7/2)))*XNum))),math.clamp((.25*(1+(XZ*.25))),0,1)) end
if DoAnim.LeftArm == true then Anim("LeftShoulder",CFrame.new(0,0,(.5*math.cos(((Sine*(Speed/16))/7)))*ZNum)*CFrame.Angles(math.rad(-(ZNum*45)*math.cos(((Sine*(Speed/16))/7)-.5)),math.rad((ZNum*25)*math.cos((Sine*(Speed/16))/7)),math.rad(((ZNum*5)*math.cos(Sine*(Speed/16)/7))-(RevXNum*15)+((3*math.sin((Sine*(Speed/16))/(7/2)))*XNum))),math.clamp((.25*(1+(XZ*.25))),0,1)) end
else
if DoAnim.RightArm == true then Anim("RightShoulder",CFrame.new(-.5,-.2+.025*math.cos(Sine/50),.2+.025*math.sin(Sine/50))*CFrame.Angles(math.rad(-90-2*math.cos(Sine/50)),0,math.rad(-2*math.sin(Sine/50)))*CFrame.Angles(math.rad(60),0,math.rad(-40)),.25) end
if DoAnim.LeftArm == true then Anim("LeftShoulder",CFrame.new(.5,-.2+.025*math.cos(Sine/50),.2+.025*math.sin(Sine/50))*CFrame.Angles(math.rad(-90-2*math.cos(Sine/50)),0,math.rad(2*math.sin(Sine/50)))*CFrame.Angles(math.rad(60),0,math.rad(40)),.25) end
end
if DoAnim.RightLeg == true then Anim("RightHip",CFrame.new(((-.03-.03*math.cos((Sine*(Speed/16))/(7/2)))*ZNum)-(.25*math.cos((Sine*(Speed/16))/7))*XNum,(math.clamp(XNum*.125,0,math.huge))+math.clamp(((.75/(math.clamp(math.abs(XNum)*3,1,3)))*math.sin((Sine*(Speed/16))/7)),0,math.huge)*(XZ+(RevXNum*2)),-.25+(.25*math.cos((Sine*(Speed/16))/7))*ZNum)*CFrame.Angles(0,math.rad(-(ZNum*15)*math.cos(Sine*(Speed/16)/7)),0)*CFrame.Angles(math.rad(-(ZNum*45)*math.cos((Sine*(Speed/16))/7)),0,math.rad(-(XNum*35)*math.cos((Sine*(Speed/16))/7))),math.clamp((.25*(1+(XZ*.25))),0,1)) end
if DoAnim.LeftLeg == true then Anim("LeftHip",CFrame.new(-((-.03-.03*math.cos((Sine*(Speed/16))/(7/2)))*ZNum)+(.25*math.cos((Sine*(Speed/16))/7))*XNum,(math.clamp(-XNum*.125,0,math.huge))+math.clamp((-(.75/(math.clamp(math.abs(XNum)*3,1,3)))*math.sin((Sine*(Speed/16))/7)),0,math.huge)*(XZ+(RevXNum*2)),-.25-(.25*math.cos((Sine*(Speed/16))/7))*ZNum)*CFrame.Angles(0,math.rad(-(ZNum*15)*math.cos(Sine*(Speed/16)/7)),0)*CFrame.Angles(math.rad((ZNum*45)*math.cos((Sine*(Speed/16))/7)),0,math.rad((XNum*35)*math.cos((Sine*(Speed/16))/7))),math.clamp((.25*(1+(XZ*.25))),0,1)) end
if Running == false then
if tick()+.35078322768961984-LastFootstepTime >= .35078322768961984 then
local Sounds = {"rbxassetid://8659587201","rbxassetid://8659587560","rbxassetid://8659587981","rbxassetid://8659588451"}
Sound(RootPart.Position+Vector3.new(0,-1.5,0),Sounds[math.random(1,#Sounds)],1+math.random(-50,50)/200,5,.05)
LastFootstepTime = tick()+.35078322768961984
end
else
if tick()+.1915724829558926-LastFootstepTime >= .1915724829558926 then
local Sounds = {"rbxassetid://8659587201","rbxassetid://8659587560","rbxassetid://8659587981","rbxassetid://8659588451"}
Sound(RootPart.Position+Vector3.new(0,-1.5,0),Sounds[math.random(1,#Sounds)],1+math.random(-50,50)/200,5,.05)
LastFootstepTime = tick()+.1915724829558926
end
end
end
end
else
if Moving == false then
if DoAnim.Torso == true then Anim("RootJoint",CFrame.Angles(0,0,0)*CFrame.new(0,0,0-.25*math.cos((Sine+5)/24))*CFrame.Angles(math.rad(0+2*math.sin(Sine/24)),0,0),.25) end
if DoAnim.Head == true then Anim("Neck",CFrame.new(0,0,0)*CFrame.Angles(math.rad(0-5*math.cos(Sine/24)),0,0),.25) end
if DoAnim.RightArm == true then Anim("RightShoulder",CFrame.new(-.5,-.2+.025*math.cos(Sine/50),.2+.025*math.sin(Sine/50))*CFrame.Angles(math.rad(-90-2*math.cos(Sine/50)),0,math.rad(-2*math.sin(Sine/50)))*CFrame.Angles(math.rad(60),0,math.rad(-40)),.25) end
if DoAnim.LeftArm == true then Anim("LeftShoulder",CFrame.new(.5,-.2+.025*math.cos(Sine/50),.2+.025*math.sin(Sine/50))*CFrame.Angles(math.rad(-90-2*math.cos(Sine/50)),0,math.rad(2*math.sin(Sine/50)))*CFrame.Angles(math.rad(60),0,math.rad(40)),.25) end
if DoAnim.RightLeg == true then Anim("RightHip",CFrame.new(0,.5,-.5)*CFrame.Angles(math.rad(-40+5*math.sin(Sine/24)),math.rad(-5-4*math.cos(Sine/24)),math.rad(10+4*math.sin(Sine/24))),.1) end
if DoAnim.LeftLeg == true then Anim("LeftHip",CFrame.new(0,.2,0)*CFrame.Angles(math.rad(-20+5*math.cos(Sine/24)),math.rad(5+4*math.sin(Sine/24)),math.rad(-10-4*math.cos(Sine/24))),.1) end
else
if DoAnim.Torso == true then Anim("RootJoint",CFrame.Angles(0,0,0)*CFrame.new(0,0,0-.5*math.cos((Sine+5)/24))*CFrame.Angles(math.rad(ZNum*30+(Speed/16)),math.rad(-XNum*20+(Speed/16)),0)*CFrame.Angles(math.rad(0+5*math.sin(Sine/24)),0,0),math.clamp((.25*(1+(XZ*.25))),0,1)) end
if DoAnim.Head == true then Anim("Neck",CFrame.new(0,0,0)*CFrame.Angles(math.rad(-ZNum*30+(Speed/16)),math.rad(XNum*20),0),math.clamp((.25*(1+(XZ*.25))),0,1)) end
if Running == true then
if DoAnim.RightArm == true then Anim("RightShoulder",CFrame.new(0,0+.1*math.sin(math.cos(Sine/12)),0)*CFrame.Angles(math.rad(-ZNum*60+(Speed/16)),0,math.rad(-XNum*30+(Speed/16)))*CFrame.Angles(math.rad(40*ZNum),0,0)*CFrame.Angles(0,0,math.rad(10+8*math.sin(math.cos(Sine/12)))),.25) end
if DoAnim.LeftArm == true then Anim("LeftShoulder",CFrame.new(0,0+.1*math.sin(math.cos(Sine/12)),0)*CFrame.Angles(math.rad(-ZNum*60+(Speed/16)),0,math.rad(-XNum*30+(Speed/16)))*CFrame.Angles(math.rad(40*ZNum),0,0)*CFrame.Angles(0,0,math.rad(-10-8*math.sin(math.cos(Sine/12)))),.25) end
else
if DoAnim.RightArm == true then Anim("RightShoulder",CFrame.new(-.5,-.2+.025*math.cos(Sine/50),.2+.025*math.sin(Sine/50))*CFrame.Angles(math.rad(-90-2*math.cos(Sine/50)),0,math.rad(-2*math.sin(Sine/50)))*CFrame.Angles(math.rad(60),0,math.rad(-40)),.25) end
if DoAnim.LeftArm == true then Anim("LeftShoulder",CFrame.new(.5,-.2+.025*math.cos(Sine/50),.2+.025*math.sin(Sine/50))*CFrame.Angles(math.rad(-90-2*math.cos(Sine/50)),0,math.rad(2*math.sin(Sine/50)))*CFrame.Angles(math.rad(60),0,math.rad(40)),.25) end
end
if DoAnim.RightLeg == true then Anim("RightHip",CFrame.new(0,0,0)*CFrame.Angles(math.rad(-ZNum*15+(Speed/16)),0,math.rad(-XNum*30))*CFrame.Angles(0,math.rad(-5-8*math.sin(math.cos(Sine/24))),math.rad(10-8*math.sin(math.sin(Sine/24)))),.1) end
if DoAnim.LeftLeg == true then Anim("LeftHip",CFrame.new(0,0,0)*CFrame.Angles(math.rad(-ZNum*15+(Speed/16)),0,math.rad(-XNum*30))*CFrame.Angles(0,math.rad(5+8*math.sin(math.cos(Sine/24))),math.rad(-10+8*math.sin(math.sin(Sine/24)))),.1) end
end
end
--end)
end
function RefitLoop()
if ScriptEnded == true then return end
--Hypernull(function()
if tick()-LastManualRefit >= 1 then
if not CameraPart or not CameraPart:IsDescendantOf(workspace) then Refit(RefitOverride) end
if not Hacker.Head or not Hacker.Head:IsDescendantOf(workspace) then Refit(RefitOverride) end
if not Hacker.FakeHead or not Hacker.FakeHead:IsDescendantOf(workspace) then Refit(RefitOverride) end
if not Hacker.Torso or not Hacker.Torso:IsDescendantOf(workspace) then Refit(RefitOverride) end
if not Hacker.RightArm or not Hacker.RightArm:IsDescendantOf(workspace) then Refit(RefitOverride) end
if not Hacker.LeftArm or not Hacker.LeftArm:IsDescendantOf(workspace) then Refit(RefitOverride) end
if not Hacker.RightLeg or not Hacker.RightLeg:IsDescendantOf(workspace) then Refit(RefitOverride) end
if not Hacker.LeftLeg or not Hacker.LeftLeg:IsDescendantOf(workspace) then Refit(RefitOverride) end
if not Monitors.One or not Monitors.One:IsDescendantOf(workspace) then Refit(RefitOverride) end
if not Monitors.Two or not Monitors.Two:IsDescendantOf(workspace) then Refit(RefitOverride) end
if not Monitors.Three or not Monitors.Three:IsDescendantOf(workspace) then Refit(RefitOverride) end
if not Monitors.Four or not Monitors.Four:IsDescendantOf(workspace) then Refit(RefitOverride) end
if not Monitors.Five or not Monitors.Five:IsDescendantOf(workspace) then Refit(RefitOverride) end
for i,v in next,MonitorInterfaces do if not v or not v:IsDescendantOf(workspace) then Refit(RefitOverride) end end
end
--end)
end
Loops = {
TweenPriority(MainLoop),
TweenPriority(RefitLoop)
}
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ChatFrame,"[ViperOS]: Successfully booted ViperOS with no issues. Welcome back, Studio Dummy.")
if game:GetService("TextChatService").ChatVersion == Enum.ChatVersion.LegacyChatService then
MonitorElementAssembly.AssembleChatMessage(MonitorInterfaces.ChatFrame,"[ViperOS]: This game's chat is running on the LegacyChatService. The ViperOS chat log system is not currently able to pick up messages from the Roblox system or non-player speakers.")
end
return nil