I've been trying to get this to work, but seems that in online mode it won't function. Here is the code:
display = script.Parent
-- The variable above refers to the display where slides are shown!
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
colorSwap = display.Parent.SwapColors.Colors
usableSlides = {display.SelectNew, display.Beginner, display.TestFrame2}
-- The slides above are allowed to be used for anyone!
function move(to, from, hidden) -- Move the slides up, or right in the list of usuable ones!
if hidden ~= nil then
display.HiddenSlide.Value = hidden
end
if to ~= nil and from ~= nil then
colorSwap.Value = to.Color.Value
to.ZIndex = 2
from.ZIndex = 1
to:TweenPosition(UDim2.new(0, 3, 0, 3), "Out", "Bounce", 1.5) -- Move the one to the center!
from:TweenPosition(UDim2.new(0, 3, 1.5, 3), "Out", "Bounce", 1.5) -- Move this one out of the frame!
end
end
function selectSlide(direction) -- Here direction refers to the way the slides shall go. True means up, or right in the list, while False means the opposite.
slideTo = nil -- Slide that needs to be shown.
slideFrom = nil -- Slide that needs to be removed.
if display.LastSlide.Value ~= nil then
direction = nil
move(display.LastSlide.Value, display.HiddenSlide.Value)
display.LastSlide.Value = nil
display.HiddenSlide.Value = nil
end
if direction then
for num, slide in pairs(usableSlides) do -- Cycle through slides and locate the current one!
if slide.Position.Y.Scale == 0 then
slideFrom = slide
if num < #usableSlides then
slideTo = usableSlides[num+1]
else
slideTo = usableSlides[1]
end
end
end
else if direction == false then
for num, slide in pairs(usableSlides) do -- Cycle through slides and locate the current one!
if slide.Position.Y.Scale == 0 then
slideFrom = slide
if num > 1 then
slideTo = usableSlides[num-1]
else
slideTo = usableSlides[#usableSlides]
end
end
end
end
end
move(slideTo, slideFrom)
end
function help() -- This returns the help page and adds more stuff than defaultly, thus the new function!
slideFrom = nil
slideTo = display.Help
for num, slide in pairs(usableSlides) do -- Cycle through slides and locate the current one!
if slide.Position.Y.Scale == 0 then
slideFrom = slide
display.LastSlide.Value = slide
end
end
move(slideTo, slideFrom, display.Help)
end
mouse.KeyDown:connect(function (Key) -- When a player hits a key this is activated!
if Key:lower() == "q" then -- If 'q' is pressed then go UP!
selectSlide(true)
else if Key:lower() == "e" then -- If 'e' is pressed then do DOWN!
selectSlide(false)
else if Key:lower() == "h" then
help()
else
end
end
end
end)
This is inside the PlayerGui where it says localscripts will still run, though in my game I try hitting the keys and they don't seem to run the code. Do you have any way to fix this or am I just missing something?
