Le principe est très simple, le petit bout de script permet de modifier le comportement de la classe Window_Base pour permettre d'avoir un windowskin différent par fenêtre, c'est à dire de pouvoir forcer un windowskin différent autre que celui définit dans l'onglet système de la base de données.

Ajoutez ce script au dessus de main

(Ruby)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

# Surcharge de la classe Window_Base
class Window_Base

  
# Surcharge méthode update
  
def update
    
super
    
# Créer la variable @force_wsk si elle n'existe pas
    
@force_wsk false if @force_wsk.nil?


    # Si la variable @force_wsk est fausse
    
if !@force_wsk
      
# Si le windowskin systeme est diférent du windowskin de la fenêtre
      
if $game_system.windowskin_name != @windowskin_name
        
# Alors remettre le windowskin systeme
        
@windowskin_name $game_system.windowskin_name

        self.windowskin RPG::Cache.windowskin(@windowskin_name)
      
end
    end
  end

  
# Méthode de forçage de windowskin, prend en paramètre une chaine
  # contenant le nom du windowskin a appliquer à la fenêtre
  
def force_windowskin(pWindowskin)
    
self.windowskin RPG::Cache.windowskin(pWindowskin)
    
@force_wsk true
  
end
end



puis il suffit d'utiliser la méthode force_windowskin(pWindowskin), soit dans la méthode initialize d'une classe Window_ après l'appel du constructeur de la classe parente (super), soit de l'appeler via l'instance d'une fenêtre.