close

Вход

Забыли?

вход по аккаунту

?

Categories

код для вставкиСкачать
#************************************************************************
******
#
#
* アイテム分類の細分化
#
# ------------------------------------------------------------------------#
バージョン : 1.0.0
#
対
応 : RPG ツクール VX Ace : RGSS3
#
制 作 者 : CACAO
# ------------------------------------------------------------------------#
== 概
要 ==
#
#
: アイテム画面での分類を細かく設定できるようにします。
#
#
#************************************************************************
******
#========================================================================
======
# ◆ 設定項目
#========================================================================
======
module CAO
module CategorizeItem
#------------------------------------------------------------------------# ◇ カテゴリの設定
# Добавляйте или удаляйте команды меню из списка
#------------------------------------------------------------------------COMMANDS = [:item, :weapon, :etype1, :etype2, :etype3, :etype4,
:key_item]
#------------------------------------------------------------------------# ◇ カテゴリ名の設定
#
[картинка, имя]
# VOCAB_COMMANDS[:item]
= [260, "Вещи"]
# VOCAB_COMMANDS[:equip]
= [433, "Экипировка"]
# VOCAB_COMMANDS[:key_item] = [270, "Важные вещи"]
# VOCAB_COMMANDS[:weapon]
= [147, "Оружие"]
# VOCAB_COMMANDS[:armor]
= [160, "Защита"]
# VOCAB_COMMANDS[:etype1]
= [161, "Щиты"]
# VOCAB_COMMANDS[:etype2]
= [164, "Шлемы"]
# VOCAB_COMMANDS[:etype3]
= [170, "Броня"]
# VOCAB_COMMANDS[:etype4]
= [180, "Украшения"]
#-------------------------------------------------------------------------
VOCAB_COMMANDS = {}
VOCAB_COMMANDS[:item]
VOCAB_COMMANDS[:equip]
VOCAB_COMMANDS[:key_item]
VOCAB_COMMANDS[:weapon]
VOCAB_COMMANDS[:armor]
VOCAB_COMMANDS[:etype1]
VOCAB_COMMANDS[:etype2]
VOCAB_COMMANDS[:etype3]
VOCAB_COMMANDS[:etype4]
=
=
=
=
=
=
=
=
=
[260]
[433, "Экипировка"]
[270]
[147]
[160, "Защита"]
[161]
[164]
[170]
[180]
#------------------------------------------------------------------------# ◇ カーソルの可視状態
#------------------------------------------------------------------------VISIBLE_CURSOR = true
end # module CategorizeItem
end # module CAO
#////////////////////////////////////////////////////////////////////////
/////#
#
#
#
下記のスクリプトを変更する必要はありません。
#
#
#
#////////////////////////////////////////////////////////////////////////
/////#
class Window_ItemCategory
#------------------------------------------------------------------------# ○ 桁数の取得
#------------------------------------------------------------------------def col_max
return CAO::CategorizeItem::COMMANDS.size
end
#------------------------------------------------------------------------# ○ コマンドリストの作成
#------------------------------------------------------------------------def make_command_list
CAO::CategorizeItem::COMMANDS.each do |symbol|
add_command(CAO::CategorizeItem::VOCAB_COMMANDS[symbol], symbol)
end
end
#------------------------------------------------------------------------# ○ 項目の描画
#------------------------------------------------------------------------def draw_item(index)
rect = item_rect_for_text(index)
param = command_name(index)
if param.is_a?(Array) && param[1].is_a?(String)
ww = (rect.width - self.contents.text_size(param[1]).width - 24)
ww = [0, ww - (self.contents.font.outline ? 3 : 1)].max
rect.x += ww / 2
draw_icon(param[0], rect.x, rect.y)
rect.x += 24
rect.width -= ww + 24
change_color(normal_color)
draw_text(rect, param[1])
elsif param.is_a?(String)
change_color(normal_color)
draw_text(rect, param, alignment)
else
rect.x += (rect.width - 24) / 2
if param.is_a?(Array)
icon_index = param[(param[1] && @index == index) ? 1 : 0]
else
icon_index = param
end
draw_icon(icon_index, rect.x, rect.y)
end
end
#------------------------------------------------------------------------# ○ カーソル位置の設定
#------------------------------------------------------------------------def index=(index)
last_index = @index
super
refresh if @index != last_index
end
#------------------------------------------------------------------------# ○ カーソルの更新
#------------------------------------------------------------------------def update_cursor
super
self.cursor_rect.empty unless CAO::CategorizeItem::VISIBLE_CURSOR
end
end
class Window_ItemList
#------------------------------------------------------------------------# ● 正規表現
#------------------------------------------------------------------------REGEXP_ETYPE = /etype(\d+)/
REGEXP_WTYPE = /wtype(\d+)/
REGEXP_ATYPE = /atype(\d+)/
#------------------------------------------------------------------------# ○ アイテムをリストに含めるかどうか
#------------------------------------------------------------------------def include?(item)
case @category
when String
return item && item.note.include?("<#{@category}>")
when :all
return item != nil
when :all_item
return item.is_a?(RPG::Item)
when :item
return item.is_a?(RPG::Item) && !item.key_item?
when :equip
return item.is_a?(RPG::EquipItem)
when :weapon
return item.is_a?(RPG::Weapon)
when :armor
return item.is_a?(RPG::Armor)
when :key_item
return item.is_a?(RPG::Item) && item.key_item?
else
case @category.to_s
when REGEXP_ETYPE
return item.is_a?(RPG::EquipItem) && item.etype_id == $1.to_i
when REGEXP_WTYPE
return item.is_a?(RPG::Weapon) && item.wtype_id == $1.to_i
when REGEXP_ATYPE
return item.is_a?(RPG::Armor) && item.atype_id == $1.to_i
end
end
return false
end
end
Автор
suncrash
Документ
Категория
Техническая документация
Просмотров
126
Размер файла
6 Кб
Теги
categories
1/--страниц
Пожаловаться на содержимое документа