이 스크립트는 아이템 등급을 아이템과 장비에 할당하도록 허용합니다.
아이템 등급은 이름 색상으로 표시됩니다.
기본적으로 모든 이름은 흰색입니다.
다른 등급의 아이템을 다른 색상을 갖도록 사용자 정의 할 수 있습니다
- 사용법 -
아이템 등급에 대한 메모 태그 항목을 지정합니다.
----------------------------------------------------------------
<item rarity: x>
----------------------------------------------------------------
여기서 x는 숫자입니다.
구성에서는 각각의 아이템 등급과 관련된 색상을 설정할 수 있습니다 .
색상은 RGB 형식으로 지정됩니다. 몇 가지 샘플 항목이 제공됩니다.
출처: http://himeworks.com/2014/03/item-rarity/
#=============================================================================== Title: Item Rarity Author: Hime Date: Mar 26, 2014 URL: http://www.himeworks.com/2014/03/25/item-rarity/ -------------------------------------------------------------------------------- ** Change log Apr 11, 2014 - fixed bug where item color affects other rows as well Mar 26, 2014 - Fixed bug where loading skills crashed. You can now tag skills with rarity - Extended to all base item objects Mar 25, 2014 - Initial release -------------------------------------------------------------------------------- ** Terms of Use * Free to use in non-commercial projects * Contact me for commercial use * No real support. The script is provided as-is * Will do bug fixes, but no compatibility patches * Features may be requested but no guarantees, especially if it is non-trivial * Credits to Hime Works in your project * Preserve this header -------------------------------------------------------------------------------- ** Description This script allows you to assign item rarities to items and equips. Rarity is indicated by name colour: by default, all names are white. You can customize this so that different rarity levels have different colours. -------------------------------------------------------------------------------- ** Installation In the script editor, place this script below Materials and above Main -------------------------------------------------------------------------------- ** Usage To specify rarity, note-tag items and equips with <item rarity: x> Where x is a number. In the configuration, you can set up the colours associated with each rarity level. #=============================================================================== =end $imported = {} if $imported.nil? $imported[:TH_ItemRarity] = true #=============================================================================== # ** Configuration #=============================================================================== module TH module Item_Rarity # Colours associated with each rarity. The colours are specified as # RGB values. So for example, White is [255, 255, 255] Colour_Map = { 1 => [255, 255, 255], 2 => [204, 255, 137], 3 => [197, 122, 255], 4 => [255, 84, 0], } Regex = /<item[-_ ]rarity:\s*(\d+)\s*>/i #=============================================================================== # ** Rest of script #=============================================================================== @@rarity_colour_map = nil def self.rarity_colour_map unless @@rarity_colour_map @@rarity_colour_map = {} Colour_Map.each do |i, arr| @@rarity_colour_map[i] = Color.new(*arr) end end return @@rarity_colour_map end end end module RPG class BaseItem def rarity load_notetag_item_rarity unless @rarity return @rarity end def load_notetag_item_rarity @rarity = 1 res = self.note.match(TH::Item_Rarity::Regex) if res @rarity = res[1].to_i end end def rarity_colour TH::Item_Rarity.rarity_colour_map[self.rarity] end end end class Window_Base < Window #----------------------------------------------------------------------------- # Replaced #----------------------------------------------------------------------------- def draw_item_name(item, x, y, enabled = true, width = 172) return unless item draw_icon(item.icon_index, x, y, enabled) change_color(item.rarity_colour, enabled) draw_text(x + 24, y, width, line_height, item.name) change_color(normal_color, enabled) end end #=============================================================================== # Instance Item extension #=============================================================================== if $imported["TH_InstanceItems"] module RPG class BaseItem alias :th_item_rarity_refresh :refresh def refresh th_item_rarity_refresh refresh_item_rarity end def refresh_item_rarity var = InstanceManager.get_template(self).rarity @rarity = make_item_rarity(InstanceManager.make_full_copy(var)) end def make_item_rarity(rarity) rarity end end end end