Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local plr = game.Players.LocalPlayer
- function applyOptions(object, options)
- for k, v in pairs(options) do
- object[k] = v
- end
- return object
- end
- function decorateButton(button)
- button.MouseEnter:Connect(function()
- button.BackgroundColor3 = Color3.new(0, 5, 5)
- end)
- button.MouseLeave:Connect(function()
- button.BackgroundColor3 = Color3.new(0, 0, 0)
- end)
- end
- local frameOptions = {
- ['Position'] = UDim2.new(0.13, 0, 0.4, 0),
- ['Style'] = Enum.FrameStyle.DropShadow
- }
- local textButtonOptions = {
- ['BackgroundColor3'] = Color3.new(0, 0, 0),
- ['BackgroundTransparency'] = 0.5,
- ['TextColor3'] = Color3.new(0, 20, 20),
- ['TextScaled'] = true
- }
- local gui = Instance.new('ScreenGui')
- gui.Parent = plr.PlayerGui
- gui.ResetOnSpawn = false
- local memory = {}
- --FUNCTIONS
- local speeds = {16, 24, 36, 48, 60, 72}
- local currentSpeed = 1
- function speedHack()
- local button = memory['speedHack']
- if game.Workspace:FindFirstChild(plr.Name) then
- local hum = plr.Character.Humanoid
- currentSpeed = currentSpeed + 1
- if currentSpeed > #speeds then
- currentSpeed = 1
- end
- hum.WalkSpeed = speeds[currentSpeed]
- button.Text = 'SpeedHack: ' .. speeds[currentSpeed]
- if currentSpeed == 1 then
- button.Text = 'SpeedHack: OFF'
- end
- hum:GetPropertyChangedSignal('WalkSpeed'):Connect(function()
- hum.WalkSpeed = speeds[currentSpeed]
- end)
- plr.CharacterAdded:Connect(function(char)
- char:WaitForChild('Humanoid').WalkSpeed = speeds[currentSpeed]
- end)
- end
- end
- local powers = {50, 75, 100, 125, 150, 175}
- local currentPower = 1
- function jumpHack()
- local button = memory['jumpHack']
- if game.Workspace:FindFirstChild(plr.Name) then
- local hum = plr.Character.Humanoid
- currentPower = currentPower + 1
- if currentPower > #powers then
- currentPower = 1
- end
- hum.JumpPower = powers[currentPower]
- button.Text = 'JumpHack: ' .. powers[currentPower]
- if currentPower == 1 then
- button.Text = 'JumpHack: OFF'
- end
- hum:GetPropertyChangedSignal('JumpPower'):Connect(function()
- hum.JumpPower = powers[currentPower]
- end)
- plr.CharacterAdded:Connect(function(char)
- char:WaitForChild('Humanoid').JumpPower = powers[currentPower]
- end)
- end
- end
- function tpAllTools()
- if game.Workspace:FindFirstChild(plr.Name) then
- local char = plr.Character
- local startPos = char.HumanoidRootPart.Position
- for k, v in pairs(game.Workspace:GetChildren()) do
- if v.ClassName == 'Tool' and v:FindFirstChild('Handle') then
- char:MoveTo(v.Handle.Position)
- wait(0.25)
- end
- end
- char:MoveTo(startPos)
- end
- end
- local blacklist = {['Shop'] = 1, ['bigmeter'] = 1}
- function checkForTools()
- local frame = memory['checkForTools'].Parent
- local shiftX = 0
- local shiftY = 0.14
- for k, v in pairs(frame:GetChildren()) do
- if v.Name == 'Tool' then
- v:Remove()
- end
- end
- for k, v in pairs(game.Workspace:GetChildren()) do
- if (blacklist[v.Name] ~= 1) and ((v.ClassName == 'Tool' and v:FindFirstChild('Handle')) or (v.ClassName == 'Part' and v:FindFirstChild('Handler') and v:FindFirstChild('ClickDetector'))) then
- local button = Instance.new('TextButton')
- button.Parent = frame
- button.Position = UDim2.new(shiftX, 0, shiftY, 0)
- button.Size = UDim2.new(0.1, 0, 0.1, 0)
- button.Text = v.Name
- button.Name = 'Tool'
- applyOptions(button, textButtonOptions)
- decorateButton(button)
- button.MouseButton1Click:Connect(function()
- if game.Workspace:FindFirstChild(plr.Name) then
- local char = plr.Character
- local startPosition = char.HumanoidRootPart.Position
- if v.ClassName == 'Tool' then
- char:MoveTo(v.Handle.Position)
- wait(0.5)
- char:MoveTo(startPosition)
- else
- char:MoveTo(v.Position)
- end
- end
- end)
- game.Workspace.ChildRemoved:Connect(function(child)
- if child == v then
- button:Remove()
- end
- end)
- shiftX = shiftX + button.Size.X.Scale
- if shiftX > 0.5 then
- shiftX = 0
- shiftY = shiftY + 0.11
- end
- end
- end
- end
- --FUNCTIONS
- local frames = {
- ['ExplorerFrame'] = {
- ['options'] = {
- ['Size'] = UDim2.new(1, 0, 0.4, 0)
- },
- ['objects'] = {
- ['tpAllTools'] = {
- ['type'] = 'TextButton',
- ['options'] = textButtonOptions,
- ['additionalOptions'] = {
- ['Size'] = UDim2.new(0.125, 0, 0.125, 0),
- ['Text'] = 'Teleport All Tools'
- },
- ['function'] = tpAllTools
- },
- ['checkForTools'] = {
- ['type'] = 'TextButton',
- ['options'] = textButtonOptions,
- ['additionalOptions'] = {
- ['Position'] = UDim2.new(0.13, 0, 0, 0),
- ['Size'] = UDim2.new(0.125, 0, 0.125, 0),
- ['Text'] = 'Check For Tools'
- },
- ['function'] = checkForTools
- },
- }
- },
- ['TeleportsFrame'] = {
- ['options'] = {
- ['Size'] = UDim2.new(0.5, 0, 0.4, 0)
- },
- ['objects'] = {
- }
- },
- ['MiscFrame'] = {
- ['options'] = {
- ['Size'] = UDim2.new(0.25, 0, 0.4, 0)
- },
- ['objects'] = {
- ['speedHack'] = {
- ['type'] = 'TextButton',
- ['options'] = textButtonOptions,
- ['additionalOptions'] = {
- ['Size'] = UDim2.new(1, 0, 0.125, 0),
- ['Text'] = 'SpeedHack: OFF'
- },
- ['function'] = speedHack
- },
- ['jumpHack'] = {
- ['type'] = 'TextButton',
- ['options'] = textButtonOptions,
- ['additionalOptions'] = {
- ['Position'] = UDim2.new(0, 0, 0.125, 0),
- ['Size'] = UDim2.new(1, 0, 0.125, 0),
- ['Text'] = 'JumpHack: OFF'
- },
- ['function'] = jumpHack
- }
- }
- }
- }
- local opening = false
- local currentFrame = nil
- local start = UDim2.new(0, 0, 0.4, 0)
- local standardSize = UDim2.new(0.125, 0, 0.05, 0)
- local shift = 0
- for k, v in pairs(frames) do
- local frame = applyOptions(Instance.new('Frame'), frameOptions)
- frame.Parent = gui
- applyOptions(frame, v['options'])
- for l, b in pairs(v['objects']) do
- local object = Instance.new(b['type'])
- object.Parent = frame
- applyOptions(object, b['options'])
- applyOptions(object, b['additionalOptions'])
- if object.ClassName == 'TextButton' then
- memory[l] = object
- object.MouseButton1Click:Connect(function()
- spawn(b['function'])
- end)
- decorateButton(object)
- end
- end
- local size = frame.Size
- frame.Size = UDim2.new(0, 0, 0, 0)
- local button = Instance.new('TextButton')
- button.Parent = gui
- button:TweenPosition(UDim2.new(0, 0, shift, 0) + start)
- button:TweenSize(standardSize)
- button.Text = string.sub(k, 1, string.find(k, 'Frame') - 1)
- applyOptions(button, textButtonOptions)
- decorateButton(button)
- shift = shift + standardSize.Y.Scale + 0.005
- button.MouseButton1Click:Connect(function()
- if opening == false then
- opening = true
- if currentFrame ~= nil then
- if currentFrame == frame then
- frame:TweenSize(UDim2.new(0, 0, 0, 0))
- currentFrame = nil
- else
- currentFrame:TweenSize(UDim2.new(0, 0, 0, 0))
- frame:TweenSize(size)
- currentFrame = frame
- end
- else
- frame:TweenSize(size)
- currentFrame = frame
- end
- wait(1)
- opening = false
- end
- end)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement