Partagez
Aller en bas
LightNox
LightNox
Membre

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

FP: Equip Slots Empty FP: Equip Slots

le Lun 14 Mai 2012 - 16:36
FP: Equip Slots


Auteur : Tsukihime (crédit obligatoire)

Version du script : Unknow (inconnu quoi xD)

Principe du script : Ce script permet d'utiliser plus d'objet dans le menu équipement.

Instructions :
Dans la configuration, il suffit de spécifier le nombre d'emplacements que vous souhaitez équiper pour chaque type d'équipements.

Vous pouvez ajouter d'autres types d’équipement en ajoutant plus d'entrées au début du script dans le Module Equip_Slots.
Ici :
Code:
# Equip types. You can customize this
    # Equip type => [Type name, number of slots]
    Etypes = {0 => ["Armes", 1],
              1 => ["Bouclier", 1],
              2 => ["Casque", 1],
              3 => ["Armure", 1],
              4 => ["Accessoires", 5],
             
              #extended equip types
              5 => ["Gants", 1],
              6 => ["Chaussures", 1],
              7 => ["Ceinture", 1]
            }

Ensuite vous pouvez modifier l'ordre dans lequel vous voulez qu'il apparaissent dans votre menu ici :
Code:
    # Order that they should appear in the menu
    # You must include all types
    Etype_Order = [0, 1, 2, 3, 5, 6, 7, 4]

Les numéros correspondent chacun aux entrées spécifier ci-dessus exemple :
Si vous voulez que l'arme soit avant accessoires et que armure soit tout en haut vous modifier comme ceci :
Code:
# Equip types. You can customize this
    # Equip type => [Type name, number of slots]
    Etypes = {0 => ["Armes", 1],
              1 => ["Bouclier", 1],
              2 => ["Casque", 1],
              3 => ["Armure", 1],
              4 => ["Accessoires", 5],
             
              #extended equip types
              5 => ["Gants", 1],
              6 => ["Chaussures", 1],
              7 => ["Ceinture", 1]
            }
    # Order that they should appear in the menu
    # You must include all types
    Etype_Order = [3, 1, 2, 0, 5, 6, 7, 4


Pour spécifier qu'un équipement est de ce type, utilisez le note tag suivant :

Code:
<fp:es etype n>

Où n correspond au type de matériel défini dans le tableau ci-dessus.

Si vous souhaitez un ordre de tri personnalisé (par exemple: des gants apparaissent au-dessus d'arme), vous pouvez modifier Equip_Order comme vous le souhaitez. Notez qu'il n'y a aucun moyen d’entremêlement d'équipements (par exemple: arme, bouclier, arme, corps, arme).

Screens :
Spoiler:
FP: Equip Slots Hhpkm11

Script :
Code:
=begin
==============================================================================
 ** FP Equip Slots
 Author: Tsukihime
 Version: 1.0
 Date: May 13, 2012
------------------------------------------------------------------------------
 ** Change log
 1.0 May 13
  -Initial release
------------------------------------------------------------------------------
 This script allows you to specify arbitrary numbers
 of equip slots.
 
 It will later be extended to support slot
 increases and slot changes
==============================================================================
=end

module Feature_Plus
  module Equip_Slots
   
    # Want to use this system?
    Use_ES_Slots = true
   
  # Equip types. You can customize this
    # Equip type => [Type name, number of slots]
    Etypes = {0 => ["Armes", 1],
              1 => ["Bouclier", 1],
              2 => ["Casque", 1],
              3 => ["Armure", 1],
              4 => ["Accessoires", 5],
             
              #extended equip types
              5 => ["Gants", 1],
              6 => ["Chaussures", 1],
              7 => ["Ceinture", 1]
            }
   
    # Order that they should appear in the menu
    # You must include all types
    Etype_Order = [0, 1, 2, 3, 5, 6, 7, 4]
   
    # Feature code
    #FEATURE_SLOT_TYPE = 55 default
    FEATURE_EQUIP_TYPE = 102
    FEATURE_EQUIP_SLOTS = 103
   
    # Equip slot count data ID corresponds to
    # the etype defined above
   
    # Regex   
    ES_ETYPE = /<fp:es\s*etype:?\s*(\d+)\s*>/i
   
    def self.etype(etype_id)
      Etypes[etype_id][0]
    end
   
    # in case order is bad
    Default_Order = Etypes.collect {|k, v| k}
  end
end

module RPG
  class Armor
    include Feature_Plus::Equip_Slots
   
    def fp_es_load_notetags
      self.note.split(/[\r\n]+/).each do |line|
        case line
        when ES_ETYPE
          @etype_id = $1.to_i
        end
      end
    end
  end
 
  class Weapon
    include Feature_Plus::Equip_Slots
   
    def fp_es_load_notetags
    end
  end
end

module DataManager
 
  class << self
    alias tsuki_fp_es_init init
  end
 
  def self.init
    tsuki_fp_es_init
    load_notetags_fp_equip_slots
  end
   
  def self.load_notetags_fp_equip_slots
    groups = [$data_weapons, $data_armors]
    for group in groups
      for obj in group
        next if obj.nil?
        obj.fp_es_load_notetags
      end
    end
  end
end

class Game_Actor < Game_Battler
  include Feature_Plus::Equip_Slots
 
  def hands?
    true
    #slot_type == 2
  end
 
  def es_slots?
    Use_ES_Slots
  end
 
  def hand_type?(item)
    [0,1].include?(item.etype_id)
  end
 
  def es_get_slots
    return Etypes.flat_map {|k,v| [k] * v[1]}.sort_by {|i| Etype_Order.index(i)}
  rescue Etypes.flat_map {|k,v| [k] * v[1]}.sort_by {|i| Default_Order.index(i)}
  end
     
  def es_equip_slots
    slots = es_get_slots
    return slots.map! {|slot| slot == 1 ? 0 : slot} if dual_wield?
    return slots
  end

  alias fpes_equip_slots equip_slots
  def equip_slots
    return es_equip_slots if es_slots?
    return fpes_equip_slots
  end

end

#==============================================================================
# ** Modify equip window to hold variable equips
#==============================================================================

class Window_EquipSlot < Window_Selectable
  #--------------------------------------------------------------------------
  # * content height variable to actor equip size
  #--------------------------------------------------------------------------
  def content_height
    @actor.equip_slots.size * line_height - standard_padding * 2
  end
  #--------------------------------------------------------------------------
  # * Hardcode number of lines
  #--------------------------------------------------------------------------
  def window_height
    fitting_height(5)
  end
  #--------------------------------------------------------------------------
  # * Get Number of Lines to Show
  #--------------------------------------------------------------------------
  def visible_line_number
    @actor.nil? ? 0 : @actor.equip_slots.size
  end
 
  #--------------------------------------------------------------------------
  # * Use custom vocabulary list
  #--------------------------------------------------------------------------
  def slot_name(index)
    @actor ? Feature_Plus::Equip_Slots::etype(@actor.equip_slots[index]) : ""
  end
 
  def refresh
    create_contents
    draw_all_items
  end
end

Voilà, voilà, en espérant que ce script vous sera utile Wink

+1 pt de participation.

Brandobscure
Brandobscure
Membre

Nombre de messages : 531
Age : 23
Localisation : Belgique
Distinction : aucune
Date d'inscription : 03/01/2011

FP: Equip Slots Empty Re: FP: Equip Slots

le Lun 14 Mai 2012 - 17:34
Merci light sa vas m'aider Very Happy
je cherché un script de ce style justement.
Balbereith
Balbereith
Staffeux retraité

Nombre de messages : 4129
Age : 27
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 FP: Equip Slots 522164 ) [Coco' Smile]
Date d'inscription : 13/05/2009

FP: Equip Slots Empty Re: FP: Equip Slots

le Lun 14 Mai 2012 - 18:03
Merci du partage, +1pt ^^
Asagi
Asagi
Membre

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

FP: Equip Slots Empty Re: FP: Equip Slots

le Lun 14 Mai 2012 - 18:42
Exactement ce que je chercher merci !
DarkHeroe
DarkHeroe
Membre

Nombre de messages : 190
Age : 19
Localisation : Reunion Island
Distinction : aucune
Date d'inscription : 17/12/2011

FP: Equip Slots Empty Re: FP: Equip Slots

le Jeu 17 Mai 2012 - 9:55
Wow, merci beaucoup! Je cherchais se script! *_*
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 28
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

FP: Equip Slots Empty Re: FP: Equip Slots

le Jeu 17 Mai 2012 - 11:15
Bigrement intéressant. J'ai toujours trouvé les slots d'équipement de base dans RM trop limités.

Merci Smile
caitsith
caitsith
Membre

Nombre de messages : 73
Age : 26
Localisation : Aisne
Distinction : aucune
Date d'inscription : 21/08/2011

FP: Equip Slots Empty Re: FP: Equip Slots

le Ven 1 Juin 2012 - 0:23
trés bon script mais j'ai mieux que j'ai trouvé sur yanfly channe qui permet justement de faire sa plsu rajouter et enlever des onglets pour l'équipement
SilverSoul
SilverSoul
Membre

Nombre de messages : 274
Age : 26
Localisation : Canada~
Distinction : aucune
Date d'inscription : 22/04/2012

FP: Equip Slots Empty Re: FP: Equip Slots

le Ven 1 Juin 2012 - 3:39
Oh super ce petit script Very Happy
Je vais l'utiliser ;D
Merci du partage C:
Chaos17
Chaos17
Membre

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

FP: Equip Slots Empty Re: FP: Equip Slots

le Ven 1 Juin 2012 - 5:59
Ce script bug avec le SBS de Jet : animated battler.
Bug : l'utilisation d'un objet qui a un effet sur toute la partie pendant un combat n'est pas possible. L'action se reset tout simplement et l'objet n'est pas consommé.
Bug rapporté à l'auteur et il n'est pas résolu à ce jour.
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum