script.Parent.Activated:Connect(function()
    for i,v in pairs(Keys) do
        if v:IsA("GuiObject") then
            print('play')
            if v.BackgroundColor3 == Color3.fromRGB(255, 255, 255) then
               -- stuff
            elseif v.BackgroundColor3 == Color3.fromRGB(215, 215, 215) then
               -- stuff
            -- other elseifs
            end
        end
    end
end)

The specific if statement I mean is the Color3 check, even if I set the value to 0,0,0, it’ll always run the first one and none of the other elseif’s beneath it