0% found this document useful (0 votes)
14 views6 pages

Roblox GUI Button and Camera Controls

Uploaded by

vilcase
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views6 pages

Roblox GUI Button and Camera Controls

Uploaded by

vilcase
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

local cornerBaseOffset = [Link](1.0, -146-8, 1.

0, -214-8)
local stripTop = cornerBaseOffset + [Link](0.0, 13, 0.0, 9)
local healthOffset = cornerBaseOffset + [Link](0.0, 87, 0.0, 25)
local toolbarOffset = [Link](0.0, 0, 1.0, -92)

local cameraTool = [Link](1.0, -75, 1.0, -300)

function ToggleButton(button)
[Link] = not [Link]
end

function NewFrame(position, size, name, zIndex, active, color3)


local frame = [Link]("Frame")
[Link] = size
frame.BackgroundColor3 = color3
[Link] = position
[Link] = 0
[Link] = name
[Link] = zIndex
[Link] = active
return frame
end

function NewImageLabel(asset, position, size, name, zIndex, active)


local label = [Link]("ImageLabel")
[Link] = asset
[Link] = size
[Link] = 1
[Link] = position
[Link] = 0
[Link] = name
[Link] = zIndex
[Link] = active
return label
end

--Callback siganture: (button)


function NewImageButton(asset, callback, position, size, name, zIndex)
local button = [Link]("ImageButton")
[Link] = asset
[Link] = size
[Link] = 1
[Link] = position
[Link] = false
button.MouseButton1Click:connect(function() callback(button) end)
[Link] = 0
[Link] = name
[Link] = zIndex
[Link] = (callback ~= nil)

return button
end

--Callback signature: (button, selected)


function NewToggleImageButton(asset, callback, position, size, name, zIndex)
if callback then
return NewImageButton(asset,
function(button)
if callback then
ToggleButton(button)
callback(button, [Link])
end
end, position, size, name, zIndex)
else
return NewImageButton(asset, nil, position, size, name, zIndex)
end
end

local things = {}
function CameraButtonPressed(button, selected)
[Link] = selected
[Link] = selected
[Link] = selected
[Link] = selected
[Link] = selected
end

function ResetVanish(part)
while ([Link] < 1) do
[Link] = [Link]+0.1
wait()
end
part:remove()
end
function ResetShiny(part)
while ([Link] < 1) do
[Link] = [Link]+0.1
wait()
end
part:remove()
end

function ResetButtonPressed(button, selected)


local player = [Link]
local char = [Link]
if char then
local p = char:GetChildren()
if p then
for key, part in pairs(p) do
if part:IsA("Part") then
local cA = [Link](function()
ResetVanish(part) end)
local cB = [Link](function()
ResetShiny(part) end)
[Link](cA)
[Link](cB)
end
end
end
end
end

function BuildToolsPressed(button, selected)

end
function ReportAbusePressed(button, selected)

end

function HelpPressed(button, selected)

end

function CameraDown()
[Link]:TiltUnits(1)
game:GetService("SoundService"):PlayStockSound([Link])
end

function CameraUp()
[Link]:TiltUnits(-1)
game:GetService("SoundService"):PlayStockSound([Link])
end

function CameraLeft()
[Link]:PanUnits(-1)
game:GetService("SoundService"):PlayStockSound([Link])
end

function CameraRight()
[Link]:PanUnits(1)
game:GetService("SoundService"):PlayStockSound([Link])
end

function CameraZoomOut()
[Link]:Zoom(-1)
game:GetService("SoundService"):PlayStockSound([Link])
end

function CameraZoomIn()
[Link]:Zoom(1)
game:GetService("SoundService"):PlayStockSound([Link])
end

local keyMap = {}

function KeyPressed(key, modifiers)


if keyMap[key] then
keyMap[key](key, modifiers)
end
end

function SpecialKeyPressed(key, modifiers)


if keyMap[key] then
keyMap[key](key, modifiers)
end
end

function HopperKeyPressed(key, modifiers)


--Select based on key, modifiers can be ignored
end

local assets = {}
assets["CornerBackground"] = {"Label", 1, "gui_cornerbox_blue.png",
cornerBaseOffset, [Link](0.0, 146, 0.0, 214), true}

assets["CameraButton"] = {"ToggleButton", 2, "button_camera.png",


cornerBaseOffset+ [Link](0.0, 95, 0.0, 177), [Link](0.0, 24, 0.0, 24),
CameraButtonPressed}
assets["ResetButton"] = {"Button", 2, "button_reset.png",
cornerBaseOffset + [Link](0.0, 112, 0.0, 112), [Link](0.0, 24, 0.0, 24),
ResetButtonPressed}

--assets["HealthBar"] = {"Label", 0, "gui_life_blue.png",


healthOffset + [Link](0.0, 0, 0.0, 0), [Link](0.0, 48, 0.0, 115), true}
--assets["HealthBarFrame"] = {"Label", 3, "gui_health_blue.png",
healthOffset + [Link](0.0, 0, 0.0, 0), [Link](0.0, 48, 0.0, 115), true}

assets["CornerButtonBackground"] = {"Label", 2, "gui_cornerbutton_background.png",


stripTop + [Link](0.0, 0, 0.0, 0), [Link](0.0, 99, 0.0, 199) , true}
stripTop = stripTop + [Link](0.0, 1, 0.0, 3)
assets["Friends"] = {"ToggleButton", 3,
"corner_box_strip_friends.png", stripTop + [Link](0.0, 22, 0.0, 0),
[Link](0.0, 78, 0.0, 32), nil}
assets["CharacterCustomize"] = {"ToggleButton", 3,
"corner_box_strip_custom.png", stripTop + [Link](0.0, 9, 0.0, 32),
[Link](0.0, 76, 0.0, 34), nil}
assets["Browser"] = {"ToggleButton", 3,
"corner_box_strip_browser.png", stripTop + [Link](0.0, 2, 0.0, 66),
[Link](0.0, 71, 0.0, 33), nil}
assets["BuildTools"] = {"ToggleButton", 3,
"corner_box_strip_tools.png", stripTop + [Link](0.0, 0, 0.0, 99), [Link](0.0,
66, 0.0, 31), BuildToolsPressed}
assets["ReportAbuse"] = {"ToggleButton", 3,
"corner_box_strip_report.png", stripTop + [Link](0.0, 0, 0.0, 130),
[Link](0.0, 63, 0.0, 32), ReportAbusePressed}
assets["Help"] = {"ToggleButton", 3,
"corner_box_strip_help.png", stripTop + [Link](0.0, 0, 0.0, 162), [Link](0.0,
65, 0.0, 30), HelpPressed}

assets["CameraBackground"] = {"Label", 0, "camera_console_disc.png",


cameraTool, [Link](0.0, 72, 0.0, 72), true}
assets["CameraUp"] = {"Button", 1, "camera_up.png", cameraTool
+ [Link](0.0, 11, 0.0, 0), [Link](0.0, 50, 0.0, 22), CameraUp}
assets["CameraDown"] = {"Button", 1, "camera_down.png",
cameraTool + [Link](0.0, 11, 0.0, 50), [Link](0.0, 50, 0.0, 22), CameraDown}
assets["CameraLeft"] = {"Button", 1, "camera_left.png",
cameraTool + [Link](0.0, 0, 0.0, 11), [Link](0.0, 22, 0.0, 50),
CameraZoomOut}
assets["CameraRight"] = {"Button", 1, "camera_right.png",
cameraTool + [Link](0.0, 50, 0.0, 11), [Link](0.0, 22, 0.0, 50),
CameraZoomIn}

assets["ToolbarBackground"] = {"Label", 0,
"gui_toolbar_background.png", toolbarOffset+ [Link](0.0, 0, 0.0, 1),
[Link](0.0, 500, 0.0, 90), false}
assets["ToolbarOverlayLeft"] = {"Label", 2,
"gui_toolbar_overlay_left.png", toolbarOffset, [Link](0.0, 8, 0.0, 92), false}
assets["ToolbarOverlayCenter"] = {"Label", 2,
"gui_toolbar_overlay_center.png", toolbarOffset + [Link](0.0, 8, 0.0, 0),
[Link](0.0, 484, 0.0, 92), false}
assets["ToolbarOverlayRight"] = {"Label", 2,
"gui_toolbar_overlay_right.png", toolbarOffset + [Link](0.0, 492, 0.0, 0),
[Link](0.0, 8, 0.0, 92), false}

local assetRoot = "rbxasset://gui/"


local coreGui = game:GetService("CoreGui")
local parent = [Link]("ScreenGui")
[Link] = coreGui

for name, list in pairs(assets) do


if list[1] == "Label" then
things[name] = NewImageLabel(assetRoot .. list[3], list[4], list[5],
name, list[2]+1, list[6])
elseif list[1] == "Button" then
things[name] = NewImageButton(assetRoot .. list[3], list[6], list[4],
list[5], name, list[2]+1)
elseif list[1] == "ToggleButton" then
things[name] = NewToggleImageButton(assetRoot .. list[3], list[6],
list[4], list[5], name, list[2]+1)
end
end

[Link] = NewFrame(cornerBaseOffset + [Link](0.0, 85, 0.0, 33),


[Link](0.0, 45, 0.0, 99), "HealthFrame", 0, true, [Link](0.65, 0.0, 0.0))
local health = NewFrame([Link](0.0, 0, 0.5, 0), [Link](1.0, 0, 0.5, 0),
"HealthBar", 1, true, [Link](0.167, 0.8, 0.184))
[Link] = [Link]

for name, list in pairs(things) do


things[name].Parent = parent
end

local guiService = game:GetService("GuiService")

function MapKey(key, func)


guiService:AddKey(key)
keyMap[key] = func
end

function MapSpecialKey(key, func)


guiService:AddSpecialKey(key)
keyMap[key] = func
end

local i = 0
while i <= 9 do
MapKey(i, HopperKeyPressed)
i = i + 1
end
MapKey(",", CameraLeft)
MapKey(".", CameraRight)
MapKey("i", CameraZoomIn)
MapKey("o", CameraZoomOut)
MapSpecialKey([Link], CameraUp)
MapSpecialKey([Link], CameraDown)

[Link]:connect(KeyPressed)
function BuildHopper()
--assets["ToolbarBackground"] = {"Label", 0,
"gui_toolbar_background.png", toolbarOffset, [Link](0.0, 500, 0.0, 92), false}
--assets["ToolbarOverlay"] = {"Label", 2,
"gui_toolbar_overlay.png", toolbarOffset, [Link](0.0, 500, 0.0, 92), false}
end

function ResizeHopper()

end

You might also like