Partagez
Aller en bas
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Problème Script Requirements

le Ven 15 Mai 2015 - 18:20
Coucou,

J'ai un petit souci concernant un script que je souhaite utiliser. Il s'agit du script "Equipement Requirements" de Fomar0153 qui permet de mettre des conditions pour pouvoir porter des équipements (un level mini, des stats mini...). Le problème, c'est qu'il n'existe aucun moyen de vérifier ces conditions in game. C'est-à-dire que si vous essayez de vous équiper d'une pièce dont vous n'avez pas les pré-requis, vous ne voyez pas cet équipement (comme si vous ne l'aviez pas). Dans l'inventaire, il est bien présent mais le joueur ne comprend pas pourquoi il ne peut pas s'en équiper.

Ma demande est à la fois simple et large : serait-il possible de créer une mini interface permettant de voir ces pré-requis ? Je n'ai pas d'idée précise, la première chose me venant en tête étant l'appui sur une touche pour switcher la fenêtre de description et cette fenêtre de pré-requis mais pas sûr que cela soit efficace. Si vous avez une autre idée, je suis totalement ouvert aux suggestions. Aussi, ne me demandez pas pourquoi je ne mets pas ces pré-requis dans la description de l'équipement car, celle-ci faisant 2 lignes maxi, cela va être difficile de caser ces conditions (celles-ci pouvant être nombreuses).

Le script se trouve ci-dessous :

Code:
=begin
Equipment Requirements
by Fomar0153
Version 1.2
----------------------
Notes
----------------------
Adds a level requirement to equipment.
----------------------
Instructions
----------------------
Notetag the weapons/armors like so:
<levelreq x>
<mhpreq x>
<mmpreq x>
<atkreq x>
<defreq x>
<matreq x>
<mdfreq x>
<agireq x>
<lukreq x>
<switchreq x>
<wepreq x>
<armreq x>
----------------------
Change Log
----------------------
1.0 -> 1.1 Added stat requirements
           Changed script name from Equipment Level Requirements
           to just Equipment Requirements
1.1 -> 1.2 Added switch and other equipment requirements
----------------------
Known bugs
----------------------
None
=end

class Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● If set to true then it compares the requirement with the actor's base
  #   stat rather than their current.
  #--------------------------------------------------------------------------
  EQUIPREQ_USE_BASE_STAT = true
  #--------------------------------------------------------------------------
  # ● Check the requirements
  #--------------------------------------------------------------------------
  alias level_equippable? equippable?
  def equippable?(item)
    return false unless item.is_a?(RPG::EquipItem)
    return false if @level < item.levelreq
    return false if reqstat(0) < item.mhpreq
    return false if reqstat(1) < item.mmpreq
    return false if reqstat(2) < item.atkreq
    return false if reqstat(3) < item.defreq
    return false if reqstat(4) < item.matreq
    return false if reqstat(5) < item.mdfreq
    return false if reqstat(6) < item.agireq
    return false if reqstat(7) < item.lukreq
    if item.switchreq > 0
      return false unless $game_switches[item.switchreq]
    end
    if item.wepreq > 0
      e = []
      for equip in @equips
        if equip.is_weapon?
          e.push(equip.object.id)
        end
      end
      return false unless e.include?(item.wepreq) unless equip.object.nil?
    end
    if item.armreq > 0
      e = []
      for equip in @equips
        if equip.is_armor?
          e.push(equip.object.id) unless equip.object.nil?
        end
      end
      return false unless e.include?(item.armreq)
    end
    return level_equippable?(item)
  end
  #--------------------------------------------------------------------------
  # ● New Method
  #--------------------------------------------------------------------------
  def reqstat(id)
    if EQUIPREQ_USE_BASE_STAT
      return param_base(id)
    else
      return param(id)
    end
  end
end

module RPG
  #--------------------------------------------------------------------------
  # ● Equip Item is inherited by both Weapon and Armor
  #--------------------------------------------------------------------------
  class EquipItem
    def levelreq
      if self.note =~ /<levelreq (.*)>/i
        return $1.to_i
      else
        return 0
      end
    end
    def mhpreq
      if self.note =~ /<mhpreq (.*)>/i
        return $1.to_i
      else
        return 0
      end
    end
    def mmpreq
      if self.note =~ /<mmpreq (.*)>/i
        return $1.to_i
      else
        return 0
      end
    end
    def atkreq
      if self.note =~ /<atkreq (.*)>/i
        return $1.to_i
      else
        return 0
      end
    end
    def defreq
      if self.note =~ /<defreq (.*)>/i
        return $1.to_i
      else
        return 0
      end
    end
    def matreq
      if self.note =~ /<matreq (.*)>/i
        return $1.to_i
      else
        return 0
      end
    end
    def mdfreq
      if self.note =~ /<mdfreq (.*)>/i
        return $1.to_i
      else
        return 0
      end
    end
    def agireq
      if self.note =~ /<agireq (.*)>/i
        return $1.to_i
      else
        return 0
      end
    end
    def lukreq
      if self.note =~ /<lukreq (.*)>/i
        return $1.to_i
      else
        return 0
      end
    end
    def switchreq
      if self.note =~ /<switchreq (.*)>/i
        return $1.to_i
      else
        return 0
      end
    end
    def wepreq
      if self.note =~ /<wepreq (.*)>/i
        return $1.to_i
      else
        return 0
      end
    end
    def armreq
      if self.note =~ /<armreq (.*)>/i
        return $1.to_i
      else
        return 0
      end
    end
  end
end


Dernière édition par Nérylis le Mer 20 Mai 2015 - 18:39, édité 1 fois
avatar
reveurduciel
Membre

Nombre de messages : 197
Date d'inscription : 18/12/2014

Résolu Re: Problème Script Requirements

le Ven 15 Mai 2015 - 22:43
Je pourrais modifier la scène des ITEM pour ajouter une seconde Windows de texte juste en dessous de la description, qui fourni cette information, ou qui reste vide si aucun pré-requis. Je pourrai le faire la semaine prochaine si personne ne s'est porté volontaire, après avoir terminé les missions que No0ony m'a confié.

Par contre, je ne suis pas volontaire pour créer une interface juste pour montrer les pré-requis car je déteste les scènes et les Windows Very Happy
avatar
Zouzaka
Membre

Nombre de messages : 290
Age : 19
Distinction : aucune
Date d'inscription : 25/12/2011

Résolu Re: Problème Script Requirements

le Sam 16 Mai 2015 - 11:45
Trop Tard Wink
Spoiler:
Code:
=begin
Equipment Requirements
by Fomar0153
modified by Zouzaka
Version 1.2
----------------------
Notes
----------------------
Adds a level requirement to equipment.
----------------------
Instructions
----------------------
Notetag the weapons/armors like so:
<levelreq x>
<mhpreq x>
<mmpreq x>
<atkreq x>
<defreq x>
<matreq x>
<mdfreq x>
<agireq x>
<lukreq x>
<switchreq x>
<wepreq x>
<armreq x>
----------------------
Change Log
----------------------
1.0 -> 1.1 Added stat requirements
          Changed script name from Equipment Level Requirements
          to just Equipment Requirements
1.1 -> 1.2 Added switch and other equipment requirements
1.2 -> 1.3 Ajout D'une Window qui affiche les Conditions Requises
          Reduit le script de base de plus de 50 lignes
----------------------
Known bugs
----------------------
None
=end
class Window_EquipItem
  #--------------------------------------------------------------------------
  # ● If set to true then it compares the requirement with the actor's base
  #  stat rather than their current.
  #--------------------------------------------------------------------------
  EQUIPREQ_USE_BASE_STAT = true
  #--------------------------------------------------------------------------
  # ● Check the requirements
  #--------------------------------------------------------------------------
  def enable?(item)
    unless item == nil
      return false if @actor.level < item.levelreq
      return false if reqstat(0) < item.mhpreq
      return false if reqstat(1) < item.mmpreq
      return false if reqstat(2) < item.atkreq
      return false if reqstat(3) < item.defreq
      return false if reqstat(4) < item.matreq
      return false if reqstat(5) < item.mdfreq
      return false if reqstat(6) < item.agireq
      return false if reqstat(7) < item.lukreq
      if item.switchreq > 0
        return false unless $game_switches[item.switchreq]
      end
      if item.wepreq > 0
        e = []
        for equip in @equips
          if equip.is_weapon?
            e.push(equip.object.id)
          end
        end
        return false unless e.include?(item.wepreq) unless equip.object.nil?
      end
      if item.armreq > 0
        e = []
        for equip in @equips
          e.push(equip.object.id) if !equip.object.nil? and equip.is_armor?
        end
        return false unless e.include?(item.armreq)
      end
    end
    return true
  end
  #--------------------------------------------------------------------------
  # ● New Method
  #--------------------------------------------------------------------------
  def reqstat(id)
    EQUIPREQ_USE_BASE_STAT ? @actor.param_base(id) : @actor.param(id)
  end
end

module RPG
  #--------------------------------------------------------------------------
  # ● Equip Item is inherited by both Weapon and Armor
  #--------------------------------------------------------------------------
  class EquipItem
    def levelreq
      self.note =~ /<levelreq (.*)>/i ? $1.to_i : 0
    end
    def mhpreq
      self.note =~ /<mhpreq (.*)>/i ? $1.to_i : 0
    end
    def mmpreq
      self.note =~ /<mmpreq (.*)>/i ? $1.to_i : 0
    end
    def atkreq
      self.note =~ /<atkreq (.*)>/i ? $1.to_i : 0
    end
    def defreq
      self.note =~ /<defreq (.*)>/i ? $1.to_i : 0
    end
    def matreq
      self.note =~ /<matreq (.*)>/i ? $1.to_i : 0
    end
    def mdfreq
      self.note =~ /<mdfreq (.*)>/i ? $1.to_i : 0
    end
    def agireq
      self.note =~ /<agireq (.*)>/i ? $1.to_i : 0
    end
    def lukreq
      self.note =~ /<lukreq (.*)>/i ? $1.to_i : 0
    end
    def switchreq
      self.note =~ /<switchreq (.*)>/i ? $1.to_i : 0
    end
    def wepreq
      self.note =~ /<wepreq (.*)>/i ? $1.to_i : 0
    end
    def armreq
      self.note =~ /<armreq (.*)>/i ? $1.to_i : 0
    end
  end
end
class Window_Requirement < Window_Base
  def initialize(x, y)
    super(x, y, Graphics.width/2, Graphics.height)
    self.openness = 0
    self.z = 250
    @item = nil
    refresh
  end
  def item ; return @item ; end
  def item=(item)
    @item = item
    refresh
  end
  def refresh
    contents.clear
    @req = ["item.levelreq","item.mhpreq","item.mmpreq","item.atkreq","item.defreq","item.matreq","item.mdfreq","item.agireq","item.lukreq"]#,"item.wepreq","item.armreq"]
    @vocab_req = [Vocab.level,Vocab.param(0),Vocab.param(1),Vocab.param(2),Vocab.param(3),Vocab.param(4),Vocab.param(5),Vocab.param(6),Vocab.param(7)]#,Vocab.weapon,Vocab.armor]
    @t = 2
    draw_text(contents.width/8, 0, contents.width, line_height, "Conditions Requises")
    @req.each do |req|
      if item != nil && eval(req) != 0
        draw_text(0, line_height*@t, contents.width, line_height, @vocab_req[@req.index(req)]+" Requis: "+eval(req).to_s)
        @t += 1
      end
    end
    draw_text(0, line_height*@t, contents.width, line_height, "Arme Requise: "+$data_weapons[item.wepreq].name) if item != nil && item.wepreq != 0
    draw_text(0, line_height*(@t+1), contents.width, line_height, "Armure Requises: "+$data_armors[item.armreq].name) if item != nil && item.armreq != 0
  end
end

#~ #==============================================================================
#~ # ** Scene_Equip
#~ #------------------------------------------------------------------------------
#~ #  This class performs the equipment screen processing.
#~ #==============================================================================

class Scene_Equip
  alias :old_start :start
  def start
    old_start
    @window_req = Window_Requirement.new(Graphics.width/4,0)
  end
  def update
    super
    if Input.trigger?(:SHIFT)
      if @window_req.openness == 0 && @item_window.active && @item_window.item != nil
        @window_req.item=@item_window.item
        @background = Sprite.new
        @background.z = 200
        @background.bitmap = Bitmap.new(Graphics.width, Graphics.height)
        @background.bitmap.fill_rect(0,0,Graphics.width,Graphics.height,Color.new(0, 0, 0,128))
        @window_req.open
        @item_window.deactivate
      elsif @window_req.openness == 255
        @background.dispose if @background
        @window_req.close
        @item_window.activate
      end
    end
  end
end
J'ai Modifiée et ajouté pas mal de choses, donc je me suis permis de mettre mon nom en dessous de celui de l'auteur.
A part ca, pour affichez les conditions requis tu vas sur l'item, et tu appui sur Shift Wink
Screen :
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Problème Script Requirements

le Sam 16 Mai 2015 - 13:26
Plutôt pas mal, c'est une bonne base sur laquelle on va pouvoir continuer. J'ai plusieurs remarques :

- J'ai utilisé le script mis à jour sur ma démo de menu et ça marche bien. Mais une fonctionnalité d'un autre script n'est plus disponible. J'ai changé la touche sur laquelle il faut appuyer mais le problème persiste. Normalement, sur l'écran où le joueur peut s'équiper, en appuyant sur Shift, il accède à une autre interface liée à l'upgrade des équipements. Là, celle-ci ne s'affiche plus. C'est possible de remédier à ça ? Je te laisse une démo : http://www.mediafire.com/download/317dcaq3gy37tb6/Ace+menu+-+Requirements.exe

- Est-ce possible aussi d'accéder à l'interface via le menu Objets ?

- Serait-il possible d'afficher les conditions qui ne sont pas validées en rouge, et laisser les autres en blanc ?

- J'ai vu que pour les interrupteurs, tu n'avais pas mis de texte. Est-ce possible d'avoir un "Vocab" à personnaliser soi-même en fonction de l'ID du switch ?

- Un point manquant aussi sur le script de base : c'est possible d'utiliser les variables comme conditions ? Avec la même remarque que pour les switchs ?

Edit : Dans la démo, tu peux te procurer des équipements via le second cristal. J'ai mis des conditions sur les 3 haches dont le premier héros peut s'équiper. Wink
avatar
Zouzaka
Membre

Nombre de messages : 290
Age : 19
Distinction : aucune
Date d'inscription : 25/12/2011

Résolu Re: Problème Script Requirements

le Sam 16 Mai 2015 - 22:10
Voudrait-tu avoir une Vocab pour les Variables aussi ?
la note pour la variable sera probablement comme ceci :
Code:
<variablereq x,y>
ou x est l'id de la variable
et y le montant a egaler
Si tu a d'autre remarques c'est le moment Wink


Dernière édition par Zouzaka le Sam 16 Mai 2015 - 22:32, édité 1 fois
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Problème Script Requirements

le Sam 16 Mai 2015 - 22:25
Oui, c'est ce que je voulais dire quand j'ai précisé "avec la même remarque que pour les switchs".

Pour les switchs :
x - l'id du switch

Pour les variables :
x - l'id de la variable
y - le montant à égaler minimum (en gros égal ou supérieur à cette valeur)

Je n'ai pas d'autres idées, je pense qu'avec ça, on va se rapprocher de quelque chose d'assez complet.
avatar
Zouzaka
Membre

Nombre de messages : 290
Age : 19
Distinction : aucune
Date d'inscription : 25/12/2011

Résolu Re: Problème Script Requirements

le Sam 16 Mai 2015 - 23:33
Alors Voila :


la touche a était modifiée pour éviter les conflits, c'est devenu CTRL
Spoiler:
Code:
=begin
Equipment Requirements
by Fomar0153
modified by Zouzaka
Version 1.3
----------------------
Notes
----------------------
Adds a level requirement to equipment.
----------------------
Instructions
----------------------
Notetag the weapons/armors like so:
<levelreq x>
<mhpreq x>
<mmpreq x>
<atkreq x>
<defreq x>
<matreq x>
<mdfreq x>
<agireq x>
<lukreq x>
<switchreq x>
<variablereq x,y>
<wepreq x>
<armreq x>
----------------------
Change Log
----------------------
1.0 -> 1.1 Added stat requirements
          Changed script name from Equipment Level Requirements
          to just Equipment Requirements
1.1 -> 1.2 Added switch and other equipment requirements
1.2 -> 1.3 Ajout D'une Window qui affiche les Conditions requises
          Réduit le script de base de plus de 50 lignes
----------------------
Known bugs
----------------------
None
=end
  #--------------------------------------------------------------------------
  # ● If set to true then it compares the requirement with the actor's base
  #  stat rather than their current.
  #--------------------------------------------------------------------------
EQUIPREQ_USE_BASE_STAT = false
  #--------------------------------------------------------------------------
  # ● Vocab for switch's
  #  every switch_id in a different line
  #--------------------------------------------------------------------------

Switch_Vocab = {
# Switch_ID => "Vocab",
2 => "Visiter la Compagne",
}
  #--------------------------------------------------------------------------
  # ● Vocab for variables
  #  every switch_id in a different line
  #--------------------------------------------------------------------------

Variable_Vocab = {
# Variable_ID => "Vocab",
2 => "Nombre de pierre a casser",
}
class Window_EquipItem
  #--------------------------------------------------------------------------
  # ● Check the requirements
  #--------------------------------------------------------------------------
  def enable?(item)
    unless item == nil
      return false if @actor.level < item.levelreq
      return false if reqstat(0) < item.mhpreq
      return false if reqstat(1) < item.mmpreq
      return false if reqstat(2) < item.atkreq
      return false if reqstat(3) < item.defreq
      return false if reqstat(4) < item.matreq
      return false if reqstat(5) < item.mdfreq
      return false if reqstat(6) < item.agireq
      return false if reqstat(7) < item.lukreq
      if item.switchreq > 0
        return false unless $game_switches[item.switchreq]
      end
      if item.variablereq != 0
        return false unless $game_variables[item.variablereq[0]] < item.variablereq[1]
      end
      if item.wepreq > 0
        e = []
        for equip in @actor.equips
          e.push(equip.id) if equip.class == RPG::Weapon
        end
        return false unless e.include?(item.wepreq)
      end
      if item.armreq > 0
        e = []
        for equip in @actor.equips
          e.push(equip.id) if equip.class == RPG::Armor
        end
        return false unless e.include?(item.armreq)
      end
    end
    return true
  end
  #--------------------------------------------------------------------------
  # ● New Method
  #--------------------------------------------------------------------------
  def reqstat(id)
    EQUIPREQ_USE_BASE_STAT ? @actor.param_base(id) : @actor.param(id)
  end
end
module RPG
  #--------------------------------------------------------------------------
  # ● Equip Item is inherited by both Weapon and Armor
  #--------------------------------------------------------------------------
  class EquipItem
    def variablereq
      self.note =~ /<variablereq (.*),(.*)>/i ? [$1.to_i,$2.to_i] : 0
    end
    def levelreq
      self.note =~ /<levelreq (.*)>/i ? $1.to_i : 0
    end
    def mhpreq
      self.note =~ /<mhpreq (.*)>/i ? $1.to_i : 0
    end
    def mmpreq
      self.note =~ /<mmpreq (.*)>/i ? $1.to_i : 0
    end
    def atkreq
      self.note =~ /<atkreq (.*)>/i ? $1.to_i : 0
    end
    def defreq
      self.note =~ /<defreq (.*)>/i ? $1.to_i : 0
    end
    def matreq
      self.note =~ /<matreq (.*)>/i ? $1.to_i : 0
    end
    def mdfreq
      self.note =~ /<mdfreq (.*)>/i ? $1.to_i : 0
    end
    def agireq
      self.note =~ /<agireq (.*)>/i ? $1.to_i : 0
    end
    def lukreq
      self.note =~ /<lukreq (.*)>/i ? $1.to_i : 0
    end
    def switchreq
      self.note =~ /<switchreq (.*)>/i ? $1.to_i : 0
    end
    def wepreq
      self.note =~ /<wepreq (.*)>/i ? $1.to_i : 0
    end
    def armreq
      self.note =~ /<armreq (.*)>/i ? $1.to_i : 0
    end
  end
end
class Window_Requirement < Window_Base
  def initialize(x, y)
    super(x, y, Graphics.width/2, Graphics.height)
    self.openness = 0
    self.z = 250
    @item = nil
    @actor = nil
    refresh
  end
  def reqstat(id)
    EQUIPREQ_USE_BASE_STAT ? @actor.param_base(id) : @actor.param(id)
  end
  def item ; return @item ; end
  def item=(item)
    @item = item
    refresh
  end
  def actor ; return @actor ; end
  def actor=(actor)
    @actor = actor
    refresh
  end
  def update
    super
    if Input.trigger?(:R)
      @actor = $game_party.menu_actor_next
      refresh
    elsif Input.trigger?(:L)
      @actor = $game_party.menu_actor_prev
      refresh
    end
  end
  def refresh
    contents.clear
    @req = ["item.levelreq","item.mhpreq","item.mmpreq","item.atkreq","item.defreq","item.matreq","item.mdfreq","item.agireq","item.lukreq"]#,"item.wepreq","item.armreq"]
    @vocab_req = [Vocab.level,Vocab.param(0),Vocab.param(1),Vocab.param(2),Vocab.param(3),Vocab.param(4),Vocab.param(5),Vocab.param(6),Vocab.param(7)]#,Vocab.weapon,Vocab.armor]
    @req_condition = ["@actor.level","reqstat(0)","reqstat(1)","reqstat(2)","reqstat(3)","reqstat(4)","reqstat(5)","reqstat(6)","reqstat(7)"]
    @t = 2
    change_color(normal_color)
    draw_text(contents.width/8, 0, contents.width, line_height, "Conditions requises")
    @req.each do |req|
      if item != nil && eval(req) != 0 && actor != nil
        p(eval(@req_condition[@req.index(req)]))
        p(eval(req))
        eval(@req_condition[@req.index(req)]) < eval(req) ? change_color(text_color(2)) : change_color(normal_color)
        draw_text(0, line_height*@t, contents.width, line_height, @vocab_req[@req.index(req)]+" requis : "+eval(req).to_s)
        @t += 1
      end
    end
    change_color(normal_color)
    if item != nil && item.wepreq != 0 && actor != nil
      e = []
      for equip in @actor.equips
        if equip.class == RPG::Weapon
          e.push(equip.id)
        end
      end
      change_color(text_color(2)) unless e.include?(item.wepreq)
      draw_text(0, line_height*@t, contents.width, line_height, "Arme requise : "+$data_weapons[item.wepreq].name)
    end
    change_color(normal_color)
    if item != nil && item.armreq != 0 && actor != nil
      e = []
      for equip in @actor.equips
        e.push(equip.id) if equip.class == RPG::Armor
      end
      change_color(text_color(2)) unless e.include?(item.armreq)
      draw_text(0, line_height*(@t+1), contents.width, line_height, "Armure requise : "+$data_armors[item.armreq].name)
      @t += 1
    end
    if item && item.switchreq != 0
      $game_switches[item.switchreq] ? change_color(normal_color) : change_color(text_color(2))
      draw_text(0, line_height*(@t+1), contents.width, line_height, Switch_Vocab[item.switchreq])
      @t += 1
    end
    if item && item.variablereq != 0
      $game_variables[item.variablereq[0]] >= item.variablereq[1] ? change_color(normal_color) : change_color(text_color(2))
      draw_text(0, line_height*(@t+1), contents.width, line_height, Variable_Vocab[item.variablereq[0]]+" "+$game_variables[item.variablereq[0]].to_s+"/"+item.variablereq[1].to_s)
    end
    change_color(normal_color)
    draw_text(0, contents.height-line_height*2, contents.width, line_height, "    Precedent (L)  |||  (R) Suivant")
    draw_text(0, contents.height-line_height, contents.width, line_height, "Personnage Actuel: "+@actor.name) if @actor
  end
end

#~ #==============================================================================
#~ # ** Scene_Equip
#~ #------------------------------------------------------------------------------
#~ #  This class performs the equipment screen processing.
#~ #==============================================================================

class Scene_Equip
  alias :old_start :start
  def start
    old_start
    @window_req = Window_Requirement.new(Graphics.width/4,0)
  end
  alias :old_update :update
  def update
    old_update
    if Input.trigger?(:CTRL)
      if @window_req.openness == 0 && @item_window.active && @item_window.item != nil
        @window_req.item=@item_window.item
        @window_req.actor= @actor
        @background = Sprite.new
        @background.z = 200
        @background.bitmap = Bitmap.new(Graphics.width, Graphics.height)
        @background.bitmap.fill_rect(0,0,Graphics.width,Graphics.height,Color.new(0, 0, 0,128))
        @window_req.open
        @item_window.deactivate
      elsif @window_req.openness == 255
        @background.dispose if @background
        @window_req.close
        @item_window.activate
      end
    end
  end
end
class Scene_Item < Scene_ItemBase
  alias :old_start :start
  def start
    old_start
    @window_req = Window_Requirement.new(Graphics.width/4,0)
  end
  alias :old_update :update
  def update
    old_update
    if Input.trigger?(:CTRL)
      if @window_req.openness == 0 && (@item_window.item.class == RPG::Weapon || @item_window.item.class == RPG::Armor)
        @window_req.item=@item_window.item
        @window_req.actor= @actor
        @background = Sprite.new
        @background.z = 200
        @background.bitmap = Bitmap.new(Graphics.width, Graphics.height)
        @background.bitmap.fill_rect(0,0,Graphics.width,Graphics.height,Color.new(0, 0, 0,128))
        @window_req.open
        @item_window.deactivate
      elsif @window_req.openness == 255
        @background.dispose if @background
        @window_req.close
        @item_window.activate
      end
    end
  end
end
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Problème Script Requirements

le Dim 17 Mai 2015 - 10:13
J'ai testé, ça marche plutôt bien. Juste 2-3 petites choses :
- Est-ce possible d'uniformiser l'affichage du texte du personnage actuel ? En fait là, dès que le nom du personnage dépasse 5 lettres, le facteur de largement diminue sans être optimisé.
- C'est normal si mes conditions de variable sautent une ligne ? Ça ne le faisait pas pour toi. J'ai mis 5-6 conditions liés aux stats des personnages + 1 condition liée à une variable et ça me saute une ligne.
avatar
Zouzaka
Membre

Nombre de messages : 290
Age : 19
Distinction : aucune
Date d'inscription : 25/12/2011

Résolu Re: Problème Script Requirements

le Lun 18 Mai 2015 - 1:48
Le probleme de la ligne qui saute est reglé :
Spoiler:
Code:
=begin
Equipment Requirements
by Fomar0153
modified by Zouzaka
Version 1.3
----------------------
Notes
----------------------
Adds a level requirement to equipment.
----------------------
Instructions
----------------------
Notetag the weapons/armors like so:
<levelreq x>
<mhpreq x>
<mmpreq x>
<atkreq x>
<defreq x>
<matreq x>
<mdfreq x>
<agireq x>
<lukreq x>
<switchreq x>
<variablereq x,y>
<wepreq x>
<armreq x>
----------------------
Change Log
----------------------
1.0 -> 1.1 Added stat requirements
          Changed script name from Equipment Level Requirements
          to just Equipment Requirements
1.1 -> 1.2 Added switch and other equipment requirements
1.2 -> 1.3 Ajout D'une Window qui affiche les Conditions requises
          Réduit le script de base de plus de 50 lignes
----------------------
Known bugs
----------------------
None
=end
  #--------------------------------------------------------------------------
  # ● If set to true then it compares the requirement with the actor's base
  #  stat rather than their current.
  #--------------------------------------------------------------------------
EQUIPREQ_USE_BASE_STAT = false
  #--------------------------------------------------------------------------
  # ● Vocab for switch's
  #  every switch_id in a different line
  #--------------------------------------------------------------------------

Switch_Vocab = {
# Switch_ID => "Vocab",
2 => "Visiter la Compagne",
}
  #--------------------------------------------------------------------------
  # ● Vocab for variables
  #  every switch_id in a different line
  #--------------------------------------------------------------------------

Variable_Vocab = {
# Variable_ID => "Vocab",
2 => "Nombre de pierre a casser",
}
class Window_EquipItem
  #--------------------------------------------------------------------------
  # ● Check the requirements
  #--------------------------------------------------------------------------
  def enable?(item)
    unless item == nil
      return false if @actor.level < item.levelreq
      return false if reqstat(0) < item.mhpreq
      return false if reqstat(1) < item.mmpreq
      return false if reqstat(2) < item.atkreq
      return false if reqstat(3) < item.defreq
      return false if reqstat(4) < item.matreq
      return false if reqstat(5) < item.mdfreq
      return false if reqstat(6) < item.agireq
      return false if reqstat(7) < item.lukreq
      if item.switchreq > 0
        return false unless $game_switches[item.switchreq]
      end
      if item.variablereq != 0
        return false unless $game_variables[item.variablereq[0]] < item.variablereq[1]
      end
      if item.wepreq > 0
        e = []
        for equip in @actor.equips
          e.push(equip.id) if equip.class == RPG::Weapon
        end
        return false unless e.include?(item.wepreq)
      end
      if item.armreq > 0
        e = []
        for equip in @actor.equips
          e.push(equip.id) if equip.class == RPG::Armor
        end
        return false unless e.include?(item.armreq)
      end
    end
    return true
  end
  #--------------------------------------------------------------------------
  # ● New Method
  #--------------------------------------------------------------------------
  def reqstat(id)
    EQUIPREQ_USE_BASE_STAT ? @actor.param_base(id) : @actor.param(id)
  end
end
module RPG
  #--------------------------------------------------------------------------
  # ● Equip Item is inherited by both Weapon and Armor
  #--------------------------------------------------------------------------
  class EquipItem
    def variablereq
      self.note =~ /<variablereq (.*),(.*)>/i ? [$1.to_i,$2.to_i] : 0
    end
    def levelreq
      self.note =~ /<levelreq (.*)>/i ? $1.to_i : 0
    end
    def mhpreq
      self.note =~ /<mhpreq (.*)>/i ? $1.to_i : 0
    end
    def mmpreq
      self.note =~ /<mmpreq (.*)>/i ? $1.to_i : 0
    end
    def atkreq
      self.note =~ /<atkreq (.*)>/i ? $1.to_i : 0
    end
    def defreq
      self.note =~ /<defreq (.*)>/i ? $1.to_i : 0
    end
    def matreq
      self.note =~ /<matreq (.*)>/i ? $1.to_i : 0
    end
    def mdfreq
      self.note =~ /<mdfreq (.*)>/i ? $1.to_i : 0
    end
    def agireq
      self.note =~ /<agireq (.*)>/i ? $1.to_i : 0
    end
    def lukreq
      self.note =~ /<lukreq (.*)>/i ? $1.to_i : 0
    end
    def switchreq
      self.note =~ /<switchreq (.*)>/i ? $1.to_i : 0
    end
    def wepreq
      self.note =~ /<wepreq (.*)>/i ? $1.to_i : 0
    end
    def armreq
      self.note =~ /<armreq (.*)>/i ? $1.to_i : 0
    end
  end
end
class Window_Requirement < Window_Base
  def initialize(x, y)
    super(x, y, Graphics.width/2, Graphics.height)
    self.openness = 0
    self.z = 250
    @item = nil
    @actor = nil
    refresh
  end
  def reqstat(id)
    EQUIPREQ_USE_BASE_STAT ? @actor.param_base(id) : @actor.param(id)
  end
  def item ; return @item ; end
  def item=(item)
    @item = item
    refresh
  end
  def actor ; return @actor ; end
  def actor=(actor)
    @actor = actor
    refresh
  end
  def update
    super
    if Input.trigger?(:R)
      @actor = $game_party.menu_actor_next
      refresh
    elsif Input.trigger?(:L)
      @actor = $game_party.menu_actor_prev
      refresh
    end
  end
  def refresh
    contents.clear
    @req = ["item.levelreq","item.mhpreq","item.mmpreq","item.atkreq","item.defreq","item.matreq","item.mdfreq","item.agireq","item.lukreq"]#,"item.wepreq","item.armreq"]
    @vocab_req = [Vocab.level,Vocab.param(0),Vocab.param(1),Vocab.param(2),Vocab.param(3),Vocab.param(4),Vocab.param(5),Vocab.param(6),Vocab.param(7)]#,Vocab.weapon,Vocab.armor]
    @req_condition = ["@actor.level","reqstat(0)","reqstat(1)","reqstat(2)","reqstat(3)","reqstat(4)","reqstat(5)","reqstat(6)","reqstat(7)"]
    @t = 2
    change_color(normal_color)
    draw_text(contents.width/8, 0, contents.width, line_height, "Conditions requises")
    @req.each do |req|
      if item != nil && eval(req) != 0 && actor != nil
        eval(@req_condition[@req.index(req)]) < eval(req) ? change_color(text_color(2)) : change_color(normal_color)
        draw_text(0, line_height*@t, contents.width, line_height, @vocab_req[@req.index(req)]+" requis : "+eval(req).to_s)
        @t += 1
      end
    end
    change_color(normal_color)
    if item != nil && item.wepreq != 0 && actor != nil
      e = []
      for equip in @actor.equips
        if equip.class == RPG::Weapon
          e.push(equip.id)
        end
      end
      change_color(text_color(2)) unless e.include?(item.wepreq)
      draw_text(0, line_height*@t, contents.width, line_height, "Arme requise : "+$data_weapons[item.wepreq].name)
      @t += 1
    end
    change_color(normal_color)
    if item != nil && item.armreq != 0 && actor != nil
      e = []
      for equip in @actor.equips
        e.push(equip.id) if equip.class == RPG::Armor
      end
      change_color(text_color(2)) unless e.include?(item.armreq)
      draw_text(0, line_height*(@t), contents.width, line_height, "Armure requise : "+$data_armors[item.armreq].name)
      @t += 1
    end
    if item && item.switchreq != 0
      $game_switches[item.switchreq] ? change_color(normal_color) : change_color(text_color(2))
      draw_text(0, line_height*(@t), contents.width, line_height, Switch_Vocab[item.switchreq])
      @t += 1
    end
    if item && item.variablereq != 0
      $game_variables[item.variablereq[0]] >= item.variablereq[1] ? change_color(normal_color) : change_color(text_color(2))
      draw_text(0, line_height*(@t), contents.width, line_height, Variable_Vocab[item.variablereq[0]]+" "+$game_variables[item.variablereq[0]].to_s+"/"+item.variablereq[1].to_s)
    end
    change_color(normal_color)
    draw_text(0, contents.height-line_height*2, contents.width, line_height, "    Precedent (L)  |||  (R) Suivant")
    draw_text(0, contents.height-line_height, contents.width, line_height, "Personnage Actuel: "+@actor.name) if @actor
  end
end

#~ #==============================================================================
#~ # ** Scene_Equip
#~ #------------------------------------------------------------------------------
#~ #  This class performs the equipment screen processing.
#~ #==============================================================================

class Scene_Equip
  alias :old_start :start
  def start
    old_start
    @window_req = Window_Requirement.new(Graphics.width/4,0)
  end
  alias :old_update :update
  def update
    old_update
    if Input.trigger?(:CTRL)
      if @window_req.openness == 0 && @item_window.active && @item_window.item != nil
        @window_req.item=@item_window.item
        @window_req.actor= @actor
        @background = Sprite.new
        @background.z = 200
        @background.bitmap = Bitmap.new(Graphics.width, Graphics.height)
        @background.bitmap.fill_rect(0,0,Graphics.width,Graphics.height,Color.new(0, 0, 0,128))
        @window_req.open
        @item_window.deactivate
      elsif @window_req.openness == 255
        @background.dispose if @background
        @window_req.close
        @item_window.activate
      end
    end
  end
end
class Scene_Item < Scene_ItemBase
  alias :old_start :start
  def start
    old_start
    @window_req = Window_Requirement.new(Graphics.width/4,0)
  end
  alias :old_update :update
  def update
    old_update
    if Input.trigger?(:CTRL)
      if @window_req.openness == 0 && (@item_window.item.class == RPG::Weapon || @item_window.item.class == RPG::Armor)
        @window_req.item=@item_window.item
        @window_req.actor= @actor
        @background = Sprite.new
        @background.z = 200
        @background.bitmap = Bitmap.new(Graphics.width, Graphics.height)
        @background.bitmap.fill_rect(0,0,Graphics.width,Graphics.height,Color.new(0, 0, 0,128))
        @window_req.open
        @item_window.deactivate
      elsif @window_req.openness == 255
        @background.dispose if @background
        @window_req.close
        @item_window.activate
      end
    end
  end
end

En ce qui conserne le nom du personnage, je devrait surement diviser ca en 2 lignes, genre :
Personnage Actuel :
(Nom du perso)
si cela te convient je ferait les changements Wink
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Problème Script Requirements

le Lun 18 Mai 2015 - 6:14
Nickel pour la ligne.

Le nom du personnage sur 2 lignes, ça me convient. Je pense que ça sera plus pratique.
avatar
Zouzaka
Membre

Nombre de messages : 290
Age : 19
Distinction : aucune
Date d'inscription : 25/12/2011

Résolu Re: Problème Script Requirements

le Mar 19 Mai 2015 - 0:29
Désolé, mais j'ai quelques problèmes IRL ces derniers jours je ne pourrait certainement pas t'aider =/
Si quelqu’un qui sait bidouiller les scripts passe par la il pourra certainement terminer ce que j'ai commencé =/
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Problème Script Requirements

le Mar 19 Mai 2015 - 21:55
Rien de trop grave, j'espère ?

J'ai essayé de le faire moi-même. Pas de soucis pour ajouter la ligne mais par contre, je n'arrive pas à centrer le texte (il s'agit des lignes 234/235/236).

Ma mise à jour est ici :

Code:
=begin
Equipment Requirements
by Fomar0153
modified by Zouzaka
Version 1.3
----------------------
Notes
----------------------
Adds a level requirement to equipment.
----------------------
Instructions
----------------------
Notetag the weapons/armors like so:
<levelreq x>
<mhpreq x>
<mmpreq x>
<atkreq x>
<defreq x>
<matreq x>
<mdfreq x>
<agireq x>
<lukreq x>
<switchreq x>
<variablereq x,y>
<wepreq x>
<armreq x>
----------------------
Change Log
----------------------
1.0 -> 1.1 Added stat requirements
          Changed script name from Equipment Level Requirements
          to just Equipment Requirements
1.1 -> 1.2 Added switch and other equipment requirements
1.2 -> 1.3 Ajout D'une Window qui affiche les Conditions requises
          Réduit le script de base de plus de 50 lignes
----------------------
Known bugs
----------------------
None
=end
  #--------------------------------------------------------------------------
  # ● If set to true then it compares the requirement with the actor's base
  #  stat rather than their current.
  #--------------------------------------------------------------------------
EQUIPREQ_USE_BASE_STAT = true
  #--------------------------------------------------------------------------
  # ● Vocab for switch's
  #  every switch_id in a different line
  #--------------------------------------------------------------------------

Switch_Vocab = {
# Switch_ID => "Vocab",
2 => "Visiter la Campagne",
}
  #--------------------------------------------------------------------------
  # ● Vocab for variables
  #  every switch_id in a different line
  #--------------------------------------------------------------------------

Variable_Vocab = {
# Variable_ID => "Vocab",
2 => "Nombre de pierres à casser",
}
class Window_EquipItem
  #--------------------------------------------------------------------------
  # ● Check the requirements
  #--------------------------------------------------------------------------
  def enable?(item)
    unless item == nil
      return false if @actor.level < item.levelreq
      return false if reqstat(0) < item.mhpreq
      return false if reqstat(1) < item.mmpreq
      return false if reqstat(2) < item.atkreq
      return false if reqstat(3) < item.defreq
      return false if reqstat(4) < item.matreq
      return false if reqstat(5) < item.mdfreq
      return false if reqstat(6) < item.agireq
      return false if reqstat(7) < item.lukreq
      if item.switchreq > 0
        return false unless $game_switches[item.switchreq]
      end
      if item.variablereq != 0
        return false unless $game_variables[item.variablereq[0]] < item.variablereq[1]
      end
      if item.wepreq > 0
        e = []
        for equip in @actor.equips
          e.push(equip.id) if equip.class == RPG::Weapon
        end
        return false unless e.include?(item.wepreq)
      end
      if item.armreq > 0
        e = []
        for equip in @actor.equips
          e.push(equip.id) if equip.class == RPG::Armor
        end
        return false unless e.include?(item.armreq)
      end
    end
    return true
  end
  #--------------------------------------------------------------------------
  # ● New Method
  #--------------------------------------------------------------------------
  def reqstat(id)
    EQUIPREQ_USE_BASE_STAT ? @actor.param_base(id) : @actor.param(id)
  end
end
module RPG
  #--------------------------------------------------------------------------
  # ● Equip Item is inherited by both Weapon and Armor
  #--------------------------------------------------------------------------
  class EquipItem
    def variablereq
      self.note =~ /<variablereq (.*),(.*)>/i ? [$1.to_i,$2.to_i] : 0
    end
    def levelreq
      self.note =~ /<levelreq (.*)>/i ? $1.to_i : 0
    end
    def mhpreq
      self.note =~ /<mhpreq (.*)>/i ? $1.to_i : 0
    end
    def mmpreq
      self.note =~ /<mmpreq (.*)>/i ? $1.to_i : 0
    end
    def atkreq
      self.note =~ /<atkreq (.*)>/i ? $1.to_i : 0
    end
    def defreq
      self.note =~ /<defreq (.*)>/i ? $1.to_i : 0
    end
    def matreq
      self.note =~ /<matreq (.*)>/i ? $1.to_i : 0
    end
    def mdfreq
      self.note =~ /<mdfreq (.*)>/i ? $1.to_i : 0
    end
    def agireq
      self.note =~ /<agireq (.*)>/i ? $1.to_i : 0
    end
    def lukreq
      self.note =~ /<lukreq (.*)>/i ? $1.to_i : 0
    end
    def switchreq
      self.note =~ /<switchreq (.*)>/i ? $1.to_i : 0
    end
    def wepreq
      self.note =~ /<wepreq (.*)>/i ? $1.to_i : 0
    end
    def armreq
      self.note =~ /<armreq (.*)>/i ? $1.to_i : 0
    end
  end
end
class Window_Requirement < Window_Base
  def initialize(x, y)
    super(x, y, Graphics.width/2, Graphics.height)
    self.openness = 0
    self.z = 250
    @item = nil
    @actor = nil
    refresh
  end
  def reqstat(id)
    EQUIPREQ_USE_BASE_STAT ? @actor.param_base(id) : @actor.param(id)
  end
  def item ; return @item ; end
  def item=(item)
    @item = item
    refresh
  end
  def actor ; return @actor ; end
  def actor=(actor)
    @actor = actor
    refresh
  end
  def update
    super
    if Input.trigger?(:R)
      @actor = $game_party.menu_actor_next
      refresh
    elsif Input.trigger?(:L)
      @actor = $game_party.menu_actor_prev
      refresh
    end
  end
  def refresh
    contents.clear
    @req = ["item.levelreq","item.mhpreq","item.mmpreq","item.atkreq","item.defreq","item.matreq","item.mdfreq","item.agireq","item.lukreq"]#,"item.wepreq","item.armreq"]
    @vocab_req = [Vocab.level,Vocab.param(0),Vocab.param(1),Vocab.param(2),Vocab.param(3),Vocab.param(4),Vocab.param(5),Vocab.param(6),Vocab.param(7)]#,Vocab.weapon,Vocab.armor]
    @req_condition = ["@actor.level","reqstat(0)","reqstat(1)","reqstat(2)","reqstat(3)","reqstat(4)","reqstat(5)","reqstat(6)","reqstat(7)"]
    @t = 2
    change_color(normal_color)
    draw_text(contents.width/8, 0, contents.width, line_height, "Conditions requises")
    @req.each do |req|
      if item != nil && eval(req) != 0 && actor != nil
        eval(@req_condition[@req.index(req)]) < eval(req) ? change_color(text_color(2)) : change_color(normal_color)
        draw_text(0, line_height*@t, contents.width, line_height, @vocab_req[@req.index(req)]+" requis : "+eval(req).to_s)
        @t += 1
      end
    end
    change_color(normal_color)
    if item != nil && item.wepreq != 0 && actor != nil
      e = []
      for equip in @actor.equips
        if equip.class == RPG::Weapon
          e.push(equip.id)
        end
      end
      change_color(text_color(2)) unless e.include?(item.wepreq)
      draw_text(0, line_height*@t, contents.width, line_height, "Arme requise : "+$data_weapons[item.wepreq].name)
      @t += 1
    end
    change_color(normal_color)
    if item != nil && item.armreq != 0 && actor != nil
      e = []
      for equip in @actor.equips
        e.push(equip.id) if equip.class == RPG::Armor
      end
      change_color(text_color(2)) unless e.include?(item.armreq)
      draw_text(0, line_height*(@t), contents.width, line_height, "Armure requise : "+$data_armors[item.armreq].name)
      @t += 1
    end
    if item && item.switchreq != 0
      $game_switches[item.switchreq] ? change_color(normal_color) : change_color(text_color(2))
      draw_text(0, line_height*(@t), contents.width, line_height, Switch_Vocab[item.switchreq])
      @t += 1
    end
    if item && item.variablereq != 0
      $game_variables[item.variablereq[0]] >= item.variablereq[1] ? change_color(normal_color) : change_color(text_color(2))
      draw_text(0, line_height*(@t), contents.width, line_height, Variable_Vocab[item.variablereq[0]]+" "+$game_variables[item.variablereq[0]].to_s+"/"+item.variablereq[1].to_s)
    end
    change_color(normal_color)
    draw_text(0, contents.height-line_height*3, contents.width, line_height, "    Prec. (L)  |||  (R) Suiv.")
    draw_text(0, contents.height-line_height*2, contents.width, line_height, "Personnage Actuel")
    draw_text(0, contents.height-line_height, contents.width, line_height, @actor.name) if @actor
  end
end

#~ #==============================================================================
#~ # ** Scene_Equip
#~ #------------------------------------------------------------------------------
#~ #  This class performs the equipment screen processing.
#~ #==============================================================================

class Scene_Equip
  alias :old_start :start
  def start
    old_start
    @window_req = Window_Requirement.new(Graphics.width/4,0)
  end
  alias :old_update :update
  def update
    old_update
    if Input.trigger?(:CTRL)
      if @window_req.openness == 0 && @item_window.active && @item_window.item != nil
        @window_req.item=@item_window.item
        @window_req.actor= @actor
        @background = Sprite.new
        @background.z = 200
        @background.bitmap = Bitmap.new(Graphics.width, Graphics.height)
        @background.bitmap.fill_rect(0,0,Graphics.width,Graphics.height,Color.new(0, 0, 0,128))
        @window_req.open
        @item_window.deactivate
      elsif @window_req.openness == 255
        @background.dispose if @background
        @window_req.close
        @item_window.activate
      end
    end
  end
end
class Scene_Item < Scene_ItemBase
  alias :old_start :start
  def start
    old_start
    @window_req = Window_Requirement.new(Graphics.width/4,0)
  end
  alias :old_update :update
  def update
    old_update
    if Input.trigger?(:CTRL)
      if @window_req.openness == 0 && (@item_window.item.class == RPG::Weapon || @item_window.item.class == RPG::Armor)
        @window_req.item=@item_window.item
        @window_req.actor= @actor
        @background = Sprite.new
        @background.z = 200
        @background.bitmap = Bitmap.new(Graphics.width, Graphics.height)
        @background.bitmap.fill_rect(0,0,Graphics.width,Graphics.height,Color.new(0, 0, 0,128))
        @window_req.open
        @item_window.deactivate
      elsif @window_req.openness == 255
        @background.dispose if @background
        @window_req.close
        @item_window.activate
      end
    end
  end
end
avatar
vincent26
Membre

Nombre de messages : 766
Age : 23
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010

Résolu Re: Problème Script Requirements

le Mer 20 Mai 2015 - 16:52
pour centrer le texte ajoute ,1) en dernier paramètre de tes lignes Wink
avatar
Nérylis
Membre

Nombre de messages : 605
Age : 29
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014

Résolu Re: Problème Script Requirements

le Mer 20 Mai 2015 - 18:39
Impeccable, je vous remercie toi et Zouzaka.
Contenu sponsorisé

Résolu Re: Problème Script Requirements

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