#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
#
&
#9632;
Systeme de gestion de quÃ
ªte
#------------------------------------------------------------------------------#
Â
Ce scr&
#105;pt a pour but de rajouter un systeme de gestion de malle sur votre
#
projet.
Diverses commandes scr&
#105;pt permettent d'intÃ
©ragir avec ce systeme
:
#
#
#
Â
Version
Â
Date
Â
Â
Â
Â
Â
Auteur
Â
Â
Â
Â
Commentaires
#
Â
1.00
Â
Â
Â
20/05/2010
Â
Â
Tonyryu
Â
Â
Â
Finalisation version 1
#
#
Attention
:
Ce scr&
#105;pt est ma propriÃ
©tÃ
©
en tant que crÃ
©ation et il est donc
#
soumis au droit de la propriÃ
©tÃ
©
intellectuelle
(
http://www.irpi.ccip.fr/ )
.
#
En aucun cas,
il ne doit
Ã
ªtre copiÃ
©
ou publiÃ
©
vers un autre forum sans en
#
avoir reÃ
§u mon accord au prÃ
©alable.
#
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
#
&
#9632;
Constantes globales
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
Malle_stack
=
99
Malle_contenance
=
3000
Malle_mot_malle
=
"Coffre"
Malle_mot_stocker
=
"DÃ
©posÃ
©
"
Malle_aide_stocker
=
"Mettre un objet d'inventaire dans le coffre"
Malle_mot_retirer
=
"Retirer"
Malle_aide_retirer
=
"RÃ
©cupÃ
©rer un objet du coffre"
Malle_mot_regarder
=
"Voir"
Malle_aide_regarder
=
"Consulter le contenu du coffre et de l'inventaire"
Malle_mot_fermer
=
"Fermer"
Malle_aide_fermer
=
"Fermer le coffre"
Malle_mot_tout
=
"Tout"
Malle_aide_tout
=
"Lister tout le contenu du coffre et de l'inventaire"
Malle_mot_objet
=
"Objets"
Malle_aide_objet
=
"Lister seulement les objets"
Malle_mot_arme
=
"Armes"
Malle_aide_arme
=
"Lister seulement les armes"
Malle_mot_armure
=
"Armures"
Malle_aide_armure
=
"Lister seulement les armures"
Malle_mot_cont_malle
=
"Contenu malle"
Malle_mot_cont_inventaire
=
"Contenu Inventaire"
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
#
&
#9632;
Game_Party
#------------------------------------------------------------------------------#
&
#12288;Ajout de mÃ
©thode de gestion de malle,
permettant l'intÃ
©gration
Ã
la sauvegarde
#
Â
Version
Â
Date
Â
Â
Â
Â
Â
Auteur
Â
Â
Â
Â
Commentaires
#
Â
1.00
Â
Â
Â
20/05/2010
Â
Â
Tonyryu
Â
Â
Â
CrÃ
©ation
#
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
class Game_Party
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
initialize
(surcharge)
Â
#-------------------------------------------------------------------------- Â
alias malle_initialize initialize
Â
def initialize
Â
Â
malle_initialize
Â
Â
@malle_items
=
{
}
Â
Â
@malle_weapons
=
{
}
Â
Â
@malle_armors
=
{
}
Â
end
Â
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
malle_item_number
Â
#
Â
Â
item_id
:
id de l'item de la malle
Â
#--------------------------------------------------------------------------Â
def malle_item_number(item_id)
Â
Â
return
@malle_items.include?
(item_id)
?
@malle_items[item_id]
:
0
Â
end
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
malle_weapon_number
Â
#
Â
Â
weapon_id
:
id de l'arme de la malle
Â
#--------------------------------------------------------------------------Â
def malle_weapon_number(weapon_id)
Â
Â
return
@malle_weapons.include?
(weapon_id)
?
@malle_weapons[weapon_id]
:
0
Â
end
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
malle_armor_number
Â
#
Â
Â
armor_id
:
id de l'armure de la malle
Â
#--------------------------------------------------------------------------Â
def malle_armor_number(armor_id)
Â
Â
return
@malle_armors.include?
(armor_id)
?
@malle_armors[armor_id]
:
0
Â
end
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
inventaire_vers_malle
Â
#
Â
Â
pItem
:
Item
Ã
dÃ
©placer
Â
#
Â
Â
pNombre
:
Nombre d'exemplaire de l'item
Ã
dÃ
©placer
Â
#--------------------------------------------------------------------------Â def inventaire_vers_malle(pItem, pNombre)
  # selon le type d'objet
  case pItem
  when RPG::Item
   nb_malle = $game_party.malle_item_number(pItem.id)
   nb_inventaire = $game_party.item_number(pItem.id)
  when RPG::Weapon
   nb_malle = $game_party.malle_weapon_number(pItem.id)
   nb_inventaire = $game_party.weapon_number(pItem.id)
  when RPG::Armor
   nb_malle = $game_party.malle_armor_number(pItem.id)
   nb_inventaire = $game_party.armor_number(pItem.id)
  end
 Â
  # Si l'on dépasse la capacité de stack pour un objet, réduire le nombre d'objet à déplacer
  if nb_malle + pNombre > Malle_stack then
   pNombre -= ((nb_malle + pNombre ) - Malle_stack)
  end
 Â
  # Si l'on dépasse le nombre d'objet disponible, réduire le nombre d'objet à déplacer
  if pNombre >
nb_inventaire then
Â
Â
Â
pNombre
=
nb_inventaire
Â
Â
end
Â
Â
Â
Â
#
Si le nombre d'objet est incohÃ
©rent
Â
Â
if pNombre <= 0 then
   return
  end
 Â
  # selon le type d'objet
  case pItem
  when RPG::Item
   @malle_items[pItem.id] = malle_item_number(pItem.id) + pNombre
   @items[pItem.id] = item_number(pItem.id) - pNombre
  when RPG::Weapon
   @malle_weapons[pItem.id] = malle_weapon_number(pItem.id) + pNombre
   @weapons[pItem.id] = weapon_number(pItem.id) - pNombre
  when RPG::Armor
   @malle_armors[pItem.id] = malle_armor_number(pItem.id) + pNombre
   @armors[pItem.id] = armor_number(pItem.id) - pNombre
  end
 Â
 end
Â
 #--------------------------------------------------------------------------
 # ● malle_vers_inventaire
 #   pItem : Item à déplacer
 #   pNombre : Nombre d'exemplaire de l'item à déplacer
 #--------------------------------------------------------------------------
 def malle_vers_inventaire(pItem, pNombre)
  # selon le type d'objet
  case pItem
  when RPG::Item
   nb_malle = $game_party.malle_item_number(pItem.id)
   nb_inventaire = $game_party.item_number(pItem.id)
  when RPG::Weapon
   nb_malle = $game_party.malle_weapon_number(pItem.id)
   nb_inventaire = $game_party.weapon_number(pItem.id)
  when RPG::Armor
   nb_malle = $game_party.malle_armor_number(pItem.id)
   nb_inventaire = $game_party.armor_number(pItem.id)
  end
 Â
  # Si l'on dépasse la capacité de stack pour un objet, réduire le nombre d'objet à déplacer
  if nb_inventaire + pNombre > 99 then
   pNombre -= ((nb_inventaire + pNombre ) - 99)
  end
 Â
  # Si l'on dépasse le nombre d'objet disponible, réduire le nombre d'objet à déplacer
  if pNombre >
nb_malle then
Â
Â
Â
pNombre
=
nb_malle
Â
Â
end
Â
Â
Â
Â
#
Si le nombre d'objet est incohÃ
©rent
Â
Â
if pNombre <
=
0 then
Â
Â
Â
return
Â
Â
end
Â
Â
Â
Â
#
selon le type d'objet
Â
Â
case pItem
Â
Â
when RPG:
:Item
Â
Â
Â
@malle_items[pItem.id]
=
malle_item_number(pItem.id)
-
pNombre
Â
Â
Â
@items[pItem.id]
=
item_number(pItem.id)
+
pNombre
Â
Â
when RPG:
:Weapon
Â
Â
Â
@malle_weapons[pItem.id]
=
malle_weapon_number(pItem.id)
-
pNombre
Â
Â
Â
@weapons[pItem.id]
=
weapon_number(pItem.id)
+
pNombre
Â
Â
when RPG:
:Armor
Â
Â
Â
@malle_armors[pItem.id]
=
malle_armor_number(pItem.id)
-
pNombre
Â
Â
Â
@armors[pItem.id]
=
armor_number(pItem.id)
+
pNombre
Â
Â
end
Â
Â
Â
end
Â
end
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
#
&
#9632;
Window_OptionMalle
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
&
#12288;FenÃ
ªtre des option de malle
#
Â
Version
Â
Date
Â
Â
Â
Â
Â
Auteur
Â
Â
Â
Â
Commentaires
#
Â
1.00
Â
Â
Â
20/05/2010
Â
Â
Tonyryu
Â
Â
Â
CrÃ
©ation
#
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
class Window_OptionMalle <
Window_Selectable
Â
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
initialize
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def initialize
Â
Â
super(0,
64,
140,
140)
Â
Â
self.contents
=
Bitmap.new(width
-
32,
height
-
32)
Â
Â
self.contents.font.name
=
&
#36;fontface
Â
Â
self.contents.font.size
=
&
#36;fontsize
Â
Â
Â
Â
Â
Â
self.index
=
0
Â
Â
@item_max
=
4
Â
Â
@column_max
=
1
Â
Â
Â
Â
refresh
Â
end
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
refresh
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def refresh
Â
Â
self.contents.clear
Â
Â
#
Afficher le titre
Â
Â
self.contents.draw_text(0,
-2,
100,
25,
Malle_mot_malle,1)
Â
Â
Â
Â
#
Afficher le menu
Â
Â
self.contents.font.size
=
18
Â
Â
self.contents.draw_text(10,
20,
100,
25,
"
-
"
+
Malle_mot_regarder)
Â
Â
self.contents.draw_text(10,
40,
100,
25,
"
-
"
+
Malle_mot_stocker)
Â
Â
self.contents.draw_text(10,
60,
100,
25,
"
-
"
+
Malle_mot_retirer)
Â
Â
self.contents.draw_text(10,
80,
100,
25,
"
-
"
+
Malle_mot_fermer)
Â
Â
Â
end
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
update_cursor_rect
Â
#
Â
Â
-
Permet de modifier la position du rectangle de sÃ
©lection
Ã
chaque cycle
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def update_cursor_rect
Â
Â
#
Si l'index de focus est inferieur
Ã
0
Â
Â
if
@index <
0
Â
Â
Â
#
Alors effacer le rectangle de sÃ
©lection
Â
Â
Â
self.cursor_rect.empty
Â
Â
else
Â
Â
Â
#
Sinon afficher le rectangle
Ã
la position du focus
Â
Â
Â
self.cursor_rect.set(0,
22
+
(20
*
@index)
,
110,
20)
Â
Â
end
Â
end
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
update_help
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def update_help
Â
Â
@help_window.set_text(
[Malle_aide_regarder,
Malle_aide_stocker,
Malle_aide_retirer,
Malle_aide_fermer]
[
@index]
)
Â
end
Â
end
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
#
&
#9632;
Window_ListeMalle
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
&
#12288;FenÃ
ªtre des option de listing de la malle
#
Â
Version
Â
Date
Â
Â
Â
Â
Â
Auteur
Â
Â
Â
Â
Commentaires
#
Â
1.00
Â
Â
Â
20/05/2010
Â
Â
Tonyryu
Â
Â
Â
CrÃ
©ation
#
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
class Window_ListeMalle <
Window_Selectable
Â
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
initialize
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def initialize
Â
Â
super(0,
204,
140,
120)
Â
Â
self.contents
=
Bitmap.new(width
-
32,
height
-
32)
Â
Â
self.contents.font.name
=
&
#36;fontface
Â
Â
self.contents.font.size
=
&
#36;fontsize
Â
Â
Â
Â
Â
Â
self.index
=
0
Â
Â
@item_max
=
4
Â
Â
@column_max
=
1
Â
Â
self.active
=
false
Â
Â
Â
Â
refresh
Â
end
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
refresh
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def refresh
Â
Â
self.contents.clear
Â
Â
#
Afficher le menu
Â
Â
self.contents.font.size
=
18
Â
Â
self.contents.draw_text(10,
0,
100,
25,
"
-
"
+
Malle_mot_tout)
Â
Â
self.contents.draw_text(10,
20,
100,
25,
"
-
"
+
Malle_mot_objet)
Â
Â
self.contents.draw_text(10,
40,
100,
25,
"
-
"
+
Malle_mot_arme)
Â
Â
self.contents.draw_text(10,
60,
100,
25,
"
-
"
+
Malle_mot_armure)
Â
Â
Â
end
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
update_cursor_rect
Â
#
Â
Â
-
Permet de modifier la position du rectangle de sÃ
©lection
Ã
chaque cycle
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def update_cursor_rect
Â
Â
#
Si l'index de focus est inferieur
Ã
0
Â
Â
if
@index <
0
Â
Â
Â
#
Alors effacer le rectangle de sÃ
©lection
Â
Â
Â
self.cursor_rect.empty
Â
Â
else
Â
Â
Â
#
Sinon afficher le rectangle
Ã
la position du focus
Â
Â
Â
self.cursor_rect.set(0,
2
+
(20
*
@index)
,
110,
20)
Â
Â
end
Â
end
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
update_help
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def update_help
Â
Â
@help_window.set_text(
[Malle_aide_tout,
Malle_aide_objet,
Malle_aide_arme,
Malle_aide_armure]
[
@index]
)
Â
end
Â
end
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
#
&
#9632;
Window_MotMalle
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
&
#12288;FenÃ
ªtre affichant le mot malle
#
Â
Version
Â
Date
Â
Â
Â
Â
Â
Auteur
Â
Â
Â
Â
Commentaires
#
Â
1.00
Â
Â
Â
20/05/2010
Â
Â
Tonyryu
Â
Â
Â
CrÃ
©ation
#
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
class Window_MotMalle <
Window_Base
Â
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
initialize
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def initialize
Â
Â
super(140,
55,
250,
64)
Â
Â
self.contents
=
Bitmap.new(width
-
32,
height
-
32)
Â
Â
self.contents.font.name
=
&
#36;fontface
Â
Â
self.contents.font.size
=
&
#36;fontsize
Â
Â
self.back_opacity
=
0
Â
Â
self.opacity
=
0
Â
Â
refresh
Â
end
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
refresh
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def refresh
Â
Â
self.contents.clear
Â
Â
self.contents.draw_text(0,
0,
218,
25,
Malle_mot_cont_malle,1)
Â
end
end
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
#
&
#9632;
Window_ObjetMalle
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
&
#12288;FenÃ
ªtre des objets de la malle
#
Â
Version
Â
Date
Â
Â
Â
Â
Â
Auteur
Â
Â
Â
Â
Commentaires
#
Â
1.00
Â
Â
Â
20/05/2010
Â
Â
Tonyryu
Â
Â
Â
CrÃ
©ation
#
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
class Window_ObjetMalle < Window_Selectable
Â
 #--------------------------------------------------------------------------
 # ● initialize
 #--------------------------------------------------------------------------
 def initialize
  super(140, 64, 250, 416)
   Â
  self.index = -1
  @column_max = 1
  self.active = false
 Â
  @tab_objet = []
  refresh(0)
 end
 #--------------------------------------------------------------------------
 # ● refresh
 #--------------------------------------------------------------------------
 def refresh(pListe = -1)
 Â
  if !self.contents.nil? then
   self.contents.dispose
  end
 Â
  @tab_objet.clear
 Â
  if pListe == -1 then
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = $fontface
   self.contents.font.size = $fontsize
   return
  end
 Â
  # Lister les objets à positionner dans la liste
  if pListe == 0 or pListe == 1 then
   for i in 1...$data_items.size
    if $game_party.malle_item_number(i) > 0
     @tab_objet.push($data_items[i])
    end
   end
  end
  # Lister les armes à positionner dans la liste
  if pListe == 0 or pListe == 2 then
   for i in 1...$data_weapons.size
    if $game_party.malle_weapon_number(i) > 0
     @tab_objet.push($data_weapons[i])
    end
   end
  end
 Â
  # Lister les armures à positionner dans la liste
  if pListe == 0 or pListe == 3 then
   for i in 1...$data_armors.size
    if $game_party.malle_armor_number(i) > 0
     @tab_objet.push($data_armors[i])
    end
   end
  end
 Â
  @item_max = @tab_objet.size
  if @item_max >
0
Â
Â
Â
self.contents
=
Bitmap.new(width
-
32,
(row_max
*
25
+
32)
)
Â
Â
Â
self.contents.font.name
=
&
#36;fontface
Â
Â
Â
self.contents.font.size
=
18
Â
Â
Â
for i in 0.
.
.
@item_max
Â
Â
Â
Â
draw_item(i)
Â
Â
Â
end
Â
Â
end
Â
end
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
draw_item
Â
#
Â
Â
index
:
index de l'objet
Ã
ajouter
Â
#--------------------------------------------------------------------------Â
def draw_item(index)
Â
Â
item
=
@tab_objet[index]
Â
Â
case item
Â
Â
when RPG:
:Item
Â
Â
Â
number
=
&
#36;game_party.malle_item_number(item.id)
Â
Â
when RPG:
:Weapon
Â
Â
Â
number
=
&
#36;game_party.malle_weapon_number(item.id)
Â
Â
when RPG:
:Armor
Â
Â
Â
number
=
&
#36;game_party.malle_armor_number(item.id)
Â
Â
end
Â
Â
y
=
20
+
(index
*
25)
Â
Â
bitmap
=
RPG:
:Cache.icon(item.icon_name)
Â
Â
opacity
=
self.contents.font.color
=
=
normal_color
?
255
:
128
Â
Â
self.contents.blt(4,
y+4,
bitmap,
Rect.new(0,
0,
24,
24)
,
opacity)
Â
Â
self.contents.draw_text(4
+
50,
y,
212,
32,
item.name,
0)
Â
Â
self.contents.draw_text(4
+
21,
y,
24,
32,
number.to_s,
2)
Â
end
Â
Â
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
nb_item
Â
#--------------------------------------------------------------------------Â
def nb_item
Â
Â
item
=
@tab_objet[self.index]
Â
Â
case item
Â
Â
when RPG:
:Item
Â
Â
Â
number
=
&
#36;game_party.malle_item_number(item.id)
Â
Â
when RPG:
:Weapon
Â
Â
Â
number
=
&
#36;game_party.malle_weapon_number(item.id)
Â
Â
when RPG:
:Armor
Â
Â
Â
number
=
&
#36;game_party.malle_armor_number(item.id)
Â
Â
end
Â
Â
return number
Â
end
Â
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
item
Â
#--------------------------------------------------------------------------Â
def item
Â
Â
return
@tab_objet[self.index]
Â
end
Â
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
update_cursor_rect
Â
#
Â
Â
-
Permet de modifier la position du rectangle de sÃ
©lection
Ã
chaque cycle
Â
#--------------------------------------------------------------------------Â
def update_cursor_rect
Â
Â
#
Si l'index de focus est inferieur
Ã
0
Â
Â
if
@index <
0
Â
Â
Â
#
Alors effacer le rectangle de sÃ
©lection
Â
Â
Â
self.cursor_rect.empty
Â
Â
else
Â
Â
Â
#
Sinon afficher le rectangle
Ã
la position du focus
Â
Â
Â
self.cursor_rect.set(2,
22
+
(25
*
@index)
,
218,
25)
Â
Â
end
Â
end
Â
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
update_help
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def update_help
Â
Â
@help_window.set_text(self.item
=
=
nil
?
"
"
:
self.item.description)
Â
end
end
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
#
&
#9632;
Window_MotInventaire
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
&
#12288;FenÃ
ªtre affichant le mot inventaire
#
Â
Version
Â
Date
Â
Â
Â
Â
Â
Auteur
Â
Â
Â
Â
Commentaires
#
Â
1.00
Â
Â
Â
20/05/2010
Â
Â
Tonyryu
Â
Â
Â
CrÃ
©ation
#
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
class Window_MotInventaire <
Window_Base
Â
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
initialize
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def initialize
Â
Â
super(390,
55,
250,
64)
Â
Â
self.contents
=
Bitmap.new(width
-
32,
height
-
32)
Â
Â
self.contents.font.name
=
&
#36;fontface
Â
Â
self.contents.font.size
=
&
#36;fontsize
Â
Â
self.back_opacity
=
0
Â
Â
self.opacity
=
0
Â
Â
refresh
Â
end
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
refresh
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def refresh
Â
Â
self.contents.clear
Â
Â
self.contents.draw_text(0,
0,
218,
25,
Malle_mot_cont_inventaire,1)
Â
end
end
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
#
&
#9632;
Window_ObjetInventaire
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
&
#12288;FenÃ
ªtre des objets de l'inventaire
#
Â
Version
Â
Date
Â
Â
Â
Â
Â
Auteur
Â
Â
Â
Â
Commentaires
#
Â
1.00
Â
Â
Â
20/05/2010
Â
Â
Tonyryu
Â
Â
Â
CrÃ
©ation
#
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
class Window_ObjetInventaire < Window_Selectable
Â
 #--------------------------------------------------------------------------
 # ● initialize
 #--------------------------------------------------------------------------
 def initialize
  super(390, 64, 250, 416)
 Â
  @tab_objet = []
 Â
  self.index = -1
  @column_max = 1
  self.active = false
 Â
  refresh(0)
 end
 #--------------------------------------------------------------------------
 # ● refresh
 #--------------------------------------------------------------------------
 def refresh(pListe = -1)
 Â
  if !self.contents.nil? then
   self.contents.dispose
  end
 Â
  @tab_objet.clear
 Â
  if pListe == -1 then
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = $fontface
   self.contents.font.size = $fontsize
   return
  end
 Â
  # Lister les objets à positionner dans la liste
  if pListe == 0 or pListe == 1 then
   for i in 1...$data_items.size
    if $game_party.item_number(i) > 0
     @tab_objet.push($data_items[i])
    end
   end
  end
  # Lister les armes à positionner dans la liste
  if pListe == 0 or pListe == 2 then
   for i in 1...$data_weapons.size
    if $game_party.weapon_number(i) > 0
     @tab_objet.push($data_weapons[i])
    end
   end
  end
 Â
  # Lister les armures à positionner dans la liste
  if pListe == 0 or pListe == 3 then
   for i in 1...$data_armors.size
    if $game_party.armor_number(i) > 0
     @tab_objet.push($data_armors[i])
    end
   end
  end
 Â
  @item_max = @tab_objet.size
  if @item_max >
0
Â
Â
Â
self.contents
=
Bitmap.new(width
-
32,
(row_max
*
25
+
32)
)
Â
Â
Â
self.contents.font.name
=
&
#36;fontface
Â
Â
Â
self.contents.font.size
=
18
Â
Â
Â
for i in 0.
.
.
@item_max
Â
Â
Â
Â
draw_item(i)
Â
Â
Â
end
Â
Â
end
Â
end
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
draw_item
Â
#
Â
Â
index
:
index de l'objet
Ã
ajouter
Â
#--------------------------------------------------------------------------Â
def draw_item(index)
Â
Â
item
=
@tab_objet[index]
Â
Â
case item
Â
Â
when RPG:
:Item
Â
Â
Â
number
=
&
#36;game_party.item_number(item.id)
Â
Â
when RPG:
:Weapon
Â
Â
Â
number
=
&
#36;game_party.weapon_number(item.id)
Â
Â
when RPG:
:Armor
Â
Â
Â
number
=
&
#36;game_party.armor_number(item.id)
Â
Â
end
Â
Â
y
=
20
+
(index
*
25)
Â
Â
bitmap
=
RPG:
:Cache.icon(item.icon_name)
Â
Â
opacity
=
self.contents.font.color
=
=
normal_color
?
255
:
128
Â
Â
self.contents.blt(4,
y+4,
bitmap,
Rect.new(0,
0,
24,
24)
,
opacity)
Â
Â
self.contents.draw_text(4
+
52,
y,
212,
32,
item.name,
0)
Â
Â
self.contents.draw_text(4
+
24,
y,
24,
32,
number.to_s,
2)
Â
end
Â
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
item
Â
#--------------------------------------------------------------------------Â
def item
Â
Â
return
@tab_objet[self.index]
Â
end
Â
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
nb_item
Â
#--------------------------------------------------------------------------Â
def nb_item
Â
Â
item
=
@tab_objet[self.index]
Â
Â
case item
Â
Â
when RPG:
:Item
Â
Â
Â
number
=
&
#36;game_party.item_number(item.id)
Â
Â
when RPG:
:Weapon
Â
Â
Â
number
=
&
#36;game_party.weapon_number(item.id)
Â
Â
when RPG:
:Armor
Â
Â
Â
number
=
&
#36;game_party.armor_number(item.id)
Â
Â
end
Â
Â
return number
Â
end
Â
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
update_cursor_rect
Â
#
Â
Â
-
Permet de modifier la position du rectangle de sÃ
©lection
Ã
chaque cycle
Â
#--------------------------------------------------------------------------Â
def update_cursor_rect
Â
Â
#
Si l'index de focus est inferieur
Ã
0
Â
Â
if
@index <
0
Â
Â
Â
#
Alors effacer le rectangle de sÃ
©lection
Â
Â
Â
self.cursor_rect.empty
Â
Â
else
Â
Â
Â
#
Sinon afficher le rectangle
Ã
la position du focus
Â
Â
Â
self.cursor_rect.set(2,
22
+
(25
*
@index)
,
218,
25)
Â
Â
end
Â
end
Â
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
#
&
#9679;
update_help
Â
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Â
def update_help
Â
Â
@help_window.set_text(self.item
=
=
nil
?
"
"
:
self.item.description)
Â
end
end
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
#
&
#9632;
Window_Quantite
#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#
&
#12288;FenÃ
ªtre affichant la quantitÃ
©
Ã
dÃ
©placer
#
Â
Version
Â
Date
Â
Â
Â
Â
Â
Auteur
Â
Â
Â
Â
Commentaires
#
Â
1.00
Â
Â
Â
20/05/2010
Â
Â
Tonyryu
Â
Â
Â
CrÃ
©ation
#
#
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
class Window_Quantite < Window_Base
Â
 #--------------------------------------------------------------------------
 # ● initialize
 #--------------------------------------------------------------------------
 def initialize
  super(358, 240, 64, 64)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.contents.font.name = $fontface
  self.contents.font.size = $fontsize
  self.z = 102
  self.back_opacity = 255
  self.visible = false
  refresh
 end
 #--------------------------------------------------------------------------
 # ● refresh
 #--------------------------------------------------------------------------
 def refresh(pNb = 1)
  self.contents.clear
  self.contents.draw_text(0, 0, 64, 25,  pNb.to_s)
 end
end
#==============================================================================
# ■ Scene_Malle
#------------------------------------------------------------------------------
# Gérer les quetes
#  Version  Date      Auteur     Commentaires
#  1.00    20/05/2010   Tonyryu    Création
#
#==============================================================================
class Scene_Malle
Â
 #--------------------------------------------------------------------------
 # ● main
 #--------------------------------------------------------------------------
 def main
  # Création des fenêtres
  @help_window = Window_Help.new
  @optionMalle_window = Window_OptionMalle.new
  @optionMalle_window.help_window = @help_window
  @liste_window = Window_ListeMalle.new
  @liste_window.help_window = @help_window
  @save_index_liste = 0
 Â
  @objetMalle_window = Window_ObjetMalle.new
  @objetMalle_window.help_window = @help_window
  @motMalle_window = Window_MotMalle.new
 Â
  @objetInventaire_window = Window_ObjetInventaire.new
  @objetInventaire_window.help_window = @help_window
  @motInventaire_window = Window_MotInventaire.new
 Â
  @quantite_window = Window_Quantite.new
 Â
  @max_item = 0
  @nb_item = 1
 Â
  # Effectuer la transition graphique
  Graphics.transition
  # Boucle
  loop do
   # Mettre à jour les graphique
   Graphics.update
   # Mettre à jour les entrés clavier
   Input.update
   # Appeler fonction update
   update
   # si la Scene n'est plus la même
   if $scene != self
    # Alors sortir de la boucle
    break
   end
  end
  Graphics.freeze
 Â
  # Détruire objets de classe
  @help_window.dispose
  @optionMalle_window.dispose
  @liste_window.dispose
  @objetMalle_window.dispose
  @motMalle_window.dispose
  @motInventaire_window.dispose
  @objetInventaire_window.dispose
  @quantite_window.dispose
 Â
 end
Â
 #--------------------------------------------------------------------------
 # ● update
 #--------------------------------------------------------------------------
 def update
  # Mettre à jour les fenêtres
  @help_window.update
  @optionMalle_window.update
  @liste_window.update
  @objetMalle_window.update
  @objetInventaire_window.update
  @quantite_window.update
 Â
  if @optionMalle_window.active
   gerer_menu
  elsif @liste_window.active
   gerer_liste
  elsif @objetInventaire_window.active
   gerer_inventaire
  elsif @objetMalle_window.active
   gerer_malle
  elsif @quantite_window.active
   gerer_quantite
  end
 Â
 end
Â
 #--------------------------------------------------------------------------
 # ● gerer_menu
 #--------------------------------------------------------------------------
 def gerer_menu
  # si la touche B est appuyée
  if Input.trigger?(Input::B)
   # Alors, jouer le son "cancel"
   $game_system.se_play($data_system.cancel_se)
   # Revenir sur l'écran de compte
   $scene = Scene_Map.new
   return
  end
  # si la touche C est appuyée
  if Input.trigger?(Input::C)
   # Alors, jouer le son "decision"
   $game_system.se_play($data_system.decision_se)
  Â
   if @optionMalle_window.index == 3 then
    $scene = Scene_Map.new
    return
   end
  Â
   # Parcourir le menu de listing
   @optionMalle_window.active = false
   @liste_window.active = true
  Â
  end
 Â
 end
Â
 #--------------------------------------------------------------------------
 # ● gerer_liste
 #--------------------------------------------------------------------------
 def gerer_liste
  # si la touche B est appuyée
  if Input.trigger?(Input::B)
   # Alors, jouer le son "cancel"
   $game_system.se_play($data_system.cancel_se)
   # Revenir sur le sommaire
   @liste_window.active = false
   @optionMalle_window.active = true
  Â
   return
  end
  # si la touche C est appuyée
  if Input.trigger?(Input::C)
   # Alors, jouer le son "decision"
   $game_system.se_play($data_system.decision_se)
  Â
   case @optionMalle_window.index
   when 0
    @objetMalle_window.active = true
    @objetMalle_window.index = 0
    @objetInventaire_window.active = false
    @objetInventaire_window.index = 0
   when 1
    @objetInventaire_window.active = true
    @objetInventaire_window.index = 0
   when 2
    @objetMalle_window.active = true
    @objetMalle_window.index = 0
   end
  Â
   @liste_window.active = false
  Â
  end
 Â
  if @save_index_liste != @liste_window.index then
   @objetMalle_window.refresh(@liste_window.index)
   @objetInventaire_window.refresh(@liste_window.index)
   @save_index_liste = @liste_window.index
  end
 Â
 end
Â
 #--------------------------------------------------------------------------
 # ● gerer_malle
 #--------------------------------------------------------------------------
 def gerer_malle
  # si la touche B est appuyée
  if Input.trigger?(Input::B)
   # Alors, jouer le son "cancel"
   $game_system.se_play($data_system.cancel_se)
   # Revenir sur les options de liste
   @objetMalle_window.active = false
   @objetMalle_window.index = -1
   @objetInventaire_window.active = false
   @objetInventaire_window.index = -1
  Â
   @liste_window.active = true
  Â
   return
  end
  if @optionMalle_window.index == 0 and Input.repeat?(Input::RIGHT) then
   @objetMalle_window.active = false
   @objetInventaire_window.active = true
  end
 Â
  if @optionMalle_window.index == 2 and Input.trigger?(Input::C) and @objetMalle_window.row_max >
0 then
Â
Â
Â
@objetMalle_window.active
=
false
Â
Â
Â
@quantite_window.active
=
true
Â
Â
Â
@quantite_window.visible
=
true
Â
Â
Â
@max_item
=
@objetMalle_window.nb_item
Â
Â
Â
@nb_item
=
1
Â
Â
end
Â
Â
Â
end
Â
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
gerer_inventaire
Â
#--------------------------------------------------------------------------Â def gerer_inventaire
  # si la touche B est appuyée
  if Input.trigger?(Input::B)
   # Alors, jouer le son "cancel"
   $game_system.se_play($data_system.cancel_se)
   # Revenir sur les options de liste
   @objetMalle_window.active = false
   @objetMalle_window.index = -1
   @objetInventaire_window.active = false
   @objetInventaire_window.index = -1
  Â
   @liste_window.active = true
  Â
   return
  end
  if @optionMalle_window.index == 0 and Input.repeat?(Input::LEFT) then
   @objetMalle_window.active = true
   @objetInventaire_window.active = false
  end
 Â
  if @optionMalle_window.index == 1 and Input.trigger?(Input::C) and @objetInventaire_window.row_max >
0 then
Â
Â
Â
@objetInventaire_window.active
=
false
Â
Â
Â
@quantite_window.active
=
true
Â
Â
Â
@quantite_window.visible
=
true
Â
Â
Â
@max_item
=
@objetInventaire_window.nb_item
Â
Â
Â
@nb_item
=
1
Â
Â
end
Â
end
Â
Â
#--------------------------------------------------------------------------Â
#
&
#9679;
gerer_quantite
Â
#--------------------------------------------------------------------------Â
def gerer_quantite
Â
Â
#
si la touche B est appuyÃ
©e
Â
Â
if Input.trigger?
(Input:
:B)
Â
Â
Â
#
Alors,
jouer le son
"cancel"
Â
Â
Â
&
#36;game_system.se_play(
&
#36;data_system.cancel_se)
Â
Â
Â
Â
Â
Â
#
Revenir sur les options de liste
Â
Â
Â
@quantite_window.visible
=
false
Â
Â
Â
@quantite_window.refresh(1)
Â
Â
Â
Â
Â
Â
if
@optionMalle_window.index
=
=
1 then
Â
Â
Â
Â
@objetInventaire_window.active
=
true
Â
Â
Â
Â
Â
Â
Â
elsif
@optionMalle_window.index
=
=
2 then
Â
Â
Â
Â
@objetMalle_window.active
=
true
Â
Â
Â
end
Â
Â
Â
Â
Â
Â
return
Â
Â
end
Â
Â
Â
Â
if Input.repeat?
(Input:
:UP)
and
@nb_item <
@max_item then
Â
Â
Â
@nb_item
+
=
1
Â
Â
Â
@quantite_window.refresh(
@nb_item)
Â
Â
end
Â
Â
Â
Â
if Input.repeat?
(Input:
:DOWN)
and
@nb_item
!
=
1 then
Â
Â
Â
@nb_item
-
=
1
Â
Â
Â
@quantite_window.refresh(
@nb_item)
Â
Â
end
Â
Â
Â
Â
#
si la touche B est appuyÃ
©e
Â
Â
if Input.trigger?
(Input:
:C)
then
Â
Â
Â
if
@optionMalle_window.index
=
=
1 then
Â
Â
Â
Â
&
#36;game_party.inventaire_vers_malle(
@objetInventaire_window.item,
@nb_item)
Â
Â
Â
end
Â
Â
Â
if
@optionMalle_window.index
=
=
2 then
Â
Â
Â
Â
&
#36;game_party.malle_vers_inventaire(
@objetMalle_window.item,
@nb_item)
Â
Â
Â
end
Â
Â
Â
Â
Â
Â
@objetInventaire_window.refresh(
@liste_window.index)
Â
Â
Â
@objetMalle_window.refresh(
@liste_window.index)
Â
Â
Â
Â
Â
Â
#
Revenir sur les options de liste
Â
Â
Â
@quantite_window.visible
=
false
Â
Â
Â
@quantite_window.refresh(1)
Â
Â
Â
Â
Â
Â
if
@optionMalle_window.index
=
=
1 then
Â
Â
Â
Â
@objetInventaire_window.active
=
true
Â
Â
Â
Â
Â
Â
Â
elsif
@optionMalle_window.index
=
=
2 then
Â
Â
Â
Â
@objetMalle_window.active
=
true
Â
Â
Â
end
Â
Â
Â
Â
Â
Â
return
Â
Â
end
Â
end
Â
Â
end