Looks like you need to add the classes into rep storage. Idk what you've done but this seems to be nothing more than an activation code. Also a remote event would be in order. Idk what you've tried but it this seems to be incomplete.
local rp = game:GameSerivce("ReplicatedStorage")
local Class = rp:WaitForChild("Class")
local SS = game:GetService("ServerStorage")
local Classes = SS:WaitForChild("Classes")
Class.OnServerEvent:Connect(function(Player,className)
local Backpack = Player.Backpack
local selection = Classes:FindFirstChild(className)
if selection then
local moveset = Classes:FindFirstChild(className):Clone()
moveset.Parent = Backpack
end
end)
local Background = script.Parent
local rp = game:GameSerivce("ReplicatedStorage")
local Class = rp:WaitForChild("Class")
for _, button in pairs(Background:GetChildren()) do
if button:IsA("ImageButton") then
button.MouseButton1Click:Connect(function()
Background.visibile = false
Class:FireServer(button.Name)
end)
end
end