Sistema de banco compatível com NP4.0 Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Sistema de banco compatível com NP4.0

4 participantes

Ir para baixo

Sistema de banco compatível com NP4.0 Empty Sistema de banco compatível com NP4.0

Mensagem por Daniel Carvalho Qui Set 20, 2012 5:51 pm


Estou precisando de um sistema de banco, para o netplay master v4
eu já peguei vários sistemas de banco, testei todos da aldeia rpg, da MRM etc..
mais todos tem 1 defeito, uma falha e talz..

intão se alguém tiver, um que pelo menos guarde só items, ou items e ouros, vai me ajudar muito (:


Daniel Carvalho
Daniel Carvalho
Ocasional
Ocasional

Mensagens : 231
Créditos : 19

Ficha do personagem
Nível: 1
Experiência:
Sistema de banco compatível com NP4.0 Left_bar_bleue0/50Sistema de banco compatível com NP4.0 Empty_bar_bleue  (0/50)
Vida:
Sistema de banco compatível com NP4.0 Left_bar_bleue30/30Sistema de banco compatível com NP4.0 Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

Sistema de banco compatível com NP4.0 Empty Re: Sistema de banco compatível com NP4.0

Mensagem por Samuka_Maker Qui Set 20, 2012 5:57 pm

sim cara eu fiz um
Código:
#Script De Deposito
#Com este script você poderar depositar e retirar itens
#usando um evento
#E só criar um evento e colocar a opção chamar script
##$scene = Scene_Depository.new#
#Creditos:Autor: KGC
#Editor: Samuka_Maker
#Msn: smkpsb@hotmail.com
################################################################
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#_/  ?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 = [

    "Depositar itens",  # Guardar  itens

    "Sacar itens"  # Retirar itens

  ]

  # ?Définitions des commandes

  DEPOSITORY_HELP = [


    "Guardar um objeto",          # Guardar um objeto

    "retirar um objeto"  # Retirar um objeto

  ]

end

 


class Scene_Depository


  DEPOSIT_ITEM = "Depositar?"

  WDEPOSIT_ITEM = "Retirar?"

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_item = []

    @deposit_weapon = []

    @deposit_armor = []

  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 : Quantidade
  #--------------------------------------------------------------------------

  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

  #--------------------------------------------------------------------------

  # ? Depositar objeto?

  #    id    : ID

  #    number : Quantidade
  #--------------------------------------------------------------------------

  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 : Quantidade
  #--------------------------------------------------------------------------

  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

  #--------------------------------------------------------------------------

  # ? Depositar arma?

  #    id    : ID

  #    number : Quantidade

  #--------------------------------------------------------------------------

  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 : Quantidade

  #--------------------------------------------------------------------------

  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 : Quantidade

  #--------------------------------------------------------------------------

  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_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, "Banco:#{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, "Bag:#{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

  #--------------------------------------------------------------------------

  # ? 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

    @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

    @item_window.dispose

    @number_window.dispose

  end

  #--------------------------------------------------------------------------

  # ? Actualisation

  #--------------------------------------------------------------------------

  def update

    # Actualisation des fenêtres

    @dummy_window.update

    @help_window.update

    @command_window.update

    @item_window.update

    @number_window.update

    if @command_window.active

      update_command

      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

        @item_window.active = true

        @item_window.visible = true

        @item_window.refresh(0)

      when 1

        @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 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 0

        @number_window.set_text(DEPOSIT_ITEM)

      when 1

        @number_window.set_text(WDEPOSIT_ITEM)

      end

      @number_window.reset(@command_window.index)

      # ????????????

      @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 0

        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 1

        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)

      @item_window.active = true

      @number_window.active = false

      @number_window.visible = false

      return

    end

  end
end
ele funciona normalmentew em npv4 Very Happy

_________________

Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
http://liferpgmakerv2.forumais.com/

Sistema de banco compatível com NP4.0 6f4EA

Sistema de banco compatível com NP4.0 Bxvno
Tópico original/Tópico de Recrutamento
Samuka_Maker
Samuka_Maker
Aldeia Friend
Aldeia Friend

Medalhas : Sistema de banco compatível com NP4.0 WBLhI
Mensagens : 1204
Créditos : 127

http://liferpgmaker.forumfacil.net

Ir para o topo Ir para baixo

Sistema de banco compatível com NP4.0 Empty Re: Sistema de banco compatível com NP4.0

Mensagem por Paulo Soreto Qui Set 20, 2012 6:19 pm

Não, você não fez esse sistema.

_________________
Sistema de banco compatível com NP4.0 FwYnoXI
Paulo Soreto
Paulo Soreto
Lenda
Lenda

Mensagens : 1980
Créditos : 367

Ficha do personagem
Nível: 1
Experiência:
Sistema de banco compatível com NP4.0 Left_bar_bleue0/0Sistema de banco compatível com NP4.0 Empty_bar_bleue  (0/0)
Vida:
Sistema de banco compatível com NP4.0 Left_bar_bleue30/30Sistema de banco compatível com NP4.0 Empty_bar_bleue  (30/30)

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

Sistema de banco compatível com NP4.0 Empty Re: Sistema de banco compatível com NP4.0

Mensagem por Daniel Carvalho Qui Set 20, 2012 8:47 pm

Samuka_Maker escreveu:sim cara eu fiz um
Código:
#Script De Deposito
#Com este script você poderar depositar e retirar itens
#usando um evento
#E só criar um evento e colocar a opção chamar script
##$scene = Scene_Depository.new#
#Creditos:Autor: KGC
#Editor: Samuka_Maker
#Msn: smkpsb@hotmail.com
################################################################
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#_/  ?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 = [

    "Depositar itens",  # Guardar  itens

    "Sacar itens"  # Retirar itens

  ]

  # ?Définitions des commandes

  DEPOSITORY_HELP = [


    "Guardar um objeto",          # Guardar um objeto

    "retirar um objeto"  # Retirar um objeto

  ]

end

 


class Scene_Depository


  DEPOSIT_ITEM = "Depositar?"

  WDEPOSIT_ITEM = "Retirar?"

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_item = []

    @deposit_weapon = []

    @deposit_armor = []

  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 : Quantidade
  #--------------------------------------------------------------------------

  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

  #--------------------------------------------------------------------------

  # ? Depositar objeto?

  #    id    : ID

  #    number : Quantidade
  #--------------------------------------------------------------------------

  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 : Quantidade
  #--------------------------------------------------------------------------

  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

  #--------------------------------------------------------------------------

  # ? Depositar arma?

  #    id    : ID

  #    number : Quantidade

  #--------------------------------------------------------------------------

  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 : Quantidade

  #--------------------------------------------------------------------------

  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 : Quantidade

  #--------------------------------------------------------------------------

  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_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, "Banco:#{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, "Bag:#{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

  #--------------------------------------------------------------------------

  # ? 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

    @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

    @item_window.dispose

    @number_window.dispose

  end

  #--------------------------------------------------------------------------

  # ? Actualisation

  #--------------------------------------------------------------------------

  def update

    # Actualisation des fenêtres

    @dummy_window.update

    @help_window.update

    @command_window.update

    @item_window.update

    @number_window.update

    if @command_window.active

      update_command

      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

        @item_window.active = true

        @item_window.visible = true

        @item_window.refresh(0)

      when 1

        @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 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 0

        @number_window.set_text(DEPOSIT_ITEM)

      when 1

        @number_window.set_text(WDEPOSIT_ITEM)

      end

      @number_window.reset(@command_window.index)

      # ????????????

      @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 0

        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 1

        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)

      @item_window.active = true

      @number_window.active = false

      @number_window.visible = false

      return

    end

  end
end
ele funciona normalmentew em npv4 Very Happy

Esse script tem problemas também.. o mouse não pega eles, pra selecionar, tem que apontar o mouse um pouco mais pra baixo do "Retirar items", se ir em cima ou com a setinha não da =/
Daniel Carvalho
Daniel Carvalho
Ocasional
Ocasional

Mensagens : 231
Créditos : 19

Ficha do personagem
Nível: 1
Experiência:
Sistema de banco compatível com NP4.0 Left_bar_bleue0/50Sistema de banco compatível com NP4.0 Empty_bar_bleue  (0/50)
Vida:
Sistema de banco compatível com NP4.0 Left_bar_bleue30/30Sistema de banco compatível com NP4.0 Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

Sistema de banco compatível com NP4.0 Empty Re: Sistema de banco compatível com NP4.0

Mensagem por Laxus Qui Set 20, 2012 8:48 pm

Tam bem ja tinha percebido isso por isso ta meio ruim arruma ai samukaaa

_________________
"Não importa o quão forte o cara é, o que importa é encara-lo de frente sem fraquejar"
                                                                                                                                                    Laxus ~ Fairy Tail
Laxus
Laxus
Aldeia Friend
Aldeia Friend

Mensagens : 1150
Créditos : 78

Ir para o topo Ir para baixo

Sistema de banco compatível com NP4.0 Empty Re: Sistema de banco compatível com NP4.0

Mensagem por Samuka_Maker Qui Set 20, 2012 8:51 pm

soreto eu fiz eu digo eu editei pro geito q ele queria
pq o original é diferente
ele quer um q guarde só item e eu fiz as edições
bom gente n é problema no script e sim sim no sis de mouse
:/

_________________

Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
http://liferpgmakerv2.forumais.com/

Sistema de banco compatível com NP4.0 6f4EA

Sistema de banco compatível com NP4.0 Bxvno
Tópico original/Tópico de Recrutamento
Samuka_Maker
Samuka_Maker
Aldeia Friend
Aldeia Friend

Medalhas : Sistema de banco compatível com NP4.0 WBLhI
Mensagens : 1204
Créditos : 127

http://liferpgmaker.forumfacil.net

Ir para o topo Ir para baixo

Sistema de banco compatível com NP4.0 Empty Re: Sistema de banco compatível com NP4.0

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos