I was hoping that the script is for being convenient to update without editing it. But I hit a problem.
Well, here's the whole script. Read the green sentences inside
local buttons = script.Parent
local maxpage = math.ceil(#game.ReplicatedStorage.Morphs:GetChildren()/10)
local pagetag = buttons.Pages
local zero = buttons["0"]
local one = buttons["1"]
local two = buttons["2"]
local three = buttons["3"]
local four = buttons["4"]
local five = buttons["5"]
local six = buttons["6"]
local seven = buttons["7"]
local eight = buttons["8"]
local nine = buttons["9"]
function Page_Flipped(Value) --this is where the problem is
function Change_Text(button,text) --I wish to fix the problem right in this function but
if text ~= nil then -----------------------find a way
button.Text = text
elseif text == nil then
button.Text = "--"
end
end
morphs = game.ReplicatedStorage.Morphs:GetChildren()
pagetag.Text = Value.."/"..maxpage
Change_Text(zero,morphs[1 + 10*(Value-1)].Name)--it stucks right in these
Change_Text(one,morphs[2 + 10*(Value-1)].Name)--when it hits a nil value, the whole thing
Change_Text(two,morphs[3 + 10*(Value-1)].Name)--stucks
Change_Text(three,morphs[4 + 10*(Value-1)].Name)
Change_Text(four,morphs[5 + 10*(Value-1)].Name)
Change_Text(five,morphs[6 + 10*(Value-1)].Name)
Change_Text(six,morphs[7 + 10*(Value-1)].Name)
Change_Text(seven,morphs[8 + 10*(Value-1)].Name)
Change_Text(eight,morphs[9 + 10*(Value-1)].Name)
Change_Text(nine,morphs[10 + 10*(Value-1)].Name)
end
function PlayerAdded()--flip the race menu to 1 when player joined--never mind the rest
script.Parent.Page.Value = 1
end
for i,v in pairs(buttons:GetChildren()) do --All the buttons
if v.ClassName == "TextButton" then
v.MouseButton1Click:connect(function()
if v.Name == "Next" then
if script.Parent.Page.Value == maxpage then
script.Parent.Page.Value = 1
else script.Parent.Page.Value = script.Parent.Page.Value + 1
end
elseif v.Name == "Previous" then
if script.Parent.Page.Value == 1 then
script.Parent.Page.Value = maxpage
else script.Parent.Page.Value = script.Parent.Page.Value - 1
end
elseif v.Name ~= "Next" and v.Name ~= "Previous" and v.Name ~= "--" then
script.Parent.Parent.Class.Visible = true
script.Parent.Parent.Class.Genre.Value = v.Text
script.Parent.Visible = false
end
end)
end
end
script.Parent.Page.Changed:connect(Page_Flipped)
game.Players.PlayerAdded:connect(PlayerAdded)
for _, player in pairs(game.Players:GetPlayers()) do PlayerAdded(player) end
