Advertisement
MundoBezier

Comandos con colores

Aug 3rd, 2022 (edited)
1,263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.67 KB | None | 0 0
  1. ######################################################################################################
  2. #                                    Comandos con colores                                            #
  3. #                                        Autor : Bezier                                              #
  4. #                                         Idea : Felidaex                                            #
  5. #                                                                                                    #
  6. # Este script amplia la clase Window_CommandPokemon, que muestra un panel con una lista de comandos, #
  7. # y permite pintar cada comando con colores personalizados.                                          #
  8. #                                                                                                    #
  9. # El formato de un comando coloreado puede ser el siguiente:                                         #
  10. # commands=[]                                                                                        #
  11. # commands[0]="Texto" # Un comando con solo texto, como siempre                                      #
  12. # commands[1]=["Texto"] # Array de 1 elemento. Lo pinta con COMMAND_BASECOLOR y COMMAND_SHADOWCOLOR  #
  13. # commands[2]=["Texto", Color1] # Pinta el texto con el Color1 de base y sombra COMMAND_SHADOWCOLOR  #
  14. # commands[3]=["Texto", Color1, Color2] # Pinta el texto con Color1 de base y Color2 de sombra       #
  15. ######################################################################################################
  16.  
  17. COMMAND_BASECOLOR = Color.new(0,80,160)
  18. COMMAND_SHADOWCOLOR = Color.new(128,192,240)
  19.  
  20. class Window_CommandPokemon
  21.   alias wcpinitialize initialize
  22.   def initialize(commands,width=nil)
  23.     @colorKey = []
  24.     for i in 0...commands.length
  25.       if commands[i].is_a?(Array)
  26.         if commands[i].length >= 2 && commands[i][1].is_a?(Color)
  27.           @colorKey[i] = [commands[i][1]]
  28.           if commands[i].length == 3
  29.             @colorKey[i] << commands[i][2]
  30.           else
  31.             @colorKey[i] << COMMAND_SHADOWCOLOR
  32.           end
  33.         else
  34.           @colorKey[i] = [COMMAND_BASECOLOR, COMMAND_SHADOWCOLOR]
  35.         end
  36.         commands[i] = commands[i][0]
  37.       end
  38.     end
  39.     wcpinitialize(commands,width)
  40.   end
  41.  
  42.   def drawItem(index,count,rect)
  43.     pbSetSystemFont(self.contents) if @starting
  44.     rect = drawCursor(index,rect)
  45.     base = self.baseColor
  46.     shadow = self.shadowColor
  47.     if @colorKey[index]
  48.       base = @colorKey[index][0]
  49.       shadow = @colorKey[index][1] if @colorKey[index].length == 2
  50.     end
  51.     pbDrawShadowText(self.contents,rect.x,rect.y,rect.width,rect.height,@commands[index],base,shadow)
  52.   end
  53. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement