Partagez
Aller en bas
avatar
Spytje
Administrateur

Nombre de messages : 5899
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Script Item Limit [résolu]

le Dim 11 Nov 2012 - 11:51
Bonjour,

Quelqu'un pourrait il me modifier ce script pour qu'il soit compatible avec rpgmaker vx ACE ?
(bug ligne 56 quand il est lancé sous Ace)

Code:
#==============================================================================
# ■ Game_Party
#------------------------------------------------------------------------------
# Script permettant de gérer une limite d'objet dans l'inventaire
# Createur : Tonyryu
# Date : 09/10/2006
# Version : 1.00 - 09/10/2006
#------------------------------------------------------------------------------
class Game_Party
 attr_accessor :limite_objet
  alias initialize_base initialize
  def initialize
    # Changer la valeur, pour réduire ou augmenter votre inventaire
    @limite_objet = 10
 
    initialize_base
  end
 
  #--------------------------------------------------------------------------
  # ● nombre_objet_total
  #--------------------------------------------------------------------------
  def nombre_objet_total
    nbre = 0
    # compter les objets
    @items.each{|key, value|
      nbre += value
    }
 
    # compter les armes
    @weapons.each{|key, value|
      nbre += value
    }
 
    # compter les armures et accessoires
    @armors.each{|key, value|
      nbre += value
    }
 
    return nbre
  end
 
  #--------------------------------------------------------------------------
  # ● inventaire_plein?
  #--------------------------------------------------------------------------
  def inventaire_plein?
    return nombre_objet_total == @limite_objet
  end
 
  #--------------------------------------------------------------------------
  # ● gain_item
  #    item_id : ID de l'objet
  #    n      : nombre à ajouter
  #--------------------------------------------------------------------------
  def gain_item(item_id, n)
    # Si l'id de l'objet est supérieur à 0
    if item_id > 0
      n = @limite_objet - nombre_objet_total if (n + nombre_objet_total) > @limite_objet
      @items[item_id] = [[item_number(item_id) + n, 0].max, 99].min
    end
  end
  #--------------------------------------------------------------------------
  # ● gain_weapon
  #    weapon_id : ID de l'arme
  #    n        : nombre à ajouter
  #--------------------------------------------------------------------------
  def gain_weapon(weapon_id, n)
    # Si l'id de l'arme est supérieur à 0
    if weapon_id > 0
      n = @limite_objet - nombre_objet_total if (n + nombre_objet_total) > @limite_objet
      @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
    end
  end
  #--------------------------------------------------------------------------
  # ● gain_armor
  #    armor_id : ID de l'armure ou accessoire
  #    n        : nombre
  #--------------------------------------------------------------------------
  def gain_armor(armor_id, n)
    # Si l'id de l'armure est supérieur à 0
    if armor_id > 0
      n = @limite_objet - nombre_objet_total if (n + nombre_objet_total) > @limite_objet
      @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, 99].min
    end
  end
 
end


Dernière édition par spywaretof le Dim 11 Nov 2012 - 20:52, édité 1 fois
avatar
LightNox
Membre

Nombre de messages : 1759
Age : 28
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

Re: Script Item Limit [résolu]

le Dim 11 Nov 2012 - 12:49
Tiens spywaretof ^^

Code:

#-------------------------------------------------------------------------------
# * LN - Item Limit
#-------------------------------------------------------------------------------
LIMITE_INVENTAIRE = 100
#-------------------------------------------------------------------------------
class Game_Party < Game_Unit
#------------------------------------------------------------------------------- 
  alias ln_gain_item gain_item
      def gain_item(item, amount, include_equip = false)
    if amount > 0
      if number_all_item + amount > LIMITE_INVENTAIRE
        amount = LIMITE_INVENTAIRE - number_all_item
        if amount == 0
          Sound.play_buzzer
        end
      end
    end
    ln_gain_item(item, amount, include_equip)
  end
#-------------------------------------------------------------------------------   
  def number_all_item
    nbr = 0
    @items.each_value do |value|
      nbr += value
    end
    @weapons.each_value do |value|
      nbr += value
    end
    @armors.each_value do |value|
      nbr += value
    end
    return nbr
  end
end
#-------------------------------------------------------------------------------

Pour modifier la limite de l'inventaire tu modifie la variable LIMITE_INVENTAIRE a la valeur que tu souhaite Wink
et tu met ce petit morceaux de code dans un script vierge sous Materiel ^^
avatar
Spytje
Administrateur

Nombre de messages : 5899
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Re: Script Item Limit [résolu]

le Dim 11 Nov 2012 - 13:17
Ok merci bien c'est super Smile

Y a t'il moyen de modifier "LIMITE_INVENTAIRE" via un appel de script afin de modifier la valeur ?
avatar
Invité
Invité

Re: Script Item Limit [résolu]

le Dim 11 Nov 2012 - 14:53
Il suffit d'en faire une variable globale et non locale, soit ajouter @ ou $ ('me rappelle plus) devant son nom depuis le script et de faire un appel de script avec @LIMITE_INVENTAIRE = [ce que tu veux] ou $LIMITE_INVENTAIRE = [ce que tu veux]
(je garantis rien, je suis pas scripteur et j'ai pas l'habitude du Ruby mais il me semble =/)
avatar
Spytje
Administrateur

Nombre de messages : 5899
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Re: Script Item Limit [résolu]

le Dim 11 Nov 2012 - 16:07
Non cela ne marche pas je vais attendre que LightNox ou un autre scripteur passe.
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

Re: Script Item Limit [résolu]

le Dim 11 Nov 2012 - 17:32
La vache, tu as du ressortir de la poussière avec ce script. Ca fait un bail que je l'ai fait celui-ci.

Comme le script de LightNox avait été fait pendant ses formations ruby, je me permet de le modifier, j'y ai grandement participé ^_^:

Code:

#-------------------------------------------------------------------------------
# * LN - Item Limit
#-------------------------------------------------------------------------------
LIMITE_INVENTAIRE = 100
#-------------------------------------------------------------------------------
class Game_Party < Game_Unit
 
  attr_accessor :limiteInventaire
 
  alias ln_initialize initialize
  def initialize
    ln_initialize
    @limiteInventaire = LIMITE_INVENTAIRE
  end
 
#------------------------------------------------------------------------------- 
  alias ln_gain_item gain_item
  def gain_item(item, amount, include_equip = false)
    if amount > 0
      if number_all_item + amount > @limiteInventaire
        amount = @limiteInventaire - number_all_item
        if amount == 0
          Sound.play_buzzer
        end
      end
    end
    ln_gain_item(item, amount, include_equip)
  end
#-------------------------------------------------------------------------------   
  def number_all_item
    nbr = 0
    @items.each_value do |value|
      nbr += value
    end
    @weapons.each_value do |value|
      nbr += value
    end
    @armors.each_value do |value|
      nbr += value
    end
    return nbr
  end
end
#-------------------------------------------------------------------------------

Pour modifier la limite à 150 :
$game_party.limiteInventaire = 150

avatar
LightNox
Membre

Nombre de messages : 1759
Age : 28
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

Re: Script Item Limit [résolu]

le Dim 11 Nov 2012 - 19:22
Merci tonyryu pour la modification, je viens a peine de rentrer chez moi car j'ai eu un problème avec ma voiture et donc ça bien était le bordel pour moi aujourd'hui ^^.
avatar
Spytje
Administrateur

Nombre de messages : 5899
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Re: Script Item Limit [résolu]

le Dim 11 Nov 2012 - 20:50
Super merci ça marche niquel Smile


La vache, tu as du ressortir de la poussière avec ce script. Ca fait un bail que je l'ai fait celui-ci.

Tu sais Tony ton site avec les scripts pour Rmxp est encore toujours dans mes favori, ça me rappel mes début sur Xp avec ton script de quête (avec la page sur le net qui permet de créer les quêtes pour ensuite les copier dans le script...du jamais vu), système de jour-nuit etc...

Enfin bref merci à vous deux Smile
Contenu sponsorisé

Re: Script Item Limit [résolu]

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