Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: "Dread Mac Farlane", (...) / Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

570 connectés actuellement

29440442 visiteurs
depuis l'ouverture

6520 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Lunae - le bazar d'Emz0

Leo-Games

Eclipso

Tashiroworld

RPG Maker - La Communauté

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [vx ace] Modification du script Inventory Size de Tsukuhime


spywaretof - posté le 11/12/2012 à 15:43:06 (84 messages postés)

❤ 0

Domaine concerné: script
Logiciel utilisé: rmvx ace
Alors voila j'ai une petite question, j'ai trouvé ce script qui répond parfaitement à mes besoins hormis une chose que je n'arrive pas à régler avec mes maigres connaissances en codage.

J'aimerais que les "objet clé" ne soit pas comptabilisé dans l'inventaire.

Par objet clé je parle bien du "type" de l'objet réglable dans l'onglet objets de la base de données.


Voici le script en question :


Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
=begin
#==============================================================================
 ** Inventory Size
 Author: Tsukihime
 Date: Nov 25, 2012
------------------------------------------------------------------------------
 ** Change log
 Nov 25, 2012
   - initial release
------------------------------------------------------------------------------   
 ** Terms of Use
 * Free to use in commercial/non-commercial projects
 * No real support. The script is provided as-is
 * Will do bug fixes, but no compatibility patches
 * Features may be requested but no guarantees, especially if it is non-trivial
 * Preserve this header
------------------------------------------------------------------------------
  ** Compatibility
  
  This script replaces one method
    Scene_Shop#max_buy
------------------------------------------------------------------------------
  ** Description
  
 This script allows you to limit the size of an inventory by item count.
 When you have exceeded the limit:
    -items will not be added to your inventory.
    -equips cannot be removed, only exchanged
    -cannot purchase additional items from the shop
 
 This script does not define how extra items should be handled, nor does it
 handle what happens when your inventory size decreases and you have extra
 items.
 
------------------------------------------------------------------------------
  ** Usage
  
 Set the initial inventory size in the configuration.
   
 Augmenter la taille de l'inventaire ou la diminuer
    $game_party.change_inventory_size(n)
 
 n peut être positif ou négatif
 
 Check if the inventory is full using script calls
    $game_party.inventory_full?
 
Other useful script calls:
 
$game_party.inventory_size  Retourne la taille de l'inventaire
$game_party.inventory_full? Retourne true or false si l'inventaire est remplie ou pas
$game_party.inventory_space Retourne l'espace disponible
$game_party.inventory_count Retourne le nombre d'objets dans l'inventaire
#==============================================================================
=end
$imported = {} if $imported.nil?
$imported["Tsuki_InventorySize"] = true
#==============================================================================
# ** Configuration
#==============================================================================
module Tsuki
  module Inventory_Size
    
    # Starting limit
    Start_Size = 10
  end
end
#==============================================================================
# ** Rest of the script
#==============================================================================
 
class Game_Party < Game_Unit
  
  alias :th_inventory_size_init :initialize
  def initialize
    th_inventory_size_init
    @inventory_size = Tsuki::Inventory_Size::Start_Size
  end
  
  # Replaced. Change the stack limit based on the item's individual limits.
  def inventory_size
    return @inventory_size
  end
  
  def inventory_full?
    return inventory_count >= inventory_size
  end
  
  # Get the total count for the bag
  def item_count(bag)
    return bag.values.inject(:+) || 0
  end
  
  def inventory_count
       item_count(@items) + item_count(@weapons) + item_count(@armors)
  end
  
  def inventory_space
    inventory_size - inventory_count
  end
  
  # Calculate how many we can add
  alias :th_inventory_size_gain_item :gain_item
  def gain_item(item, amount, include_equip = false)
    return if amount > 0 && inventory_full?
    can_add_amount = amount > 0 ? [inventory_size - inventory_count, amount].min : amount
    th_inventory_size_gain_item(item, can_add_amount, include_equip)
  end
  
  def change_inventory_size(amount)
    @inventory_size += amount
  end
  
end
 
class Window_ShopBuy < Window_Selectable
  
  alias :th_inventory_size_enable? :enable?
  def enable?(item)
    return false if $game_party.inventory_full?
    return th_inventory_size_enable?(item)
  end
end
 
class Scene_Shop < Scene_MenuBase
  
  # take into consideration inventory space
  alias :th_inventory_size_max_buy :max_buy
  def max_buy
    max = $game_party.max_item_number(@item) - $game_party.item_number(@item)
    
    # whichever is smaller
    max = [$game_party.inventory_space, max].min
    buying_price == 0 ? max : [max, money / buying_price].min
  end
end




arttroy - posté le 11/12/2012 à 18:49:09 (2394 messages postés)

❤ 0

Just working

Ben en fait si je comprend bien le code, le script utilise les données de l'inventaire de tes personnages donc ce n'est pas ce script que tu dois modifier mais le Game_BaseItem ou le Window_BaseItem.

Je vais essayer de regarder...

Edit :

Alors en fait, j'ai regardé un peu et le souci c'est que si tu ne veux plus que les objets clefs soient comptabilisés dans l'inventaire, il faut carrément les virer de la partie inventaire mais ça les rend inutilisable (à moins de créer un inventaire spécial pour les objets clefs uniquement...)

Dans le Window_ItemCategory ligne 38 tu as :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
  #--------------------------------------------------------------------------
  # * Create Command List
  #--------------------------------------------------------------------------
  def make_command_list
    add_command(Vocab::item,     :item)
    add_command(Vocab::weapon,   :weapon)
    add_command(Vocab::armor,    :armor)
    add_command(Vocab::key_item, :key_item)
  end
 



En mettant un # devant cette ligne :

Portion de code : Tout sélectionner

1
 add_command(Vocab::key_item, :key_item)



Les objets clefs ne seront plus accessibles depuis le menu objet donc plus visibles dans l'inventaire mais ils resteront comptabilisés dans celui-ci, le plus simple se serait de faire ce que je t'ai dit et de ne pas utiliser les objets clefs (qui a dit qu'on devait forcément avoir des objets clefs... Après tout on ne s'en sert généralement qu'une fois...).

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


spywaretof - posté le 11/12/2012 à 19:50:01 (84 messages postés)

❤ 0

Merci pour ces précisions.

Le problème c'est que j'utilise les objets clé comme objets de quêtes et j'aimerais qu'ils ne soient pas comptabilisé dans l'inventaire, donc je vais devoir chercher une autre solution à mon problème.

Je test ce que tu as donné comme solution et j'édite juste après, en attendant si quelqu'un a une autre solution/astuce qu'il ne se prive pas de la donner :)


EDIT :

Oué je vois, ça supprime la visibilité des objets clés dans l'inventaire mais ça les comptabilise encore :p
Bon si quelqu'un a une autre solution...

Index du forum > Entraide > [RESOLU] [vx ace] Modification du script Inventory Size de Tsukuhime

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers