input: Write a function to generate a script that loads a configuration file and libraries, imports necessary modules, defines two custom colormaps, loads a data file, performs cubic spline interpolation on the data, applies a threshold to remove small values, and generates three plots: a histogram, an interpolated image, and a contour plot. If the script runs successfully, it should return True, otherwise False. If the given data file is empty, the function should return True.
  
  assert generate_plots_script("foam_ball_short.dsa", 230, 1, 25, [(0.0, 80/256., 80/256.), (0.2, 0.0, 0.0), (0.4, 0.0, 0.0), (0.6, 256/256., 256/256.), (0.95, 256/256., 256/256.), (1.0, 150/256., 150/256.)], [(0.0, 0.9, 0.9), (1.0, 0.9, 0.9)]) == True
  assert generate_plots_script("invalid_file.dsa", 230, 1, 25, [(0.0, 80/256., 80/256.), (0.2, 0.0, 0.0), (0.4, 0.0, 0.0), (0.6, 256/256., 256/256.), (0.95, 256/256., 256/256.), (1.0, 150/256., 150/256.)], [(0.0, 0.9, 0.9), (1.0, 0.9, 0.9)]) == False
  assert generate_plots_script("", 230, 1, 25, [(0.0, 80/256., 80/256.), (0.2, 0.0, 0.0), (0.4, 0.0, 0.0), (0.6, 256/256., 256/256.), (0.95, 256/256., 256/256.), (1.0, 150/256., 150/256.)], [(0.0, 0.9, 0.9), (1.0, 0.9, 0.9)]) == True
  
output: def generate_plots_script(file_path, threshold, x_res, y_res, cmap1_colors, cmap2_colors):
      try:
          import numpy as np
          import matplotlib.pyplot as plt
          from scipy.interpolate import griddata
          from matplotlib.colors import LinearSegmentedColormap
  
          if not file_path:
              return True
  
          data = np.loadtxt(file_path)
          if data.size == 0:
              return True
  
          x, y, z = data[:, 0], data[:, 1], data[:, 2]
  
          xi = np.linspace(x.min(), x.max(), x_res)
          yi = np.linspace(y.min(), y.max(), y_res)
          xi, yi = np.meshgrid(xi, yi)
  
          zi = griddata((x, y), z, (xi, yi), method='cubic')
  
          zi[zi < threshold] = np.nan
  
          cmap1 = LinearSegmentedColormap.from_list('custom_cmap1', cmap1_colors)
          cmap2 = LinearSegmentedColormap.from_list('custom_cmap2', cmap2_colors)
  
          plt.figure(figsize=(15, 5))
  
          plt.subplot(131)
          plt.hist(z, bins=50, color='blue', alpha=0.7)
          plt.title('Histogram')
  
          plt.subplot(132)
          plt.imshow(zi, extent=(x.min(), x.max(), y.min(), y.max()), origin='lower', cmap=cmap1)
          plt.colorbar()
          plt.title('Interpolated Image')
  
          plt.subplot(133)
          plt.contourf(xi, yi, zi, levels=20, cmap=cmap2)
          plt.colorbar()
          plt.title('Contour Plot')
  
          plt.tight_layout()
          plt.show()
  
          return True
      except Exception as e:
          return False