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 Jeu 17 Mai 2012 - 2:24
Bonjour,

Explication de ce que le scrip fait :

Script permettant de gérer une limite d'objet dans l'inventaire
# Vous pouvez également changer la limite par un événement en utilisant
# la commande suivante :
# Script : $game_party.limite_objet = X

J'aimerais savoir si il à moyen que les objets de type "objet clé" ne se comptabilise pas.

Code:
#==============================================================================
# ■ Game_Party

#------------------------------------------------------------------------------
# Script permettant de gérer une limite d'objet dans l'inventaire
# Vous pouvez également changer la limite par un événement en utilisant
# la commande suivante :
# Script : $game_party.limite_objet = X
#------------------------------------------------------------------------------
class Game_Party
 
  attr_accessor :limite_objet
 
  alias initialize_base initialize
 
 def initialize

    # Changer la valeur, pour réduire ou augmenter votre inventaire initial
    @limite_objet = 5

    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
end

Merci d'avance.


Dernière édition par spywaretof le Lun 20 Aoû 2012 - 19:43, édité 1 fois
avatar
Asagi
Membre

Nombre de messages : 290
Age : 23
Localisation : France
Distinction : aucune
Date d'inscription : 30/01/2011

Re: Script item limit [résolu]

le Jeu 17 Mai 2012 - 15:03
Merci pour ce script mais je s'avais même pas que y avais une limite au objet xD
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 Jeu 17 Mai 2012 - 15:14
De rien mais il permet de mettre une limite au nombre d'objets présent dans ton inventaire, pas de limiter un objet en nombre.

C'est un peu comme si tu avais un sac dans lequel tu avais un nombre limité d'emplacement et que si tu voulais pouvoir en porter plus tu devrais en acheter un plus grand et donc changer

$game_party.limite_objet = X ou X est le nombre d'objet maximum pouvant être présent dans ton inventaire.

Mon problème vient du fait que je voudrais que les objets de type "objet clé" dans la base de donnée ne soit pas comptabilisé.
avatar
dricc
Membre

Nombre de messages : 2752
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Re: Script item limit [résolu]

le Ven 18 Mai 2012 - 10:16
Tiens , Je n'avais pas vu ce sujet .

Tu entends quoi par "objet clef" ?
parce que sinon , ça ne semble pas trop dur , ça va faire qq chose comme ça :

# compter les objets
@items.each{|key, value|
if @item.objet_clef? == false
nbre += value
end
}

Enfin sauf qu'il faut que tu trouve dans la classe Game_Item quel est la methode (def .... ) qui permet de dire si c'est un objet clef ou pas . Là , j'ai supposé que c'était objet_clef? , ce qui est faux .

PS : les puristes te diront qu'il y a plus simple que "== false" mais c'est plus clair comme ça Wink
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 Ven 18 Mai 2012 - 13:54
Merci pour la réponse grace à toi j'avance mon script ressemble à ça maintenant mais j'ai une erreur quand je ramasse un objet :

Par objet clé j'entend; les objets dans la base de donnée peuvent être classé en deux catégories "normal" et "objet clé" je pense que tu as vu juste.

Code:
#==============================================================================
# ■ Game_Party

#------------------------------------------------------------------------------
# Script permettant de gérer une limite d'objet dans l'inventaire
# Vous pouvez également changer la limite par un événement en utilisant
# la commande suivante :
# Script : $game_party.limite_objet = X
    #item.key_item
#------------------------------------------------------------------------------
class Game_Party
 
  attr_accessor :limite_objet
 
  alias initialize_base initialize
  def initialize
 
    # Changer la valeur, pour réduire ou augmenter votre inventaire initial
    @limite_objet = 5
    initialize_base
  end
  #--------------------------------------------------------------------------
  # ● nombre_objet_total
  #--------------------------------------------------------------------------
  def nombre_objet_total
    nbre = 0
    # compter les objets
@items.each{|key, value|
if @item.key_item? == false
nbre += value
end
}
    # 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
end

avatar
dricc
Membre

Nombre de messages : 2752
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Re: Script item limit [résolu]

le Ven 18 Mai 2012 - 14:48
Oups ...

if @items[key].key_item? == false

Je suis pas sur non plus , j'ai aps de VX sous la main là pour vérifier .

En fait si tu veux etre sur , faudrait mettre des "print" pur debugger :
print key
print value
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 Ven 18 Mai 2012 - 16:12

Merci pour la réponse ca ne fonctionne toujours pas je précise que je suis sous Ace.

Je comprend pas le script a l'air d'être correct comme ca...

Je continue mes test.



avatar
dricc
Membre

Nombre de messages : 2752
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Re: Script item limit [résolu]

le Ven 18 Mai 2012 - 17:10
OK , j'ai compris ... @items est un tableau d'id , pas d'item .
je le fait à ma maniere , j'aime pas ces "each" :

for i in 0..@items.size-1
if $data_items[i].key_item? == false
nbre += value
end
end
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 Ven 18 Mai 2012 - 17:28
Erf non ca fonctionne toujours pas....

voila l'erreur qu'il me donne:



Et voila à quoi ressemble mon script maintenant :

Code:
#==============================================================================
# ■ Game_Party

#------------------------------------------------------------------------------
# Script permettant de gérer une limite d'objet dans l'inventaire
# Vous pouvez également changer la limite par un événement en utilisant
# la commande suivante :
# Script : $game_party.limite_objet = X
    #item.key_item
#------------------------------------------------------------------------------
class Game_Party
 
  attr_accessor :limite_objet
 
  alias initialize_base initialize
  def initialize
 
    # Changer la valeur, pour réduire ou augmenter votre inventaire initial
    @limite_objet = 5
    initialize_base
  end
  #--------------------------------------------------------------------------
  # ● nombre_objet_total
  #--------------------------------------------------------------------------
  def nombre_objet_total
    nbre = 0
   
    # compter les objets

for i in 0..@items.size-1
if $data_items[i].key_item? == false
nbre += value
end
end
   
   
    # 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
end

Encore merci pour votre aide !
avatar
dricc
Membre

Nombre de messages : 2752
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Re: Script item limit [résolu]

le Ven 18 Mai 2012 - 18:12
for i in 1..@items.size


On va y arriver Smile

explication : le tableau des items commence à 1 et pas 0 comme souvent en ruby .
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 Ven 18 Mai 2012 - 18:28
Ca avance Smile J'ai rentré ca :

Code:
for i in 1..@items.size-1
if $data_items[i].key_item? == false
nbre += value
end
end

Et ca fonctionne pour les objets clé ne se comptabilise plus comme je voulais, mais maintenant ca me fais une erreur quand je ramasse un objet normal :p

Voici l'erreur affichée :



avatar
Chaos17
Membre

Nombre de messages : 223
Localisation : France
Distinction : aucune
Date d'inscription : 11/04/2012
http://blogofchaos17.wordpress.com/

Re: Script item limit [résolu]

le Sam 19 Mai 2012 - 1:19
Au cas où ton problème ne se résoud pas, il existe un script similaire en anglais qui marche :
http://www.rpgmakervxace.net/topic/3812-fp-inventory-system/

L'auteur fournit un bon "SAV".
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 Sam 19 Mai 2012 - 1:41

Merci Chaos17 pour ton script mais je préfère attendre encore un peu Smile

Je dois pas être très loin de la solution.
avatar
Balbereith
Staffeux retraité

Nombre de messages : 4129
Age : 25
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires ) [Coco' Smile]
Date d'inscription : 13/05/2009

Re: Script item limit [résolu]

le Lun 20 Aoû 2012 - 19:29
Merci de préciser si le problème est résolu ou non.
avatar
Elisa'
Administrateur

Nombre de messages : 2923
Age : 20
Localisation : Par là-bas !
Distinction : Mon héritière que je chéris
[Coco' Smile]
Plus que 2 ans avant d'épouser Coco' ! Compte à rebours lancé !
[Auto-distinction]

Adepte du "Je le savais" alors qu'elle le savait pas.
Date d'inscription : 30/05/2009

Re: Script item limit [résolu]

le Ven 24 Aoû 2012 - 12:03
Problème résolu, je déplace.

_________________


Cliquez ici pour voter pour la commu'
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