Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Graphics = {}
- local Functions = Arsenic.Functions
- local Local = Functions.Local
- local Players = Functions.Players
- local Server = Functions.Server
- local Vehicles = Functions.Vehicles
- local Particles = Functions.Particles
- local Banishment = Functions.Banishment
- local Weapons = Functions.Weapons
- local Structures = Functions.Structures
- local Cloning = Functions.Cloning
- local Interface = game:GetObjects('rbxassetid://2814134877')[1]
- for i,v in next, Interface:GetDescendants() do
- if v:IsA('LocalScript') then
- v:Destroy()
- elseif v:IsA('TextBox') then
- v.TextWrapped = true
- end
- end
- Graphics.Interface = Interface
- Interface.Parent = game:GetService('CoreGui')
- local Drag = Interface.Drag
- local CommandFrame = Interface.DragC
- Drag:TweenPosition(UDim2.new(0.5, -250, 0.5, 125), 'Out', 'Quad', 0.5)
- local Body = Drag.Body
- local Selector = Body.Selector
- local Tabs = Body.Tabs
- local Open = Drag.Open
- local OpenLabel = Drag.OpenLabel
- local Collapse = Body.Collapse
- local CloseLabel = Drag.CloseLabel
- local Dragging, DragInput, DragStart, StartPosition
- Drag.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
- Dragging = true
- DragStart = input.Position
- StartPosition = Drag.Position
- input.Changed:Connect(function()
- if input.UserInputState == Enum.UserInputState.End then
- Dragging = false
- end
- end)
- end
- end)
- Drag.InputChanged:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then DragInput = input end
- end)
- local cDragging, cDragInput, cDragStart, cStartPosition
- CommandFrame.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
- cDragging = true
- cDragStart = input.Position
- cStartPosition = CommandFrame.Position
- input.Changed:Connect(function()
- if input.UserInputState == Enum.UserInputState.End then
- cDragging = false
- end
- end)
- end
- end)
- CommandFrame.InputChanged:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
- cDragInput = input
- end
- end)
- game:GetService('UserInputService').InputChanged:Connect(function(input)
- if input == DragInput and Dragging then
- local Delta = input.Position - DragStart
- Drag.Position = UDim2.new(StartPosition.X.Scale, StartPosition.X.Offset + Delta.X, StartPosition.Y.Scale, StartPosition.Y.Offset + Delta.Y)
- elseif input == cDragInput and cDragging then
- local Delta = input.Position - cDragStart
- CommandFrame.Position = UDim2.new(cStartPosition.X.Scale, cStartPosition.X.Offset + Delta.X, cStartPosition.Y.Scale, cStartPosition.Y.Offset + Delta.Y)
- end
- end)
- CommandFrame.Body.Toggle.MouseButton1Click:Connect(function()
- CommandFrame.Visible = false
- end)
- local Closed = false
- Collapse.MouseButton1Click:Connect(function()
- if not Closed then
- Body.BorderSizePixel = 0
- Body:TweenSize(UDim2.new(1, 0, 0, 0), 'In', 'Quad', 0.25)
- Closed = true
- wait(0.25)
- OpenLabel:TweenSize(UDim2.new(1, 0, 0, 0), 'In', 'Quad', 0.15)
- CloseLabel:TweenSize(UDim2.new(1, 0, 1, 0), 'Out', 'Quad', 0.15)
- Open:TweenSize(UDim2.new(0, 25, 0, 25), 'Out', 'Quad', 0.15)
- end
- end)
- Open.MouseButton1Click:Connect(function()
- if Closed then
- Open:TweenSize(UDim2.new(0, 25, 0, 0), 'In', 'Quad', 0.15)
- wait(0.15)
- Body.BorderSizePixel = 1
- Body:TweenSize(UDim2.new(1, 0, 0, -250), 'Out', 'Quad', 0.25)
- OpenLabel:TweenSize(UDim2.new(1, 0, 1, 0), 'Out', 'Quad', 0.15)
- CloseLabel:TweenSize(UDim2.new(1, 0, 0, 0), 'In', 'Quad', 0.15)
- Closed = false
- end
- end)
- for i,v in next, Selector:GetChildren() do
- if v:IsA('TextButton') then
- v.MouseEnter:Connect(function()
- if not v.Selected then
- local pos = v.Position
- v.Position = UDim2.new(0, 10, 0, pos.Y.Offset)
- end
- end)
- v.MouseLeave:Connect(function()
- if not v.Selected then
- local pos = v.Position
- v.Position = UDim2.new(0, 5, 0, pos.Y.Offset)
- end
- end)
- v.MouseButton1Click:Connect(function()
- for k,x in next, Tabs:GetChildren() do
- if x.Name ~= v.Name and x.Visible then
- local Select = Selector[x.Name]
- x.Visible = false
- Select.Selected = false
- Select.Position = UDim2.new(0, 5, 0, Select.Position.Y.Offset)
- Select.BackgroundColor3 = Color3.fromRGB(210, 100, 101)
- Select.BorderColor3 = Color3.fromRGB(145, 69, 70)
- end
- end
- v.Selected = true
- Tabs[v.Name].Visible = true
- v.BackgroundColor3 = Color3.fromRGB(100, 210, 101)
- v.BorderColor3 = Color3.fromRGB(69, 145, 70)
- end)
- end
- end
- for i,v in next, Tabs:GetDescendants() do
- if v:IsA('TextButton') and v.Size == UDim2.new(0, 25, 0, 25) then
- v.MouseButton1Click:Connect(function()
- if v.Text == '✓' then
- v.Label.Font = 'SourceSansSemibold'
- v.Text = ''
- else
- v.Label.Font = 'SourceSansBold'
- v.Text = '✓'
- end
- end)
- end
- end
- local Console = Tabs.Console
- local Output = Console.Back.Output
- local PodSource = Output.Pod:Clone()
- PodSource.Message.TextYAlignment = 'Top'
- Output.CanvasSize = UDim2.new(0, 0, 0, 20)
- function Graphics.Write(content)
- local Pod = PodSource:Clone()
- Pod.Parent = Output
- Pod.Message.Text = content
- if Pod.Message.TextFits then
- Output.CanvasSize = Output.CanvasSize + UDim2.new(0, 0, 0, 20)
- end
- while not Pod.Message.TextFits and wait() do
- Pod.Size = Pod.Size + UDim2.new(0, 0, 0, 20)
- Pod.Message.Size = Pod.Message.Size + UDim2.new(0, 0, 0, 20)
- Output.CanvasSize = Output.CanvasSize + UDim2.new(0, 0, 0, Pod.Size.Y.Offset)
- end
- local Offset = math.abs(Output.AbsoluteSize.Y - Output.CanvasSize.Y.Offset)
- Output.CanvasPosition = Vector2.new(0, Offset)
- end
- Console.Input.FocusLost:Connect(function(fromEnter)
- if fromEnter then
- local Vargs = {}
- for Split in (Console.Input.Text .. ';'):gmatch('(.-);') do
- table.insert(Vargs, Split)
- end
- local Result = Arsenic.CommandHandler(Arsenic.Client, rawget(Vargs, 1), unpack((function()
- local Return = {}
- for i = 2, #Vargs do
- table.insert(Return, rawget(Vargs, i))
- end
- return Return
- end)()))
- Console.Input.Text = ''
- Graphics.Write(Result)
- end
- end)
- local function AppendToggle(object, onToggle, deToggle)
- object.MouseButton1Click:Connect(function()
- if object.Text == '' then
- onToggle()
- else
- deToggle()
- end
- end)
- end
- -- Local
- AppendToggle(Tabs.Local.Toggles.Glowstick,
- function()
- Local.Glowstick(true)
- end,
- function()
- Local.Glowstick(false)
- end)
- AppendToggle(Tabs.Local.Toggles.Fly,
- function()
- Local.Fly(true)
- end,
- function()
- Local.Fly(false)
- end)
- AppendToggle(Tabs.Local.Toggles['VS-50 Walk'],
- function()
- Local.VS50Walk(true)
- end,
- function()
- Local.VS50Walk(false)
- end)
- AppendToggle(Tabs.Local.Toggles['TM-46 Walk'],
- function()
- Local.TM46Walk(true)
- end,
- function()
- Local.TM46Walk(false)
- end)
- AppendToggle(Tabs.Local.Toggles['C4 Walk'],
- function()
- Local.C4Walk(true)
- end,
- function()
- Local.C4Walk(false)
- end)
- local Input = Tabs.Local.Input
- Input.Fog.Button.MouseButton1Click:Connect(function()
- Local.SetFog(tonumber(Input.Fog.Text))
- Input.Fog.Text = ''
- end)
- Input.Speed.Button.MouseButton1Click:Connect(function()
- Local.SetWalkSpeed(tonumber(Input.Speed.Text))
- Input.Speed.Text = ''
- end)
- Input.Jump.Button.MouseButton1Click:Connect(function()
- Local.SetJumpPower(tonumber(Input.Jump.Text))
- Input.Jump.Text = ''
- end)
- -- Players
- local PlayersList = Tabs.Players.List
- local PlayersOptions = Tabs.Players.Scroller.Options
- local function LoadData(tab, player)
- local Toggles = Tabs[tab].Options.Toggles
- local Data = Arsenic.Data[player].Toggles
- for i,v in next, Toggles do
- local Toggle = v
- if not v then
- Toggle.Label.Font = 'SourceSansSemibold'
- Toggle.Text = ''
- else
- Toggle.Label.Font = 'SourceSansBold'
- Toggle.Text = '✓'
- end
- end
- end
- PlayersList.ChildAdded:Connect(function(child)
- if child:IsA('TextButton') then
- child.MouseButton1Click:Connect(function()
- LoadData(Tabs.Players, game.Players:FindFirstChild(child.Name))
- end)
- end
- end)
- -- Interface
- function Graphics.MessageBox(msgtype, title, content, ...)
- local Vargs = {...}
- local Pod = game:GetObjects('rbxassetid://2899472005')[1]
- Pod.Parent = game.Players.LocalPlayer.PlayerGui
- Pod.MessageBox.Title.Text = title
- Pod.MessageBox.Content.Text = content
- local Arg1 = Vargs[1]
- local Arg2 = Vargs[2]
- if not Arg1 or Arg1 == '' then
- Arg1 = nil
- end
- if not Arg2 or Arg2 == '' then
- Arg2 = nil
- end
- local Type = {}
- function Type.OK()
- local Ok = Pod.MessageBox.OK.Ok
- Ok.Visible = true
- Ok.MouseButton1Click:Connect(function()
- if Arg1 then
- pcall(loadstring(Arg1))
- end
- Pod:Destroy()
- end)
- end
- function Type.OKCANCEL()
- local Ok, Cancel = Pod.MessageBox.OKCANCEL.Ok, Pod.MessageBox.OKCANCEL.Cancel
- Ok.Visible = true
- Cancel.Visible = true
- Ok.MouseButton1Click:Connect(function()
- if Arg1 then
- pcall(loadstring(Arg1))
- end
- Pod:Destroy()
- end)
- Cancel.MouseButton1Click:Connect(function()
- if Arg2 then
- pcall(loadstring(Arg2))
- end
- Pod:Destroy()
- end)
- end
- function Type.YESNO()
- local Yes, No = Pod.MessageBox.YESNO.Yes, Pod.MessageBox.YESNO.No
- Yes.Visible = true
- No.Visible = true
- Yes.MouseButton1Click:Connect(function()
- if Arg1 then
- pcall(loadstring(Arg1))
- end
- Pod:Destroy()
- end)
- No.MouseButton1Click:Connect(function()
- if Arg2 then
- pcall(loadstring(Arg2))
- end
- Pod:Destroy()
- end)
- end
- return pcall(rawget(Type, msgtype))
- end
- return Graphics
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement