Je vous presente ici un petit script tres simple pour avoir un inventaire different pour chaque catégories d'objets !!
Objet, arme, armure, quetes, ... Chacun son inventaire !!
Tout d'abord, allez dans le script " Scene_Menu ", ligne 128, que vous allez remplacer par ceci :
$scene = Scene_Objet.new
Ensuite, crée un nouveau script juste au dessus de " Main " et collez y ceci :
class Scene_Objet def initialize(menu_index = 0) @menu_index = menu_index end def main $catg = 0 s1 = "Objets" s2 = "Armes" s3 = "Armures" s4 = "Quetes" s5 = "Special" s6 = "Retour" @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6]) @command_window.index = @menu_index @playtime_window = Window_PlayTime.new @playtime_window.x = 0 @playtime_window.y = 224 @steps_window = Window_Steps.new @steps_window.x = 0 @steps_window.y = 320 @gold_window = Window_Gold.new @gold_window.x = 0 @gold_window.y = 416 @status_window = Window_MenuStatus.new @status_window.x = 160 @status_window.y = 0 Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @command_window.dispose @playtime_window.dispose @steps_window.dispose @gold_window.dispose @status_window.dispose end def update @command_window.update @playtime_window.update @steps_window.update @gold_window.update @status_window.update if @command_window.active update_command return end end def update_command if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Menu.new(0) return end if Input.trigger?(Input::C) case @command_window.index when 0 $game_system.se_play($data_system.decision_se) $catg = 1 $scene = Scene_Item.new when 1 $game_system.se_play($data_system.decision_se) $catg = 2 $scene = Scene_Item.new when 2 $game_system.se_play($data_system.decision_se) $catg = 3 $scene = Scene_Item.new when 3 $game_system.se_play($data_system.decision_se) $catg = 4 $scene = Scene_Item.new when 4 $game_system.se_play($data_system.decision_se) $catg = 5 $scene = Scene_Item.new when 5 $game_system.se_play($data_system.decision_se) $scene = Scene_Menu.new(0) end return end end end
Il s'agit d'un simple calque de " Scene_Menu " qui vous permettra de choisir quels inventaire ouvrir !!
Une fois ceci fait, allez dans le script " Window_Item " et remplacez les lignes 39 à 56 par ceci :
for i in 1...$data_items.size # Modifie les valeurs 17 et 18 selon les attributs que vous avais choisit if $game_party.item_number(i) > 0 and $catg == 1 and ($data_items[i].element_set[0] != 17) and ($data_items[i].element_set[0] != 18) @data.push($data_items[i]) end if $game_party.item_number(i) > 0 and $catg == 4 and ($data_items[i].element_set[0] == 17) # N'autorise que l'attribut 17 soit "Quetes" @data.push($data_items[i]) end if $game_party.item_number(i) > 0 and $catg == 5 and ($data_items[i].element_set[0] == 18) # N'autorise que l'attribut 18 soit "Special" @data.push($data_items[i]) end if $game_party.item_number(i) > 0 and $game_temp.in_battle # Autorise tout les objets en combats @data.push($data_items[i]) end end unless $game_temp.in_battle for i in 1...$data_weapons.size if $game_party.weapon_number(i) > 0 and $catg == 2 # N'autorise que les armes @data.push($data_weapons[i]) end end for i in 1...$data_armors.size if $game_party.armor_number(i) > 0 and $catg == 3 # N'autorise que les armures @data.push($data_armors[i]) end end end
Voila, le plus gros du travail est fait !!
Reste quelques details !!
Allons maintenant dans l'onglet " Systeme " de la base de donnée !!
Creez deux nouveaux attributs " Quetes " et " Special " ( 17 et 18 pour le script !! )
Tant qu'on y est, modifier le nom du menu pour " Inventaire ", par exemple !!
Derniere petite modification :
Remplacer la ligne 71 du script " Scene_Item " par ceci :
$scene = Scene_Objet.new
Les attributs que vous avez crée ( " Quetes " et "Special" ) servent à differencier les objets !!
Pour qu'un objet apparaissent dans l'inventaire " Quetes ", donnez lui l'attribut " Quetes " !!
Même principe pour les objets speciaux !!
Voila, je crois que tout y est !!
Tout ceci est bien sur configurable selon vos souhaits !!
Si vous avez des difficultés à le faire vous même, faite moi signe !!
ASHKA

Connexion
Inscription
Aide
Ajouter une réponse



Multi-citation