hi ich weis das du zwar schon an vielen sachen arbeitest aber es gibt ja die warteliste ;-)
und so bald man da drinnen steht kommt man wenigstens IWANN mal drann^^
also was ich suche ist eine Waffenablage statt dem Beutel
Waffen oder Rüsungen werden nicht im Beutel abgelegt, sondern in einem speziellen Menü, in welchem man
auch gleich sie Ausrüsten kann, mehr eigentlich nicht.
Dieses Menü sollte nur mit Event aufgerufen werden können, ich versuche das mal
mit meinem Beispiel zeigen: Es wird so eine Box geben wo man seine waffen aufbewahrt,
klickt man sie dann an, öffnet es die Waffenbox, und man kann sich mit
Rüstungen und Waffen ausrüsten!
so ein script gibt es schon in guter variante.
ich werde versuchen dir es rauszusuchen.
mache es im edit.
edit:
habs gefunden:
#==============================================================================
# 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
vil benötigst du noch das:
(https://dl-web.dropbox.com/get/Photos/System%20Icons.png?w=7c49b07c)
bennene diese in System Icons.png
hoffe ich konnte helfen
PS:
bin auch mh3 zogger xD bin HR57 derzeit