RPG Socrate
Bonjour et Bienvenue sur RPG Socrate !!!




Si tu es déjà inscrit, connecte toi ci-dessous.

Sinon, inscrit-toi vite (en cliquant sur "s'enregistrer").

Nous serons ravis de t'accueillir parmi nous !!!




L'homme sans visage

Rejoignez le forum, c’est rapide et facile

RPG Socrate
Bonjour et Bienvenue sur RPG Socrate !!!




Si tu es déjà inscrit, connecte toi ci-dessous.

Sinon, inscrit-toi vite (en cliquant sur "s'enregistrer").

Nous serons ravis de t'accueillir parmi nous !!!




L'homme sans visage
RPG Socrate
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Connexion

Récupérer mon mot de passe

Meilleurs posteurs
Yosura (252)
Système de stokage et de banque I_vote_lcapSystème de stokage et de banque I_voting_barSystème de stokage et de banque I_vote_rcap 
L'homme sans visage (225)
Système de stokage et de banque I_vote_lcapSystème de stokage et de banque I_voting_barSystème de stokage et de banque I_vote_rcap 
The Best of Maker (196)
Système de stokage et de banque I_vote_lcapSystème de stokage et de banque I_voting_barSystème de stokage et de banque I_vote_rcap 
okaya (103)
Système de stokage et de banque I_vote_lcapSystème de stokage et de banque I_voting_barSystème de stokage et de banque I_vote_rcap 
kilari (26)
Système de stokage et de banque I_vote_lcapSystème de stokage et de banque I_voting_barSystème de stokage et de banque I_vote_rcap 
apocalypse (8)
Système de stokage et de banque I_vote_lcapSystème de stokage et de banque I_voting_barSystème de stokage et de banque I_vote_rcap 
Shaymin (6)
Système de stokage et de banque I_vote_lcapSystème de stokage et de banque I_voting_barSystème de stokage et de banque I_vote_rcap 
EM!R'Ald (4)
Système de stokage et de banque I_vote_lcapSystème de stokage et de banque I_voting_barSystème de stokage et de banque I_vote_rcap 
yojoqc (3)
Système de stokage et de banque I_vote_lcapSystème de stokage et de banque I_voting_barSystème de stokage et de banque I_vote_rcap 
fandbz13 (3)
Système de stokage et de banque I_vote_lcapSystème de stokage et de banque I_voting_barSystème de stokage et de banque I_vote_rcap 

Horloge Socratienne
Voter pour nôtre site avec un écart de 2h entre chaque vote. MERCI

TOP GAMEMAKING
L'Hymne de RPG Socrate

Découvrez Tryo!
Nombre de Visiteurs
Derniers sujets
» L'avenir de RPG Socrate
Système de stokage et de banque Icon_minitime1Mar 19 Juin 2012 - 19:07 par apocalypse

» parodie des jeux pokemon
Système de stokage et de banque Icon_minitime1Ven 8 Juin 2012 - 18:56 par apocalypse

» Rpg maker xp
Système de stokage et de banque Icon_minitime1Jeu 14 Juil 2011 - 4:56 par kaplio0777

» Présentation de kaplio0777
Système de stokage et de banque Icon_minitime1Jeu 14 Juil 2011 - 4:43 par kaplio0777

» me presenté
Système de stokage et de banque Icon_minitime1Ven 17 Juin 2011 - 17:12 par apocalypse

» créer un jeu de rôle
Système de stokage et de banque Icon_minitime1Ven 17 Juin 2011 - 17:09 par apocalypse

» se presenter
Système de stokage et de banque Icon_minitime1Mer 19 Jan 2011 - 21:54 par apocalypse

» Serment du Juge actuel
Système de stokage et de banque Icon_minitime1Dim 26 Déc 2010 - 15:52 par Yosura

» Le Réseau Social - Parodie de la BA de The Social Network
Système de stokage et de banque Icon_minitime1Dim 26 Déc 2010 - 15:42 par Yosura

[Partenaire] Feuille d'RPG

Mer 28 Jan 2009 - 0:42 par L\'homme sans visage

Un site crée part kilari spécialisé dans les scénarios.

Feuille d'RPG

Commentaires: 0

[Partenaire] RPG Alliance

Lun 26 Jan 2009 - 20:45 par L\'homme sans visage

Voici le site que nous avons créer en partenariat avec The Best of Maker :

RPG Alliance

Commentaires: 0

[Partenaire] Super RPG

Sam 24 Jan 2009 - 0:38 par L\'homme sans visage

Voici le site de nôtre ami The Best of Maker.
Il parle de RPG maker (vous l'aurez sûrement devinez Laughing) :

Super RPG

Commentaires: 0

Sondage

Quel est la version de RPG maker que vous préférez ?

Système de stokage et de banque I_vote_lcap75%Système de stokage et de banque I_vote_rcap 75% [ 18 ]
Système de stokage et de banque I_vote_lcap0%Système de stokage et de banque I_vote_rcap 0% [ 0 ]
Système de stokage et de banque I_vote_lcap4%Système de stokage et de banque I_vote_rcap 4% [ 1 ]
Système de stokage et de banque I_vote_lcap4%Système de stokage et de banque I_vote_rcap 4% [ 1 ]
Système de stokage et de banque I_vote_lcap17%Système de stokage et de banque I_vote_rcap 17% [ 4 ]

Total des votes : 24

Lutter contre le SPAM
-38%
Le deal à ne pas rater :
Promo Dyson : l’aspirateur Dyson V15 Detect à 499€ au lieu de ...
499 € 799 €
Voir le deal

Système de stokage et de banque

2 participants

Aller en bas

Normal Système de stokage et de banque

Message par L\'homme sans visage Mer 31 Déc 2008 - 0:41

Bonjour à tous.
Voici un super script qui permet au héros de déposer son argent dans une espèce de banque et de déposer aussi ses objets.

Auteur

Inconnu (si vous êtes l'auteur du script, dîtes le moi Very Happy)

Script

Créer un nouveau script au-dessus de main et nommer le Dipositery (ou alors "Tarte à la crème" le nom n'est pas important Smile )

Code:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/  ?Espace de Stockage - KGC_Depository ? Translated by Ojiro -
#_/----------------------------------------------------------------------------
#_/ Espace de stockage pour objets et monaie.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 
 
class Window_DepositoryCommand < Window_Selectable
  # ?Nom des commandes de l'espace de stockage
  DEPOSITORY_COMMAND = [
    "Déposer",      # Déposer
    "Retirer",    # Retirer
    "Stocker",  # Stocker
    "Prendre"  # Prendre
  ]
  # ?Définitions des commandes
  DEPOSITORY_HELP = [
    "Déposer de l'argent",              # Déposer de l'argent
    "Retirer de l'argent",    # Retirer de l'argent
    "Stocker un objet",          # Stocker un objet
    "Prendre un objet"  # Prendre un objet
  ]
end
 
class Window_DepositoryGold < Window_Base
  # ?Nombre de chiffres maximal pour le dépot de monnaie
  GOLD_DIGITS = 7
end
 
class Scene_Depository
  DEPOSIT_GOLD = "Inserez la somme à déposer"
  WDEPOSIT_GOLD = "Inserez la somme à retirer"
  DEPOSIT_ITEM = "Déposer combien ?"
  WDEPOSIT_ITEM = "Retirer combien ?"
end
 
#???????????????????????????????????????
 
#--------------------------------------------------------------------------
# ? Appel de l'espace de stockage
#--------------------------------------------------------------------------
def call_depository
  $game_player.straighten
  # Affiche l'espace de stockage
  $scene = Scene_Depository.new
end
 
#???????????????????????????????????????
 
#==============================================================================
# ¦ Game_Party
#------------------------------------------------------------------------------
#  Récupère les informations sur la monnaie et les objets possédés dans
# $game_party
#==============================================================================
 
class Game_Party
  #--------------------------------------------------------------------------
  # ? Initialisation
  #--------------------------------------------------------------------------
  alias initialize_KGC_Depository initialize
  def initialize
    # Exécute le processus d'origine
    initialize_KGC_Depository
 
    @deposit_gold = 0
    @deposit_item = []
    @deposit_weapon = []
    @deposit_armor = []
  end
  #--------------------------------------------------------------------------
  # ? Récupère l'information sur la monnaie
  #--------------------------------------------------------------------------
  def deposit_gold
    @deposit_gold = 0 if @deposit_gold == nil
    return @deposit_gold
  end
  #--------------------------------------------------------------------------
  # ? Récupère l'information sur la monnaie récupérée
  #    number : Montant a récuperer
  #--------------------------------------------------------------------------
  def gain_deposit_gold(number)
    @deposit_gold = 0 if @deposit_gold == nil
    @deposit_gold += number
  end
  #--------------------------------------------------------------------------
  # ? Récupère l'information sur la monnaie déposée
  #    number : Montant à déposer
  #--------------------------------------------------------------------------
  def lose_deposit_gold(number)
    self.gain_deposit_gold(-number)
  end
  #--------------------------------------------------------------------------
  # ? Récupère l'information sur les objets
  #    id : ID
  #--------------------------------------------------------------------------
  def deposit_item_number(id)
    @deposit_item = [] if @deposit_item == nil
    return @deposit_item[id] != nil ? @deposit_item[id] : 0
  end
  #--------------------------------------------------------------------------
  # ? Acquisition de l'objet
  #    id    : ID
  #    number : Quantité
  #--------------------------------------------------------------------------
  def gain_deposit_item(id, number)
    @deposit_item = [] if @deposit_item == nil
    @deposit_item[id] = 0 if @deposit_item[id] == nil
    @deposit_item[id] += number
  end
  #--------------------------------------------------------------------------
  # ? Dépôt de l'objet
  #    id    : ID
  #    number : Quantité
  #--------------------------------------------------------------------------
  def lose_deposit_item(id, number)
    self.gain_deposit_item(id, -number)
  end
  #--------------------------------------------------------------------------
  # ? Récupère l'information sur les armes
  #    id : ID
  #--------------------------------------------------------------------------
  def deposit_weapon_number(id)
    @deposit_weapon = [] if @deposit_weapon == nil
    return @deposit_weapon[id] != nil ? @deposit_weapon[id] : 0
  end
  #--------------------------------------------------------------------------
  # ? Acquisition de l'arme
  #    id    : ID
  #    number : Quantité
  #--------------------------------------------------------------------------
  def gain_deposit_weapon(id, number)
    @deposit_weapon = [] if @deposit_weapon == nil
    @deposit_weapon[id] = 0 if @deposit_weapon[id] == nil
    @deposit_weapon[id] += number
  end
  #--------------------------------------------------------------------------
  # ? Dépôt de l'arme
  #    id    : ID
  #    number : Quantité
  #--------------------------------------------------------------------------
  def lose_deposit_weapon(id, number)
    self.gain_deposit_weapon(id, -number)
  end
  #--------------------------------------------------------------------------
  # ? Récupère l'information sur les armures
  #    id : ID
  #--------------------------------------------------------------------------
  def deposit_armor_number(id)
    @deposit_armor = [] if @deposit_armor == nil
    return @deposit_armor[id] != nil ? @deposit_armor[id] : 0
  end
  #--------------------------------------------------------------------------
  # ? Acquisition de l'armure
  #    id    : ID
  #    number : Quantité
  #--------------------------------------------------------------------------
  def gain_deposit_armor(id, number)
    @deposit_armor = [] if @deposit_armor == nil
    @deposit_armor[id] = 0 if @deposit_armor[id] == nil
    @deposit_armor[id] += number
  end
  #--------------------------------------------------------------------------
  # ? Dépôt de l'armure
  #    id    : ID
  #    number : Quantité
  #--------------------------------------------------------------------------
  def lose_deposit_armor(id, number)
    self.gain_deposit_armor(id, -number)
  end
end
 
#???????????????????????????????????????
 
#==============================================================================
# ¦ Window_DepositoryCommand
#------------------------------------------------------------------------------
#  Ecran de sélection d'une commande de l'espace de stockage
#==============================================================================
 
class Window_DepositoryCommand < Window_Selectable
  #--------------------------------------------------------------------------
  # ? Initialisation
  #--------------------------------------------------------------------------
  def initialize
    super(0, 64, 640, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    # ?????????
    @commands = DEPOSITORY_COMMAND
    @item_max = @commands.size
    @column_max = @commands.size
    @item_width = (width - 32) / @commands.size
    self.back_opacity = 160
    self.index = 0
    refresh
  end
  #--------------------------------------------------------------------------
  # ? Actualisation
  #--------------------------------------------------------------------------
  def refresh
    for i in 0...@commands.size
      rect = Rect.new(@item_width * i, 0, @item_width, 32)
      self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
      self.contents.font.color = system_color
      self.contents.draw_text(rect, @commands[i], 1)
    end
  end
#--------------------------------------------------------------------------
  # ? Curseur
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if index != -1
      self.cursor_rect.set(@item_width * index, 0, @item_width, 32)
    end
  end
  #--------------------------------------------------------------------------
  # ? Actualisation de la fenêtre d'aide
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_text(DEPOSITORY_HELP[self.index])
  end
end
 
#???????????????????????????????????????
 
#==============================================================================
# ¦ Window_DepositoryGold
#------------------------------------------------------------------------------
#  Indication de la quantité/valeur de la monnaie/objet.
#==============================================================================
 
class Window_DepositoryGold < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialisation
  #--------------------------------------------------------------------------
  def initialize
    super(0, 128, 640, 352)
    @digits_max = GOLD_DIGITS
    # Calcul de la largeur du curseur à partir du nombre de chiffres à entrer
    dummy_bitmap = Bitmap.new(32, 32)
    @cursor_width = dummy_bitmap.text_size("0").width + 8
    dummy_bitmap.dispose
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 160
    self.active = false
    self.visible = false
    @cursor_position = 0
    @max = 0
    @price = 0
    @index = 0
  end
  #--------------------------------------------------------------------------
  # ? Acquisition de la quantité inséré
  #--------------------------------------------------------------------------
  def price
    return @price
  end
  #--------------------------------------------------------------------------
  # ? Option de la quantité
  #    np : Nouvelle quantité
  #--------------------------------------------------------------------------
  def price=(np)
    @price = [[np, 0].max, @max].min
    redraw_price
  end
  #--------------------------------------------------------------------------
  # ? Reinitialisation
  #    type : Type
  #--------------------------------------------------------------------------
  def reset(type)
    @price = 0
    @index = @digits_max - 1
    refresh(type)
  end
  #--------------------------------------------------------------------------
  # ? Actualisation
  #    type : Type
  #--------------------------------------------------------------------------
  def refresh(type)
    # Affiche la quantité
    self.contents.clear
    domination = $data_system.words.gold
    cx = contents.text_size(domination).width
    @cursor_position = 332 - cx - @cursor_width * @digits_max
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 608, 32, "Monnaie en main")
    self.contents.draw_text(0, 64, 608, 32, "Dépôt")
    if type == 0
      self.contents.draw_text(0, 128, 608, 32, "Quantité")
      @max = $game_party.gold
    else
      self.contents.draw_text(0, 128, 608, 32, "Retrait")
      @max = [10 ** @digits_max - $game_party.gold - 1, $game_party.deposit_gold].min
    end
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 32, 326 - cx, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(332 - cx, 32, cx, 32, domination, 2)
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 96, 326 - cx, 32, $game_party.deposit_gold.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(332 - cx, 96, cx, 32, domination, 2)
    redraw_price
  end


Dernière édition par L'homme sans visage le Mer 31 Déc 2008 - 0:48, édité 1 fois
L\'homme sans visage
L\'homme sans visage
Empereur Suprême
Empereur Suprême

Masculin
Nombre de messages : 225
Localisation : Mais c'est quoi ct'e question !
Avertissement :
Système de stokage et de banque Left_bar_bleue0 / 1000 / 100Système de stokage et de banque Right_bar_bleue

Points : 13038
Date d'inscription : 26/11/2008

https://rpgsocrate.superforum.fr

Revenir en haut Aller en bas

Normal Re: Système de stokage et de banque

Message par L\'homme sans visage Mer 31 Déc 2008 - 0:45

Suite du code (toujours dans le même script)

Code:
  #--------------------------------------------------------------------------
  # ? Quantité re-affiché
  #--------------------------------------------------------------------------
  def redraw_price
    domination = $data_system.words.gold
    cx = contents.text_size(domination).width
    self.contents.fill_rect(0, 160, 608, 32, Color.new(0, 0, 0, 0))
    self.contents.font.color = normal_color
    text = sprintf("%0#{@digits_max}d", self.price)
    for i in 0...text.length
      x = @cursor_position + (i - 1) * @cursor_width
      self.contents.draw_text(x, 160, 32, 32, text[i, 1], 2)
    end
    self.contents.font.color = system_color
    self.contents.draw_text(332 - cx, 160, cx, 32, domination, 2)
  end
  #--------------------------------------------------------------------------
  # ? Actualisation du curseur
  #--------------------------------------------------------------------------
  def update_cursor_rect
    x = @cursor_position + @index * @cursor_width
    self.cursor_rect.set(x, 160, @cursor_width, 32)
  end
  #--------------------------------------------------------------------------
  # ? Actualisation
  #--------------------------------------------------------------------------
  def update
    super
    return unless self.active
    # Lors d'un appui HAUT ou BAS
    if Input.repeat?(Input::UP) || Input.repeat?(Input::DOWN)
      $game_system.se_play($data_system.cursor_se)
      place = 10 ** (@digits_max - 1 - @index)
      n = self.price / place % 10
      self.price -= n * place
      n = (n + 1) % 10 if Input.repeat?(Input::UP)
      n = (n + 9) % 10 if Input.repeat?(Input::DOWN)
      self.price += n * place
    end
    if Input.repeat?(Input::RIGHT)
      if @digits_max >= 2
        $game_system.se_play($data_system.cursor_se)
        @index = (@index + 1) % @digits_max
      end
    end
    if Input.repeat?(Input::LEFT)
      if @digits_max >= 2
        $game_system.se_play($data_system.cursor_se)
        @index = (@index + @digits_max - 1) % @digits_max
      end
    end
    update_cursor_rect
  end
end
 
#???????????????????????????????????????
 
#==============================================================================
# ¦ Window_DepositoryItem
#------------------------------------------------------------------------------
#  Conception d'un sommaire pour les objets
#==============================================================================
 
class Window_DepositoryItem < Window_Selectable
  #--------------------------------------------------------------------------
  # ? Initialisation
  #--------------------------------------------------------------------------
  def initialize
    super(0, 128, 640, 352)
    self.back_opacity = 160
    self.active = false
    self.visible = false
    @column_max = 2
    self.index = 0
  end
  #--------------------------------------------------------------------------
  # ? Récupère l'information sur les objets
  #--------------------------------------------------------------------------
  def item
    return @data[self.index]
  end
  #--------------------------------------------------------------------------
  # ? Actualisation
  #    type : Type
  #--------------------------------------------------------------------------
  def refresh(type)
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    self.index = 0
    # Ajoute l'objet / arme / armure x
    if type == 0
      for i in 1...$data_items.size
        if $game_party.item_number(i) > 0
          @data.push($data_items[i])
        end
      end
      for i in 1...$data_weapons.size
        if $game_party.weapon_number(i) > 0
          @data.push($data_weapons[i])
        end
      end
      for i in 1...$data_armors.size
        if $game_party.armor_number(i) > 0
          @data.push($data_armors[i])
        end
      end
    else
      for i in 1...$data_items.size
        if $game_party.deposit_item_number(i) > 0
          @data.push($data_items[i])
        end
      end
      for i in 1...$data_weapons.size
        if $game_party.deposit_weapon_number(i) > 0
          @data.push($data_weapons[i])
        end
      end
      for i in 1...$data_armors.size
        if $game_party.deposit_armor_number(i) > 0
          @data.push($data_armors[i])
        end
      end
 
    end
    # Si le nombre d'objet n'est pas de 0 :
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
        draw_item(i, type)
      end
    end
  end
#--------------------------------------------------------------------------
  # ? Affichage de l'objet
  #    index : Nombre d'objets
  #    type  : Type
  #--------------------------------------------------------------------------
  def draw_item(index, type)
    item = @data[index]
    case item
    when RPG::Item
      number = type == 0 ? $game_party.item_number(item.id) :
        $game_party.deposit_item_number(item.id)
    when RPG::Weapon
      number = type == 0 ? $game_party.weapon_number(item.id) :
        $game_party.deposit_weapon_number(item.id)
    when RPG::Armor
      number = type == 0 ? $game_party.armor_number(item.id) :
        $game_party.deposit_armor_number(item.id)
    end
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  end
  #--------------------------------------------------------------------------
  # ? Actualisation de la fenêtre d'aide
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end
 
#???????????????????????????????????????
 
#==============================================================================
# ¦ Window_DepositoryNumber
#------------------------------------------------------------------------------
#  Fenêtre de l'insertion numérique
#==============================================================================
 
class Window_DepositoryNumber < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialisation
  #--------------------------------------------------------------------------
  def initialize
    @digits_max = 2
    @number = 0
    # Calcul de la largeur du curseur en fonction du nombre de chiffres
    dummy_bitmap = Bitmap.new(32, 32)
    @cursor_width = dummy_bitmap.text_size("0").width + 8
    dummy_bitmap.dispose
    @default_size = @cursor_width * @digits_max + 32
    super(0, 0, @default_size, 128)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.z = 1000
    self.back_opacity = 160
    self.active = false
    self.visible = false
    @index = 0
    @item = nil
    refresh
    update_cursor_rect
  end
  #--------------------------------------------------------------------------
  # ? Option de l'objet
  #    item : Objet
  #--------------------------------------------------------------------------
  def item=(item)
    @item = item
  end
  #--------------------------------------------------------------------------
  # ? Acquisition de la valeur numérique
  #--------------------------------------------------------------------------
  def number
    return @number
  end
  #--------------------------------------------------------------------------
  # ? Option de la valeur numérique
  #    number : Nouvelle valeur numérique
  #--------------------------------------------------------------------------
  def number=(number)
    @number = [[number, 0].max, @max].min
    refresh
  end
  #--------------------------------------------------------------------------
  # ? Actualisation du curseur
  #--------------------------------------------------------------------------
  def update_cursor_rect
    self.cursor_rect.set(@index * @cursor_width, 32, @cursor_width, 32)
  end
  #--------------------------------------------------------------------------
  # ? Reinitilisation
  #--------------------------------------------------------------------------
  def reset(type)
    @number = 0
    @index = @digits_max - 1
    if type == 0
      case @item
      when RPG::Item
        @max = $game_party.item_number(@item.id)
        dep = $game_party.deposit_item_number(@item.id)
      when RPG::Weapon
        @max = $game_party.weapon_number(@item.id)
        dep = $game_party.deposit_weapon_number(@item.id)
      when RPG::Armor
        @max = $game_party.armor_number(@item.id)
        dep = $game_party.deposit_armor_number(@item.id)
      end
      # Affiche la quantité déposé
      self.contents.fill_rect(0, 64, width - 32, 32, Color.new(0, 0, 0, 0))
      self.contents.font.color = system_color
      self.contents.draw_text(0, 64, width - 32, 32, "Dépôt:#{dep}")
    else
      case @item
      when RPG::Item
        @max = [$game_party.deposit_item_number(@item.id),
          10 ** @digits_max - $game_party.item_number(@item.id) - 1].min
        having = $game_party.item_number(@item.id)
      when RPG::Weapon
        @max = [$game_party.deposit_weapon_number(@item.id),
          10 ** @digits_max - $game_party.weapon_number(@item.id) - 1].min
        having = $game_party.weapon_number(@item.id)
      when RPG::Armor
        @max = [$game_party.deposit_armor_number(@item.id),
          10 ** @digits_max - $game_party.armor_number(@item.id) - 1].min
        having = $game_party.armor_number(@item.id)
      end
      # Affiche la quantité possedé
      self.contents.fill_rect(0, 64, width - 32, 32, Color.new(0, 0, 0, 0))
      self.contents.font.color = system_color
      self.contents.draw_text(0, 64, width - 32, 32, "Possédé:#{having}")
    end
    refresh
  end
  #--------------------------------------------------------------------------
  # ? Actualisation
  #--------------------------------------------------------------------------
  def refresh
    self.contents.fill_rect(0, 32, width - 32, 32, Color.new(0, 0, 0, 0))
    self.contents.font.color = normal_color
    s = sprintf("%0*d", @digits_max, @number)
    for i in 0...@digits_max
      self.contents.draw_text(i * @cursor_width + 4, 32, 32, 32, s[i,1])
    end
  end
  #--------------------------------------------------------------------------
  # ? Option du personnage
  #    string : Met en place les options
  #--------------------------------------------------------------------------
  def set_text(string = " ")
    self.resize(self.contents.text_size(string).width + 40)
    self.contents.fill_rect(0, 0, width - 32, 32, Color.new(0, 0, 0, 0))
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 0, width - 32, 32, string, 1)
    refresh
    centering
  end
  #--------------------------------------------------------------------------
  # ? Modification de la taille
  #    nw : Nouvelle largeur
  #--------------------------------------------------------------------------
  def resize(nw)
    self.width = nw
    buf = self.contents.dup
    self.contents.dispose
    self.contents = Bitmap.new(nw - 32, 96)
    self.contents.blt(0, 0, buf, buf.rect)
    buf.dispose
  end


Dernière édition par L'homme sans visage le Mer 31 Déc 2008 - 0:51, édité 1 fois
L\'homme sans visage
L\'homme sans visage
Empereur Suprême
Empereur Suprême

Masculin
Nombre de messages : 225
Localisation : Mais c'est quoi ct'e question !
Avertissement :
Système de stokage et de banque Left_bar_bleue0 / 1000 / 100Système de stokage et de banque Right_bar_bleue

Points : 13038
Date d'inscription : 26/11/2008

https://rpgsocrate.superforum.fr

Revenir en haut Aller en bas

Normal Re: Système de stokage et de banque

Message par L\'homme sans visage Mer 31 Déc 2008 - 0:48

Suite et Fin du code (encore dans le même script)

Code:
#--------------------------------------------------------------------------
  # ? Mouvement central
  #--------------------------------------------------------------------------
  def centering
    self.x = 320 - self.width / 2
    self.y = 240 - self.height / 2
  end
  #--------------------------------------------------------------------------
  # ? Actualisation
  #--------------------------------------------------------------------------
  def update
    super
    return unless self.active
    # Lors d'un appui HAUT ou BAS
    if Input.repeat?(Input::UP) || Input.repeat?(Input::DOWN)
      $game_system.se_play($data_system.cursor_se)
      place = 10 ** (@digits_max - 1 - @index)
      n = self.number / place % 10
      self.number -= n * place
      n = (n + 1) % 10 if Input.repeat?(Input::UP)
      n = (n + 9) % 10 if Input.repeat?(Input::DOWN)
      self.number += n * place
      refresh
    end
    if Input.repeat?(Input::RIGHT)
      if @digits_max >= 2
        $game_system.se_play($data_system.cursor_se)
        @index = (@index + 1) % @digits_max
      end
    end
    if Input.repeat?(Input::LEFT)
      if @digits_max >= 2
        $game_system.se_play($data_system.cursor_se)
        @index = (@index + @digits_max - 1) % @digits_max
      end
    end
    update_cursor_rect
  end
end
#???????????????????????????????????????
 
#==============================================================================
# ¦ Scene_Depository
#------------------------------------------------------------------------------
#  "Class" qui proccède à l'espace de stockage
#==============================================================================
 
class Scene_Depository
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def main
    # Compilation des sprites
    @spriteset = Spriteset_Map.new
    # Affiche des fenêtres multiples
    @dummy_window = Window_Base.new(0, 128, 640, 352)
    @help_window = Window_Help.new
    @dummy_window.back_opacity = 160
    @help_window.back_opacity = 160
    @command_window = Window_DepositoryCommand.new
    @gold_window = Window_DepositoryGold.new
    @item_window = Window_DepositoryItem.new
    @number_window = Window_DepositoryNumber.new
    # Association de la fenêtre d'affichage
    @command_window.help_window = @help_window
    @item_window.help_window = @help_window
    # Exécute la transition
    Graphics.transition
    # Boucle Principale
    loop do
      # Actualise les images
      Graphics.update
      # Actualise l'information d'insertion
      Input.update
      # Actualisation
      update
      # Brise la boucle si les images changent
      if $scene != self
        break
      end
    end
    # Préparation de la Transition
    Graphics.freeze
    # Relais
    @spriteset.dispose
    @dummy_window.dispose
    @help_window.dispose
    @command_window.dispose
    @gold_window.dispose
    @item_window.dispose
    @number_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? Actualisation
  #--------------------------------------------------------------------------
  def update
    # Actualisation des fenêtres
    @dummy_window.update
    @help_window.update
    @command_window.update
    @gold_window.update
    @item_window.update
    @number_window.update
    if @command_window.active
      update_command
      return
    end
    if @gold_window.active
      update_gold
      return
    end
    if @item_window.active
      update_item
      return
    end
    if @number_window.active
      update_number
      return
    end
  end
  #--------------------------------------------------------------------------
  # ? Actualisation lorsque une fenêtre de commande est active
  #--------------------------------------------------------------------------
  def update_command
    # Lors d'un appui sur la touche B
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    # Lors d'un appui sur la touche C
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      case @command_window.index
      when 0
        @gold_window.active = true
        @gold_window.visible = true
        @gold_window.reset(0)
        @help_window.set_text(DEPOSIT_GOLD)
      when 1
        @gold_window.active = true
        @gold_window.visible = true
        @gold_window.reset(1)
        @help_window.set_text(WDEPOSIT_GOLD)
      when 2
        @item_window.active = true
        @item_window.visible = true
        @item_window.refresh(0)
      when 3
        @item_window.active = true
        @item_window.visible = true
        @item_window.refresh(1)
      end
      @command_window.active = false
      @dummy_window.visible = false
      return
    end
  end
  #--------------------------------------------------------------------------
  # ? Actualisation lors d'un appui pendant la fenetre de monnaie
  #--------------------------------------------------------------------------
  def update_gold
    # Lors d'un appui sur la touche B
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @gold_window.active = false
      @gold_window.visible = false
      @dummy_window.visible = true
      return
    end
    # Lors d'un appui sur la touche C
    if Input.trigger?(Input::C)
      price = @gold_window.price
      if price == 0
        $game_system.se_play($data_system.decision_se)
        @command_window.active = true
        @gold_window.active = false
        @gold_window.visible = false
        @dummy_window.visible = true
        return
      end
      $game_system.se_play($data_system.shop_se)
      case @command_window.index
      when 0 
        $game_party.lose_gold(price)
        $game_party.gain_deposit_gold(price)
      when 1 
        $game_party.gain_gold(price)
        $game_party.lose_deposit_gold(price)
      end
      # ??????????????
      @gold_window.reset(@command_window.index)
      return
    end
  end
  #--------------------------------------------------------------------------
  # ? Actualisation lors d'un appui pendant la fenetre d'objet
  #--------------------------------------------------------------------------
  def update_item
    # Lors d'un appui sur la touche B
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @item_window.active = false
      @item_window.visible = false
      @dummy_window.visible = true
      return
    end
    # Lors d'un appui sur la touche C
    if Input.trigger?(Input::C)
      @item = @item_window.item
      if @item == nil
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @number_window.item = @item
      $game_system.se_play($data_system.decision_se)
      case @command_window.index
      when 2
        @number_window.set_text(DEPOSIT_ITEM)
      when 3
        @number_window.set_text(WDEPOSIT_ITEM)
      end
      @number_window.reset(@command_window.index - 2)
      # ????????????
      @item_window.active = false
      @number_window.active = true
      @number_window.visible = true
      return
    end
  end
  #--------------------------------------------------------------------------
  # ? Actualisation lors d'un appui pendant la fenetre de nombres
  #--------------------------------------------------------------------------
  def update_number
    # Lors d'un appui sur la touche B
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @item_window.active = true
      @number_window.active = false
      @number_window.visible = false
      return
    end
    # Lors d'un appui sur la touche C
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      number = @number_window.number
      case @command_window.index
      when 2
        case @item
        when RPG::Item
          $game_party.lose_item(@item.id, number)
          $game_party.gain_deposit_item(@item.id, number)
        when RPG::Weapon
          $game_party.lose_weapon(@item.id, number)
          $game_party.gain_deposit_weapon(@item.id, number)
        when RPG::Armor
          $game_party.lose_armor(@item.id, number)
          $game_party.gain_deposit_armor(@item.id, number)
        end
      when 3
        case @item
        when RPG::Item
          $game_party.gain_item(@item.id, number)
          $game_party.lose_deposit_item(@item.id, number)
        when RPG::Weapon
          $game_party.gain_weapon(@item.id, number)
          $game_party.lose_deposit_weapon(@item.id, number)
        when RPG::Armor
          $game_party.gain_armor(@item.id, number)
          $game_party.lose_deposit_armor(@item.id, number)
        end
      end
      @item_window.refresh(@command_window.index - 2)
      @item_window.active = true
      @number_window.active = false
      @number_window.visible = false
      return
    end
  end
end

Explication

- Créer un nouvel événement
- Dans commande d'évènement, aller dans l'onglet n°3 et cliquer sur insérer un script
- Copier/coller ceci :

Code:
call_depository

Salut
L\'homme sans visage
L\'homme sans visage
Empereur Suprême
Empereur Suprême

Masculin
Nombre de messages : 225
Localisation : Mais c'est quoi ct'e question !
Avertissement :
Système de stokage et de banque Left_bar_bleue0 / 1000 / 100Système de stokage et de banque Right_bar_bleue

Points : 13038
Date d'inscription : 26/11/2008

https://rpgsocrate.superforum.fr

Revenir en haut Aller en bas

Normal Re: Système de stokage et de banque

Message par fabrizio Dim 21 Nov 2010 - 21:54

merci mais on ne voit rien c'est a dire il y a pas l'icone déposer de l'argent mais que l'indication c'est normal??

fabrizio
Voyageur sans fortune
Voyageur sans fortune

Nombre de messages : 1
Avertissement :
Système de stokage et de banque Left_bar_bleue0 / 1000 / 100Système de stokage et de banque Right_bar_bleue

Points : 7115
Date d'inscription : 21/11/2010

Revenir en haut Aller en bas

Normal Re: Système de stokage et de banque

Message par L\'homme sans visage Jeu 16 Déc 2010 - 19:52

Salut,
Tu doit activer l'évènement pour déposer de l'argent
L\'homme sans visage
L\'homme sans visage
Empereur Suprême
Empereur Suprême

Masculin
Nombre de messages : 225
Localisation : Mais c'est quoi ct'e question !
Avertissement :
Système de stokage et de banque Left_bar_bleue0 / 1000 / 100Système de stokage et de banque Right_bar_bleue

Points : 13038
Date d'inscription : 26/11/2008

https://rpgsocrate.superforum.fr

Revenir en haut Aller en bas

Normal Re: Système de stokage et de banque

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


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