Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Depozyt
Autor Wiadomość
Czeliosss 



Ranga RM:
1 gra

Pomógł: 49 razy
Dołączył: 02 Lis 2009
Posty: 661
Skąd: Wa-wa
Wysłany: Nie 17 Sty, 2010 20:23
Depozyt
Witam. Znalazłem ten skrypt jak inne na internecie. Polega on na przechowywaniu przedmiotów. Są tego dwie wersje.
V1.1
Screen
Spoiler:


Skrypt
Spoiler:

Kod:
#-------------------------------------------------------------------------------
# Storage Script
# by Thieffer
# 15.04.2009
# version 1.1 (27.06.2009)
#-------------------------------------------------------------------------------

#=========================================================
# Game_Party
#=========================================================
class Game_Party
  alias old_initialize initialize
#-------------------------------------------------------------------------------
  def initialize
    @storage_item = {}
    @storage_weapon = {}
    @storage_armor = {}
    old_initialize
  end
#-------------------------------------------------------------------------------
# Metoda zwraca ilość danego przedmiotu w magazynie.
  def storage_item_number(item_id)
    return @storage_item.include?(item_id) ? @storage_item[item_id] : 0
  end
#-------------------------------------------------------------------------------
# Metoda zwraca ilość danej broni w magazynie.
  def storage_weapon_number(weapon_id)
    return @storage_weapon.include?(weapon_id) ? @storage_weapon[weapon_id] : 0
  end
#-------------------------------------------------------------------------------
# Metoda zwraca ilość danej zbroi w magazynie.
  def storage_armor_number(armor_id)
    return @storage_armor.include?(armor_id) ? @storage_armor[armor_id] : 0
  end
#-------------------------------------------------------------------------------
# Metoda dodaje przedmiot o ID: item_id w ilości: n do magazynu.
  def store_item(item_id, n)
    if item_id > 0
      @storage_item[item_id] = [[storage_item_number(item_id) + n, 0].max, 99].min
    end
  end
#-------------------------------------------------------------------------------
# Metoda dodaje broń o ID: weapon_id w ilości: n do magazynu.
  def store_weapon(weapon_id, n)
    if weapon_id > 0
      @storage_weapon[weapon_id] = [[storage_weapon_number(weapon_id) + n, 0].max, 99].min
    end
  end
#-------------------------------------------------------------------------------
# Metoda dodaje zbroję o ID: armor_id w ilości: n do magazynu.
  def store_armor(armor_id, n)
    if armor_id > 0
      @storage_armor[armor_id] = [[storage_armor_number(armor_id) + n, 0].max, 99].min
    end
  end
end

#=========================================================
# Window_Storage_Item1
#=========================================================
class Window_Storage_Item1 < Window_Selectable
  def initialize
    super(0, 64, 320, 416)
    @column_max = 1
    refresh
    self.index = 0
  end
#-------------------------------------------------------------------------------
  def item
    return @data[self.index]
  end
#-------------------------------------------------------------------------------
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    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
    @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)
      end
    end
  end
#-------------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    x = 4 + index % 1 * (288 + 32)
    y = index * 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)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    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
#-------------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end

#=========================================================
# Window_Storage_Item2
#=========================================================
class Window_Storage_Item2 < Window_Selectable
  def initialize
    super(320, 64, 320, 416)
    @column_max = 1
    refresh
    self.index = 0
  end
#-------------------------------------------------------------------------------
  def item
    return @data[self.index]
  end
#-------------------------------------------------------------------------------
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for i in 1...$data_items.size
      if $game_party.storage_item_number(i) > 0
        @data.push($data_items[i])
      end
    end
    for i in 1...$data_weapons.size
      if $game_party.storage_weapon_number(i) > 0
        @data.push($data_weapons[i])
      end
    end
    for i in 1...$data_armors.size
      if $game_party.storage_armor_number(i) > 0
        @data.push($data_armors[i])
      end
    end
    @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)
      end
    end
  end
#-------------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.storage_item_number(item.id)
    when RPG::Weapon
      number = $game_party.storage_weapon_number(item.id)
    when RPG::Armor
      number = $game_party.storage_armor_number(item.id)
    end
    x = 4 + index % 1 * (288 + 32)
    y = index / 1 * 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)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    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
#-------------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description,2)
  end
end

#=========================================================
# Window_LootNumber
#=========================================================
class Window_Number < Window_Base
  def initialize(max)
    super(576, 0, 64, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    @max=max
# Poczštkowa ilość danego przedmiotu po włšczeniu okna.
    @number=1
  end
#-------------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 0, 32, 32, @number.to_s, 1)
  end
#-------------------------------------------------------------------------------
  def number
    return @number
  end
#-------------------------------------------------------------------------------
# ("Pożyczone z Window_ShopNumber" =)
#-------------------------------------------------------------------------------
  def update
    super
    if self.active
      refresh
      # Cursor right (+1)
      if Input.repeat?(Input::RIGHT) and @number < @max
        $game_system.se_play($data_system.cursor_se)
        @number += 1
        refresh
      end
      # Cursor left (-1)
      if Input.repeat?(Input::LEFT) and @number > 1
        $game_system.se_play($data_system.cursor_se)
        @number -= 1
        refresh
      end
      # Cursdr up (+10)
      if Input.repeat?(Input::UP) and @number < @max
        $game_system.se_play($data_system.cursor_se)
        @number = [@number + 10, @max].min
        refresh
      end
      # Cursor down (-10)
      if Input.repeat?(Input::DOWN) and @number > 1
        $game_system.se_play($data_system.cursor_se)
        @number = [@number - 10, 1].max
        refresh
      end
    end
  end
end

#=========================================================
# Scene_Storage
#=========================================================
class Scene_Storage
  def main
    @item1_window = Window_Storage_Item1.new
    @item2_window = Window_Storage_Item2.new
    @help_window = Window_Help.new
    @item1_window.help_window = @help_window
    @item2_window.help_window = @help_window
    @item2_window.active = false
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @help_window.dispose
    @item1_window.dispose
    @item2_window.dispose
  end
#-------------------------------------------------------------------------------
  def update
    @item1 = @item1_window.item
    @item2 = @item2_window.item
    @help_window.update
    @item1_window.update
    @item2_window.update
    if @item1_window.active
      @temp = 1
      update_item
      return
    end
    if @item2_window.active
      @temp = 2
      update_item
      return
    end
    if @number_window != nil
      @number_window.update
      if @number_window.active
        update_number
      end
      return
    end
  end
#-------------------------------------------------------------------------------
  def update_item
    if @temp == 1
      if Input.trigger?(Input::RIGHT)
        @item1_window.active = false
        @item2_window.active = true
      end
      if Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        $scene = Scene_Map.new
        return
      end
      if Input.trigger?(Input::C)
        case @item1
        when RPG::Item
          @number_window = Window_Number.new($game_party.item_number(@item1.id))
        when RPG::Weapon
          @number_window = Window_Number.new($game_party.weapon_number(@item1.id))
        when RPG::Armor
          @number_window = Window_Number.new($game_party.armor_number(@item1.id))
        else
          $game_system.se_play($data_system.buzzer_se)
        end
        if @item1 != nil
          $game_system.se_play($data_system.decision_se)
          @item1_window.active = false
          @number_window.active = true
          @number_window.visible = true
          @number_window.refresh
        end
        return
      end
    end
#-------------------------------------------------------------------------------
    if @temp == 2
      if Input.trigger?(Input::LEFT)
        @item2_window.active = false
        @item1_window.active = true
      end
      if Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        $scene = Scene_Map.new
        return
      end
      if Input.trigger?(Input::C)
        case @item2
        when RPG::Item
         @number_window = Window_Number.new($game_party.storage_item_number(@item2.id))
        when RPG::Weapon
          @number_window = Window_Number.new($game_party.storage_weapon_number(@item2.id))
        when RPG::Armor
          @number_window = Window_Number.new($game_party.storage_armor_number(@item2.id))
        else
          $game_system.se_play($data_system.buzzer_se)
        end
        if @item2 != nil
          $game_system.se_play($data_system.decision_se)
          @item2_window.active = false
          @number_window.active = true
          @number_window.visible = true
          @number_window.x = 0
          @number_window.refresh
        end
        return
      end
    end
  end
#-------------------------------------------------------------------------------
  def update_number
    if @temp == 1
      if Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        @item1_window.active = true
        @number_window.active = false
        @number_window.visible = false
        return
      end
      if Input.trigger?(Input::C)
        case @item1
        when RPG::Item
          $game_party.lose_item(@item1.id, @number_window.number)
          $game_party.store_item(@item1.id, @number_window.number)
          @item1_window.index -= 1 if $game_party.item_number(@item1.id) == 0 and @item1_window.index > 0
        when RPG::Weapon
          $game_party.lose_weapon(@item1.id, @number_window.number)
          $game_party.store_weapon(@item1.id, @number_window.number)
          @item1_window.index -= 1 if $game_party.weapon_number(@item1.id) == 0 and @item1_window.index > 0
        when RPG::Armor
          $game_party.lose_armor(@item1.id, @number_window.number)
          $game_party.store_armor(@item1.id, @number_window.number)
          @item1_window.index -= 1 if $game_party.armor_number(@item1.id) == 0 and @item1_window.index > 0
        end
        $game_system.se_play($data_system.decision_se)
        @item1_window.refresh
        @item2_window.refresh
        @number_window.active = false
        @number_window.visible = false
        @item1_window.active = true
        return
      end
    end
    if @temp == 2
      if Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        @item2_window.active = true
        @number_window.active = false
        @number_window.visible = false
        return
      end
      if Input.trigger?(Input::C)
        case @item2
        when RPG::Item
          $game_party.gain_item(@item2.id, @number_window.number)
          $game_party.store_item(@item2.id, -@number_window.number)
          @item2_window.index -= 1 if $game_party.storage_item_number(@item2.id) == 0 and @item2_window.index > 0
        when RPG::Weapon
          $game_party.gain_weapon(@item2.id, @number_window.number)
          $game_party.store_weapon(@item2.id, -@number_window.number)
          @item2_window.index -= 1 if $game_party.storage_weapon_number(@item2.id) == 0 and @item2_window.index > 0
        when RPG::Armor
          $game_party.gain_armor(@item2.id, @number_window.number)
          $game_party.store_armor(@item2.id, -@number_window.number)
          @item2_window.index -= 1 if $game_party.storage_armor_number(@item2.id) == 0 and @item2_window.index > 0
        end
        $game_system.se_play($data_system.decision_se)
        @item1_window.refresh
        @item2_window.refresh
        @number_window.active = false
        @number_window.visible = false
        @item2_window.active = true
        return
      end
    end
  end
end


V1.2
Screen
Spoiler:


Skrypt
Spoiler:

Kod:
#-------------------------------------------------------------------------------
# Storage Script
# by Thieffer
# 15.04.2009
# version 1.2 (11.08.2009)
#-------------------------------------------------------------------------------

#=============================#  INSTRUKCJA  #===============#
=begin
 
  Wywoływanie magazynu:
    $scene = Scene_Storage.new
 
  Możesz decydować, które przedmioty, broń, zbroja mogš być przechowywane.
  Wystarczy wypisać ich ID w odpowiednich linijkach w metodzie initialize
  klasy Game_System (poniżej).
 
  W każdym momencie gry możesz dodać lub usunšć dany przedmiot, broń lub zbroję
  z listy. Wywołaj skrypt:
  Aby dodać:
    $game_system.add_storage_item(item_id)
    $game_system.add_storage_weapon(weapon_id)
    $game_system.add_storage_armor(armor_id)
  Aby usunšć:
    $game_system.delete_storage_item(item_id)
    $game_system.delete_storage_weapon(weapon_id)
    $game_system.delete_storage_armor(armor_id)
   
=end
#=========================================================


#=========================================================
# Game_System
#=========================================================
class Game_System
  alias storage_system_initialize initialize
  attr_reader :items_to_storage
  attr_reader :weapons_to_storage
  attr_reader :armors_to_storage
#-------------------------------------------------------------------------------
  def initialize
    @items_to_storage = [001,002]     # ID przedmiotów, które można przechowywać
    @weapons_to_storage = [001,002]   # ID broni, które można przechowywać
    @armors_to_storage = [001,002]    # ID zbroi, którš można przechowywać
    storage_system_initialize
  end
#-------------------------------------------------------------------------------
# Metoda dodaje przedmiot o ID: item_id do listy przedmiotów, które można przechowywać.
  def add_storage_item(item_id)
    if not @items_to_storage.include?(item_id)
      @items_to_storage.add(item_id)
    end
  end
#-------------------------------------------------------------------------------
# Metoda dodaje broń o ID: weapon_id do listy broni, które można przechowywać.
  def add_storage_weapon(weapon_id)
    if not @weapons_to_storage.include?(weapon_id)
      @weapons_to_storage.add(weapon_id)
    end
  end
#-------------------------------------------------------------------------------
# Metoda dodaje zbroję o ID: armor_id do listy zbroi, którš można przechowywać.
  def add_storage_armor(armor_id)
    if not @armors_to_storage.include?(armor_id)
      @armors_to_storage.add(armor_id)
    end
  end
#-------------------------------------------------------------------------------
# Metoda usuwa przedmiot o ID: item_id z listy przedmiotów, które można przechowywać.
  def delete_storage_item(item_id)
    if @items_to_storage.include?(item_id)
      @items_to_storage.delete(item_id)
    end
  end
#-------------------------------------------------------------------------------
# Metoda usuwa broń o ID: weapon_id z listy broni, które można przechowywać.
  def delete_storage_weapon(weapon_id)
    if @weapons_to_storage.include?(weapon_id)
      @weapons_to_storage.delete(weapon_id)
    end
  end
#-------------------------------------------------------------------------------
# Metoda usuwa zbroję o ID: armor_id z listy zbroi, którš można przechowywać.
  def delete_storage_armor(armor_id)
    if @armors_to_storage.include?(armor_id)
      @armors_to_storage.delete(armor_id)
    end
  end
end
 
#=========================================================
# Game_Party
#=========================================================
class Game_Party
  alias storage_party_initialize initialize
#-------------------------------------------------------------------------------
  def initialize
    @storage_item = {}
    @storage_weapon = {}
    @storage_armor = {}
    storage_party_initialize
  end
#-------------------------------------------------------------------------------
# Metoda zwraca ilość danego przedmiotu w magazynie.
  def storage_item_number(item_id)
    return @storage_item.include?(item_id) ? @storage_item[item_id] : 0
  end
#-------------------------------------------------------------------------------
# Metoda zwraca ilość danej broni w magazynie.
  def storage_weapon_number(weapon_id)
    return @storage_weapon.include?(weapon_id) ? @storage_weapon[weapon_id] : 0
  end
#-------------------------------------------------------------------------------
# Metoda zwraca ilość danej zbroi w magazynie.
  def storage_armor_number(armor_id)
    return @storage_armor.include?(armor_id) ? @storage_armor[armor_id] : 0
  end
#-------------------------------------------------------------------------------
# Metoda dodaje przedmiot o ID: item_id w ilości: n do magazynu.
  def store_item(item_id, n)
    if item_id > 0
      @storage_item[item_id] = [[storage_item_number(item_id) + n, 0].max, 99].min
    end
  end
#-------------------------------------------------------------------------------
# Metoda dodaje broń o ID: weapon_id w ilości: n do magazynu.
  def store_weapon(weapon_id, n)
    if weapon_id > 0
      @storage_weapon[weapon_id] = [[storage_weapon_number(weapon_id) + n, 0].max, 99].min
    end
  end
#-------------------------------------------------------------------------------
# Metoda dodaje zbroję o ID: armor_id w ilości: n do magazynu.
  def store_armor(armor_id, n)
    if armor_id > 0
      @storage_armor[armor_id] = [[storage_armor_number(armor_id) + n, 0].max, 99].min
    end
  end
end

#=========================================================
# Window_Storage_Item1
#=========================================================
class Window_Storage_Item1 < Window_Selectable
  def initialize
    super(0, 64, 320, 416)
    @column_max = 1
    refresh
    self.index = 0
  end
#-------------------------------------------------------------------------------
  def item
    return @data[self.index]
  end
#-------------------------------------------------------------------------------
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    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
    @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)
      end
    end
  end
#-------------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
      if $game_system.items_to_storage.include?(item.id)
        color = normal_color
      else
        color = disabled_color
      end
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
      if $game_system.weapons_to_storage.include?(item.id)
        color = normal_color
      else
        color = disabled_color
      end
    when RPG::Armor
      number = $game_party.armor_number(item.id)
      if $game_system.armors_to_storage.include?(item.id)
        color = normal_color
      else
        color = disabled_color
      end
    end
    self.contents.font.color = color
    x = 4 + index % 1 * (288 + 32)
    y = index * 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)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    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
#-------------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end

#=========================================================
# Window_Storage_Item2
#=========================================================
class Window_Storage_Item2 < Window_Selectable
  def initialize
    super(320, 64, 320, 416)
    @column_max = 1
    refresh
    self.index = 0
  end
#-------------------------------------------------------------------------------
  def item
    return @data[self.index]
  end
#-------------------------------------------------------------------------------
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for i in 1...$data_items.size
      if $game_party.storage_item_number(i) > 0
        @data.push($data_items[i])
      end
    end
    for i in 1...$data_weapons.size
      if $game_party.storage_weapon_number(i) > 0
        @data.push($data_weapons[i])
      end
    end
    for i in 1...$data_armors.size
      if $game_party.storage_armor_number(i) > 0
        @data.push($data_armors[i])
      end
    end
    @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)
      end
    end
  end
#-------------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.storage_item_number(item.id)
    when RPG::Weapon
      number = $game_party.storage_weapon_number(item.id)
    when RPG::Armor
      number = $game_party.storage_armor_number(item.id)
    end
    x = 4 + index % 1 * (288 + 32)
    y = index / 1 * 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)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    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
#-------------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description,2)
  end
end

#=========================================================
# Window_Number
#=========================================================
class Window_Number < Window_Base
  def initialize(max)
    super(576, 0, 64, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    @max=max
# Poczštkowa ilość danego przedmiotu po włšczeniu okna.
    @number=1
  end
#-------------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(0, 0, 32, 32, @number.to_s, 1)
  end
#-------------------------------------------------------------------------------
  def number
    return @number
  end
#-------------------------------------------------------------------------------
# ("Pożyczone z Window_ShopNumber" =)
#-------------------------------------------------------------------------------
  def update
    super
    if self.active
      refresh
      # Cursor right (+1)
      if Input.repeat?(Input::RIGHT) and @number < @max
        $game_system.se_play($data_system.cursor_se)
        @number += 1
        refresh
      end
      # Cursor left (-1)
      if Input.repeat?(Input::LEFT) and @number > 1
        $game_system.se_play($data_system.cursor_se)
        @number -= 1
        refresh
      end
      # Cursdr up (+10)
      if Input.repeat?(Input::UP) and @number < @max
        $game_system.se_play($data_system.cursor_se)
        @number = [@number + 10, @max].min
        refresh
      end
      # Cursor down (-10)
      if Input.repeat?(Input::DOWN) and @number > 1
        $game_system.se_play($data_system.cursor_se)
        @number = [@number - 10, 1].max
        refresh
      end
    end
  end
end

#=========================================================
# Scene_Storage
#=========================================================
class Scene_Storage
  def main
    @item1_window = Window_Storage_Item1.new
    @item2_window = Window_Storage_Item2.new
    @help_window = Window_Help.new
    @item1_window.help_window = @help_window
    @item2_window.help_window = @help_window
    @item2_window.active = false
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @help_window.dispose
    @item1_window.dispose
    @item2_window.dispose
  end
#-------------------------------------------------------------------------------
  def update
    @item1 = @item1_window.item
    @item2 = @item2_window.item
    @help_window.update
    @item1_window.update
    @item2_window.update
    if @item1_window.active
      @temp = 1
      update_item
      return
    end
    if @item2_window.active
      @temp = 2
      update_item
      return
    end
    if @number_window != nil
      @number_window.update
      if @number_window.active
        update_number
      end
      return
    end
  end
#-------------------------------------------------------------------------------
  def update_item
    if @temp == 1
      if Input.trigger?(Input::RIGHT)
        @item1_window.active = false
        @item2_window.active = true
      end
      if Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        $scene = Scene_Map.new
        return
      end
      if Input.trigger?(Input::C)
        case @item1
        when RPG::Item
          if $game_system.items_to_storage.include?(@item1.id)
            @number_window = Window_Number.new($game_party.item_number(@item1.id))
          else
            @number_window = nil
          end
        when RPG::Weapon
          if $game_system.weapons_to_storage.include?(@item1.id)
            @number_window = Window_Number.new($game_party.weapon_number(@item1.id))
          else
            @number_window = nil
          end
        when RPG::Armor
          if $game_system.armors_to_storage.include?(@item1.id)
            @number_window = Window_Number.new($game_party.armor_number(@item1.id))
          else
            @number_window = nil
          end
        end
        if @item1 != nil and @number_window != nil
          $game_system.se_play($data_system.decision_se)
          @item1_window.active = false
          @number_window.active = true
          @number_window.visible = true
          @number_window.refresh
        else
          $game_system.se_play($data_system.buzzer_se)
        end
        return
      end
    end
#-------------------------------------------------------------------------------
    if @temp == 2
      if Input.trigger?(Input::LEFT)
        @item2_window.active = false
        @item1_window.active = true
      end
      if Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        $scene = Scene_Map.new
        return
      end
      if Input.trigger?(Input::C)
        case @item2
        when RPG::Item
         @number_window = Window_Number.new($game_party.storage_item_number(@item2.id))
        when RPG::Weapon
          @number_window = Window_Number.new($game_party.storage_weapon_number(@item2.id))
        when RPG::Armor
          @number_window = Window_Number.new($game_party.storage_armor_number(@item2.id))
        else
          $game_system.se_play($data_system.buzzer_se)
        end
        if @item2 != nil
          $game_system.se_play($data_system.decision_se)
          @item2_window.active = false
          @number_window.active = true
          @number_window.visible = true
          @number_window.x = 0
          @number_window.refresh
        end
        return
      end
    end
  end
#-------------------------------------------------------------------------------
  def update_number
    if @temp == 1
      if Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        @item1_window.active = true
        @number_window.active = false
        @number_window.visible = false
        return
      end
      if Input.trigger?(Input::C)
        case @item1
        when RPG::Item
          $game_party.lose_item(@item1.id, @number_window.number)
          $game_party.store_item(@item1.id, @number_window.number)
          @item1_window.index -= 1 if $game_party.item_number(@item1.id) == 0 and @item1_window.index > 0
        when RPG::Weapon
          $game_party.lose_weapon(@item1.id, @number_window.number)
          $game_party.store_weapon(@item1.id, @number_window.number)
          @item1_window.index -= 1 if $game_party.weapon_number(@item1.id) == 0 and @item1_window.index > 0
        when RPG::Armor
          $game_party.lose_armor(@item1.id, @number_window.number)
          $game_party.store_armor(@item1.id, @number_window.number)
          @item1_window.index -= 1 if $game_party.armor_number(@item1.id) == 0 and @item1_window.index > 0
        end
        $game_system.se_play($data_system.decision_se)
        @item1_window.refresh
        @item2_window.refresh
        @number_window.active = false
        @number_window.visible = false
        @item1_window.active = true
        return
      end
    end
    if @temp == 2
      if Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        @item2_window.active = true
        @number_window.active = false
        @number_window.visible = false
        return
      end
      if Input.trigger?(Input::C)
        case @item2
        when RPG::Item
          $game_party.gain_item(@item2.id, @number_window.number)
          $game_party.store_item(@item2.id, -@number_window.number)
          @item2_window.index -= 1 if $game_party.storage_item_number(@item2.id) == 0 and @item2_window.index > 0
        when RPG::Weapon
          $game_party.gain_weapon(@item2.id, @number_window.number)
          $game_party.store_weapon(@item2.id, -@number_window.number)
          @item2_window.index -= 1 if $game_party.storage_weapon_number(@item2.id) == 0 and @item2_window.index > 0
        when RPG::Armor
          $game_party.gain_armor(@item2.id, @number_window.number)
          $game_party.store_armor(@item2.id, -@number_window.number)
          @item2_window.index -= 1 if $game_party.storage_armor_number(@item2.id) == 0 and @item2_window.index > 0
        end
        $game_system.se_play($data_system.decision_se)
        @item1_window.refresh
        @item2_window.refresh
        @number_window.active = false
        @number_window.visible = false
        @item2_window.active = true
        return
      end
    end
  end
end

________________________
...Amelanduil & FireBlade words will be remembered...
...Amelanduil & FireBlade acts will be remembered...
...Amelanduil & FireBlade never gonna die...

Nie pisać, bo nie odpiszę.
 
 
alintes 




Preferowany:
RPG Maker XP

Dołączył: 20 Gru 2009
Posty: 41
Skąd: Strzelin
Wysłany: Pon 18 Sty, 2010 18:01
Fajne, mi się bardziej podoba to 1, a tak ogólnie to w miare dobre.Spróbuje przetłumaczyc ten ierwszy skrypt na polski. :mrgreen:
________________________
http://footballteam.pl/in...olecil=108205#v
 
 
 
Malian 




Preferowany:
RPG Maker XP

Pomógł: 3 razy
Dołączył: 22 Gru 2009
Posty: 262
Skąd: Warszawa
Wysłany: Pon 18 Sty, 2010 18:21
Wywołuje się ten skrypt jakim kodem?

[ Dodano: Pon 18 Sty, 2010 18:30 ]
Mi ten skrypt kłóci się z QuestLogiem, a potrzebuję obydwu do swojego demka.
________________________
 
 
 
 
Czeliosss 



Ranga RM:
1 gra

Pomógł: 49 razy
Dołączył: 02 Lis 2009
Posty: 661
Skąd: Wa-wa
Wysłany: Pon 18 Sty, 2010 18:57
Wywoływanie
V1.1 $scene = Scene_Storage.new
V1.2 $scene = Scene_Storage.new
Z poprawą skryptu nie pomogę, niestety. Musze się nauczyć pisania skryptów. Zna ktoś jakaś stronkę do tego?
________________________
...Amelanduil & FireBlade words will be remembered...
...Amelanduil & FireBlade acts will be remembered...
...Amelanduil & FireBlade never gonna die...

Nie pisać, bo nie odpiszę.
 
 
alintes 




Preferowany:
RPG Maker XP

Dołączył: 20 Gru 2009
Posty: 41
Skąd: Strzelin
Wysłany: Pon 18 Sty, 2010 19:34
A to sory ale czmu na screnie jest napisane fighter weapon ?
________________________
http://footballteam.pl/in...olecil=108205#v
 
 
 
Czeliosss 



Ranga RM:
1 gra

Pomógł: 49 razy
Dołączył: 02 Lis 2009
Posty: 661
Skąd: Wa-wa
Wysłany: Pon 18 Sty, 2010 20:05
Nie wiem to nie jest mój skrypt i screen. Wziąłem to z jakieś strony. Może on miał ang. RM'a.
________________________
...Amelanduil & FireBlade words will be remembered...
...Amelanduil & FireBlade acts will be remembered...
...Amelanduil & FireBlade never gonna die...

Nie pisać, bo nie odpiszę.
 
 
krychapl 



Preferowany:
RPG Maker XP

Dołączył: 05 Sty 2010
Posty: 38
Wysłany: Nie 24 Sty, 2010 21:19
Mam problem co oznacza ten błąd syntaxerror
 
 
opl 



Preferowany:
RPG Maker XP

Dołączył: 10 Lut 2010
Posty: 1
Wysłany: Sro 10 Lut, 2010 20:07
Taż mam coś w 42 czy 43 linijce.
 
 
 
Sage 




Dołączył: 31 Sty 2010
Posty: 11
Wysłany: Sro 10 Lut, 2010 20:10
krychapl, "syntax error - błąd składni (w programowaniu, wskazuje nierozpoznane słowo, symbol czy strukturę)".

Więcej nie jestem w stanie Wam pomóc. Jeżeli skrypt zawiera błędy i wiecie dokładnie, w której to jest linijce to je sprawdźcie czy nie brakuje jakichś znaków, czy może jest jakaś literówka, no nie wiem.
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sro 10 Lut, 2010 20:28
Łapcie demo (w załączniku). W razie gdyby ktoś nie mógł wejść w projekt to tutaj jest tutorial, jak to zrobić :arrow: http://www.ultimateam.pl/viewtopic.php?t=2352

Depozyt.rar
Pobierz DEMO
Pobierz Plik ściągnięto 574 raz(y) 177,3 KB

________________________


 
 
 
michu1701 



Dołączył: 12 Sie 2010
Posty: 2
Wysłany: Sob 14 Sie, 2010 15:45
Witam!
A więc próbuję z szafy zrobić taki mały depozyt. Czy mogę zrobić, aby w szafie było już kilka rzeczy? Chcę to wykorzystać do questa :)
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Wto 17 Sie, 2010 13:36
michu1701, na samej górze skryptu podana jest do niego instrukcja:
Kod:
W każdym momencie gry możesz dodać lub usunšć dany przedmiot, broń lub zbroję
z listy. Wywołaj skrypt:
Aby dodać:
$game_system.add_storage_item(item_id)
$game_system.add_storage_weapon(weapon_id)
$game_system.add_storage_armor(armor_id)
Aby usunšć:
$game_system.delete_storage_item(item_id)
$game_system.delete_storage_weapon(weapon_id)
$game_system.delete_storage_armor(armor_id)
________________________


 
 
 
RtaMag2 




Preferowany:
RPG Maker XP

Dołączył: 11 Lut 2010
Posty: 137
Skąd: Piechy
Wysłany: Nie 05 Wrz, 2010 20:56
Skrypt taki sobię, ja jednak wolę zrobić depozyt za pomocą przełączników :->
________________________

 
 
 
gladiatus 



Dołączył: 10 Kwi 2011
Posty: 5
Wysłany: Sro 01 Sie, 2012 21:29
a jak zrobić by wszystkie przedmioty od razu można było przechowywać w depozycie np. Zamiast dopisywać każdy przedmiot to od razu są wszystkie przepisane?
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene