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)
#-------------------------------------------------------------------------------
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)
#=========================================================
# 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...
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 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...
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.
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)
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?
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