collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Kistenscript !  (Gelesen 1092 mal)

Offline danju

  • Unwichtiger Nebencharakter
  • RTP-Mapper
  • *
  • Beiträge: 32
  • "The blood of innocence burning in the skies."
    • Danjus Blog
Kistenscript !
« am: August 17, 2011, 22:05:36 »
Halöle !

Ich suche ein Kistenscript also Sachen in die Kiste legen und wieder rausnehmen ich weiß das man das mit Events machen kann aber mit einem Script sieht es optisch besser aus ich hab schon überall geguckt finde aber nur eins für den XP.

Bitte helft mir !

Re: Kistenscript !

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Kistenscript !
« Antwort #1 am: August 17, 2011, 23:26:42 »
Such mal nach dem Vampyr Warehouse-Script. Sollte das sein, was du brauchst.
PDM's Gameplays
Skype-Name: lordpdm

Re: Kistenscript !

Offline danju

  • Unwichtiger Nebencharakter
  • RTP-Mapper
  • *
  • Beiträge: 32
  • "The blood of innocence burning in the skies."
    • Danjus Blog
Re: Kistenscript !
« Antwort #2 am: August 18, 2011, 08:10:07 »
Die Seite der Vampyr-Coders ist down  :cry: und im Studio haben sies nicht gepostet.

Re: Kistenscript !

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Kistenscript !
« Antwort #3 am: August 18, 2011, 19:45:35 »
Hatte es noch auf der Festplattem weiß aber nicht ob und wie es funktioniert.
Sollte sich eigentlich mit $scene=Scene_VampyrWarehouse.new aufrufen lassen.
Spoiler for Hiden:
#==============================================================================
# Vampyr Warehouse
#==============================================================================
class Game_Party < Game_Unit
 
  alias vampyr_warehouse_initialize initialize
 
  attr_reader :wgold
 
  def initialize
    vampyr_warehouse_initialize
    @witems = {}
    @wweapons = {}
    @warmors = {}
    @wgold = 0
  end
 
  def witems
    result = []
    for i in @witems.keys.sort
      result.push($data_items[i]) if @witems[i] > 0
    end
    for i in @wweapons.keys.sort
      result.push($data_weapons[i]) if @wweapons[i] > 0
    end
    for i in @warmors.keys.sort
      result.push($data_armors[i]) if @warmors[i] > 0
    end
    return result
  end
 
  def store_gold(n)
    @wgold = [[@wgold + n, 0].max, 9999999].min
  end

  def withdraw_gold(n)
    store_gold(-n)
  end
 
  def witem_number(item)
    case item
    when RPG::Item
      number = @witems[item.id]
    when RPG::Weapon
      number = @wweapons[item.id]
    when RPG::Armor
      number = @warmors[item.id]
    end
    return number == nil ? 0 : number
  end
 
  def store_item(item, n)
    number = witem_number(item)
    case item
    when RPG::Item
      @witems[item.id] = [[number + n, 0].max, 99].min
    when RPG::Weapon
      @wweapons[item.id] = [[number + n, 0].max, 99].min
    when RPG::Armor
      @warmors[item.id] = [[number + n, 0].max, 99].min
    end
    n += number
  end

  def withdraw_item(item, n)
    store_item(item, -n)
  end
 
end

#------------------------------------------------------------------------------
class Window_Warehouse < Window_Selectable
 
  def initialize(x, y, width, height)
    super(x, y, width, height)
    @column_max = 2
    self.index = 0
    refresh
  end
 
  def item
    return @data[self.index]
  end
 
  def refresh
    @data = []
    $game_party.witems.each { |i| @data.push(i) }
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i)
    end
  end
 
  def draw_item(index)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    item = @data[index]
    if item != nil
      number = $game_party.witem_number(item)
      rect.width -= 4
      draw_item_name(item, rect.x, rect.y)
      self.contents.draw_text(rect, sprintf(":%2d", number), 2)
    end
  end
 
  def update_help
    if $scene.is_a?(Scene_VampyrWarehouse) and $scene.description_delay > 0
      @help_window.set_text("Item Retirado!")
    else
      @help_window.set_text(item == nil ? "" : item.description)
    end
  end
 
end

#------------------------------------------------------------------------------
class Window_Item < Window_Selectable
 
  def update_help
    if $scene.is_a?(Scene_VampyrWarehouse) and $scene.description_delay > 0
      @help_window.set_text("Item Depositado!")
    else
      @help_window.set_text(item == nil ? "" : item.description)
    end
  end
 
end

#------------------------------------------------------------------------------
class Window_MyGold < Window_Base
 
  def initialize
    super(0, 0, 256, 56)
    refresh
  end
 
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(contents.rect, "Meu #{Vocab.gold}:")
    self.contents.font.color = normal_color
    self.contents.draw_text(contents.rect, $game_party.gold, 2)
  end
 
end

#------------------------------------------------------------------------------
class Window_WareGold < Window_Base
 
  def initialize
    super(0, 0, 256, 56)
    refresh
  end
 
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(contents.rect, "#{Vocab.gold} do Baú:")
    self.contents.font.color = normal_color
    self.contents.draw_text(contents.rect, $game_party.wgold, 2)
  end
 
end

#------------------------------------------------------------------------------
class Window_TypeGold < Window_Command
 
  attr_reader :value
  attr_reader :commands
 
  def initialize
    super(256, ["0", "0", "0", "0", "0", "0", "0"], 7, 0, 0)
    @index = 6
  end
 
  def reset
    for i in 0...@commands.size
      @commands[i] = "0"
    end
    refresh
  end
 
  def update
    super
    value = @commands[@index].to_i
    if Input.press?(Input::UP) and Graphics.frame_count % 7 <= 0
      Sound.play_cursor
      @commands[@index] = (value < 9 ? value+1 : 9).to_s
      refresh
    elsif Input.press?(Input::DOWN) and Graphics.frame_count % 7 <= 0
      Sound.play_cursor
      @commands[@index] = (value > 0 ? value-1 : 0).to_s
      refresh
    end
  end
 
end

#------------------------------------------------------------------------------
class Scene_VampyrWarehouse < Scene_Base
 
  attr_reader :description_delay
 
  def start
    super
    create_menu_background
    @description_delay = 0
    @store_gold = false
    @withdraw_gold = false
    s1 = "Depositar Itens "
    s2 = "Retirar Itens"
    s3 = "Depositar Dinheiro"
    s4 = "Retirar Dinheiro"
    s5 = "Cancelar"
    @command_window = Window_Command.new(208, [s1, s2, s3, s4, s5])
    @command_window.x = (544-@command_window.width)/2
    @command_window.y = (416-@command_window.height)/2
    @command_window.visible = @command_window.active = true
    @help_window = Window_Help.new
    @help_window.visible = @help_window.active = false
    @item_window = Window_Item.new(0, 56, 544, 360)
    @item_window.help_window = @help_window
    @item_window.visible = @item_window.active = false
    @warehouse_window = Window_Warehouse.new(0, 56, 544, 360)
    @warehouse_window.help_window = @help_window
    @warehouse_window.visible = @warehouse_window.active = false
    @typegold_window = Window_TypeGold.new
    @typegold_window.x = (544-@typegold_window.width)/2
    @typegold_window.y = ((416-@typegold_window.height)/2)
    @typegold_window.visible = @typegold_window.active = false
    @mygold_window = Window_MyGold.new
    @mygold_window.visible = @mygold_window.active = false
    @mygold_window.x = (544-@mygold_window.width)/2
    @mygold_window.y = ((416-@mygold_window.height)/2)-56
    @waregold_window = Window_WareGold.new
    @waregold_window.visible = @waregold_window.active = false
    @waregold_window.x = (544-@waregold_window.width)/2
    @waregold_window.y = ((416-@waregold_window.height)/2)+56
  end
 
  def update
    super
    update_menu_background
    @description_delay -= 1 if @description_delay > 0
    @command_window.update
    @item_window.update
    @warehouse_window.update
    @help_window.update
    @mygold_window.update
    @waregold_window.update
    @typegold_window.update if @typegold_window.active
    if @command_window.active
      update_selection
    elsif @item_window.active
      update_store
    elsif @warehouse_window.active
      update_whitedraw
    elsif @typegold_window.active and @store_gold
      update_store_gold
    elsif @typegold_window.active and @withdraw_gold
      update_whitdraw_gold
    end
  end
 
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @item_window.dispose
    @warehouse_window.dispose
    @help_window.dispose
    @typegold_window.dispose
    @mygold_window.dispose
    @waregold_window.dispose
  end
 
  def update_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      @command_window.visible = @command_window.active = false
      case @command_window.index
      when 0
        @item_window.visible = @item_window.active = true
        @help_window.visible = @help_window.active = true
        @warehouse_window.visible = @warehouse_window.active = false
      when 1
        @item_window.visible = @item_window.active = false
        @help_window.visible = @help_window.active = true
        @warehouse_window.visible = @warehouse_window.active = true
      when 2
        @store_gold = true
        @withdraw_gold = false
        @typegold_window.visible = @typegold_window.active = true
        @mygold_window.visible = @mygold_window.active = true
        @waregold_window.visible = @waregold_window.active = true
      when 3
        @store_gold = false
        @withdraw_gold = true
        @typegold_window.visible = @typegold_window.active = true
        @mygold_window.visible = @mygold_window.active = true
        @waregold_window.visible = @waregold_window.active = true
      when 4
        $scene = Scene_Map.new
      end
    end
  end
 
  def update_store
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @item_window.visible = @item_window.active = false
      @help_window.visible = @help_window.active = false
      @command_window.visible = @command_window.active = true
    elsif Input.trigger?(Input::C)
      if @item_window.item == nil
        Sound.play_buzzer
      elsif @item_window.item.note.include?("Dont't Store")
        Sound.play_buzzer
      else
        Sound.play_decision
        $game_party.lose_item(@item_window.item, 1)
        $game_party.store_item(@item_window.item, 1)
        @item_window.refresh
        @warehouse_window.refresh
        @description_delay = 90
      end
    end
  end
 
  def update_whitedraw
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @warehouse_window.visible = @warehouse_window.active = false
      @help_window.visible = @help_window.active = false
      @command_window.visible = @command_window.active = true
    elsif Input.trigger?(Input::C)
      if @warehouse_window.item == nil
        Sound.play_buzzer
      else
        Sound.play_decision
        $game_party.gain_item(@warehouse_window.item, 1)
        $game_party.withdraw_item(@warehouse_window.item, 1)
        @item_window.refresh
        @warehouse_window.refresh
        @description_delay = 90
      end
    end
  end
 
  def update_store_gold
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @typegold_window.visible = @typegold_window.active = false
      @typegold_window.reset
      @mygold_window.visible = @mygold_window.active = false
      @waregold_window.visible = @waregold_window.active = false
      @command_window.visible = @command_window.active = true
    elsif Input.trigger?(Input::C)
      return if @typegold_window.commands.to_s.to_i <= 0
      if $game_party.gold < @typegold_window.commands.to_s.to_i
        Sound.play_buzzer
      else
        Sound.play_shop
        $game_party.lose_gold(@typegold_window.commands.to_s.to_i)
        $game_party.store_gold(@typegold_window.commands.to_s.to_i)
        @mygold_window.refresh
        @waregold_window.refresh
      end
    end
  end
 
  def update_whitdraw_gold
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @typegold_window.visible = @typegold_window.active = false
      @typegold_window.reset
      @mygold_window.visible = @mygold_window.active = false
      @waregold_window.visible = @waregold_window.active = false
      @command_window.visible = @command_window.active = true
    elsif Input.trigger?(Input::C)
      return if @typegold_window.commands.to_s.to_i <= 0
      if $game_party.wgold < @typegold_window.commands.to_s.to_i
        Sound.play_buzzer
      else
        Sound.play_shop
        $game_party.withdraw_gold(@typegold_window.commands.to_s.to_i)
        $game_party.gain_gold(@typegold_window.commands.to_s.to_i)
        @mygold_window.refresh
        @waregold_window.refresh
      end
    end
  end
 
end
PDM's Gameplays
Skype-Name: lordpdm

Re: Kistenscript !

Offline danju

  • Unwichtiger Nebencharakter
  • RTP-Mapper
  • *
  • Beiträge: 32
  • "The blood of innocence burning in the skies."
    • Danjus Blog
Re: Kistenscript !
« Antwort #4 am: August 19, 2011, 08:10:29 »
Dabke dir  :haha_zwinker:

 


 Bild des Monats

rooftop party

Views: 3615
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal