Deposito de itens e dinheiro - testado e aprovado! 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.

Deposito de itens e dinheiro - testado e aprovado!

+2
Muta
Heaver
6 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

Deposito de itens e dinheiro - testado e aprovado! Empty Deposito de itens e dinheiro - testado e aprovado!

Mensagem por Heaver Qui Mar 22, 2012 1:10 pm

Estava procurando por um script que o jogador pudesse
guardar seus itens e dinheiro em um evento como o Bau muito
conhecido no jogo MU online, então encontrei o KGC Depository,
adicionei e testei no meu netplay master v3.0 e funcionou perfeitamente
sem bugs.

Screens

Não precisa.

Funciona

Apenas testado e aprovado no netplay master v3.0

Tutorial

Basta apenas criar um evento no mapa e ir na opção (Chamar script) - 3 aba do comandos de
evento, e colocar este código:

$scene = Scene_Depository.new

Pronto! feito isso o NPC será um deposito de itens e dinheiro, simples.

Não ah nenhum erro neste script.

nenhum jogador pode roubar itens ou dinheiro de outro jogador....
exemplo:

Eu fui no NPC de deposito e guardei um item, ai outro jogador que não tem nada no deposito dele
foi la no mesmo NPC de deposito que eu fui e acessou os itens dele... não haverá nada lá pois como
eu disse antes ele não guardou nada no depósito. rsrs.. já está tudo explicado certo.

Script

Código:


#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
[font="]

#_/
?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",      # depositar

 
  "Retirar",    # Retirar

 
  "Stokar itens",  # Stokar  itens

 
  "tirar itens"  # tirar itens

 
]

 
# ?Définitions des commandes

 
DEPOSITORY_HELP = [

 
  "Depositar dinheiro",         
  # Deposita dinheiro

 
  "Retirer dinheiro",    # Retirer dinheiro

 
  "Stokar um objeto",          #
Stokar um objeto

 
  "retirar um objeto"  # Retirar um objeto

 
]

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

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

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

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

 
# ? 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[/font]



Créditos

KGC.




Última edição por Heaver em Qui Mar 22, 2012 1:25 pm, editado 2 vez(es)
Heaver
Heaver
Iniciante
Iniciante

Mensagens : 46
Créditos : 1

Ir para o topo Ir para baixo

Deposito de itens e dinheiro - testado e aprovado! Empty Re: Deposito de itens e dinheiro - testado e aprovado!

Mensagem por Muta Qui Mar 22, 2012 1:16 pm

Cade o script?Mas de qualquer maneira eu já o tenho.
Eu tenho ele mas é bem útil!+1 teria o nome do autor?
e mais uma coisa isso não ficaria em scripts para netplay?


Última edição por Filipein em Qui Mar 22, 2012 1:17 pm, editado 1 vez(es)

_________________
"Cansei de esconder o que há em meu coração, agora vou mostrar todo o amor que sinto por você"
By:Darus Sven
Deposito de itens e dinheiro - testado e aprovado! HcMNL

Melhores Bandas da História:

Spoiler:
Deposito de itens e dinheiro - testado e aprovado! Tkw
Muta
Muta
Ocasional
Ocasional

Mensagens : 190
Créditos : 48

Ir para o topo Ir para baixo

Deposito de itens e dinheiro - testado e aprovado! Empty Re: Deposito de itens e dinheiro - testado e aprovado!

Mensagem por Valentine Qui Mar 22, 2012 1:16 pm

Onde está o Script?

E a área correta é Scripts Para Netplays.
Valentine
Valentine
Administrador
Administrador

Medalhas : Deposito de itens e dinheiro - testado e aprovado! ZgLkiRU
Mensagens : 5341
Créditos : 1164

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

Deposito de itens e dinheiro - testado e aprovado! Empty Re: Deposito de itens e dinheiro - testado e aprovado!

Mensagem por Muta Qui Mar 22, 2012 1:19 pm

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
################################################################
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#_/  ?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",      # Depositar

    "Retirar",    # Retirar

    "Guardar itens",  # Guardar  itens

    "Retirar itens"  # Retirar itens

  ]

  # ?Définitions des commandes

  DEPOSITORY_HELP = [

    "Depositar dinheiro",              # Depositar dinheiro

    "Retirar dinheiro",    # Retirar dinheiro

    "Guardar um objeto",          # Guardar um objeto

    "retirar um objeto"  # Retirar um objeto

  ]

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 = "Inserir valor a depositar"

  WDEPOSIT_GOLD = "Inserir valo a retirar"

  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_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 : Quantidade a sacar

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

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

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

  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 : 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_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, "Quantidade")

    self.contents.draw_text(0, 64, 608, 32, "Depositar")

    if type == 0

      self.contents.draw_text(0, 128, 608, 32, "Quantidade")

      @max = $game_party.gold

    else

      self.contents.draw_text(0, 128, 608, 32, "Sacar")

      @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

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

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

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

  # ? 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
Para ativar chame um script com o código:
Código:
$scene = Scene_Depository.new

Tá aew marlos eu tinha guardado aqui!


Última edição por Filipein em Qui Mar 22, 2012 1:22 pm, editado 2 vez(es)

_________________
"Cansei de esconder o que há em meu coração, agora vou mostrar todo o amor que sinto por você"
By:Darus Sven
Deposito de itens e dinheiro - testado e aprovado! HcMNL

Melhores Bandas da História:

Spoiler:
Deposito de itens e dinheiro - testado e aprovado! Tkw
Muta
Muta
Ocasional
Ocasional

Mensagens : 190
Créditos : 48

Ir para o topo Ir para baixo

Deposito de itens e dinheiro - testado e aprovado! Empty Re: Deposito de itens e dinheiro - testado e aprovado!

Mensagem por Heaver Qui Mar 22, 2012 1:21 pm

perdoem-me topico já foi editado e script postado
não sabia qual area era a certa então coloquei nessa.
Heaver
Heaver
Iniciante
Iniciante

Mensagens : 46
Créditos : 1

Ir para o topo Ir para baixo

Deposito de itens e dinheiro - testado e aprovado! Empty Re: Deposito de itens e dinheiro - testado e aprovado!

Mensagem por Muta Qui Mar 22, 2012 1:24 pm

De créditos ao criador do script(KGC)
Mas como já disse antes é bem útil pra quem ainda não tinha Deposito de itens e dinheiro - testado e aprovado! 364988687

_________________
"Cansei de esconder o que há em meu coração, agora vou mostrar todo o amor que sinto por você"
By:Darus Sven
Deposito de itens e dinheiro - testado e aprovado! HcMNL

Melhores Bandas da História:

Spoiler:
Deposito de itens e dinheiro - testado e aprovado! Tkw
Muta
Muta
Ocasional
Ocasional

Mensagens : 190
Créditos : 48

Ir para o topo Ir para baixo

Deposito de itens e dinheiro - testado e aprovado! Empty Re: Deposito de itens e dinheiro - testado e aprovado!

Mensagem por Heaver Qui Mar 22, 2012 1:26 pm

pronto. =]
Heaver
Heaver
Iniciante
Iniciante

Mensagens : 46
Créditos : 1

Ir para o topo Ir para baixo

Deposito de itens e dinheiro - testado e aprovado! Empty Re: Deposito de itens e dinheiro - testado e aprovado!

Mensagem por lucasbiell Qui Mar 22, 2012 1:41 pm

uma duvida Very Happy por exemplo eu guardo uns itens no meu bau :S
dai eu vou em outro pc e tem como eu abrir meu bau (utilizando minha conta)?
responde ae Very Happy

_________________
Spoiler:
lucasbiell
lucasbiell
Membro Ativo
Membro Ativo

Mensagens : 366
Créditos : 36

Ir para o topo Ir para baixo

Deposito de itens e dinheiro - testado e aprovado! Empty Re: Deposito de itens e dinheiro - testado e aprovado!

Mensagem por Maverick ~ Qui Mar 22, 2012 1:54 pm

http://www.aldeiarpgbr.com/t1845-scriptscript-de-kafra-banco
Já foi postado.

_________________
Alguma Duvida!? Me mande uma MP

Deposito de itens e dinheiro - testado e aprovado! BgIconeLivro                 Regras do Fórum


Deposito de itens e dinheiro - testado e aprovado! L4thF
Maverick ~
Maverick ~
Membro Ativo
Membro Ativo

Mensagens : 372
Créditos : 39

Ir para o topo Ir para baixo

Deposito de itens e dinheiro - testado e aprovado! Empty Re: Deposito de itens e dinheiro - testado e aprovado!

Mensagem por Heaver Qui Mar 22, 2012 2:08 pm

uma duvida Deposito de itens e dinheiro - testado e aprovado! 364988687 por exemplo eu guardo uns itens no meu bau :S
dai eu vou em outro pc e tem como eu abrir meu bau (utilizando minha conta)?
responde ae Deposito de itens e dinheiro - testado e aprovado! 364988687


eu não testei dessa forma, mas você pode testar e ver se funciona =]



http://www.aldeiarpgbr.com/t1845-scriptscript-de-kafra-banco
Já foi postado.

desculpe, eu não sabia, apenas disponibilizei.
Heaver
Heaver
Iniciante
Iniciante

Mensagens : 46
Créditos : 1

Ir para o topo Ir para baixo

Deposito de itens e dinheiro - testado e aprovado! Empty Re: Deposito de itens e dinheiro - testado e aprovado!

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 2 1, 2  Seguinte

Ir para o topo

- Tópicos semelhantes

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