Partagez
Aller en bas
scottsummers
Membre

Nombre de messages : 197
Date d'inscription : 14/06/2015

Résolu Re: limiteur d'inventaire

le Ven 3 Juin 2016 - 19:01
pas de souci, il n'y a pas le feu au lac lol
pour l'instant je m'arrache les cheveux avec le job de summoner
encore merci à toi
avatar
tonyryu
Membre

Nombre de messages : 895
Age : 38
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: limiteur d'inventaire

le Jeu 9 Juin 2016 - 18:16
Me reste que les 2 morceaux de code pour le dépot et la récupération dans le coffre de stockage

Tu peux me tester cela :

Code:
//=============================================================================
// Tonyryu_LimitBagBank.js
//=============================================================================

/*:
 * @plugindesc Plugin permettant de gérer une limite de l'inventaire
 * @version 0.0.9
 * @author Tonyryu (http://www.tonyryudev.com)
 *
 * @param GroupAllItemType
 * @desc Regrouper tous les types d'objet dans le menu objet (1 : actif)
 * @default 0
 *
 * @param AddDeleteMenu
 * @desc Ajouter un menu pour proposer le choix de jeter un objet (1 : actif)
 * @default 1
 *
 * @param NameUseOption
 * @desc Nom de l'option d'utilisation
 * @default Utiliser
 *
 * @param NameDeleteOption
 * @desc Nom de l'option de suppression
 * @default Jeter
 *
 * @param NbrOfDiffItem
 * @desc Nombre de type d'objet différent au départ
 * @default 20
 *
 * @param ItemStackDefault
 * @desc Quantité par défaut d'un stack pour les objets
 * @default 99
 *
 * @param ArmorStackDefault
 * @desc Quantité par défaut d'un stack pour les armures
 * @default 1
 *
 * @param WeaponStackDefault
 * @desc Quantité par défaut d'un stack pour les armes
 * @default 1
 *
 * @param BankNbrOfDiffItem
 * @desc Nombre de type d'objet différent dans la banque au départ
 * @default 100
 *
 * @param NameBag
 * @desc Nom de l'utilitaire de stockage du groupe
 * @default Sac
 *
 * @param NameBank
 * @desc Nom de l'utilitaire de stockage de masse
 * @default Banque
 *
 * @param NameGetOption
 * @desc Nom de l'option indiquant la récupération d'un objet en banque
 * @default Retirer
 *
 * @param NamePutOption
 * @desc Nom de l'option indiquant le dépot d'un objet en banque
 * @default Déposer
 *
 *
 * @help
 *
 */

/*
 * Suivi de version
 *
 *
 */
var Imported = Imported || {};
Imported.Tonyryu_LimitBagBank = true;

var Tonyryu = Tonyryu || {};
Tonyryu.LBB = Tonyryu.LBB || {};

(function() {

  var parameters = PluginManager.parameters('Tonyryu_LimitBagBank');
  var paramGroupAllItemType = Number(parameters['GroupAllItemType'] || 0);
  var paramAddMenuDelete = Number(parameters['AddDeleteMenu'] || 1);
  var paramNameDeleteOption = String(parameters['NameDeleteOption'] || 'Jeter');
  var paramNameUseOption = String(parameters['NameUseOption'] || 'Utiliser');
  var paramNbrOfDiffItem = Number(parameters['NbrOfDiffItem'] || 20);
  var paramItemStackDefault = Number(parameters['ItemStackDefault'] || 99);
  var paramArmorStackDefault = Number(parameters['ArmorStackDefault'] || 1);
  var paramWeaponStackDefault = Number(parameters['WeaponStackDefault'] || 1);
  var paramBankNbrOfDiffItem = Number(parameters['BankNbrOfDiffItem'] || 100);
  var paramNameBank = String(parameters['NameBank'] || 'Banque');
  var paramNameBag = String(parameters['NameBag'] || 'Sac');
  var paramNameGetOption = String(parameters['NameGetOption'] || 'Retirer');
  var paramNamePutOption = String(parameters['NamePutOption'] || 'Déposer');
  
  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Game_Actor
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : unequipPossible (ajout)
  * Fonction : vérifie la possibilité de déséquiper un slot
  * Params : slotId : index du slot
  **********************************************************************/
  Game_Actor.prototype.unequipPossible = function(slotId) {
    var itemEquip = this.equips()[slotId];
    if($gameParty.bagFull() && itemEquip){
      var stackDif = $gameParty.numItemStack(itemEquip) - $gameParty.numItemStack(itemEquip, 1);
      if(stackDif < 0)
        return false;
    }
    return true;
  };

  /**********************************************************************
  * Méthode : changeEquipPossible (ajout)
  * Fonction : vérifie la possibilité de changer d'équipement
  * Params : slotId : index du slot
  *          item   : objet a équipper
  **********************************************************************/
  Game_Actor.prototype.changeEquipPossible = function(slotId, item) {
    var itemEquip = this.equips()[slotId];
    var stackDif = 0;
    if(itemEquip)
      stackDif += $gameParty.numItemStack(itemEquip, 1) - $gameParty.numItemStack(itemEquip);
    if(item)
      stackDif += $gameParty.numItemStack(item, -1) - $gameParty.numItemStack(item);
    return ($gameParty.numAllStack() + stackDif <= $gameParty._bagLimit);
  };
  
  /**********************************************************************
  * Méthode : changeEquip (surcharge)
  * Fonction : vérifie la possibilité de changer un slot
  * Params : slotId : index du slot
  *          item   : objet a équipper
  **********************************************************************/
  var _Game_Actor_changeEquip = Game_Actor.prototype.changeEquip;
  Game_Actor.prototype.changeEquip = function(slotId, item) {
    if(this.changeEquipPossible(slotId, item))
      _Game_Actor_changeEquip.call(this, slotId, item);
  };


  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Game_Party
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : numAllStack (ajout)
  * Fonction : retourne le nombre de stack dans l'inventaire
  * Params : --
  **********************************************************************/
  Game_Party.prototype.numAllStack = function() {
    // pour chaque objet possédés
    var n = 0;
    $gameParty.allItems().forEach(function(item) {
      n += $gameParty.numItemStack(item);
    });
    return n;
  };
  
  /**********************************************************************
  * Méthode : bagFull (ajout)
  * Fonction : permet se savoir si le sac est plein
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bagFull = function() {
    return (this.numAllStack() >= this._bagLimit );
  };
  
  /**********************************************************************
  * Méthode : stackLimit (ajout)
  * Fonction : retourne la limite d'un stack pour un objet
  * Params : --
  **********************************************************************/
  Game_Party.prototype.stackLimit = function(item) {
    var limit = 0 ;
    var typeItem = '';
    if (!item) {
      return 1;
    }
    
    limit = item.meta.StackLimit || 0;
    
    if (DataManager.isItem(item)) {
      typeItem = 'i';
      limit = this._modStackLimit._items[item.id] || limit;
    } else if (DataManager.isWeapon(item)) {
      typeItem = 'w';
      limit = this._modStackLimit._weapons[item.id] || limit;
    } else if (DataManager.isArmor(item)) {
      typeItem = 'a';
      limit = this._modStackLimit._armors[item.id] || limit;
    } else {
      return 1;
    }

    if(limit > 0)
      return limit;
    
    limit = item.meta.StackLimit || 0;

    if(limit > 0)
      return limit;
    if(typeItem === 'i')
      return paramItemStackDefault;
    if(typeItem === 'w')
      return paramWeaponStackDefault;
    if(typeItem === 'a')
      return paramArmorStackDefault;
    return 1;
  };
 
  /**********************************************************************
  * Méthode : numItemStack (ajout)
  * Fonction : retourne le nombre de stack pris par un objet
  * Params : item : objet dont il faut numérer les stack
  *          offset : décalage du nombre d'objet
  **********************************************************************/
  Game_Party.prototype.numItemStack = function(item, offset) {
    if((this.numItems(item) + (offset || 0)) === 0)
      return 0;
    return Math.floor((this.numItems(item)-1 + (offset || 0))/ this.stackLimit(item)) + 1;
  };
 
  /**********************************************************************
  * Méthode : initAllItems (surcharge)
  * Fonction : Ajoute la liste des recettes
  * Params : --
  **********************************************************************/
  var _Game_Party_initAllItems = Game_Party.prototype.initAllItems;
  Game_Party.prototype.initAllItems = function() {
    _Game_Party_initAllItems.call(this);
    this._bank = {};
    this._bagLimit = paramNbrOfDiffItem;
    this._modStackLimit = {};
    this._modStackLimit._items = {};
    this._modStackLimit._weapons = {};
    this._modStackLimit._armors = {};
    
    this._bankSelect = 'one';
    this._listBank = {};
    this.setBank();
  };
  
  /**********************************************************************
  * Méthode : maxItems (remplacement)
  * Fonction : modifie la limite du nombre d'objet à 999999
  * Params : item : objet dont il faut connaitre la limite
  **********************************************************************/
  Game_Party.prototype.maxItems = function(item) {
    return 999999;
  };
  
  /**********************************************************************
  * Méthode : gainItem (surcharge)
  * Fonction : Ajoute ou retire une recette de la liste des recettes
  * Params : item : objet a ajouter dans l'inventaire
  *          amount : nombre d'ojet à ajouter
  *          includeEquip : flag indiquant si c'est une pièce à équiper
  **********************************************************************/
  var _Game_Party_gainItem = Game_Party.prototype.gainItem;
  Game_Party.prototype.gainItem = function(item, amount, includeEquip) {
    if(amount < 0)
      _Game_Party_gainItem.call(this, item, amount, includeEquip);
    else{
      var stackLimit = this.stackLimit(item);
      var numItemStack = this.numItemStack(item);
      var stackPlus = this.numItemStack(item, amount) - numItemStack;
      if(this.numAllStack() + stackPlus <= this._bagLimit)
        _Game_Party_gainItem.call(this, item, amount, includeEquip);
      else{
        stackPlus = this._bagLimit - this.numAllStack();
        _Game_Party_gainItem.call(this, item, ((numItemStack + stackPlus) * stackLimit) - this.numItems(item), includeEquip);
      }
    }
  };

  /**********************************************************************
  * Méthode : setBank (ajout)
  * Fonction : permet de se positionner sur une banque
  * Params : pNomBank : code optionnel d'un espace de stockage
  **********************************************************************/
  Game_Party.prototype.setBank = function(pNomBank) {
    this._bankSelect = pNomBank || 'one';
    if(!this._listBank[this._bankSelect]){
      this._listBank[this._bankSelect] = {};
      this._listBank[this._bankSelect]._bankLimit = paramBankNbrOfDiffItem;
      this._listBank[this._bankSelect]._items = {};
      this._listBank[this._bankSelect]._weapons = {};
      this._listBank[this._bankSelect]._armors = {};
      this._listBank[this._bankSelect]._modStackLimit = {};
      this._listBank[this._bankSelect]._modStackLimit._items = {};
      this._listBank[this._bankSelect]._modStackLimit._weapons = {};
      this._listBank[this._bankSelect]._modStackLimit._armors = {};
    }
  };
  
  /**********************************************************************
  * Méthode : bankLimit (ajout)
  * Fonction : permet de retourner la limite de stack de l'espace de stockage en cours
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankLimit = function() {
    return this._listBank[this._bankSelect]._bankLimit;
  };
  
  /**********************************************************************
  * Méthode : bankItems (ajout)
  * Fonction : retourne un tableau contenant les objets du stockage
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankItems = function() {
    var list = [];
    for (var id in this._listBank[this._bankSelect]._items) {
        list.push($dataItems[id]);
    }
    return list;
  };
  
  /**********************************************************************
  * Méthode : bankWeapons (ajout)
  * Fonction : retourne les armes stockés
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankWeapons = function() {
    var list = [];
    for (var id in this._listBank[this._bankSelect]._weapons) {
        list.push($dataWeapons[id]);
    }
    return list;
  };

  /**********************************************************************
  * Méthode : bankArmors (ajout)
  * Fonction : retourne les pièces d'armure du stockage
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankArmors = function() {
    var list = [];
    for (var id in this._listBank[this._bankSelect]._armors) {
        list.push($dataArmors[id]);
    }
    return list;
  };

  /**********************************************************************
  * Méthode : bankEquipItems (ajout)
  * Fonction : retourne les armes et armures du stockage
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankEquipItems = function() {
    return this.bankWeapons().concat(this.bankArmors());
  };

  /**********************************************************************
  * Méthode : bankAllItems (ajout)
  * Fonction : retourne tous le stockage
  * Params : pNomBank : code optionnel d'un espace de stockage
  **********************************************************************/
  Game_Party.prototype.bankAllItems = function() {
    return this.bankItems().concat(this.bankEquipItems());
  };
  
  /**********************************************************************
  * Méthode : bankNumAllStack (ajout)
  * Fonction : retourne le nombre de stack dans la banque sélectionnée
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankNumAllStack = function() {
    // pour chaque objet possédés
    var n = 0;
    $gameParty.bankAllItems().forEach(function(item) {
      n += $gameParty.bankNumItemStack(item);
    });
    return n;
  };
  
  /**********************************************************************
  * Méthode : bankFull (ajout)
  * Fonction : permet se savoir si la banque sélectionnée est pleine
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankFull = function() {
    return (this.bankNumAllStack() >= this.bankLimit() );
  };
  
  /**********************************************************************
  * Méthode : bankItemContainer (ajout)
  * Fonction : retourne le conteneur de l'objet transmis
  * Params : item : objet
  **********************************************************************/
  Game_Party.prototype.bankItemContainer = function(item) {
    if (!item) {
        return null;
    } else if (DataManager.isItem(item)) {
        return this._listBank[this._bankSelect]._items;
    } else if (DataManager.isWeapon(item)) {
        return this._listBank[this._bankSelect]._weapons;
    } else if (DataManager.isArmor(item)) {
        return this._listBank[this._bankSelect]._armors;
    } else {
        return null;
    }
  };
  
  /**********************************************************************
  * Méthode : bankGainItem (ajout)
  * Fonction : permet d'ajouter un objet dans l'espace de stockage
  * Params : item : objet à ajouter
  *          amount : nombre d'objet
  **********************************************************************/
  Game_Party.prototype.bankGainItem = function(item, amount) {
    if(amount > 0){
      var stackLimit = this.stackLimit(item);
      var numItemStack = this.numItemStack(item);
      var stackPlus = this.numItemStack(item, amount) - numItemStack;
      if(this.bankNumAllStack() + stackPlus > this._listBank[this._bankSelect]._bankLimit){
        stackPlus = this._listBank[this._bankSelect]._bankLimit - this.bankNumAllStack();
        amount = ((numItemStack + stackPlus) * stackLimit) - this.bankNumItems(item);
      }
    }
    if(amount !== 0){
      var container = this.bankItemContainer(item);
      if (container) {
        var lastNumber = this.bankNumItems(item);
        var newNumber = lastNumber + amount;
        container[item.id] = newNumber.clamp(0, this.maxItems(item));
        if (container[item.id] === 0) {
          delete container[item.id];
        }
      }
    }
  };
  
  /**********************************************************************
  * Méthode : bankNumItems (ajout)
  * Fonction : permet d'ajouter un objet dans l'espace de stockage
  * Params : item : objet à ajouter
  **********************************************************************/
  Game_Party.prototype.bankNumItems = function(item) {
    var container = this.bankItemContainer(item);
    return container ? container[item.id] || 0 : 0;
  };
  
  /**********************************************************************
  * Méthode : bankNumItemStack (ajout)
  * Fonction : retourne le nombre de stack pris par un objet
  * Params : item : objet dont il faut numérer les stack
  *          offset : décalage du nombre d'objet
  **********************************************************************/
  Game_Party.prototype.bankNumItemStack = function(item, offset) {
    if((this.bankNumItems(item) + (offset || 0)) === 0)
      return 0;
    return Math.floor((this.bankNumItems(item)-1 + (offset || 0))/ this.stackLimit(item)) + 1;
  };
  
  
  
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Window_ItemAction
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemAction() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemAction.prototype = Object.create(Window_HorzCommand.prototype);
  Window_ItemAction.prototype.constructor = Window_ItemAction;

  /**********************************************************************
  * Méthode : initialize
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemAction.prototype.initialize = function() {
    Window_HorzCommand.prototype.initialize.call(this, 0, 0);
    this.visible = false;
  };

  /**********************************************************************
  * Méthode : windowWidth
  * Fonction : retourne la largeur de la fenêtre de jeu
  * Params : --
  **********************************************************************/
  Window_ItemAction.prototype.windowWidth = function() {
    return Graphics.boxWidth;
  };

  /**********************************************************************
  * Méthode : maxCols
  * Fonction : retourne le nombre max de colonne de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemAction.prototype.maxCols = function() {
    return 2;
  };

  /**********************************************************************
  * Méthode : makeCommandList
  * Fonction : cré la liste des commande du menu
  * Params : --
  **********************************************************************/
  Window_ItemAction.prototype.makeCommandList = function() {
    this.addCommand(paramNameUseOption,    'use');
    this.addCommand(paramNameDeleteOption, 'delete');
  };

  
  
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création d'une nouvelle "classe" Window_ItemCount
  *  hérite de la classe Window_Base
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemCount() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemCount.prototype = Object.create(Window_Base.prototype);
  Window_ItemCount.prototype.constructor = Window_ItemCount;

  /**********************************************************************
  * Méthode : initialize
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemCount.prototype.initialize = function(pX, pY) {
    Window_Base.prototype.initialize.call(this, pX, pY, 100, this.fittingHeight(1));
    this._max = 0;//$gameParty._limitNbrItem;
    this._number = 0;//$gameParty.numAllStack();
    this.backOpacity = 0;
    this.opacity = 0;
    this.refresh();
  };
  
  /**********************************************************************
  * Méthode : refresh
  * Fonction : permet de recréer le contenu de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemCount.prototype.refresh = function(){
    this.contents.clear();
    this.drawText(String(this._number)+'/'+String(this._max), 0, 0, this.contentsWidth());
  };
  
  /**********************************************************************
  * Méthode : setValues
  * Fonction : permet de modifier la valeur courante et la valeur Max
  * Params : --
  **********************************************************************/
  Window_ItemCount.prototype.setValues = function(pCurrent, pMax){
    if(this._max !== pMax || this._number !== pCurrent ){
      this._max = pMax;
      this._number = pCurrent;
      this.refresh();
    }
  };
 

  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Window_ItemList
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : initialize (surcharge)
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  var _Window_ItemList_initialize = Window_ItemList.prototype.initialize;
  Window_ItemList.prototype.initialize = function(x, y, width, height) {
    _Window_ItemList_initialize.call(this, x, y, width, height);
    this._dataNumItem = [];
    this._itemCountWindow = new Window_ItemCount();
    this._itemCountWindow.x = this.width - this._itemCountWindow.width + 14;
    this._itemCountWindow.y = this.height - this._itemCountWindow.height + 14;
    this.addChild(this._itemCountWindow);
  };

  /**********************************************************************
  * Méthode : spacing (ajout)
  * Fonction : définie à 12 l'espacement entre les objets
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.spacing = function() {
    return 12;
  };
  
  /**********************************************************************
  * Méthode : itemWidth (ajout)
  * Fonction : modifie la largeur de la sélection si compteur présent
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.itemWidth = function() {
    var newWidth = Window_Selectable.prototype.itemWidth.call(this);
    if(this._itemCountWindow)
      newWidth -= ((this.width - this._itemCountWindow.x) / this.maxCols());
    return newWidth;
  };

  /**********************************************************************
  * Méthode : includes (surcharge)
  * Fonction : permet de gérer la catégorie all
  * Params : --
  **********************************************************************/
  var _Window_ItemList_includes = Window_ItemList.prototype.includes;
  Window_ItemList.prototype.includes = function(item) {
    if(!item)
      return false;
    if(this._category !== 'all')
      return _Window_ItemList_includes.call(this, item);
    else{
      return true;
    }
  };

  /**********************************************************************
  * Méthode : setCategory (surcharge)
  * Fonction : permet d'afficher tous les objets si tout est groupé
  * Params : --
  **********************************************************************/
  var _Window_ItemList_setCategory = Window_ItemList.prototype.setCategory;
  Window_ItemList.prototype.setCategory = function(category) {
    if(paramGroupAllItemType === 1)
      category = 'all';
    _Window_ItemList_setCategory.call(this, category);
  };
  
  /**********************************************************************
  * Méthode : setMode (ajout)
  * Fonction : permet de changer le mode d'affichage
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.setMode = function(mode) {
    if(this._mode !== mode){
      this._mode = mode;
      this.refresh();
    }
  };
  
  /**********************************************************************
  * Méthode : isEnabled (surcharge)
  * Fonction : permet de rendre actif tous les objets si pas en mode 'use'
  * Params : --
  **********************************************************************/
  var _Window_ItemList_isEnabled = Window_ItemList.prototype.isEnabled;
  Window_ItemList.prototype.isEnabled = function(item) {
    if((this._mode || 'use') === 'use')
      return _Window_ItemList_isEnabled.call(this, item);
    return true;
  };
  
  /**********************************************************************
  * Méthode : getAllItems (ajout)
  * Fonction : permet de récupérer tous les objets de l'inventaire
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.getAllItems = function() {
    return $gameParty.allItems();
  };
  
  /**********************************************************************
  * Méthode : getNumItem (ajout)
  * Fonction : permet connaitre la quantité de l'objet
  * Params : item : objet à dénombrer
  **********************************************************************/
  Window_ItemList.prototype.getNumItem = function(item) {
    return $gameParty.numItems(item);
  };
  
  /**********************************************************************
  * Méthode : makeItemList (surcharge)
  * Fonction : construit la liste des objets affichables
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.makeItemList = function() {
    this._data = [];
    this._dataNumItem = [];
    var dataItemParty = [];
    dataItemParty = this.getAllItems().filter(function(item) {
      return this.includes(item);
    }, this);
    if (this.includes(null)) {
      dataItemParty.push(null);
    }
    
    for(var i = 0; i < dataItemParty.length; i++) {
      var item = dataItemParty[i];
      if(item === null)
        this._data.push(item);
      else{
        var stackLimit = $gameParty.stackLimit(item);
        var num = this.getNumItem(item);
        while(num > 0) {
          var stackSize = Math.min(stackLimit, num);
          this._data.push(item);
          this._dataNumItem.push(stackSize);
          num -= stackLimit;
        }
      }
    }
  };
  
  /**********************************************************************
  * Méthode : drawItem (surcharge)
  * Fonction : ajoute la gestion du nombre d'objet sur un stack
  * Params : --
  **********************************************************************/
  var _Window_ItemList_drawItem = Window_ItemList.prototype.drawItem;
  Window_ItemList.prototype.drawItem = function(index) {
    this._numItemSave = this._dataNumItem[index];
    _Window_ItemList_drawItem.call(this, index);
  };
  
  /**********************************************************************
  * Méthode : drawItemNumber (surcharge)
  * Fonction : prend en charge la propriété du nombre d'objet d'un stack
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.drawItemNumber = function(item, x, y, width) {
    if (this.needsNumber()) {
      this.drawText(':', x, y, width - this.textWidth('00'), 'right');
      this.drawText(this._numItemSave, x, y, width, 'right');
    }
  };
  
  /**********************************************************************
  * Méthode : updateCountWindow (ajout)
  * Fonction : ajoute la mise à jour du compteur
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.updateCountWindow = function() {
    this._itemCountWindow.setValues($gameParty.numAllStack(), $gameParty._bagLimit);
  };
  
  /**********************************************************************
  * Méthode : update (surcharge)
  * Fonction : ajoute la gestion du nombre d'objet sur un stack
  * Params : --
  **********************************************************************/
  var _Window_ItemList_update = Window_ItemList.prototype.update;
  Window_ItemList.prototype.update = function() {
    if(this._itemCountWindow){
      if(this._itemCountWindow.x !== this.width - this._itemCountWindow.width + 14)
        this._itemCountWindow.x = this.width - this._itemCountWindow.width + 14;
      if(this._itemCountWindow.y !== this.height - this._itemCountWindow.height + 14)
        this._itemCountWindow.y = this.height - this._itemCountWindow.height + 14;
      this.updateCountWindow();
    }
    _Window_ItemList_update.call(this);
  };

  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Scene_Item
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : create (surcharge)
  * Fonction : Ajoute l'appel à la fonction de création de la fenêtre ItemCount
  * Params : --
  **********************************************************************/
  var _Scene_Item_create = Scene_Item.prototype.create;
  Scene_Item.prototype.create = function() {
    _Scene_Item_create.call(this);
    this.createItemActionWindow();
    
    if(paramGroupAllItemType === 1){
      this._categoryWindow.visible = false;
      this._itemWindow.y -= this._categoryWindow.height;
      this._itemWindow.height += this._categoryWindow.height;
      this._itemWindow.setCategory('all');
    }
    if(paramAddMenuDelete === 1){
      this._itemActionWindow.visible = true;
      this._itemWindow.y += this._itemActionWindow.height;
      this._itemWindow.height -= this._itemActionWindow.height;
    }
    
    this._itemWindow.deactivate();
    this._itemActionWindow.deactivate();
    this._categoryWindow.deactivate();
    if(paramGroupAllItemType === 1 && paramAddMenuDelete !== 1){
      this._itemWindow.activate();
      this._itemWindow.selectLast();
    }else if(paramGroupAllItemType === 1){
      this._itemActionWindow.select(0);
      this._itemActionWindow.activate();
    }else{
      this._itemActionWindow.deselect();
      this._categoryWindow.activate();
    }
    
  };
  
  /**********************************************************************
  * Méthode : createItemActionWindow (ajout)
  * Fonction : Ajoute l'appel à la fonction de création de la fenêtre ItemCount
  * Params : --
  **********************************************************************/
  Scene_Item.prototype.createItemActionWindow = function() {
    this._itemActionWindow = new Window_ItemAction();
    this._itemActionWindow.y = this._helpWindow.height + (paramGroupAllItemType === 0 ? this._categoryWindow.height : 0);
    this._itemActionWindow.setHandler('ok', this.onActionOk.bind(this));
    this._itemActionWindow.setHandler('cancel', this.onActionCancel.bind(this));
    this._windowLayer.addChildAt(this._itemActionWindow, 0);

  };
  
  /**********************************************************************
  * Méthode : onCategoryOk (surcharge)
  * Fonction : ajoute la gestion de suppression
  * Params : --
  **********************************************************************/
  var _Scene_Item_onCategoryOk = Scene_Item.prototype.onCategoryOk;
  Scene_Item.prototype.onCategoryOk = function() {
    if(paramAddMenuDelete !== 1)
      _Scene_Item_onCategoryOk.call(this);
    else{
      this._itemActionWindow.select(0);
      this._itemActionWindow.activate();
    }
  };
  
  /**********************************************************************
  * Méthode : onActionOk (ajout)
  * Fonction : gère la validation du menu d'action
  * Params : --
  **********************************************************************/
  Scene_Item.prototype.onActionOk = function() {
    this._itemWindow.setMode(this._itemActionWindow.currentSymbol());
    this._itemWindow.activate();
    this._itemWindow.selectLast();
  };
  
  /**********************************************************************
  * Méthode : onActionCancel (ajout)
  * Fonction : gère l'annulation du menu d'action
  * Params : --
  **********************************************************************/
  Scene_Item.prototype.onActionCancel = function() {
    this._itemActionWindow.deselect();
    if(paramGroupAllItemType === 1)
      this.popScene();
    else{
      this._categoryWindow.activate();
    }
  };
  
  /**********************************************************************
  * Méthode : onItemOk (surcharge)
  * Fonction : ajoute la gestion de la suppression
  * Params : --
  **********************************************************************/
  var _Scene_Item_onItemOk = Scene_Item.prototype.onItemOk;
  Scene_Item.prototype.onItemOk = function() {
    if(this._itemActionWindow.currentSymbol() === 'use'){
      _Scene_Item_onItemOk.call(this);
    }else{
      // TODO voir pour ajouter une fenêtre de spécification du nombre
      $gameParty.loseItem(this.item(), 1);
      this._itemWindow.refresh();
      this._itemWindow.activate();
      if(this._itemWindow.index() === this._itemWindow.maxItems() && this._itemWindow.index() !== 0)
        this._itemWindow.select(this._itemWindow.maxItems()-1);
    }
  };
  
  /**********************************************************************
  * Méthode : onItemCancel (surcharge)
  * Fonction : ajoute la gestion du menu d'action
  * Params : --
  **********************************************************************/
  Scene_Item.prototype.onItemCancel = function() {
    this._itemWindow.deselect();
    if(paramGroupAllItemType === 1 && paramAddMenuDelete !== 1){
      this.popScene();
    }else if(paramAddMenuDelete === 1){
      this._itemActionWindow.activate();
    }else{
      this._categoryWindow.activate();
    }
  };
  
  
  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Scene_Equip
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : onItemOk (surcharge)
  * Fonction : Ajoute l'appel à la fonction de création de la fenêtre ItemCount
  * Params : --
  **********************************************************************/
  var _Scene_Equip_onItemOk = Scene_Equip.prototype.onItemOk;
  Scene_Equip.prototype.onItemOk = function() {
    if(this.actor().changeEquipPossible(this._slotWindow.index(), this._itemWindow.item()))
      _Scene_Equip_onItemOk.call(this);
    else{
      SoundManager.playBuzzer();
      this._itemWindow.activate();
    }
  };
  
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Window_ItemActionBank
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemActionBank() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemActionBank.prototype = Object.create(Window_HorzCommand.prototype);
  Window_ItemActionBank.prototype.constructor = Window_ItemActionBank;

  /**********************************************************************
  * Méthode : initialize
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemActionBank.prototype.initialize = function() {
    Window_HorzCommand.prototype.initialize.call(this, 0, 0);
  };

  /**********************************************************************
  * Méthode : windowWidth
  * Fonction : retourne la largeur de la fenêtre de jeu
  * Params : --
  **********************************************************************/
  Window_ItemActionBank.prototype.windowWidth = function() {
    return Graphics.boxWidth;
  };

  /**********************************************************************
  * Méthode : maxCols
  * Fonction : retourne le nombre max de colonne de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemActionBank.prototype.maxCols = function() {
    return 4;
  };

  /**********************************************************************
  * Méthode : makeCommandList
  * Fonction : cré la liste des commande du menu
  * Params : --
  **********************************************************************/
  Window_ItemActionBank.prototype.makeCommandList = function() {
    this.addCommand(paramNamePutOption, 'put');
    this.addCommand(paramNameGetOption, 'get');
    this.addCommand(paramNameBag + ' ' + paramNameDeleteOption, 'deleteBag');
    this.addCommand(paramNameBank + ' ' + paramNameDeleteOption, 'deleteBank');
  };
  
  
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Window_ItemListBag
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemListBag() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemListBag.prototype = Object.create(Window_ItemList.prototype);
  Window_ItemListBag.prototype.constructor = Window_ItemListBag;

  /**********************************************************************
  * Méthode : maxCols
  * Fonction : force maxCols à 1
  * Params : --
  **********************************************************************/
  Window_ItemListBag.prototype.maxCols = function() {
    return 1;
  };
  
  /**********************************************************************
  * Méthode : isEnabled
  * Fonction : force isEnabled à true
  * Params : --
  **********************************************************************/
  Window_ItemListBag.prototype.isEnabled = function(item) {
    return true;
  };
  
  /**********************************************************************
  * Méthode : playOkSound
  * Fonction : force playOkSound à rien
  * Params : --
  **********************************************************************/
  Window_ItemListBag.prototype.playOkSound = function() {
  };
  
  
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Window_ItemListBank
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemListBank() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemListBank.prototype = Object.create(Window_ItemListBag.prototype);
  Window_ItemListBank.prototype.constructor = Window_ItemListBank;
  
  /**********************************************************************
  * Méthode : initialize
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemListBank.prototype.initialize = function(x, y, width, height) {
    Window_ItemListBag.prototype.initialize.call(this, x, y, width, height);
  };
  
  /**********************************************************************
  * Méthode : updateCountWindow
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemListBank.prototype.updateCountWindow = function() {
    this._itemCountWindow.setValues($gameParty.bankNumAllStack(), $gameParty.bankLimit());
  };
  
  /**********************************************************************
  * Méthode : getAllItems
  * Fonction : récupère le contenu du stockage actif
  * Params : --
  **********************************************************************/
  Window_ItemListBank.prototype.getAllItems = function() {
    return $gameParty.bankAllItems();
  };
  
  /**********************************************************************
  * Méthode : getNumItem
  * Fonction : récupère la quantité de l'objet dans le stockage
  * Params : item : objet à dénombrer
  **********************************************************************/
  Window_ItemListBank.prototype.getNumItem = function(item) {
    return $gameParty.bankNumItems(item);
  };
  
  
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Scene_Bank
  *----------------------------------------------------------------------
  **********************************************************************/
  function Scene_Bank() {
    this.initialize.apply(this, arguments);
  }

  Scene_Bank.prototype = Object.create(Scene_MenuBase.prototype);
  Scene_Bank.prototype.constructor = Scene_Bank;

  /**********************************************************************
  * Méthode : initialize
  * Fonction : Initialisation de la "classe" Scene_Bank
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.initialize = function() {
    Scene_MenuBase.prototype.initialize.call(this);
    this._mode = "";
  };
  
  /**********************************************************************
  * Méthode : create (surcharge)
  * Fonction : Permet d'appeler les fonctions de construction de la scene
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.create = function() {
    Scene_MenuBase.prototype.create.call(this);
    this.createHelpWindow();
    this.createCategoryWindow();
    this.createItemActionWindow();
    this.createItemWindow();

    if(paramGroupAllItemType === 1){
      this._categoryWindow.visible = false;
      this._itemWindowBag.setCategory('all');
      this._itemWindowBank.setCategory('all');
    }
    
    this._itemActionWindow.deactivate();
    this._categoryWindow.deactivate();
    if(paramGroupAllItemType === 1){
      this._itemActionWindow.select(0);
      this._itemActionWindow.activate();
    }else{
      this._itemActionWindow.deselect();
      this._categoryWindow.activate();
    }
    
  };

  /**********************************************************************
  * Méthode : createCategoryWindow (ajout)
  * Fonction : Construit la fenêtre de catégorie
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.createCategoryWindow = function() {
    this._categoryWindow = new Window_ItemCategory();
    this._categoryWindow.setHelpWindow(this._helpWindow);
    this._categoryWindow.y = this._helpWindow.height;
    this._categoryWindow.setHandler('ok',     this.onCategoryOk.bind(this));
    this._categoryWindow.setHandler('cancel', this.popScene.bind(this));
    this.addWindow(this._categoryWindow);
  };
  
  /**********************************************************************
  * Méthode : createItemActionWindow (ajout)
  * Fonction : Ajoute l'appel à la fonction de création de la fenêtre ItemCount
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.createItemActionWindow = function() {
    this._itemActionWindow = new Window_ItemActionBank();
    this._itemActionWindow.y = this._helpWindow.height + (paramGroupAllItemType === 0 ? this._categoryWindow.height : 0);
    this._itemActionWindow.setHandler('put', this.onActionPut.bind(this));
    this._itemActionWindow.setHandler('get', this.onActionGet.bind(this));
    this._itemActionWindow.setHandler('deleteBag', this.onActionDelBag.bind(this));
    this._itemActionWindow.setHandler('deleteBank', this.onActionDelBank.bind(this));
    this._itemActionWindow.setHandler('cancel', this.onActionCancel.bind(this));
    this.addWindow(this._itemActionWindow);
    //this._windowLayer.addChildAt(this._itemActionWindow, 0);
  };

  /**********************************************************************
  * Méthode : createItemWindow (ajout)
  * Fonction : Ajoute les fenêtre de liste d'objet
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.createItemWindow = function() {
    var wy = this._itemActionWindow.y + this._itemActionWindow.height;
    var wh = Graphics.boxHeight - wy;
    this._itemWindowBag = new Window_ItemListBag(0, wy, Graphics.boxWidth / 2, wh);
    this._itemWindowBag.setHelpWindow(this._helpWindow);
    this._itemWindowBag.setHandler('ok',     this.onItemBagOk.bind(this));
    this._itemWindowBag.setHandler('cancel', this.onItemBagCancel.bind(this));
    this.addWindow(this._itemWindowBag);
    //this._categoryWindow.setItemWindow(this._itemWindow); // gérer le changement dans l'update de la scene
    
    this._itemWindowBank = new Window_ItemListBank(Graphics.boxWidth / 2, wy, Graphics.boxWidth / 2, wh);
    this._itemWindowBank.setHelpWindow(this._helpWindow);
    this._itemWindowBank.setHandler('ok',     this.onItemBankOk.bind(this));
    this._itemWindowBank.setHandler('cancel', this.onItemBankCancel.bind(this));
    this.addWindow(this._itemWindowBank);
  };
  
  /**********************************************************************
  * Méthode : onCategoryOk (ajout)
  * Fonction : action sur validation de la fenêtre catégorie
  * Params : --
  **********************************************************************/  
  Scene_Bank.prototype.onCategoryOk = function() {
    this._itemWindowBag.setCategory(this._categoryWindow.currentSymbol());
    this._itemWindowBank.setCategory(this._categoryWindow.currentSymbol());
    this._itemActionWindow.select(0);
    this._itemActionWindow.activate();
  };
  
  /**********************************************************************
  * Méthode : onActionPut (ajout)
  * Fonction : action de dépot en stockage
  * Params : --
  **********************************************************************/  
  Scene_Bank.prototype.onActionPut = function() {
    this._itemWindowBag.select(0);
    this._itemWindowBag.activate();
    this._mode = "put";
  };
  
  /**********************************************************************
  * Méthode : onActionGet (ajout)
  * Fonction : action de récupération du stockage
  * Params : --
  **********************************************************************/  
  Scene_Bank.prototype.onActionGet = function() {
    this._itemWindowBank.select(0);
    this._itemWindowBank.activate();
    this._mode = "get";
  };
  
  /**********************************************************************
  * Méthode : onActionDelBag (ajout)
  * Fonction : action de suppression d'un objet de l'inventaire
  * Params : --
  **********************************************************************/  
  Scene_Bank.prototype.onActionDelBag = function() {
    this._itemWindowBag.select(0);
    this._itemWindowBag.activate();
    this._mode = "del_bag";
  };
    
  /**********************************************************************
  * Méthode : onActionDelBank (ajout)
  * Fonction : action de suppresion d'un objet du stockage
  * Params : --
  **********************************************************************/  
  Scene_Bank.prototype.onActionDelBank = function() {
    this._itemWindowBank.select(0);
    this._itemWindowBank.activate();
    this._mode = "del_bank";
  };
  
  /**********************************************************************
  * Méthode : onActionCancel (ajout)
  * Fonction : action d'annulation de choix d'action
  * Params : --
  **********************************************************************/  
  Scene_Bank.prototype.onActionCancel = function() {
    this._itemActionWindow.deselect();
    if(paramGroupAllItemType === 1)
      this.popScene();
    else{
      this._categoryWindow.activate();
      this._itemWindowBag.setCategory();
      this._itemWindowBank.setCategory();
    }
  };

  /**********************************************************************
  * Méthode : onItemBagOk (ajout)
  * Fonction : action sur validation d'un objet de la fenêtre d'inventaire
  * Params : --
  **********************************************************************/  
  Scene_Bank.prototype.onItemBagOk = function() {
    if(this._mode === "put" ){
      // Vérifier que le coffre ne soit pas plein avec le nouvel objet
      var offsetStack = $gameParty.bankNumItemStack(this._itemWindowBag.item(), 1) - $gameParty.bankNumItemStack(this._itemWindowBag.item());
      if($gameParty.bankNumAllStack() + offsetStack >= $gameParty.bankLimit())
        SoundManager.playBuzzer();
      else{
        SoundManager.playOk();
        $gameParty.loseItem(this._itemWindowBag.item(), 1);
        $gameParty.bankGainItem(this._itemWindowBag.item(), 1);
        this._itemWindowBag.refresh();
        this._itemWindowBank.refresh();
      }
      this._itemWindowBag.activate();
      
      
    }else if(this._mode === "del_bag" ){
      // TODO voir pour ajouter une fenêtre de spécification du nombre
      SoundManager.playOk();
      $gameParty.loseItem(this._itemWindowBag.item(), 1);
      this._itemWindowBag.refresh();
      this._itemWindowBag.activate();
      if(this._itemWindowBag.index() === this._itemWindowBag.maxItems() && this._itemWindowBag.index() !== 0)
        this._itemWindowBag.select(this._itemWindowBag.maxItems()-1);
    }
  };
  
  /**********************************************************************
  * Méthode : onItemBagCancel (ajout)
  * Fonction : action sur annulation fenêtre inventaire
  * Params : --
  **********************************************************************/  
  Scene_Bank.prototype.onItemBagCancel = function() {
    this._itemWindowBag.deselect();
    this._itemActionWindow.activate();
    this._mode = "";
  };
  
  /**********************************************************************
  * Méthode : onItemBankOk (ajout)
  * Fonction : action sur validation objet dans stockage
  * Params : --
  **********************************************************************/  
  Scene_Bank.prototype.onItemBankOk = function() {
    if(this._mode === "get" ){
      var offsetStack = $gameParty.numItemStack(this._itemWindowBank.item(), 1) - $gameParty.numItemStack(this._itemWindowBank.item());
      if($gameParty.numAllStack() + offsetStack >= $gameParty._bagLimit)
        SoundManager.playBuzzer();
      else{
        SoundManager.playOk();
        $gameParty.bankGainItem(this._itemWindowBank.item(), -1);
        $gameParty.gainItem(this._itemWindowBank.item(), 1);
        this._itemWindowBag.refresh();
        this._itemWindowBank.refresh();
      }
      this._itemWindowBank.activate();
      
    }else if(this._mode === "del_bank" ){
      // TODO voir pour ajouter une fenêtre de spécification du nombre
      SoundManager.playOk();
      $gameParty.bankGainItem(this._itemWindowBank.item(), -1);
      this._itemWindowBank.refresh();
      this._itemWindowBank.activate();
      if(this._itemWindowBank.index() === this._itemWindowBank.maxItems() && this._itemWindowBank.index() !== 0)
        this._itemWindowBank.select(this._itemWindowBank.maxItems()-1);
    }
  };
  
  /**********************************************************************
  * Méthode : onItemBankCancel (ajout)
  * Fonction : action sur annulation dans fenêtre de stockage
  * Params : --
  **********************************************************************/  
  Scene_Bank.prototype.onItemBankCancel = function() {
    this._itemWindowBank.deselect();
    this._itemActionWindow.activate();
    this._mode = "";
  };
  
  
  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Game_Interpreter
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : pluginCommand (surcharge)
  * Fonction : Ajoute la commande
  * Params : --
  **********************************************************************/
  var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
  Game_Interpreter.prototype.pluginCommand = function(command, args) {
    _Game_Interpreter_pluginCommand.call(this, command, args);
    if(command === 'TonyryuBank'){
      $gameParty.setBank(args[0]||'one');
      SceneManager.push(Scene_Bank);
    }
  };
  
})();


Il y a un peu de code, d'où le temps un peu élever pour répondre
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: limiteur d'inventaire

le Dim 12 Juin 2016 - 21:40
ok je teste ça le plus vite possible
un grand merci à toi

[EDIT]

je viens de faire un test "basique" (en gros un coffre contenant plein d'items, armes, armures)
tout à l'air ok tant dans la gestion du "surplus" qui ne s'ajoute pas à l'inventaire quand celui ci est plein qu'au niveau de l'équipement qu'on ne peut pas enlever si l'inventaire est plein

j'ai quelques questions :
as-tu implémenté la possibilité d'avoir un inventaire "bis" ?
si oui comment le créer ?
comment changer la limite de slot durant le jeu ?

je n'ai pas encore mis la possibilité de changer de job, je pense utiliser le plugin de yanfly
est ce que le changement d'équipement qu'implique le changement de job est pris en compte ?


je viens d'activer le plugin de yanfly pour le changement de classe :
quand le changement de classe implique la perte d'un équipement, si le sac est plein l'équipement en question est perdu
idéalement il faudrai que l'équipement en question aille dans l'inventaire "bis"
avatar
tonyryu
Membre

Nombre de messages : 895
Age : 38
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: limiteur d'inventaire

le Lun 13 Juin 2016 - 0:45
pour la gestion du coffre, il faut créer un inventaire avec la commande suivante :

Code:
TonyryuBank

tu peux également spécifier un coffre en ajoutant un paramètre :

Code:
TonyryuBank B
Ce qui permettra de gérer un coffre nomé 'B'

Je n'ai pas encore ajouté les commandes pour modifier les limites. pourrais-tu me dire, ce que tu souhaites pouvoir modifier?

Je ne peux pas assurer la compatibilité entre des plugins de Yanfly, je peux essayer de voir si je peux le gérer directement en natif dans mon plugin.
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: limiteur d'inventaire

le Lun 13 Juin 2016 - 10:54
@param NbrOfDiffItem
Nombre de type d'objet différent au départ
* @default 20

ça c'est le paramètre que je veux pouvoir modifier durant le jeu
le but étant de créer des quètes permettant au joueur d'avoir un sac plus grand


ensuite j'ai une question concernant un paramètre :
@param BankNbrOfDiffItem
* @desc Nombre de type d'objet différent dans la banque au départ
* @default 100
en fait je ne sais pas ce que c'est ^^


c'est bon je viens de voir ce que c'était
avatar
tonyryu
Membre

Nombre de messages : 895
Age : 38
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: limiteur d'inventaire

le Mar 14 Juin 2016 - 14:10
une petite modif :

Code:
//=============================================================================
// Tonyryu_LimitBagBank.js
//=============================================================================

/*:
 * @plugindesc Plugin permettant de gérer une limite de l'inventaire
 * @version 0.0.9
 * @author Tonyryu (http://www.tonyryudev.com)
 *
 * @param GroupAllItemType
 * @desc Regrouper tous les types d'objet dans le menu objet (1 : actif)
 * @default 0
 *
 * @param AddDeleteMenu
 * @desc Ajouter un menu pour proposer le choix de jeter un objet (1 : actif)
 * @default 1
 *
 * @param NameUseOption
 * @desc Nom de l'option d'utilisation
 * @default Utiliser
 *
 * @param NameDeleteOption
 * @desc Nom de l'option de suppression
 * @default Jeter
 *
 * @param NbrOfDiffItem
 * @desc Nombre de type d'objet différent au départ
 * @default 20
 *
 * @param ItemStackDefault
 * @desc Quantité par défaut d'un stack pour les objets
 * @default 99
 *
 * @param ArmorStackDefault
 * @desc Quantité par défaut d'un stack pour les armures
 * @default 1
 *
 * @param WeaponStackDefault
 * @desc Quantité par défaut d'un stack pour les armes
 * @default 1
 *
 * @param BankNbrOfDiffItem
 * @desc Nombre de type d'objet différent dans la banque au départ
 * @default 100
 *
 * @param NameBag
 * @desc Nom de l'utilitaire de stockage du groupe
 * @default Sac
 *
 * @param NameBank
 * @desc Nom de l'utilitaire de stockage de masse
 * @default Banque
 *
 * @param NameGetOption
 * @desc Nom de l'option indiquant la récupération d'un objet en banque
 * @default Retirer
 *
 * @param NamePutOption
 * @desc Nom de l'option indiquant le dépot d'un objet en banque
 * @default Déposer
 *
 *
 * @help
 *
 */

/*
 * Suivi de version
 *
 *
 */
var Imported = Imported || {};
Imported.Tonyryu_LimitBagBank = true;

var Tonyryu = Tonyryu || {};
Tonyryu.LBB = Tonyryu.LBB || {};

(function() {

  var parameters = PluginManager.parameters('Tonyryu_LimitBagBank');
  var paramGroupAllItemType = Number(parameters['GroupAllItemType'] || 0);
  var paramAddMenuDelete = Number(parameters['AddDeleteMenu'] || 1);
  var paramNameDeleteOption = String(parameters['NameDeleteOption'] || 'Jeter');
  var paramNameUseOption = String(parameters['NameUseOption'] || 'Utiliser');
  var paramNbrOfDiffItem = Number(parameters['NbrOfDiffItem'] || 20);
  var paramItemStackDefault = Number(parameters['ItemStackDefault'] || 99);
  var paramArmorStackDefault = Number(parameters['ArmorStackDefault'] || 1);
  var paramWeaponStackDefault = Number(parameters['WeaponStackDefault'] || 1);
  var paramBankNbrOfDiffItem = Number(parameters['BankNbrOfDiffItem'] || 100);
  var paramNameBank = String(parameters['NameBank'] || 'Banque');
  var paramNameBag = String(parameters['NameBag'] || 'Sac');
  var paramNameGetOption = String(parameters['NameGetOption'] || 'Retirer');
  var paramNamePutOption = String(parameters['NamePutOption'] || 'Déposer');
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Game_Actor
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : unequipPossible (ajout)
  * Fonction : vérifie la possibilité de déséquiper un slot
  * Params : slotId : index du slot
  **********************************************************************/
  Game_Actor.prototype.unequipPossible = function(slotId) {
    var itemEquip = this.equips()[slotId];
    if($gameParty.bagFull() && itemEquip){
      var stackDif = $gameParty.numItemStack(itemEquip) - $gameParty.numItemStack(itemEquip, 1);
      if(stackDif < 0)
        return false;
    }
    return true;
  };

  /**********************************************************************
  * Méthode : changeEquipPossible (ajout)
  * Fonction : vérifie la possibilité de changer d'équipement
  * Params : slotId : index du slot
  *          item  : objet a équipper
  **********************************************************************/
  Game_Actor.prototype.changeEquipPossible = function(slotId, item) {
    var itemEquip = this.equips()[slotId];
    var stackDif = 0;
    if(itemEquip)
      stackDif += $gameParty.numItemStack(itemEquip, 1) - $gameParty.numItemStack(itemEquip);
    if(item)
      stackDif += $gameParty.numItemStack(item, -1) - $gameParty.numItemStack(item);
    return ($gameParty.numAllStack() + stackDif <= $gameParty._bagLimit);
  };
 
  /**********************************************************************
  * Méthode : changeEquip (surcharge)
  * Fonction : vérifie la possibilité de changer un slot
  * Params : slotId : index du slot
  *          item  : objet a équipper
  **********************************************************************/
  var _Game_Actor_changeEquip = Game_Actor.prototype.changeEquip;
  Game_Actor.prototype.changeEquip = function(slotId, item) {
    if(this.changeEquipPossible(slotId, item))
      _Game_Actor_changeEquip.call(this, slotId, item);
  };


  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Game_Party
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : numAllStack (ajout)
  * Fonction : retourne le nombre de stack dans l'inventaire
  * Params : --
  **********************************************************************/
  Game_Party.prototype.numAllStack = function() {
    // pour chaque objet possédés
    var n = 0;
    $gameParty.allItems().forEach(function(item) {
      n += $gameParty.numItemStack(item);
    });
    return n;
  };
 
  /**********************************************************************
  * Méthode : bagFull (ajout)
  * Fonction : permet se savoir si le sac est plein
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bagFull = function() {
    return (this.numAllStack() >= this._bagLimit );
  };
 
  /**********************************************************************
  * Méthode : stackLimit (ajout)
  * Fonction : retourne la limite d'un stack pour un objet
  * Params : --
  **********************************************************************/
  Game_Party.prototype.stackLimit = function(item) {
    var limit = 0 ;
    var typeItem = '';
    if (!item) {
      return 1;
    }
   
    limit = item.meta.StackLimit || 0;
   
    if (DataManager.isItem(item)) {
      typeItem = 'i';
      limit = this._modStackLimit._items[item.id] || limit;
    } else if (DataManager.isWeapon(item)) {
      typeItem = 'w';
      limit = this._modStackLimit._weapons[item.id] || limit;
    } else if (DataManager.isArmor(item)) {
      typeItem = 'a';
      limit = this._modStackLimit._armors[item.id] || limit;
    } else {
      return 1;
    }

    if(limit > 0)
      return limit;
   
    limit = item.meta.StackLimit || 0;

    if(limit > 0)
      return limit;
    if(typeItem === 'i')
      return paramItemStackDefault;
    if(typeItem === 'w')
      return paramWeaponStackDefault;
    if(typeItem === 'a')
      return paramArmorStackDefault;
    return 1;
  };
 
  /**********************************************************************
  * Méthode : numItemStack (ajout)
  * Fonction : retourne le nombre de stack pris par un objet
  * Params : item : objet dont il faut numérer les stack
  *          offset : décalage du nombre d'objet
  **********************************************************************/
  Game_Party.prototype.numItemStack = function(item, offset) {
    if((this.numItems(item) + (offset || 0)) === 0)
      return 0;
    return Math.floor((this.numItems(item)-1 + (offset || 0))/ this.stackLimit(item)) + 1;
  };
 
  /**********************************************************************
  * Méthode : initAllItems (surcharge)
  * Fonction : Ajoute la liste des recettes
  * Params : --
  **********************************************************************/
  var _Game_Party_initAllItems = Game_Party.prototype.initAllItems;
  Game_Party.prototype.initAllItems = function() {
    _Game_Party_initAllItems.call(this);
    this._bank = {};
    this._bagLimit = paramNbrOfDiffItem;
    this._modStackLimit = {};
    this._modStackLimit._items = {};
    this._modStackLimit._weapons = {};
    this._modStackLimit._armors = {};
   
    this._bankSelect = 'one';
    this._listBank = {};
    this.setBank();
  };
 
  /**********************************************************************
  * Méthode : maxItems (remplacement)
  * Fonction : modifie la limite du nombre d'objet à 999999
  * Params : item : objet dont il faut connaitre la limite
  **********************************************************************/
  Game_Party.prototype.maxItems = function(item) {
    return 999999;
  };
 
  /**********************************************************************
  * Méthode : gainItem (surcharge)
  * Fonction : Ajoute ou retire une recette de la liste des recettes
  * Params : item : objet a ajouter dans l'inventaire
  *          amount : nombre d'ojet à ajouter
  *          includeEquip : flag indiquant si c'est une pièce à équiper
  **********************************************************************/
  var _Game_Party_gainItem = Game_Party.prototype.gainItem;
  Game_Party.prototype.gainItem = function(item, amount, includeEquip) {
    if(amount < 0)
      _Game_Party_gainItem.call(this, item, amount, includeEquip);
    else{
      var stackLimit = this.stackLimit(item);
      var numItemStack = this.numItemStack(item);
      var stackPlus = this.numItemStack(item, amount) - numItemStack;
      if(this.numAllStack() + stackPlus <= this._bagLimit)
        _Game_Party_gainItem.call(this, item, amount, includeEquip);
      else{
        stackPlus = this._bagLimit - this.numAllStack();
        _Game_Party_gainItem.call(this, item, ((numItemStack + stackPlus) * stackLimit) - this.numItems(item), includeEquip);
      }
    }
  };

  /**********************************************************************
  * Méthode : setBank (ajout)
  * Fonction : permet de se positionner sur une banque
  * Params : pNomBank : code optionnel d'un espace de stockage
  **********************************************************************/
  Game_Party.prototype.setBank = function(pNomBank) {
    this._bankSelect = pNomBank || 'one';
    if(!this._listBank[this._bankSelect]){
      this._listBank[this._bankSelect] = {};
      this._listBank[this._bankSelect]._bankLimit = paramBankNbrOfDiffItem;
      this._listBank[this._bankSelect]._items = {};
      this._listBank[this._bankSelect]._weapons = {};
      this._listBank[this._bankSelect]._armors = {};
      this._listBank[this._bankSelect]._modStackLimit = {};
      this._listBank[this._bankSelect]._modStackLimit._items = {};
      this._listBank[this._bankSelect]._modStackLimit._weapons = {};
      this._listBank[this._bankSelect]._modStackLimit._armors = {};
    }
  };
 
  /**********************************************************************
  * Méthode : bankLimit (ajout)
  * Fonction : permet de retourner la limite de stack de l'espace de stockage en cours
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankLimit = function() {
    return this._listBank[this._bankSelect]._bankLimit;
  };
 
  /**********************************************************************
  * Méthode : bankItems (ajout)
  * Fonction : retourne un tableau contenant les objets du stockage
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankItems = function() {
    var list = [];
    for (var id in this._listBank[this._bankSelect]._items) {
        list.push($dataItems[id]);
    }
    return list;
  };
 
  /**********************************************************************
  * Méthode : bankWeapons (ajout)
  * Fonction : retourne les armes stockés
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankWeapons = function() {
    var list = [];
    for (var id in this._listBank[this._bankSelect]._weapons) {
        list.push($dataWeapons[id]);
    }
    return list;
  };

  /**********************************************************************
  * Méthode : bankArmors (ajout)
  * Fonction : retourne les pièces d'armure du stockage
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankArmors = function() {
    var list = [];
    for (var id in this._listBank[this._bankSelect]._armors) {
        list.push($dataArmors[id]);
    }
    return list;
  };

  /**********************************************************************
  * Méthode : bankEquipItems (ajout)
  * Fonction : retourne les armes et armures du stockage
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankEquipItems = function() {
    return this.bankWeapons().concat(this.bankArmors());
  };

  /**********************************************************************
  * Méthode : bankAllItems (ajout)
  * Fonction : retourne tous le stockage
  * Params : pNomBank : code optionnel d'un espace de stockage
  **********************************************************************/
  Game_Party.prototype.bankAllItems = function() {
    return this.bankItems().concat(this.bankEquipItems());
  };
 
  /**********************************************************************
  * Méthode : bankNumAllStack (ajout)
  * Fonction : retourne le nombre de stack dans la banque sélectionnée
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankNumAllStack = function() {
    // pour chaque objet possédés
    var n = 0;
    $gameParty.bankAllItems().forEach(function(item) {
      n += $gameParty.bankNumItemStack(item);
    });
    return n;
  };
 
  /**********************************************************************
  * Méthode : bankFull (ajout)
  * Fonction : permet se savoir si la banque sélectionnée est pleine
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankFull = function() {
    return (this.bankNumAllStack() >= this.bankLimit() );
  };
 
  /**********************************************************************
  * Méthode : bankItemContainer (ajout)
  * Fonction : retourne le conteneur de l'objet transmis
  * Params : item : objet
  **********************************************************************/
  Game_Party.prototype.bankItemContainer = function(item) {
    if (!item) {
        return null;
    } else if (DataManager.isItem(item)) {
        return this._listBank[this._bankSelect]._items;
    } else if (DataManager.isWeapon(item)) {
        return this._listBank[this._bankSelect]._weapons;
    } else if (DataManager.isArmor(item)) {
        return this._listBank[this._bankSelect]._armors;
    } else {
        return null;
    }
  };
 
  /**********************************************************************
  * Méthode : bankGainItem (ajout)
  * Fonction : permet d'ajouter un objet dans l'espace de stockage
  * Params : item : objet à ajouter
  *          amount : nombre d'objet
  **********************************************************************/
  Game_Party.prototype.bankGainItem = function(item, amount) {
    if(amount > 0){
      var stackLimit = this.stackLimit(item);
      var numItemStack = this.numItemStack(item);
      var stackPlus = this.numItemStack(item, amount) - numItemStack;
      if(this.bankNumAllStack() + stackPlus > this._listBank[this._bankSelect]._bankLimit){
        stackPlus = this._listBank[this._bankSelect]._bankLimit - this.bankNumAllStack();
        amount = ((numItemStack + stackPlus) * stackLimit) - this.bankNumItems(item);
      }
    }
    if(amount !== 0){
      var container = this.bankItemContainer(item);
      if (container) {
        var lastNumber = this.bankNumItems(item);
        var newNumber = lastNumber + amount;
        container[item.id] = newNumber.clamp(0, this.maxItems(item));
        if (container[item.id] === 0) {
          delete container[item.id];
        }
      }
    }
  };
 
  /**********************************************************************
  * Méthode : bankNumItems (ajout)
  * Fonction : permet d'ajouter un objet dans l'espace de stockage
  * Params : item : objet à ajouter
  **********************************************************************/
  Game_Party.prototype.bankNumItems = function(item) {
    var container = this.bankItemContainer(item);
    return container ? container[item.id] || 0 : 0;
  };
 
  /**********************************************************************
  * Méthode : bankNumItemStack (ajout)
  * Fonction : retourne le nombre de stack pris par un objet
  * Params : item : objet dont il faut numérer les stack
  *          offset : décalage du nombre d'objet
  **********************************************************************/
  Game_Party.prototype.bankNumItemStack = function(item, offset) {
    if((this.bankNumItems(item) + (offset || 0)) === 0)
      return 0;
    return Math.floor((this.bankNumItems(item)-1 + (offset || 0))/ this.stackLimit(item)) + 1;
  };
 
 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Window_ItemAction
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemAction() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemAction.prototype = Object.create(Window_HorzCommand.prototype);
  Window_ItemAction.prototype.constructor = Window_ItemAction;

  /**********************************************************************
  * Méthode : initialize
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemAction.prototype.initialize = function() {
    Window_HorzCommand.prototype.initialize.call(this, 0, 0);
    this.visible = false;
  };

  /**********************************************************************
  * Méthode : windowWidth
  * Fonction : retourne la largeur de la fenêtre de jeu
  * Params : --
  **********************************************************************/
  Window_ItemAction.prototype.windowWidth = function() {
    return Graphics.boxWidth;
  };

  /**********************************************************************
  * Méthode : maxCols
  * Fonction : retourne le nombre max de colonne de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemAction.prototype.maxCols = function() {
    return 2;
  };

  /**********************************************************************
  * Méthode : makeCommandList
  * Fonction : cré la liste des commande du menu
  * Params : --
  **********************************************************************/
  Window_ItemAction.prototype.makeCommandList = function() {
    this.addCommand(paramNameUseOption,    'use');
    this.addCommand(paramNameDeleteOption, 'delete');
  };

 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création d'une nouvelle "classe" Window_ItemCount
  *  hérite de la classe Window_Base
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemCount() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemCount.prototype = Object.create(Window_Base.prototype);
  Window_ItemCount.prototype.constructor = Window_ItemCount;

  /**********************************************************************
  * Méthode : initialize
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemCount.prototype.initialize = function(pX, pY) {
    Window_Base.prototype.initialize.call(this, pX, pY, 100, this.fittingHeight(1));
    this._max = 0;//$gameParty._limitNbrItem;
    this._number = 0;//$gameParty.numAllStack();
    this.backOpacity = 0;
    this.opacity = 0;
    this.refresh();
  };
 
  /**********************************************************************
  * Méthode : refresh
  * Fonction : permet de recréer le contenu de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemCount.prototype.refresh = function(){
    this.contents.clear();
    this.drawText(String(this._number)+'/'+String(this._max), 0, 0, this.contentsWidth());
  };
 
  /**********************************************************************
  * Méthode : setValues
  * Fonction : permet de modifier la valeur courante et la valeur Max
  * Params : --
  **********************************************************************/
  Window_ItemCount.prototype.setValues = function(pCurrent, pMax){
    if(this._max !== pMax || this._number !== pCurrent ){
      this._max = pMax;
      this._number = pCurrent;
      this.refresh();
    }
  };
 

  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Window_ItemList
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : initialize (surcharge)
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  var _Window_ItemList_initialize = Window_ItemList.prototype.initialize;
  Window_ItemList.prototype.initialize = function(x, y, width, height) {
    _Window_ItemList_initialize.call(this, x, y, width, height);
    this._dataNumItem = [];
    this._itemCountWindow = new Window_ItemCount();
    this._itemCountWindow.x = this.width - this._itemCountWindow.width + 14;
    this._itemCountWindow.y = this.height - this._itemCountWindow.height + 14;
    this.addChild(this._itemCountWindow);
  };

  /**********************************************************************
  * Méthode : spacing (ajout)
  * Fonction : définie à 12 l'espacement entre les objets
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.spacing = function() {
    return 12;
  };
 
  /**********************************************************************
  * Méthode : itemWidth (ajout)
  * Fonction : modifie la largeur de la sélection si compteur présent
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.itemWidth = function() {
    var newWidth = Window_Selectable.prototype.itemWidth.call(this);
    if(this._itemCountWindow)
      newWidth -= ((this.width - this._itemCountWindow.x) / this.maxCols());
    return newWidth;
  };

  /**********************************************************************
  * Méthode : includes (surcharge)
  * Fonction : permet de gérer la catégorie all
  * Params : --
  **********************************************************************/
  var _Window_ItemList_includes = Window_ItemList.prototype.includes;
  Window_ItemList.prototype.includes = function(item) {
    if(!item)
      return false;
    if(this._category !== 'all')
      return _Window_ItemList_includes.call(this, item);
    else{
      return true;
    }
  };

  /**********************************************************************
  * Méthode : setCategory (surcharge)
  * Fonction : permet d'afficher tous les objets si tout est groupé
  * Params : --
  **********************************************************************/
  var _Window_ItemList_setCategory = Window_ItemList.prototype.setCategory;
  Window_ItemList.prototype.setCategory = function(category) {
    if(paramGroupAllItemType === 1)
      category = 'all';
    _Window_ItemList_setCategory.call(this, category);
  };
 
  /**********************************************************************
  * Méthode : setMode (ajout)
  * Fonction : permet de changer le mode d'affichage
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.setMode = function(mode) {
    if(this._mode !== mode){
      this._mode = mode;
      this.refresh();
    }
  };
 
  /**********************************************************************
  * Méthode : isEnabled (surcharge)
  * Fonction : permet de rendre actif tous les objets si pas en mode 'use'
  * Params : --
  **********************************************************************/
  var _Window_ItemList_isEnabled = Window_ItemList.prototype.isEnabled;
  Window_ItemList.prototype.isEnabled = function(item) {
    if((this._mode || 'use') === 'use')
      return _Window_ItemList_isEnabled.call(this, item);
    return true;
  };
 
  /**********************************************************************
  * Méthode : getAllItems (ajout)
  * Fonction : permet de récupérer tous les objets de l'inventaire
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.getAllItems = function() {
    return $gameParty.allItems();
  };
 
  /**********************************************************************
  * Méthode : getNumItem (ajout)
  * Fonction : permet connaitre la quantité de l'objet
  * Params : item : objet à dénombrer
  **********************************************************************/
  Window_ItemList.prototype.getNumItem = function(item) {
    return $gameParty.numItems(item);
  };
 
  /**********************************************************************
  * Méthode : makeItemList (surcharge)
  * Fonction : construit la liste des objets affichables
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.makeItemList = function() {
    this._data = [];
    this._dataNumItem = [];
    var dataItemParty = [];
    dataItemParty = this.getAllItems().filter(function(item) {
      return this.includes(item);
    }, this);
    if (this.includes(null)) {
      dataItemParty.push(null);
    }
   
    for(var i = 0; i < dataItemParty.length; i++) {
      var item = dataItemParty[i];
      if(item === null)
        this._data.push(item);
      else{
        var stackLimit = $gameParty.stackLimit(item);
        var num = this.getNumItem(item);
        while(num > 0) {
          var stackSize = Math.min(stackLimit, num);
          this._data.push(item);
          this._dataNumItem.push(stackSize);
          num -= stackLimit;
        }
      }
    }
  };
 
  /**********************************************************************
  * Méthode : drawItem (surcharge)
  * Fonction : ajoute la gestion du nombre d'objet sur un stack
  * Params : --
  **********************************************************************/
  var _Window_ItemList_drawItem = Window_ItemList.prototype.drawItem;
  Window_ItemList.prototype.drawItem = function(index) {
    this._numItemSave = this._dataNumItem[index];
    _Window_ItemList_drawItem.call(this, index);
  };
 
  /**********************************************************************
  * Méthode : drawItemNumber (surcharge)
  * Fonction : prend en charge la propriété du nombre d'objet d'un stack
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.drawItemNumber = function(item, x, y, width) {
    if (this.needsNumber()) {
      this.drawText(':', x, y, width - this.textWidth('00'), 'right');
      this.drawText(this._numItemSave, x, y, width, 'right');
    }
  };
 
  /**********************************************************************
  * Méthode : updateCountWindow (ajout)
  * Fonction : ajoute la mise à jour du compteur
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.updateCountWindow = function() {
    this._itemCountWindow.setValues($gameParty.numAllStack(), $gameParty._bagLimit);
  };
 
  /**********************************************************************
  * Méthode : update (surcharge)
  * Fonction : ajoute la gestion du nombre d'objet sur un stack
  * Params : --
  **********************************************************************/
  var _Window_ItemList_update = Window_ItemList.prototype.update;
  Window_ItemList.prototype.update = function() {
    if(this._itemCountWindow){
      if(this._itemCountWindow.x !== this.width - this._itemCountWindow.width + 14)
        this._itemCountWindow.x = this.width - this._itemCountWindow.width + 14;
      if(this._itemCountWindow.y !== this.height - this._itemCountWindow.height + 14)
        this._itemCountWindow.y = this.height - this._itemCountWindow.height + 14;
      this.updateCountWindow();
    }
    _Window_ItemList_update.call(this);
  };

  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Scene_Item
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : create (surcharge)
  * Fonction : Ajoute l'appel à la fonction de création de la fenêtre ItemCount
  * Params : --
  **********************************************************************/
  var _Scene_Item_create = Scene_Item.prototype.create;
  Scene_Item.prototype.create = function() {
    _Scene_Item_create.call(this);
    this.createItemActionWindow();
   
    if(paramGroupAllItemType === 1){
      this._categoryWindow.visible = false;
      this._itemWindow.y -= this._categoryWindow.height;
      this._itemWindow.height += this._categoryWindow.height;
      this._itemWindow.setCategory('all');
    }
    if(paramAddMenuDelete === 1){
      this._itemActionWindow.visible = true;
      this._itemWindow.y += this._itemActionWindow.height;
      this._itemWindow.height -= this._itemActionWindow.height;
    }
   
    this._itemWindow.deactivate();
    this._itemActionWindow.deactivate();
    this._categoryWindow.deactivate();
    if(paramGroupAllItemType === 1 && paramAddMenuDelete !== 1){
      this._itemWindow.activate();
      this._itemWindow.selectLast();
    }else if(paramGroupAllItemType === 1){
      this._itemActionWindow.select(0);
      this._itemActionWindow.activate();
    }else{
      this._itemActionWindow.deselect();
      this._categoryWindow.activate();
    }
   
  };
 
  /**********************************************************************
  * Méthode : createItemActionWindow (ajout)
  * Fonction : Ajoute l'appel à la fonction de création de la fenêtre ItemCount
  * Params : --
  **********************************************************************/
  Scene_Item.prototype.createItemActionWindow = function() {
    this._itemActionWindow = new Window_ItemAction();
    this._itemActionWindow.y = this._helpWindow.height + (paramGroupAllItemType === 0 ? this._categoryWindow.height : 0);
    this._itemActionWindow.setHandler('ok', this.onActionOk.bind(this));
    this._itemActionWindow.setHandler('cancel', this.onActionCancel.bind(this));
    this._windowLayer.addChildAt(this._itemActionWindow, 0);

  };
 
  /**********************************************************************
  * Méthode : onCategoryOk (surcharge)
  * Fonction : ajoute la gestion de suppression
  * Params : --
  **********************************************************************/
  var _Scene_Item_onCategoryOk = Scene_Item.prototype.onCategoryOk;
  Scene_Item.prototype.onCategoryOk = function() {
    if(paramAddMenuDelete !== 1)
      _Scene_Item_onCategoryOk.call(this);
    else{
      this._itemActionWindow.select(0);
      this._itemActionWindow.activate();
    }
  };
 
  /**********************************************************************
  * Méthode : onActionOk (ajout)
  * Fonction : gère la validation du menu d'action
  * Params : --
  **********************************************************************/
  Scene_Item.prototype.onActionOk = function() {
    this._itemWindow.setMode(this._itemActionWindow.currentSymbol());
    this._itemWindow.activate();
    this._itemWindow.selectLast();
  };
 
  /**********************************************************************
  * Méthode : onActionCancel (ajout)
  * Fonction : gère l'annulation du menu d'action
  * Params : --
  **********************************************************************/
  Scene_Item.prototype.onActionCancel = function() {
    this._itemActionWindow.deselect();
    if(paramGroupAllItemType === 1)
      this.popScene();
    else{
      this._categoryWindow.activate();
    }
  };
 
  /**********************************************************************
  * Méthode : onItemOk (surcharge)
  * Fonction : ajoute la gestion de la suppression
  * Params : --
  **********************************************************************/
  var _Scene_Item_onItemOk = Scene_Item.prototype.onItemOk;
  Scene_Item.prototype.onItemOk = function() {
    if(this._itemActionWindow.currentSymbol() === 'use'){
      _Scene_Item_onItemOk.call(this);
    }else{
      // TODO voir pour ajouter une fenêtre de spécification du nombre
      $gameParty.loseItem(this.item(), 1);
      this._itemWindow.refresh();
      this._itemWindow.activate();
      if(this._itemWindow.index() === this._itemWindow.maxItems() && this._itemWindow.index() !== 0)
        this._itemWindow.select(this._itemWindow.maxItems()-1);
    }
  };
 
  /**********************************************************************
  * Méthode : onItemCancel (surcharge)
  * Fonction : ajoute la gestion du menu d'action
  * Params : --
  **********************************************************************/
  Scene_Item.prototype.onItemCancel = function() {
    this._itemWindow.deselect();
    if(paramGroupAllItemType === 1 && paramAddMenuDelete !== 1){
      this.popScene();
    }else if(paramAddMenuDelete === 1){
      this._itemActionWindow.activate();
    }else{
      this._categoryWindow.activate();
    }
  };
 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Scene_Equip
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : onItemOk (surcharge)
  * Fonction : Ajoute l'appel à la fonction de création de la fenêtre ItemCount
  * Params : --
  **********************************************************************/
  var _Scene_Equip_onItemOk = Scene_Equip.prototype.onItemOk;
  Scene_Equip.prototype.onItemOk = function() {
    if(this.actor().changeEquipPossible(this._slotWindow.index(), this._itemWindow.item()))
      _Scene_Equip_onItemOk.call(this);
    else{
      SoundManager.playBuzzer();
      this._itemWindow.activate();
    }
  };
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Window_ItemActionBank
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemActionBank() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemActionBank.prototype = Object.create(Window_HorzCommand.prototype);
  Window_ItemActionBank.prototype.constructor = Window_ItemActionBank;

  /**********************************************************************
  * Méthode : initialize
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemActionBank.prototype.initialize = function() {
    Window_HorzCommand.prototype.initialize.call(this, 0, 0);
  };

  /**********************************************************************
  * Méthode : windowWidth
  * Fonction : retourne la largeur de la fenêtre de jeu
  * Params : --
  **********************************************************************/
  Window_ItemActionBank.prototype.windowWidth = function() {
    return Graphics.boxWidth;
  };

  /**********************************************************************
  * Méthode : maxCols
  * Fonction : retourne le nombre max de colonne de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemActionBank.prototype.maxCols = function() {
    return 4;
  };

  /**********************************************************************
  * Méthode : makeCommandList
  * Fonction : cré la liste des commande du menu
  * Params : --
  **********************************************************************/
  Window_ItemActionBank.prototype.makeCommandList = function() {
    this.addCommand(paramNamePutOption, 'put');
    this.addCommand(paramNameGetOption, 'get');
    this.addCommand(paramNameBag + ' ' + paramNameDeleteOption, 'deleteBag');
    this.addCommand(paramNameBank + ' ' + paramNameDeleteOption, 'deleteBank');
  };
 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Window_ItemListBag
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemListBag() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemListBag.prototype = Object.create(Window_ItemList.prototype);
  Window_ItemListBag.prototype.constructor = Window_ItemListBag;

  /**********************************************************************
  * Méthode : maxCols
  * Fonction : force maxCols à 1
  * Params : --
  **********************************************************************/
  Window_ItemListBag.prototype.maxCols = function() {
    return 1;
  };
 
  /**********************************************************************
  * Méthode : isEnabled
  * Fonction : force isEnabled à true
  * Params : --
  **********************************************************************/
  Window_ItemListBag.prototype.isEnabled = function(item) {
    return true;
  };
 
  /**********************************************************************
  * Méthode : playOkSound
  * Fonction : force playOkSound à rien
  * Params : --
  **********************************************************************/
  Window_ItemListBag.prototype.playOkSound = function() {
  };
 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Window_ItemListBank
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemListBank() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemListBank.prototype = Object.create(Window_ItemListBag.prototype);
  Window_ItemListBank.prototype.constructor = Window_ItemListBank;
 
  /**********************************************************************
  * Méthode : initialize
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemListBank.prototype.initialize = function(x, y, width, height) {
    Window_ItemListBag.prototype.initialize.call(this, x, y, width, height);
  };
 
  /**********************************************************************
  * Méthode : updateCountWindow
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemListBank.prototype.updateCountWindow = function() {
    this._itemCountWindow.setValues($gameParty.bankNumAllStack(), $gameParty.bankLimit());
  };
 
  /**********************************************************************
  * Méthode : getAllItems
  * Fonction : récupère le contenu du stockage actif
  * Params : --
  **********************************************************************/
  Window_ItemListBank.prototype.getAllItems = function() {
    return $gameParty.bankAllItems();
  };
 
  /**********************************************************************
  * Méthode : getNumItem
  * Fonction : récupère la quantité de l'objet dans le stockage
  * Params : item : objet à dénombrer
  **********************************************************************/
  Window_ItemListBank.prototype.getNumItem = function(item) {
    return $gameParty.bankNumItems(item);
  };
 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Scene_Bank
  *----------------------------------------------------------------------
  **********************************************************************/
  function Scene_Bank() {
    this.initialize.apply(this, arguments);
  }

  Scene_Bank.prototype = Object.create(Scene_MenuBase.prototype);
  Scene_Bank.prototype.constructor = Scene_Bank;

  /**********************************************************************
  * Méthode : initialize
  * Fonction : Initialisation de la "classe" Scene_Bank
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.initialize = function() {
    Scene_MenuBase.prototype.initialize.call(this);
    this._mode = "";
  };
 
  /**********************************************************************
  * Méthode : create (surcharge)
  * Fonction : Permet d'appeler les fonctions de construction de la scene
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.create = function() {
    Scene_MenuBase.prototype.create.call(this);
    this.createHelpWindow();
    this.createCategoryWindow();
    this.createItemActionWindow();
    this.createItemWindow();

    if(paramGroupAllItemType === 1){
      this._categoryWindow.visible = false;
      this._itemWindowBag.setCategory('all');
      this._itemWindowBank.setCategory('all');
    }
   
    this._itemActionWindow.deactivate();
    this._categoryWindow.deactivate();
    if(paramGroupAllItemType === 1){
      this._itemActionWindow.select(0);
      this._itemActionWindow.activate();
    }else{
      this._itemActionWindow.deselect();
      this._categoryWindow.activate();
    }
   
  };

  /**********************************************************************
  * Méthode : createCategoryWindow (ajout)
  * Fonction : Construit la fenêtre de catégorie
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.createCategoryWindow = function() {
    this._categoryWindow = new Window_ItemCategory();
    this._categoryWindow.setHelpWindow(this._helpWindow);
    this._categoryWindow.y = this._helpWindow.height;
    this._categoryWindow.setHandler('ok',    this.onCategoryOk.bind(this));
    this._categoryWindow.setHandler('cancel', this.popScene.bind(this));
    this.addWindow(this._categoryWindow);
  };
 
  /**********************************************************************
  * Méthode : createItemActionWindow (ajout)
  * Fonction : Ajoute l'appel à la fonction de création de la fenêtre ItemCount
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.createItemActionWindow = function() {
    this._itemActionWindow = new Window_ItemActionBank();
    this._itemActionWindow.y = this._helpWindow.height + (paramGroupAllItemType === 0 ? this._categoryWindow.height : 0);
    this._itemActionWindow.setHandler('put', this.onActionPut.bind(this));
    this._itemActionWindow.setHandler('get', this.onActionGet.bind(this));
    this._itemActionWindow.setHandler('deleteBag', this.onActionDelBag.bind(this));
    this._itemActionWindow.setHandler('deleteBank', this.onActionDelBank.bind(this));
    this._itemActionWindow.setHandler('cancel', this.onActionCancel.bind(this));
    this.addWindow(this._itemActionWindow);
    http://this._windowLayer.addChildAt(this._itemActionWindow, 0);
  };

  /**********************************************************************
  * Méthode : createItemWindow (ajout)
  * Fonction : Ajoute les fenêtre de liste d'objet
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.createItemWindow = function() {
    var wy = this._itemActionWindow.y + this._itemActionWindow.height;
    var wh = Graphics.boxHeight - wy;
    this._itemWindowBag = new Window_ItemListBag(0, wy, Graphics.boxWidth / 2, wh);
    this._itemWindowBag.setHelpWindow(this._helpWindow);
    this._itemWindowBag.setHandler('ok',    this.onItemBagOk.bind(this));
    this._itemWindowBag.setHandler('cancel', this.onItemBagCancel.bind(this));
    this.addWindow(this._itemWindowBag);
    http://this._categoryWindow.setItemWindow(this._itemWindow); // gérer le changement dans l'update de la scene
   
    this._itemWindowBank = new Window_ItemListBank(Graphics.boxWidth / 2, wy, Graphics.boxWidth / 2, wh);
    this._itemWindowBank.setHelpWindow(this._helpWindow);
    this._itemWindowBank.setHandler('ok',    this.onItemBankOk.bind(this));
    this._itemWindowBank.setHandler('cancel', this.onItemBankCancel.bind(this));
    this.addWindow(this._itemWindowBank);
  };
 
  /**********************************************************************
  * Méthode : onCategoryOk (ajout)
  * Fonction : action sur validation de la fenêtre catégorie
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onCategoryOk = function() {
    this._itemWindowBag.setCategory(this._categoryWindow.currentSymbol());
    this._itemWindowBank.setCategory(this._categoryWindow.currentSymbol());
    this._itemActionWindow.select(0);
    this._itemActionWindow.activate();
  };
 
  /**********************************************************************
  * Méthode : onActionPut (ajout)
  * Fonction : action de dépot en stockage
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onActionPut = function() {
    this._itemWindowBag.select(0);
    this._itemWindowBag.activate();
    this._mode = "put";
  };
 
  /**********************************************************************
  * Méthode : onActionGet (ajout)
  * Fonction : action de récupération du stockage
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onActionGet = function() {
    this._itemWindowBank.select(0);
    this._itemWindowBank.activate();
    this._mode = "get";
  };
 
  /**********************************************************************
  * Méthode : onActionDelBag (ajout)
  * Fonction : action de suppression d'un objet de l'inventaire
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onActionDelBag = function() {
    this._itemWindowBag.select(0);
    this._itemWindowBag.activate();
    this._mode = "del_bag";
  };
   
  /**********************************************************************
  * Méthode : onActionDelBank (ajout)
  * Fonction : action de suppresion d'un objet du stockage
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onActionDelBank = function() {
    this._itemWindowBank.select(0);
    this._itemWindowBank.activate();
    this._mode = "del_bank";
  };
 
  /**********************************************************************
  * Méthode : onActionCancel (ajout)
  * Fonction : action d'annulation de choix d'action
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onActionCancel = function() {
    this._itemActionWindow.deselect();
    if(paramGroupAllItemType === 1)
      this.popScene();
    else{
      this._categoryWindow.activate();
      this._itemWindowBag.setCategory();
      this._itemWindowBank.setCategory();
    }
  };

  /**********************************************************************
  * Méthode : onItemBagOk (ajout)
  * Fonction : action sur validation d'un objet de la fenêtre d'inventaire
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onItemBagOk = function() {
    if(this._mode === "put" ){
      // Vérifier que le coffre ne soit pas plein avec le nouvel objet
      var offsetStack = $gameParty.bankNumItemStack(this._itemWindowBag.item(), 1) - $gameParty.bankNumItemStack(this._itemWindowBag.item());
      if($gameParty.bankNumAllStack() + offsetStack >= $gameParty.bankLimit())
        SoundManager.playBuzzer();
      else{
        SoundManager.playOk();
        $gameParty.loseItem(this._itemWindowBag.item(), 1);
        $gameParty.bankGainItem(this._itemWindowBag.item(), 1);
        this._itemWindowBag.refresh();
        this._itemWindowBank.refresh();
      }
      this._itemWindowBag.activate();
     
     
    }else if(this._mode === "del_bag" ){
      // TODO voir pour ajouter une fenêtre de spécification du nombre
      SoundManager.playOk();
      $gameParty.loseItem(this._itemWindowBag.item(), 1);
      this._itemWindowBag.refresh();
      this._itemWindowBag.activate();
      if(this._itemWindowBag.index() === this._itemWindowBag.maxItems() && this._itemWindowBag.index() !== 0)
        this._itemWindowBag.select(this._itemWindowBag.maxItems()-1);
    }
  };
 
  /**********************************************************************
  * Méthode : onItemBagCancel (ajout)
  * Fonction : action sur annulation fenêtre inventaire
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onItemBagCancel = function() {
    this._itemWindowBag.deselect();
    this._itemActionWindow.activate();
    this._mode = "";
  };
 
  /**********************************************************************
  * Méthode : onItemBankOk (ajout)
  * Fonction : action sur validation objet dans stockage
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onItemBankOk = function() {
    if(this._mode === "get" ){
      var offsetStack = $gameParty.numItemStack(this._itemWindowBank.item(), 1) - $gameParty.numItemStack(this._itemWindowBank.item());
      if($gameParty.numAllStack() + offsetStack >= $gameParty._bagLimit)
        SoundManager.playBuzzer();
      else{
        SoundManager.playOk();
        $gameParty.bankGainItem(this._itemWindowBank.item(), -1);
        $gameParty.gainItem(this._itemWindowBank.item(), 1);
        this._itemWindowBag.refresh();
        this._itemWindowBank.refresh();
      }
      this._itemWindowBank.activate();
     
    }else if(this._mode === "del_bank" ){
      // TODO voir pour ajouter une fenêtre de spécification du nombre
      SoundManager.playOk();
      $gameParty.bankGainItem(this._itemWindowBank.item(), -1);
      this._itemWindowBank.refresh();
      this._itemWindowBank.activate();
      if(this._itemWindowBank.index() === this._itemWindowBank.maxItems() && this._itemWindowBank.index() !== 0)
        this._itemWindowBank.select(this._itemWindowBank.maxItems()-1);
    }
  };
 
  /**********************************************************************
  * Méthode : onItemBankCancel (ajout)
  * Fonction : action sur annulation dans fenêtre de stockage
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onItemBankCancel = function() {
    this._itemWindowBank.deselect();
    this._itemActionWindow.activate();
    this._mode = "";
  };
 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Game_Interpreter
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : pluginCommand (surcharge)
  * Fonction : Ajoute la commande
  * Params : --
  **********************************************************************/
  var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
  Game_Interpreter.prototype.pluginCommand = function(command, args) {
    _Game_Interpreter_pluginCommand.call(this, command, args);
    if(command === 'LBB_openBank'){
      $gameParty.setBank(args[0]||'one');
      SceneManager.push(Scene_Bank);
    }else if(command === 'LBB_changeLimitBag'){
      $gameParty._bagLimit = args[0]||paramNbrOfDiffItem;
    }
  };
 
})();


La commande d'event pour ouvrir une banque (coffre) sera : LBB_openBank
Et pour modifier le contenu max de l'inventaire : LBB_changeLimitBag suivi du nombre de stack maximum : LBB_changeLimitBag 30
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: limiteur d'inventaire

le Jeu 16 Juin 2016 - 15:38
ok je teste ça tout de suite
merci

edit :

plus rien ne fonctionne
les stack reste à 99
les armes et armures sont stockées à part
la commande pour ouvrir un nouvel inventaire ne marche pas
avatar
tonyryu
Membre

Nombre de messages : 895
Age : 38
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: limiteur d'inventaire

le Jeu 16 Juin 2016 - 18:38
Il est bien activé le plugin? car je viens de tester, et j'ai pas de soucis.
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: limiteur d'inventaire

le Jeu 16 Juin 2016 - 19:21
oui tout est actif et j'ai désactivé les autres modules pour ête sûr






avatar
tonyryu
Membre

Nombre de messages : 895
Age : 38
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: limiteur d'inventaire

le Jeu 16 Juin 2016 - 22:31
au vue de la capture d'écran de l'inventaire, il est clair que le plugin n'est pas actif, je le recopie ici bas au cas où :

Code:
//=============================================================================
// Tonyryu_LimitBagBank.js
//=============================================================================

/*:
 * @plugindesc Plugin permettant de gérer une limite de l'inventaire
 * @version 0.0.9
 * @author Tonyryu (http://www.tonyryudev.com)
 *
 * @param GroupAllItemType
 * @desc Regrouper tous les types d'objet dans le menu objet (1 : actif)
 * @default 0
 *
 * @param AddDeleteMenu
 * @desc Ajouter un menu pour proposer le choix de jeter un objet (1 : actif)
 * @default 1
 *
 * @param NameUseOption
 * @desc Nom de l'option d'utilisation
 * @default Utiliser
 *
 * @param NameDeleteOption
 * @desc Nom de l'option de suppression
 * @default Jeter
 *
 * @param NbrOfDiffItem
 * @desc Nombre de type d'objet différent au départ
 * @default 20
 *
 * @param ItemStackDefault
 * @desc Quantité par défaut d'un stack pour les objets
 * @default 99
 *
 * @param ArmorStackDefault
 * @desc Quantité par défaut d'un stack pour les armures
 * @default 1
 *
 * @param WeaponStackDefault
 * @desc Quantité par défaut d'un stack pour les armes
 * @default 1
 *
 * @param BankNbrOfDiffItem
 * @desc Nombre de type d'objet différent dans la banque au départ
 * @default 100
 *
 * @param NameBag
 * @desc Nom de l'utilitaire de stockage du groupe
 * @default Sac
 *
 * @param NameBank
 * @desc Nom de l'utilitaire de stockage de masse
 * @default Banque
 *
 * @param NameGetOption
 * @desc Nom de l'option indiquant la récupération d'un objet en banque
 * @default Retirer
 *
 * @param NamePutOption
 * @desc Nom de l'option indiquant le dépot d'un objet en banque
 * @default Déposer
 *
 *
 * @help
 *
 */

/*
 * Suivi de version
 *
 *
 */
var Imported = Imported || {};
Imported.Tonyryu_LimitBagBank = true;

var Tonyryu = Tonyryu || {};
Tonyryu.LBB = Tonyryu.LBB || {};

(function() {

  var parameters = PluginManager.parameters('Tonyryu_LimitBagBank');
  var paramGroupAllItemType = Number(parameters['GroupAllItemType'] || 0);
  var paramAddMenuDelete = Number(parameters['AddDeleteMenu'] || 1);
  var paramNameDeleteOption = String(parameters['NameDeleteOption'] || 'Jeter');
  var paramNameUseOption = String(parameters['NameUseOption'] || 'Utiliser');
  var paramNbrOfDiffItem = Number(parameters['NbrOfDiffItem'] || 20);
  var paramItemStackDefault = Number(parameters['ItemStackDefault'] || 99);
  var paramArmorStackDefault = Number(parameters['ArmorStackDefault'] || 1);
  var paramWeaponStackDefault = Number(parameters['WeaponStackDefault'] || 1);
  var paramBankNbrOfDiffItem = Number(parameters['BankNbrOfDiffItem'] || 100);
  var paramNameBank = String(parameters['NameBank'] || 'Banque');
  var paramNameBag = String(parameters['NameBag'] || 'Sac');
  var paramNameGetOption = String(parameters['NameGetOption'] || 'Retirer');
  var paramNamePutOption = String(parameters['NamePutOption'] || 'Déposer');
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Game_Actor
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : unequipPossible (ajout)
  * Fonction : vérifie la possibilité de déséquiper un slot
  * Params : slotId : index du slot
  **********************************************************************/
  Game_Actor.prototype.unequipPossible = function(slotId) {
    var itemEquip = this.equips()[slotId];
    if($gameParty.bagFull() && itemEquip){
      var stackDif = $gameParty.numItemStack(itemEquip) - $gameParty.numItemStack(itemEquip, 1);
      if(stackDif < 0)
        return false;
    }
    return true;
  };

  /**********************************************************************
  * Méthode : changeEquipPossible (ajout)
  * Fonction : vérifie la possibilité de changer d'équipement
  * Params : slotId : index du slot
  *          item  : objet a équipper
  **********************************************************************/
  Game_Actor.prototype.changeEquipPossible = function(slotId, item) {
    var itemEquip = this.equips()[slotId];
    var stackDif = 0;
    if(itemEquip)
      stackDif += $gameParty.numItemStack(itemEquip, 1) - $gameParty.numItemStack(itemEquip);
    if(item)
      stackDif += $gameParty.numItemStack(item, -1) - $gameParty.numItemStack(item);
    return ($gameParty.numAllStack() + stackDif <= $gameParty._bagLimit);
  };
 
  /**********************************************************************
  * Méthode : changeEquip (surcharge)
  * Fonction : vérifie la possibilité de changer un slot
  * Params : slotId : index du slot
  *          item  : objet a équipper
  **********************************************************************/
  var _Game_Actor_changeEquip = Game_Actor.prototype.changeEquip;
  Game_Actor.prototype.changeEquip = function(slotId, item) {
    if(this.changeEquipPossible(slotId, item))
      _Game_Actor_changeEquip.call(this, slotId, item);
  };


  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Game_Party
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : numAllStack (ajout)
  * Fonction : retourne le nombre de stack dans l'inventaire
  * Params : --
  **********************************************************************/
  Game_Party.prototype.numAllStack = function() {
    // pour chaque objet possédés
    var n = 0;
    $gameParty.allItems().forEach(function(item) {
      n += $gameParty.numItemStack(item);
    });
    return n;
  };
 
  /**********************************************************************
  * Méthode : bagFull (ajout)
  * Fonction : permet se savoir si le sac est plein
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bagFull = function() {
    return (this.numAllStack() >= this._bagLimit );
  };
 
  /**********************************************************************
  * Méthode : stackLimit (ajout)
  * Fonction : retourne la limite d'un stack pour un objet
  * Params : --
  **********************************************************************/
  Game_Party.prototype.stackLimit = function(item) {
    var limit = 0 ;
    var typeItem = '';
    if (!item) {
      return 1;
    }
   
    limit = item.meta.StackLimit || 0;
   
    if (DataManager.isItem(item)) {
      typeItem = 'i';
      limit = this._modStackLimit._items[item.id] || limit;
    } else if (DataManager.isWeapon(item)) {
      typeItem = 'w';
      limit = this._modStackLimit._weapons[item.id] || limit;
    } else if (DataManager.isArmor(item)) {
      typeItem = 'a';
      limit = this._modStackLimit._armors[item.id] || limit;
    } else {
      return 1;
    }

    if(limit > 0)
      return limit;
   
    limit = item.meta.StackLimit || 0;

    if(limit > 0)
      return limit;
    if(typeItem === 'i')
      return paramItemStackDefault;
    if(typeItem === 'w')
      return paramWeaponStackDefault;
    if(typeItem === 'a')
      return paramArmorStackDefault;
    return 1;
  };
 
  /**********************************************************************
  * Méthode : numItemStack (ajout)
  * Fonction : retourne le nombre de stack pris par un objet
  * Params : item : objet dont il faut numérer les stack
  *          offset : décalage du nombre d'objet
  **********************************************************************/
  Game_Party.prototype.numItemStack = function(item, offset) {
    if((this.numItems(item) + (offset || 0)) === 0)
      return 0;
    return Math.floor((this.numItems(item)-1 + (offset || 0))/ this.stackLimit(item)) + 1;
  };
 
  /**********************************************************************
  * Méthode : initAllItems (surcharge)
  * Fonction : Ajoute la liste des recettes
  * Params : --
  **********************************************************************/
  var _Game_Party_initAllItems = Game_Party.prototype.initAllItems;
  Game_Party.prototype.initAllItems = function() {
    _Game_Party_initAllItems.call(this);
    this._bank = {};
    this._bagLimit = paramNbrOfDiffItem;
    this._modStackLimit = {};
    this._modStackLimit._items = {};
    this._modStackLimit._weapons = {};
    this._modStackLimit._armors = {};
   
    this._bankSelect = 'one';
    this._listBank = {};
    this.setBank();
  };
 
  /**********************************************************************
  * Méthode : maxItems (remplacement)
  * Fonction : modifie la limite du nombre d'objet à 999999
  * Params : item : objet dont il faut connaitre la limite
  **********************************************************************/
  Game_Party.prototype.maxItems = function(item) {
    return 999999;
  };
 
  /**********************************************************************
  * Méthode : gainItem (surcharge)
  * Fonction : Ajoute ou retire une recette de la liste des recettes
  * Params : item : objet a ajouter dans l'inventaire
  *          amount : nombre d'ojet à ajouter
  *          includeEquip : flag indiquant si c'est une pièce à équiper
  **********************************************************************/
  var _Game_Party_gainItem = Game_Party.prototype.gainItem;
  Game_Party.prototype.gainItem = function(item, amount, includeEquip) {
    if(amount < 0)
      _Game_Party_gainItem.call(this, item, amount, includeEquip);
    else{
      var stackLimit = this.stackLimit(item);
      var numItemStack = this.numItemStack(item);
      var stackPlus = this.numItemStack(item, amount) - numItemStack;
      if(this.numAllStack() + stackPlus <= this._bagLimit)
        _Game_Party_gainItem.call(this, item, amount, includeEquip);
      else{
        stackPlus = this._bagLimit - this.numAllStack();
        _Game_Party_gainItem.call(this, item, ((numItemStack + stackPlus) * stackLimit) - this.numItems(item), includeEquip);
      }
    }
  };

  /**********************************************************************
  * Méthode : setBank (ajout)
  * Fonction : permet de se positionner sur une banque
  * Params : pNomBank : code optionnel d'un espace de stockage
  **********************************************************************/
  Game_Party.prototype.setBank = function(pNomBank) {
    this._bankSelect = pNomBank || 'one';
    if(!this._listBank[this._bankSelect]){
      this._listBank[this._bankSelect] = {};
      this._listBank[this._bankSelect]._bankLimit = paramBankNbrOfDiffItem;
      this._listBank[this._bankSelect]._items = {};
      this._listBank[this._bankSelect]._weapons = {};
      this._listBank[this._bankSelect]._armors = {};
      this._listBank[this._bankSelect]._modStackLimit = {};
      this._listBank[this._bankSelect]._modStackLimit._items = {};
      this._listBank[this._bankSelect]._modStackLimit._weapons = {};
      this._listBank[this._bankSelect]._modStackLimit._armors = {};
    }
  };
 
  /**********************************************************************
  * Méthode : bankLimit (ajout)
  * Fonction : permet de retourner la limite de stack de l'espace de stockage en cours
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankLimit = function() {
    return this._listBank[this._bankSelect]._bankLimit;
  };
 
  /**********************************************************************
  * Méthode : bankItems (ajout)
  * Fonction : retourne un tableau contenant les objets du stockage
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankItems = function() {
    var list = [];
    for (var id in this._listBank[this._bankSelect]._items) {
        list.push($dataItems[id]);
    }
    return list;
  };
 
  /**********************************************************************
  * Méthode : bankWeapons (ajout)
  * Fonction : retourne les armes stockés
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankWeapons = function() {
    var list = [];
    for (var id in this._listBank[this._bankSelect]._weapons) {
        list.push($dataWeapons[id]);
    }
    return list;
  };

  /**********************************************************************
  * Méthode : bankArmors (ajout)
  * Fonction : retourne les pièces d'armure du stockage
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankArmors = function() {
    var list = [];
    for (var id in this._listBank[this._bankSelect]._armors) {
        list.push($dataArmors[id]);
    }
    return list;
  };

  /**********************************************************************
  * Méthode : bankEquipItems (ajout)
  * Fonction : retourne les armes et armures du stockage
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankEquipItems = function() {
    return this.bankWeapons().concat(this.bankArmors());
  };

  /**********************************************************************
  * Méthode : bankAllItems (ajout)
  * Fonction : retourne tous le stockage
  * Params : pNomBank : code optionnel d'un espace de stockage
  **********************************************************************/
  Game_Party.prototype.bankAllItems = function() {
    return this.bankItems().concat(this.bankEquipItems());
  };
 
  /**********************************************************************
  * Méthode : bankNumAllStack (ajout)
  * Fonction : retourne le nombre de stack dans la banque sélectionnée
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankNumAllStack = function() {
    // pour chaque objet possédés
    var n = 0;
    $gameParty.bankAllItems().forEach(function(item) {
      n += $gameParty.bankNumItemStack(item);
    });
    return n;
  };
 
  /**********************************************************************
  * Méthode : bankFull (ajout)
  * Fonction : permet se savoir si la banque sélectionnée est pleine
  * Params : --
  **********************************************************************/
  Game_Party.prototype.bankFull = function() {
    return (this.bankNumAllStack() >= this.bankLimit() );
  };
 
  /**********************************************************************
  * Méthode : bankItemContainer (ajout)
  * Fonction : retourne le conteneur de l'objet transmis
  * Params : item : objet
  **********************************************************************/
  Game_Party.prototype.bankItemContainer = function(item) {
    if (!item) {
        return null;
    } else if (DataManager.isItem(item)) {
        return this._listBank[this._bankSelect]._items;
    } else if (DataManager.isWeapon(item)) {
        return this._listBank[this._bankSelect]._weapons;
    } else if (DataManager.isArmor(item)) {
        return this._listBank[this._bankSelect]._armors;
    } else {
        return null;
    }
  };
 
  /**********************************************************************
  * Méthode : bankGainItem (ajout)
  * Fonction : permet d'ajouter un objet dans l'espace de stockage
  * Params : item : objet à ajouter
  *          amount : nombre d'objet
  **********************************************************************/
  Game_Party.prototype.bankGainItem = function(item, amount) {
    if(amount > 0){
      var stackLimit = this.stackLimit(item);
      var numItemStack = this.numItemStack(item);
      var stackPlus = this.numItemStack(item, amount) - numItemStack;
      if(this.bankNumAllStack() + stackPlus > this._listBank[this._bankSelect]._bankLimit){
        stackPlus = this._listBank[this._bankSelect]._bankLimit - this.bankNumAllStack();
        amount = ((numItemStack + stackPlus) * stackLimit) - this.bankNumItems(item);
      }
    }
    if(amount !== 0){
      var container = this.bankItemContainer(item);
      if (container) {
        var lastNumber = this.bankNumItems(item);
        var newNumber = lastNumber + amount;
        container[item.id] = newNumber.clamp(0, this.maxItems(item));
        if (container[item.id] === 0) {
          delete container[item.id];
        }
      }
    }
  };
 
  /**********************************************************************
  * Méthode : bankNumItems (ajout)
  * Fonction : permet d'ajouter un objet dans l'espace de stockage
  * Params : item : objet à ajouter
  **********************************************************************/
  Game_Party.prototype.bankNumItems = function(item) {
    var container = this.bankItemContainer(item);
    return container ? container[item.id] || 0 : 0;
  };
 
  /**********************************************************************
  * Méthode : bankNumItemStack (ajout)
  * Fonction : retourne le nombre de stack pris par un objet
  * Params : item : objet dont il faut numérer les stack
  *          offset : décalage du nombre d'objet
  **********************************************************************/
  Game_Party.prototype.bankNumItemStack = function(item, offset) {
    if((this.bankNumItems(item) + (offset || 0)) === 0)
      return 0;
    return Math.floor((this.bankNumItems(item)-1 + (offset || 0))/ this.stackLimit(item)) + 1;
  };
 
 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Window_ItemAction
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemAction() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemAction.prototype = Object.create(Window_HorzCommand.prototype);
  Window_ItemAction.prototype.constructor = Window_ItemAction;

  /**********************************************************************
  * Méthode : initialize
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemAction.prototype.initialize = function() {
    Window_HorzCommand.prototype.initialize.call(this, 0, 0);
    this.visible = false;
  };

  /**********************************************************************
  * Méthode : windowWidth
  * Fonction : retourne la largeur de la fenêtre de jeu
  * Params : --
  **********************************************************************/
  Window_ItemAction.prototype.windowWidth = function() {
    return Graphics.boxWidth;
  };

  /**********************************************************************
  * Méthode : maxCols
  * Fonction : retourne le nombre max de colonne de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemAction.prototype.maxCols = function() {
    return 2;
  };

  /**********************************************************************
  * Méthode : makeCommandList
  * Fonction : cré la liste des commande du menu
  * Params : --
  **********************************************************************/
  Window_ItemAction.prototype.makeCommandList = function() {
    this.addCommand(paramNameUseOption,    'use');
    this.addCommand(paramNameDeleteOption, 'delete');
  };

 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création d'une nouvelle "classe" Window_ItemCount
  *  hérite de la classe Window_Base
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemCount() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemCount.prototype = Object.create(Window_Base.prototype);
  Window_ItemCount.prototype.constructor = Window_ItemCount;

  /**********************************************************************
  * Méthode : initialize
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemCount.prototype.initialize = function(pX, pY) {
    Window_Base.prototype.initialize.call(this, pX, pY, 100, this.fittingHeight(1));
    this._max = 0;//$gameParty._limitNbrItem;
    this._number = 0;//$gameParty.numAllStack();
    this.backOpacity = 0;
    this.opacity = 0;
    this.refresh();
  };
 
  /**********************************************************************
  * Méthode : refresh
  * Fonction : permet de recréer le contenu de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemCount.prototype.refresh = function(){
    this.contents.clear();
    this.drawText(String(this._number)+'/'+String(this._max), 0, 0, this.contentsWidth());
  };
 
  /**********************************************************************
  * Méthode : setValues
  * Fonction : permet de modifier la valeur courante et la valeur Max
  * Params : --
  **********************************************************************/
  Window_ItemCount.prototype.setValues = function(pCurrent, pMax){
    if(this._max !== pMax || this._number !== pCurrent ){
      this._max = pMax;
      this._number = pCurrent;
      this.refresh();
    }
  };
 

  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Window_ItemList
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : initialize (surcharge)
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  var _Window_ItemList_initialize = Window_ItemList.prototype.initialize;
  Window_ItemList.prototype.initialize = function(x, y, width, height) {
    _Window_ItemList_initialize.call(this, x, y, width, height);
    this._dataNumItem = [];
    this._itemCountWindow = new Window_ItemCount();
    this._itemCountWindow.x = this.width - this._itemCountWindow.width + 14;
    this._itemCountWindow.y = this.height - this._itemCountWindow.height + 14;
    this.addChild(this._itemCountWindow);
  };

  /**********************************************************************
  * Méthode : spacing (ajout)
  * Fonction : définie à 12 l'espacement entre les objets
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.spacing = function() {
    return 12;
  };
 
  /**********************************************************************
  * Méthode : itemWidth (ajout)
  * Fonction : modifie la largeur de la sélection si compteur présent
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.itemWidth = function() {
    var newWidth = Window_Selectable.prototype.itemWidth.call(this);
    if(this._itemCountWindow)
      newWidth -= ((this.width - this._itemCountWindow.x) / this.maxCols());
    return newWidth;
  };

  /**********************************************************************
  * Méthode : includes (surcharge)
  * Fonction : permet de gérer la catégorie all
  * Params : --
  **********************************************************************/
  var _Window_ItemList_includes = Window_ItemList.prototype.includes;
  Window_ItemList.prototype.includes = function(item) {
    if(!item)
      return false;
    if(this._category !== 'all')
      return _Window_ItemList_includes.call(this, item);
    else{
      return true;
    }
  };

  /**********************************************************************
  * Méthode : setCategory (surcharge)
  * Fonction : permet d'afficher tous les objets si tout est groupé
  * Params : --
  **********************************************************************/
  var _Window_ItemList_setCategory = Window_ItemList.prototype.setCategory;
  Window_ItemList.prototype.setCategory = function(category) {
    if(paramGroupAllItemType === 1)
      category = 'all';
    _Window_ItemList_setCategory.call(this, category);
  };
 
  /**********************************************************************
  * Méthode : setMode (ajout)
  * Fonction : permet de changer le mode d'affichage
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.setMode = function(mode) {
    if(this._mode !== mode){
      this._mode = mode;
      this.refresh();
    }
  };
 
  /**********************************************************************
  * Méthode : isEnabled (surcharge)
  * Fonction : permet de rendre actif tous les objets si pas en mode 'use'
  * Params : --
  **********************************************************************/
  var _Window_ItemList_isEnabled = Window_ItemList.prototype.isEnabled;
  Window_ItemList.prototype.isEnabled = function(item) {
    if((this._mode || 'use') === 'use')
      return _Window_ItemList_isEnabled.call(this, item);
    return true;
  };
 
  /**********************************************************************
  * Méthode : getAllItems (ajout)
  * Fonction : permet de récupérer tous les objets de l'inventaire
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.getAllItems = function() {
    return $gameParty.allItems();
  };
 
  /**********************************************************************
  * Méthode : getNumItem (ajout)
  * Fonction : permet connaitre la quantité de l'objet
  * Params : item : objet à dénombrer
  **********************************************************************/
  Window_ItemList.prototype.getNumItem = function(item) {
    return $gameParty.numItems(item);
  };
 
  /**********************************************************************
  * Méthode : makeItemList (surcharge)
  * Fonction : construit la liste des objets affichables
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.makeItemList = function() {
    this._data = [];
    this._dataNumItem = [];
    var dataItemParty = [];
    dataItemParty = this.getAllItems().filter(function(item) {
      return this.includes(item);
    }, this);
    if (this.includes(null)) {
      dataItemParty.push(null);
    }
   
    for(var i = 0; i < dataItemParty.length; i++) {
      var item = dataItemParty[i];
      if(item === null)
        this._data.push(item);
      else{
        var stackLimit = $gameParty.stackLimit(item);
        var num = this.getNumItem(item);
        while(num > 0) {
          var stackSize = Math.min(stackLimit, num);
          this._data.push(item);
          this._dataNumItem.push(stackSize);
          num -= stackLimit;
        }
      }
    }
  };
 
  /**********************************************************************
  * Méthode : drawItem (surcharge)
  * Fonction : ajoute la gestion du nombre d'objet sur un stack
  * Params : --
  **********************************************************************/
  var _Window_ItemList_drawItem = Window_ItemList.prototype.drawItem;
  Window_ItemList.prototype.drawItem = function(index) {
    this._numItemSave = this._dataNumItem[index];
    _Window_ItemList_drawItem.call(this, index);
  };
 
  /**********************************************************************
  * Méthode : drawItemNumber (surcharge)
  * Fonction : prend en charge la propriété du nombre d'objet d'un stack
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.drawItemNumber = function(item, x, y, width) {
    if (this.needsNumber()) {
      this.drawText(':', x, y, width - this.textWidth('00'), 'right');
      this.drawText(this._numItemSave, x, y, width, 'right');
    }
  };
 
  /**********************************************************************
  * Méthode : updateCountWindow (ajout)
  * Fonction : ajoute la mise à jour du compteur
  * Params : --
  **********************************************************************/
  Window_ItemList.prototype.updateCountWindow = function() {
    this._itemCountWindow.setValues($gameParty.numAllStack(), $gameParty._bagLimit);
  };
 
  /**********************************************************************
  * Méthode : update (surcharge)
  * Fonction : ajoute la gestion du nombre d'objet sur un stack
  * Params : --
  **********************************************************************/
  var _Window_ItemList_update = Window_ItemList.prototype.update;
  Window_ItemList.prototype.update = function() {
    if(this._itemCountWindow){
      if(this._itemCountWindow.x !== this.width - this._itemCountWindow.width + 14)
        this._itemCountWindow.x = this.width - this._itemCountWindow.width + 14;
      if(this._itemCountWindow.y !== this.height - this._itemCountWindow.height + 14)
        this._itemCountWindow.y = this.height - this._itemCountWindow.height + 14;
      this.updateCountWindow();
    }
    _Window_ItemList_update.call(this);
  };

  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Scene_Item
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : create (surcharge)
  * Fonction : Ajoute l'appel à la fonction de création de la fenêtre ItemCount
  * Params : --
  **********************************************************************/
  var _Scene_Item_create = Scene_Item.prototype.create;
  Scene_Item.prototype.create = function() {
    _Scene_Item_create.call(this);
    this.createItemActionWindow();
   
    if(paramGroupAllItemType === 1){
      this._categoryWindow.visible = false;
      this._itemWindow.y -= this._categoryWindow.height;
      this._itemWindow.height += this._categoryWindow.height;
      this._itemWindow.setCategory('all');
    }
    if(paramAddMenuDelete === 1){
      this._itemActionWindow.visible = true;
      this._itemWindow.y += this._itemActionWindow.height;
      this._itemWindow.height -= this._itemActionWindow.height;
    }
   
    this._itemWindow.deactivate();
    this._itemActionWindow.deactivate();
    this._categoryWindow.deactivate();
    if(paramGroupAllItemType === 1 && paramAddMenuDelete !== 1){
      this._itemWindow.activate();
      this._itemWindow.selectLast();
    }else if(paramGroupAllItemType === 1){
      this._itemActionWindow.select(0);
      this._itemActionWindow.activate();
    }else{
      this._itemActionWindow.deselect();
      this._categoryWindow.activate();
    }
   
  };
 
  /**********************************************************************
  * Méthode : createItemActionWindow (ajout)
  * Fonction : Ajoute l'appel à la fonction de création de la fenêtre ItemCount
  * Params : --
  **********************************************************************/
  Scene_Item.prototype.createItemActionWindow = function() {
    this._itemActionWindow = new Window_ItemAction();
    this._itemActionWindow.y = this._helpWindow.height + (paramGroupAllItemType === 0 ? this._categoryWindow.height : 0);
    this._itemActionWindow.setHandler('ok', this.onActionOk.bind(this));
    this._itemActionWindow.setHandler('cancel', this.onActionCancel.bind(this));
    this._windowLayer.addChildAt(this._itemActionWindow, 0);

  };
 
  /**********************************************************************
  * Méthode : onCategoryOk (surcharge)
  * Fonction : ajoute la gestion de suppression
  * Params : --
  **********************************************************************/
  var _Scene_Item_onCategoryOk = Scene_Item.prototype.onCategoryOk;
  Scene_Item.prototype.onCategoryOk = function() {
    if(paramAddMenuDelete !== 1)
      _Scene_Item_onCategoryOk.call(this);
    else{
      this._itemActionWindow.select(0);
      this._itemActionWindow.activate();
    }
  };
 
  /**********************************************************************
  * Méthode : onActionOk (ajout)
  * Fonction : gère la validation du menu d'action
  * Params : --
  **********************************************************************/
  Scene_Item.prototype.onActionOk = function() {
    this._itemWindow.setMode(this._itemActionWindow.currentSymbol());
    this._itemWindow.activate();
    this._itemWindow.selectLast();
  };
 
  /**********************************************************************
  * Méthode : onActionCancel (ajout)
  * Fonction : gère l'annulation du menu d'action
  * Params : --
  **********************************************************************/
  Scene_Item.prototype.onActionCancel = function() {
    this._itemActionWindow.deselect();
    if(paramGroupAllItemType === 1)
      this.popScene();
    else{
      this._categoryWindow.activate();
    }
  };
 
  /**********************************************************************
  * Méthode : onItemOk (surcharge)
  * Fonction : ajoute la gestion de la suppression
  * Params : --
  **********************************************************************/
  var _Scene_Item_onItemOk = Scene_Item.prototype.onItemOk;
  Scene_Item.prototype.onItemOk = function() {
    if(this._itemActionWindow.currentSymbol() === 'use'){
      _Scene_Item_onItemOk.call(this);
    }else{
      // TODO voir pour ajouter une fenêtre de spécification du nombre
      $gameParty.loseItem(this.item(), 1);
      this._itemWindow.refresh();
      this._itemWindow.activate();
      if(this._itemWindow.index() === this._itemWindow.maxItems() && this._itemWindow.index() !== 0)
        this._itemWindow.select(this._itemWindow.maxItems()-1);
    }
  };
 
  /**********************************************************************
  * Méthode : onItemCancel (surcharge)
  * Fonction : ajoute la gestion du menu d'action
  * Params : --
  **********************************************************************/
  Scene_Item.prototype.onItemCancel = function() {
    this._itemWindow.deselect();
    if(paramGroupAllItemType === 1 && paramAddMenuDelete !== 1){
      this.popScene();
    }else if(paramAddMenuDelete === 1){
      this._itemActionWindow.activate();
    }else{
      this._categoryWindow.activate();
    }
  };
 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Scene_Equip
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : onItemOk (surcharge)
  * Fonction : Ajoute l'appel à la fonction de création de la fenêtre ItemCount
  * Params : --
  **********************************************************************/
  var _Scene_Equip_onItemOk = Scene_Equip.prototype.onItemOk;
  Scene_Equip.prototype.onItemOk = function() {
    if(this.actor().changeEquipPossible(this._slotWindow.index(), this._itemWindow.item()))
      _Scene_Equip_onItemOk.call(this);
    else{
      SoundManager.playBuzzer();
      this._itemWindow.activate();
    }
  };
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Window_ItemActionBank
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemActionBank() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemActionBank.prototype = Object.create(Window_HorzCommand.prototype);
  Window_ItemActionBank.prototype.constructor = Window_ItemActionBank;

  /**********************************************************************
  * Méthode : initialize
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemActionBank.prototype.initialize = function() {
    Window_HorzCommand.prototype.initialize.call(this, 0, 0);
  };

  /**********************************************************************
  * Méthode : windowWidth
  * Fonction : retourne la largeur de la fenêtre de jeu
  * Params : --
  **********************************************************************/
  Window_ItemActionBank.prototype.windowWidth = function() {
    return Graphics.boxWidth;
  };

  /**********************************************************************
  * Méthode : maxCols
  * Fonction : retourne le nombre max de colonne de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemActionBank.prototype.maxCols = function() {
    return 4;
  };

  /**********************************************************************
  * Méthode : makeCommandList
  * Fonction : cré la liste des commande du menu
  * Params : --
  **********************************************************************/
  Window_ItemActionBank.prototype.makeCommandList = function() {
    this.addCommand(paramNamePutOption, 'put');
    this.addCommand(paramNameGetOption, 'get');
    this.addCommand(paramNameBag + ' ' + paramNameDeleteOption, 'deleteBag');
    this.addCommand(paramNameBank + ' ' + paramNameDeleteOption, 'deleteBank');
  };
 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Window_ItemListBag
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemListBag() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemListBag.prototype = Object.create(Window_ItemList.prototype);
  Window_ItemListBag.prototype.constructor = Window_ItemListBag;

  /**********************************************************************
  * Méthode : maxCols
  * Fonction : force maxCols à 1
  * Params : --
  **********************************************************************/
  Window_ItemListBag.prototype.maxCols = function() {
    return 1;
  };
 
  /**********************************************************************
  * Méthode : isEnabled
  * Fonction : force isEnabled à true
  * Params : --
  **********************************************************************/
  Window_ItemListBag.prototype.isEnabled = function(item) {
    return true;
  };
 
  /**********************************************************************
  * Méthode : playOkSound
  * Fonction : force playOkSound à rien
  * Params : --
  **********************************************************************/
  Window_ItemListBag.prototype.playOkSound = function() {
  };
 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Window_ItemListBank
  *----------------------------------------------------------------------
  **********************************************************************/
  function Window_ItemListBank() {
    this.initialize.apply(this, arguments);
  }

  Window_ItemListBank.prototype = Object.create(Window_ItemListBag.prototype);
  Window_ItemListBank.prototype.constructor = Window_ItemListBank;
 
  /**********************************************************************
  * Méthode : initialize
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemListBank.prototype.initialize = function(x, y, width, height) {
    Window_ItemListBag.prototype.initialize.call(this, x, y, width, height);
  };
 
  /**********************************************************************
  * Méthode : updateCountWindow
  * Fonction : initialisation de la fenêtre
  * Params : --
  **********************************************************************/
  Window_ItemListBank.prototype.updateCountWindow = function() {
    this._itemCountWindow.setValues($gameParty.bankNumAllStack(), $gameParty.bankLimit());
  };
 
  /**********************************************************************
  * Méthode : getAllItems
  * Fonction : récupère le contenu du stockage actif
  * Params : --
  **********************************************************************/
  Window_ItemListBank.prototype.getAllItems = function() {
    return $gameParty.bankAllItems();
  };
 
  /**********************************************************************
  * Méthode : getNumItem
  * Fonction : récupère la quantité de l'objet dans le stockage
  * Params : item : objet à dénombrer
  **********************************************************************/
  Window_ItemListBank.prototype.getNumItem = function(item) {
    return $gameParty.bankNumItems(item);
  };
 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Création de la "classe" Scene_Bank
  *----------------------------------------------------------------------
  **********************************************************************/
  function Scene_Bank() {
    this.initialize.apply(this, arguments);
  }

  Scene_Bank.prototype = Object.create(Scene_MenuBase.prototype);
  Scene_Bank.prototype.constructor = Scene_Bank;

  /**********************************************************************
  * Méthode : initialize
  * Fonction : Initialisation de la "classe" Scene_Bank
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.initialize = function() {
    Scene_MenuBase.prototype.initialize.call(this);
    this._mode = "";
  };
 
  /**********************************************************************
  * Méthode : create (surcharge)
  * Fonction : Permet d'appeler les fonctions de construction de la scene
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.create = function() {
    Scene_MenuBase.prototype.create.call(this);
    this.createHelpWindow();
    this.createCategoryWindow();
    this.createItemActionWindow();
    this.createItemWindow();

    if(paramGroupAllItemType === 1){
      this._categoryWindow.visible = false;
      this._itemWindowBag.setCategory('all');
      this._itemWindowBank.setCategory('all');
    }
   
    this._itemActionWindow.deactivate();
    this._categoryWindow.deactivate();
    if(paramGroupAllItemType === 1){
      this._itemActionWindow.select(0);
      this._itemActionWindow.activate();
    }else{
      this._itemActionWindow.deselect();
      this._categoryWindow.activate();
    }
   
  };

  /**********************************************************************
  * Méthode : createCategoryWindow (ajout)
  * Fonction : Construit la fenêtre de catégorie
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.createCategoryWindow = function() {
    this._categoryWindow = new Window_ItemCategory();
    this._categoryWindow.setHelpWindow(this._helpWindow);
    this._categoryWindow.y = this._helpWindow.height;
    this._categoryWindow.setHandler('ok',    this.onCategoryOk.bind(this));
    this._categoryWindow.setHandler('cancel', this.popScene.bind(this));
    this.addWindow(this._categoryWindow);
  };
 
  /**********************************************************************
  * Méthode : createItemActionWindow (ajout)
  * Fonction : Ajoute l'appel à la fonction de création de la fenêtre ItemCount
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.createItemActionWindow = function() {
    this._itemActionWindow = new Window_ItemActionBank();
    this._itemActionWindow.y = this._helpWindow.height + (paramGroupAllItemType === 0 ? this._categoryWindow.height : 0);
    this._itemActionWindow.setHandler('put', this.onActionPut.bind(this));
    this._itemActionWindow.setHandler('get', this.onActionGet.bind(this));
    this._itemActionWindow.setHandler('deleteBag', this.onActionDelBag.bind(this));
    this._itemActionWindow.setHandler('deleteBank', this.onActionDelBank.bind(this));
    this._itemActionWindow.setHandler('cancel', this.onActionCancel.bind(this));
    this.addWindow(this._itemActionWindow);
    http://this._windowLayer.addChildAt(this._itemActionWindow, 0);
  };

  /**********************************************************************
  * Méthode : createItemWindow (ajout)
  * Fonction : Ajoute les fenêtre de liste d'objet
  * Params : --
  **********************************************************************/
  Scene_Bank.prototype.createItemWindow = function() {
    var wy = this._itemActionWindow.y + this._itemActionWindow.height;
    var wh = Graphics.boxHeight - wy;
    this._itemWindowBag = new Window_ItemListBag(0, wy, Graphics.boxWidth / 2, wh);
    this._itemWindowBag.setHelpWindow(this._helpWindow);
    this._itemWindowBag.setHandler('ok',    this.onItemBagOk.bind(this));
    this._itemWindowBag.setHandler('cancel', this.onItemBagCancel.bind(this));
    this.addWindow(this._itemWindowBag);
    http://this._categoryWindow.setItemWindow(this._itemWindow); // gérer le changement dans l'update de la scene
   
    this._itemWindowBank = new Window_ItemListBank(Graphics.boxWidth / 2, wy, Graphics.boxWidth / 2, wh);
    this._itemWindowBank.setHelpWindow(this._helpWindow);
    this._itemWindowBank.setHandler('ok',    this.onItemBankOk.bind(this));
    this._itemWindowBank.setHandler('cancel', this.onItemBankCancel.bind(this));
    this.addWindow(this._itemWindowBank);
  };
 
  /**********************************************************************
  * Méthode : onCategoryOk (ajout)
  * Fonction : action sur validation de la fenêtre catégorie
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onCategoryOk = function() {
    this._itemWindowBag.setCategory(this._categoryWindow.currentSymbol());
    this._itemWindowBank.setCategory(this._categoryWindow.currentSymbol());
    this._itemActionWindow.select(0);
    this._itemActionWindow.activate();
  };
 
  /**********************************************************************
  * Méthode : onActionPut (ajout)
  * Fonction : action de dépot en stockage
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onActionPut = function() {
    this._itemWindowBag.select(0);
    this._itemWindowBag.activate();
    this._mode = "put";
  };
 
  /**********************************************************************
  * Méthode : onActionGet (ajout)
  * Fonction : action de récupération du stockage
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onActionGet = function() {
    this._itemWindowBank.select(0);
    this._itemWindowBank.activate();
    this._mode = "get";
  };
 
  /**********************************************************************
  * Méthode : onActionDelBag (ajout)
  * Fonction : action de suppression d'un objet de l'inventaire
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onActionDelBag = function() {
    this._itemWindowBag.select(0);
    this._itemWindowBag.activate();
    this._mode = "del_bag";
  };
   
  /**********************************************************************
  * Méthode : onActionDelBank (ajout)
  * Fonction : action de suppresion d'un objet du stockage
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onActionDelBank = function() {
    this._itemWindowBank.select(0);
    this._itemWindowBank.activate();
    this._mode = "del_bank";
  };
 
  /**********************************************************************
  * Méthode : onActionCancel (ajout)
  * Fonction : action d'annulation de choix d'action
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onActionCancel = function() {
    this._itemActionWindow.deselect();
    if(paramGroupAllItemType === 1)
      this.popScene();
    else{
      this._categoryWindow.activate();
      this._itemWindowBag.setCategory();
      this._itemWindowBank.setCategory();
    }
  };

  /**********************************************************************
  * Méthode : onItemBagOk (ajout)
  * Fonction : action sur validation d'un objet de la fenêtre d'inventaire
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onItemBagOk = function() {
    if(this._mode === "put" ){
      // Vérifier que le coffre ne soit pas plein avec le nouvel objet
      var offsetStack = $gameParty.bankNumItemStack(this._itemWindowBag.item(), 1) - $gameParty.bankNumItemStack(this._itemWindowBag.item());
      if($gameParty.bankNumAllStack() + offsetStack >= $gameParty.bankLimit())
        SoundManager.playBuzzer();
      else{
        SoundManager.playOk();
        $gameParty.loseItem(this._itemWindowBag.item(), 1);
        $gameParty.bankGainItem(this._itemWindowBag.item(), 1);
        this._itemWindowBag.refresh();
        this._itemWindowBank.refresh();
      }
      this._itemWindowBag.activate();
     
     
    }else if(this._mode === "del_bag" ){
      // TODO voir pour ajouter une fenêtre de spécification du nombre
      SoundManager.playOk();
      $gameParty.loseItem(this._itemWindowBag.item(), 1);
      this._itemWindowBag.refresh();
      this._itemWindowBag.activate();
      if(this._itemWindowBag.index() === this._itemWindowBag.maxItems() && this._itemWindowBag.index() !== 0)
        this._itemWindowBag.select(this._itemWindowBag.maxItems()-1);
    }
  };
 
  /**********************************************************************
  * Méthode : onItemBagCancel (ajout)
  * Fonction : action sur annulation fenêtre inventaire
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onItemBagCancel = function() {
    this._itemWindowBag.deselect();
    this._itemActionWindow.activate();
    this._mode = "";
  };
 
  /**********************************************************************
  * Méthode : onItemBankOk (ajout)
  * Fonction : action sur validation objet dans stockage
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onItemBankOk = function() {
    if(this._mode === "get" ){
      var offsetStack = $gameParty.numItemStack(this._itemWindowBank.item(), 1) - $gameParty.numItemStack(this._itemWindowBank.item());
      if($gameParty.numAllStack() + offsetStack >= $gameParty._bagLimit)
        SoundManager.playBuzzer();
      else{
        SoundManager.playOk();
        $gameParty.bankGainItem(this._itemWindowBank.item(), -1);
        $gameParty.gainItem(this._itemWindowBank.item(), 1);
        this._itemWindowBag.refresh();
        this._itemWindowBank.refresh();
      }
      this._itemWindowBank.activate();
     
    }else if(this._mode === "del_bank" ){
      // TODO voir pour ajouter une fenêtre de spécification du nombre
      SoundManager.playOk();
      $gameParty.bankGainItem(this._itemWindowBank.item(), -1);
      this._itemWindowBank.refresh();
      this._itemWindowBank.activate();
      if(this._itemWindowBank.index() === this._itemWindowBank.maxItems() && this._itemWindowBank.index() !== 0)
        this._itemWindowBank.select(this._itemWindowBank.maxItems()-1);
    }
  };
 
  /**********************************************************************
  * Méthode : onItemBankCancel (ajout)
  * Fonction : action sur annulation dans fenêtre de stockage
  * Params : --
  **********************************************************************/ 
  Scene_Bank.prototype.onItemBankCancel = function() {
    this._itemWindowBank.deselect();
    this._itemActionWindow.activate();
    this._mode = "";
  };
 
 
  /**********************************************************************
  *----------------------------------------------------------------------
  * Modification de la "classe" Game_Interpreter
  *----------------------------------------------------------------------
  **********************************************************************/
  /**********************************************************************
  * Méthode : pluginCommand (surcharge)
  * Fonction : Ajoute la commande
  * Params : --
  **********************************************************************/
  var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
  Game_Interpreter.prototype.pluginCommand = function(command, args) {
    _Game_Interpreter_pluginCommand.call(this, command, args);
    if(command === 'LBB_openBank'){
      $gameParty.setBank(args[0]||'one');
      SceneManager.push(Scene_Bank);
    }else if(command === 'LBB_changeLimitBag'){
      $gameParty._bagLimit = args[0]||paramNbrOfDiffItem;
    }
  };
 
})();

avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: limiteur d'inventaire

le Ven 17 Juin 2016 - 0:49
toujours pareil
avatar
tonyryu
Membre

Nombre de messages : 895
Age : 38
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: limiteur d'inventaire

le Ven 17 Juin 2016 - 10:00
si le script est paramétré au niveau de RPGmaker, c'est que les valeurs sont sauvegardé dans le fichier plugin.json, cependant, il est possible qu'il ne pointe vers un fichier inexistant ou incorrecte.

Peux-tu tester de retirer le plugin du projet et de le remettre?
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: limiteur d'inventaire

le Ven 17 Juin 2016 - 11:24
donc voila ce que j'ai fait :
j'ai retiré le plugin : outils / gestionnaire de module : suppr
j'ai viré le fichier du dossier plugin
j'ai enregistré le projet
j'ai fermé rpg maker
j'ai remis le fichier dans le dossier
j'ai ouvert rpg maker
outils / gestionnaire de module / nouveau module et j'ai pris le plugin
je l'ai paramétré et activé

toujours pareil (je désespère)

voici la liste de tous les .json que je trouve dans mon projet :

avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: limiteur d'inventaire

le Ven 17 Juin 2016 - 11:32
et voila le contenu de plugins.js

Code:
// Generated by RPG Maker.
// Do not edit this file directly.
var $plugins =
[
{"name":"MOG_TimeSystem","status":true,"description":"(v1.3) Sistema dinámico de tempo.","parameters":{">> MAIN ===================":"","Active Time":"true","Stop During EventRunning":"true","Stop During Dialogs":"true","Time Speed":"25","Tint Screen":"true","Transition Speed":"600",">> WORDS ===================":"","Day Week Names":"1,2,3,4,5,6,7,8","Season Names":"Printemps,Eté,Automne,Hiver","Month Names":"Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre","Time Word":"Temps","Day Word":"Jour","Day Week Word":"Jour de la semaine","Month Word":"Mois","Season Word":"Saison","Year Word":"Année","Play Time Word":"Play Time",">> SWITCHES ===================":"","Dawn Switch ID":"21","Sunrise Switch ID":"22","Day Switch ID":"23","Sunset Switch ID":"24","Dusk Switch ID":"25","Night Switch ID":"26","Day Shift Switch ID":"27","Night Shift Switch ID":"28","Day Week Switches IDs":"29,30,31,32,33,34,35,36","Month Switches IDs":"41,42,43,44,45,46,47,48,49,50,51,52","Season Switches IDs":"37,38,39,40",">> VARIABLES ===================":"","Hour Variable ID":"10","Day Variable ID":"11","Year Variable ID":"12",">> TIME MAX ===================":"","Max Minute":"60","Max Day":"30","Max Day Week":"8","Max Month":"12","Max Season":"4","Season Interval":"3",">> START TIME ===================":"","Start Hour":"16","Start Day":"21","Start Month":"1","Start Season":"1","Start Year":"884",">> TONES ===================":"","Sunset Tone":"48,-14,-14,0","Dusk Tone":"-40,-40,-20,0","Night Tone":"-70,-70,0,100","Dawn Tone":"17,17,85,100","Sunrise Tone":"100,0,70,0","Day Tone":"0,0,0,0",">> WINDOWS ===================":"","Display PM Mode":"true","Window Time Map Visible":"true","Window Time Menu Visible":"true","Window Time Map X-Axis":"576","Window Time Map Y-Axis":"0","Window Time Menu X-Axis":"0","Window Time Menu Y-Axis":"324"}},
{"name":"MOG_TimeSystem_Hud","status":true,"description":"(v1.3) Adiciona uma HUD apresentando o tempo.","parameters":{"Initial Visible":"true","X-axis":"633","Y-axis":"0","Fade Max":"60","Point Visible":"true","Point X-axis":"123","Point Y-axis":"66","Timer Visible":"false","Timer X-axis":"63","Timer Y-axis":"66","Day Visible":"true","Day X-axis":"130","Day Y-axis":"120","Month Visible":"true","Month X-axis":"70","Month Y-axis":"129","Year Visible":"true","Year X-axis":"20","Year Y-axis":"60","Day Phase Visible":"true","Day Phase X-axis":"160","Day Phase Y-axis":"-2","Season Visible":"true","Season X-axis":"53","Season Y-axis":"100","Day Week Visible":"true","Day Week X-axis":"100","Day Week Y-axis":"165"}},
{"name":"VE_BasicModule","status":true,"description":"v1.21 - Plugin with base code required for all Victor Engine plugins.","parameters":{"== Trait Names ==":"","Hit Rate Name":"Hit","Evasion Rate Name":"Evasion","Critical Rate Name":"Critical","Critical Evasion Name":"C. Evasion","Magic Evasion Name":"M. Evasion","Magic Reflection Name":"M. Reflection","Counter Attack Name":"Counter","HP Regeneration Name":"HP Regen","MP Regeneration Name":"MP Regen","TP Regeneration Name":"TP Regen","Target Rate Name":"Target Rate","Guard Rate Name":"Guard Rate","Recovery Effect Name":"Recovery","Pharmacology Name":"Pharmacology","MP Cost Rate Name":"MP Cost","TP Charge Rate Name":"TP Charge","Physical Damage Name":"Physical Damage","Magical Damage Name":"Magical Damage","Floor Damage Name":"Floor Damage","Experience Rate Name":"Exp. Rate\r"}},
{"name":"VE_CustomVehicles","status":true,"description":"v1.02 - Adds new vehicles besides the 3 default ones.","parameters":{"Vehicle Setup Event":"5"}},
{"name":"SOUL_MV_WaypointSystem","status":false,"description":"v1.0 Creates a fast travel / waypoint system.","parameters":{"-- MAIN --":"","Game Waypoint Numbers":"14","Show in Menu":"false","Play Scene BGM":"false","Command Name":"Travel","World Map Image":"Map","Fog Image 1":"Fog_1","Fog Image 2":"Fog_2","Cursor Image":"Cursor","Pointer Image":"Pointer","Scene BGM":"Theme2","-- WAYPOINT NAMES --":"","Waypoint 1 Name":"Ilnaria","Waypoint 2 Name":"Forestria","Waypoint 3 Name":"Laurencium","Waypoint 4 Name":"Feenia","Waypoint 5 Name":"Selvia","Waypoint 6 Name":"Medea","Waypoint 7 Name":"Market","Waypoint 8 Name":"Fornea","Waypoint 9 Name":"Oasis","Waypoint 10 Name":"Slums","Waypoint 11 Name":"Aurelia","Waypoint 12 Name":"Nomadia","Waypoint 13 Name":"Castle","Waypoint 14 Name":"Snow Castle","Waypoint 15 Name":"","Waypoint 16 Name":"","Waypoint 17 Name":"","Waypoint 18 Name":"","Waypoint 19 Name":"","Waypoint 20 Name":"","Waypoint 21 Name":"","Waypoint 22 Name":"","Waypoint 23 Name":"","Waypoint 24 Name":"","Waypoint 25 Name":"","Waypoint 26 Name":"","Waypoint 27 Name":"","Waypoint 28 Name":"","Waypoint 29 Name":"","Waypoint 30 Name":"","Waypoint 31 Name":"","Waypoint 32 Name":"","Waypoint 33 Name":"","Waypoint 34 Name":"","Waypoint 35 Name":"","Waypoint 36 Name":"","Waypoint 37 Name":"","Waypoint 38 Name":"","Waypoint 39 Name":"","Waypoint 40 Name":"","Waypoint 41 Name":"","Waypoint 42 Name":"","Waypoint 43 Name":"","Waypoint 44 Name":"","Waypoint 45 Name":"","Waypoint 46 Name":"","Waypoint 47 Name":"","Waypoint 48 Name":"","Waypoint 49 Name":"","Waypoint 50 Name":"","Waypoint 51 Name":"","Waypoint 52 Name":"","Waypoint 53 Name":"","Waypoint 54 Name":"","Waypoint 55 Name":"","Waypoint 56 Name":"","Waypoint 57 Name":"","Waypoint 58 Name":"","Waypoint 59 Name":"","Waypoint 60 Name":"","Waypoint 61 Name":"","Waypoint 62 Name":"","Waypoint 63 Name":"","Waypoint 64 Name":"","Waypoint 65 Name":"","Waypoint 66 Name":"","Waypoint 67 Name":"","Waypoint 68 Name":"","Waypoint 69 Name":"","Waypoint 70 Name":"","Waypoint 71 Name":"","Waypoint 72 Name":"","Waypoint 73 Name":"","Waypoint 74 Name":"","Waypoint 75 Name":"","Waypoint 76 Name":"","Waypoint 77 Name":"","Waypoint 78 Name":"","Waypoint 79 Name":"","Waypoint 80 Name":"","Waypoint 81 Name":"","Waypoint 82 Name":"","Waypoint 83 Name":"","Waypoint 84 Name":"","Waypoint 85 Name":"","Waypoint 86 Name":"","Waypoint 87 Name":"","Waypoint 88 Name":"","Waypoint 89 Name":"","Waypoint 90 Name":"","Waypoint 91 Name":"","Waypoint 92 Name":"","Waypoint 93 Name":"","Waypoint 94 Name":"","Waypoint 95 Name":"","Waypoint 96 Name":"","Waypoint 97 Name":"","Waypoint 98 Name":"","Waypoint 99 Name":"","Waypoint 100 Name":"","-- LOCATION ID --":"","Waypoint 1 ID":"3, 19, 33","Waypoint 2 ID":"4, 20, 9","Waypoint 3 ID":"5, 25, 32","Waypoint 4 ID":"6, 19, 21","Waypoint 5 ID":"7, 14, 19","Waypoint 6 ID":"8, 2, 20","Waypoint 7 ID":"9, 12, 19","Waypoint 8 ID":"10, 18, 23","Waypoint 9 ID":"11, 13, 24","Waypoint 10 ID":"12, 9, 8","Waypoint 11 ID":"13, 17, 39","Waypoint 12 ID":"14, 14, 33","Waypoint 13 ID":"15, 8, 38","Waypoint 14 ID":"16, 21, 47","Waypoint 15 ID":"","Waypoint 16 ID":"","Waypoint 17 ID":"","Waypoint 18 ID":"","Waypoint 19 ID":"","Waypoint 20 ID":"","Waypoint 21 ID":"","Waypoint 22 ID":"","Waypoint 23 ID":"","Waypoint 24 ID":"","Waypoint 25 ID":"","Waypoint 26 ID":"","Waypoint 27 ID":"","Waypoint 28 ID":"","Waypoint 29 ID":"","Waypoint 30 ID":"","Waypoint 31 ID":"","Waypoint 32 ID":"","Waypoint 33 ID":"","Waypoint 34 ID":"","Waypoint 35 ID":"","Waypoint 36 ID":"","Waypoint 37 ID":"","Waypoint 38 ID":"","Waypoint 39 ID":"","Waypoint 40 ID":"","Waypoint 41 ID":"","Waypoint 42 ID":"","Waypoint 43 ID":"","Waypoint 44 ID":"","Waypoint 45 ID":"","Waypoint 46 ID":"","Waypoint 47 ID":"","Waypoint 48 ID":"","Waypoint 49 ID":"","Waypoint 50 ID":"","Waypoint 51 ID":"","Waypoint 52 ID":"","Waypoint 53 ID":"","Waypoint 54 ID":"","Waypoint 55 ID":"","Waypoint 56 ID":"","Waypoint 57 ID":"","Waypoint 58 ID":"","Waypoint 59 ID":"","Waypoint 60 ID":"","Waypoint 61 ID":"","Waypoint 62 ID":"","Waypoint 63 ID":"","Waypoint 64 ID":"","Waypoint 65 ID":"","Waypoint 66 ID":"","Waypoint 67 ID":"","Waypoint 68 ID":"","Waypoint 69 ID":"","Waypoint 70 ID":"","Waypoint 71 ID":"","Waypoint 72 ID":"","Waypoint 73 ID":"","Waypoint 74 ID":"","Waypoint 75 ID":"","Waypoint 76 ID":"","Waypoint 77 ID":"","Waypoint 78 ID":"","Waypoint 79 ID":"","Waypoint 80 ID":"","Waypoint 81 ID":"","Waypoint 82 ID":"","Waypoint 83 ID":"","Waypoint 84 ID":"","Waypoint 85 ID":"","Waypoint 86 ID":"","Waypoint 87 ID":"","Waypoint 88 ID":"","Waypoint 89 ID":"","Waypoint 90 ID":"","Waypoint 91 ID":"","Waypoint 92 ID":"","Waypoint 93 ID":"","Waypoint 94 ID":"","Waypoint 95 ID":"","Waypoint 96 ID":"","Waypoint 97 ID":"","Waypoint 98 ID":"","Waypoint 99 ID":"","Waypoint 100 ID":"","-- IMAGE COORDINATES --":"","Waypoint 1 Coords":"680, 240","Waypoint 2 Coords":"600, 150","Waypoint 3 Coords":"470, 150","Waypoint 4 Coords":"400, 125","Waypoint 5 Coords":"200, 320","Waypoint 6 Coords":"460, 315","Waypoint 7 Coords":"685, 500","Waypoint 8 Coords":"620, 450","Waypoint 9 Coords":"500, 480","Waypoint 10 Coords":"200, 240","Waypoint 11 Coords":"300, 480","Waypoint 12 Coords":"180, 430","Waypoint 13 Coords":"90, 150","Waypoint 14 Coords":"100, 340","Waypoint 15 Coords":"","Waypoint 16 Coords":"","Waypoint 17 Coords":"","Waypoint 18 Coords":"","Waypoint 19 Coords":"","Waypoint 20 Coords":"","Waypoint 21 Coords":"","Waypoint 22 Coords":"","Waypoint 23 Coords":"","Waypoint 24 Coords":"","Waypoint 25 Coords":"","Waypoint 26 Coords":"","Waypoint 27 Coords":"","Waypoint 28 Coords":"","Waypoint 29 Coords":"","Waypoint 30 Coords":"","Waypoint 31 Coords":"","Waypoint 32 Coords":"","Waypoint 33 Coords":"","Waypoint 34 Coords":"","Waypoint 35 Coords":"","Waypoint 36 Coords":"","Waypoint 37 Coords":"","Waypoint 38 Coords":"","Waypoint 39 Coords":"","Waypoint 40 Coords":"","Waypoint 41 Coords":"","Waypoint 42 Coords":"","Waypoint 43 Coords":"","Waypoint 44 Coords":"","Waypoint 45 Coords":"","Waypoint 46 Coords":"","Waypoint 47 Coords":"","Waypoint 48 Coords":"","Waypoint 49 Coords":"","Waypoint 50 Coords":"","Waypoint 51 Coords":"","Waypoint 52 Coords":"","Waypoint 53 Coords":"","Waypoint 54 Coords":"","Waypoint 55 Coords":"","Waypoint 56 Coords":"","Waypoint 57 Coords":"","Waypoint 58 Coords":"","Waypoint 59 Coords":"","Waypoint 60 Coords":"","Waypoint 61 Coords":"","Waypoint 62 Coords":"","Waypoint 63 Coords":"","Waypoint 64 Coords":"","Waypoint 65 Coords":"","Waypoint 66 Coords":"","Waypoint 67 Coords":"","Waypoint 68 Coords":"","Waypoint 69 Coords":"","Waypoint 70 Coords":"","Waypoint 71 Coords":"","Waypoint 72 Coords":"","Waypoint 73 Coords":"","Waypoint 74 Coords":"","Waypoint 75 Coords":"","Waypoint 76 Coords":"","Waypoint 77 Coords":"","Waypoint 78 Coords":"","Waypoint 79 Coords":"","Waypoint 80 Coords":"","Waypoint 81 Coords":"","Waypoint 82 Coords":"","Waypoint 83 Coords":"","Waypoint 84 Coords":"","Waypoint 85 Coords":"","Waypoint 86 Coords":"","Waypoint 87 Coords":"","Waypoint 88 Coords":"","Waypoint 89 Coords":"","Waypoint 90 Coords":"","Waypoint 91 Coords":"","Waypoint 92 Coords":"","Waypoint 93 Coords":"","Waypoint 94 Coords":"","Waypoint 95 Coords":"","Waypoint 96 Coords":"","Waypoint 97 Coords":"","Waypoint 98 Coords":"","Waypoint 99 Coords":"","Waypoint 100 Coords":"","-- WAYPOINT SWITCH --":"","Waypoint 1 Switch":"101","Waypoint 2 Switch":"102","Waypoint 3 Switch":"103","Waypoint 4 Switch":"104","Waypoint 5 Switch":"105","Waypoint 6 Switch":"106","Waypoint 7 Switch":"107","Waypoint 8 Switch":"108","Waypoint 9 Switch":"109","Waypoint 10 Switch":"110","Waypoint 11 Switch":"111","Waypoint 12 Switch":"112","Waypoint 13 Switch":"113","Waypoint 14 Switch":"114","Waypoint 15 Switch":"115","Waypoint 16 Switch":"116","Waypoint 17 Switch":"117","Waypoint 18 Switch":"118","Waypoint 19 Switch":"119","Waypoint 20 Switch":"120","Waypoint 21 Switch":"121","Waypoint 22 Switch":"122","Waypoint 23 Switch":"123","Waypoint 24 Switch":"124","Waypoint 25 Switch":"125","Waypoint 26 Switch":"126","Waypoint 27 Switch":"127","Waypoint 28 Switch":"128","Waypoint 29 Switch":"129","Waypoint 30 Switch":"130","Waypoint 31 Switch":"131","Waypoint 32 Switch":"132","Waypoint 33 Switch":"133","Waypoint 34 Switch":"134","Waypoint 35 Switch":"135","Waypoint 36 Switch":"136","Waypoint 37 Switch":"137","Waypoint 38 Switch":"138","Waypoint 39 Switch":"139","Waypoint 40 Switch":"140","Waypoint 41 Switch":"141","Waypoint 42 Switch":"142","Waypoint 43 Switch":"143","Waypoint 44 Switch":"144","Waypoint 45 Switch":"145","Waypoint 46 Switch":"146","Waypoint 47 Switch":"147","Waypoint 48 Switch":"148","Waypoint 49 Switch":"149","Waypoint 50 Switch":"150","Waypoint 51 Switch":"151","Waypoint 52 Switch":"152","Waypoint 53 Switch":"153","Waypoint 54 Switch":"154","Waypoint 55 Switch":"155","Waypoint 56 Switch":"156","Waypoint 57 Switch":"157","Waypoint 58 Switch":"158","Waypoint 59 Switch":"159","Waypoint 60 Switch":"160","Waypoint 61 Switch":"161","Waypoint 62 Switch":"162","Waypoint 63 Switch":"163","Waypoint 64 Switch":"164","Waypoint 65 Switch":"165","Waypoint 66 Switch":"166","Waypoint 67 Switch":"167","Waypoint 68 Switch":"168","Waypoint 69 Switch":"169","Waypoint 70 Switch":"170","Waypoint 71 Switch":"171","Waypoint 72 Switch":"172","Waypoint 73 Switch":"173","Waypoint 74 Switch":"174","Waypoint 75 Switch":"175","Waypoint 76 Switch":"176","Waypoint 77 Switch":"177","Waypoint 78 Switch":"178","Waypoint 79 Switch":"179","Waypoint 80 Switch":"180","Waypoint 81 Switch":"181","Waypoint 82 Switch":"182","Waypoint 83 Switch":"183","Waypoint 84 Switch":"184","Waypoint 85 Switch":"185","Waypoint 86 Switch":"186","Waypoint 87 Switch":"187","Waypoint 88 Switch":"188","Waypoint 89 Switch":"189","Waypoint 90 Switch":"190","Waypoint 91 Switch":"191","Waypoint 92 Switch":"192","Waypoint 93 Switch":"193","Waypoint 94 Switch":"194","Waypoint 95 Switch":"195","Waypoint 96 Switch":"196","Waypoint 97 Switch":"197","Waypoint 98 Switch":"198","Waypoint 99 Switch":"199","Waypoint 100 Switch":"200"}},
{"name":"Tonyryu_LimitBagBank","status":true,"description":"Plugin permettant de gérer une limite de l'inventaire","parameters":{"GroupAllItemType":"1","AddDeleteMenu":"1","NameUseOption":"Utiliser","NameDeleteOption":"Jeter","NbrOfDiffItem":"20","ItemStackDefault":"12","ArmorStackDefault":"1","WeaponStackDefault":"1","BankNbrOfDiffItem":"100","NameBag":"Sac","NameBank":"Banque","NameGetOption":"Retirer","NamePutOption":"Déposer"}}
];
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: limiteur d'inventaire

le Ven 17 Juin 2016 - 11:40
en reprenant l'ancien fichier (celui où il faut mettre "TonyryuBank B" pour ouvrir une banque "B") tout fonctionne
avatar
tonyryu
Membre

Nombre de messages : 895
Age : 38
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Résolu Re: limiteur d'inventaire

le Ven 17 Juin 2016 - 11:52
Du coup, je pense que cela vient de la volumétrie du plugin en copié/collé via le forum qui peut poser problème.

Récupère le directement ici : https://bitbucket.org/Tonyryu/plugins-rpgmaker-mv/src/d60c83f39027ca0a6c5930dc32c450e5cb83c228/Tonyryu_LimitBagBank.js?fileviewer=file-view-default

Clic droit sur le bouton [Raw] -> Enregistrer le lien sous...
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: limiteur d'inventaire

le Ven 17 Juin 2016 - 12:35
Merci le pb est résolu, ça venait bien de ça
avatar
kalenge
Membre

Nombre de messages : 3
Distinction : aucune
Date d'inscription : 05/11/2013

Résolu Re: limiteur d'inventaire

le Sam 3 Sep 2016 - 1:17
Alors ca c'est au top, ca fait un moment que je cherche ca,
merci Tonyryu pour se plugin
Contenu sponsorisé

Résolu Re: limiteur d'inventaire

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum