[Script] [ACE] Dark's Item Menu
[size=large][align=center]Dark's Item Menu[/size]
[size=medium]Author : Dark Sky[/size][/align]
[chapter]Giới Thiệu[/chapter]
[size=small]So, sau 3 ngày vọc RGSS3 thì mình cũng viết được 1 script nữa! : ) . Mình không hy vọng gì ngoài muốn học hỏi hơn từ người khác![/size]
[chapter]Tính năng[/chapter]
- Version 1.0 : Add một window thể hiện chỉ số của trang bị bằng cột nằm ngang như trong hình
Thay vì bạn phải mất công vào Equip để xem chỉ số (cộng trừ ra nữa) của trang bị thì khi vào Scene Item! Rất tiện lợi phải không : : )
- Version 2.0 : Update script tương thích với Theo's Limited Inventory script! Nhớ đặt script của mình dưới script Limited Inventory nhé!
- Version 2.1 : Thêm một hệ thống đánh giá item, weapons, armors!
[chapter]Screenshot[/chapter]


[chapter]Download[/chapter]
[size=small]Credit mình nếu sử dụng nhé! : D[/size]
[size=medium]Author : Dark Sky[/size][/align]
[chapter]Giới Thiệu[/chapter]
[size=small]So, sau 3 ngày vọc RGSS3 thì mình cũng viết được 1 script nữa! : ) . Mình không hy vọng gì ngoài muốn học hỏi hơn từ người khác![/size]
[chapter]Tính năng[/chapter]
- Version 1.0 : Add một window thể hiện chỉ số của trang bị bằng cột nằm ngang như trong hình

- Version 2.0 : Update script tương thích với Theo's Limited Inventory script! Nhớ đặt script của mình dưới script Limited Inventory nhé!
- Version 2.1 : Thêm một hệ thống đánh giá item, weapons, armors!
[chapter]Screenshot[/chapter]


[chapter]Download[/chapter]
[php]#===============================================================================
#Scirpt Name : Dark's Item Menu
#Author : Dark Sky
#Forum : TaoTroChoi.com
#Version : 2.1
#Release Date : 28 June 2014
#Credit : Dark Sky
#Term of use : Free to use in every project!
#===============================================================================
# *Change logs
# - Version 1.0 : Release!
# - Version 2.0 : Make it compatible with Theo's Limited Inventory!
# - Version 2.1 : Add rank system for items/weapons/armors!
#
# - Script call :
# change_item_rank(type, item, rank)
# + type = 1 for items | type = 2 for weapons | type = 3 for armors
# + item for items/weapons/weapons id
# + rank = 1 for bronze | rank = 2 for silver | rank = 3 for gold
# rank = 4 for diamond
# - Notetag :
# <rank: n> : where n is an integer (n = 1->4)
#===============================================================================
$imported = {} if $imported.nil?
$imported["Dark's Item Menu"] = true
#===============================================================================
# -EDITABLE REGION-
#===============================================================================
# Window's Text
module DarkSky
Help_Text = "Help : "
Status_Text = "Weapons/Armor's Parameters"
ATK_Text = "ATK"
DEF_Text = "DEF"
MAT_Text = "MAT"
MDEF_Text = "MDEF"
AGI_Text = "AGI"
LUK_Text = "LUK"
MHP_Text = "MHP"
MMP_Text = "MMP"
#Font Setup = [Font Size, Font Bold, Font Italic, Font Name]
Font = [ 18 , true , false , "Times New Roman"]
Contents_WS_Y = 30
# Gauge Color
Outline = Color.new(255,255,255)
Outline_Width = 203
Orange = Color.new(255,137,0)
Blue = Color.new(0,196,255)
Violet = Color.new(213,0,255)
Violet2 = Color.new(165,0,198)
Green = Color.new(0,255,145)
Green2 = Color.new(0,255,60)
Cyan = Color.new(124,255,243)
Cyan2 = Color.new(0,247,255)
Yellow = Color.new(255,255,0)
Yellow2 = Color.new(255,239,0)
Red = Color.new(255,69,0)
Red2 = Color.new(255,0,0)
SkyBlue1 = Color.new(135,206,255)
DeepSkyBlue1 = Color.new(0,191,255)
Rank_Color = [
Color.new(185,100,58), #Bronze
Color.new(174,174,174), #Silver
Color.new(236,213,1), #Gold
Color.new(0,222,255) #Diamond
]
#===============================================================================
# -EDITABLE REGION-
#===============================================================================
end
#===============================================================================
# ** Scene_Item
#
# This class performs the item screen processing.
#==============================================================================
class Scene_Item < Scene_ItemBase
#
# * Start Processing
#
alias darksky_def_start start
def start
darksky_def_start
create_item_status_window
end
#
# * Create Item Status Window
#
def create_item_status_window
wy = @help_window.y + @help_window.height
wh = Graphics.height - wy - 48
ww = Graphics.width - @item_window.width
wx = 0
@item_status = Window_ItemStatus.new(wx, wy, ww, wh)
@item_status.viewport = @viewport
end
#
# * Create Item Window
#
def create_item_window
wy = @help_window.y + @help_window.height
wh = Graphics.height - wy - 48
ww = Graphics.width/2 + 32
wx = Graphics.width - ww
@item_window = Window_ItemList.new(wx, wy, ww, wh)
@item_window.viewport = @viewport
@item_window.help_window = @help_window
@item_window.set_handler(:ok, method(:on_item_ok))
@item_window.set_handler(:cancel, method(:on_item_cancel))
@category_window.item_window = @item_window
end
#
# * Create Category Window
#
def create_category_window
@category_window = Window_ItemCategory.new
@category_window.width = Graphics.width
@category_window.viewport = @viewport
@category_window.help_window = @help_window
@category_window.x = 0
@category_window.y = 296 + 72
@category_window.set_handler(:ok, method(:on_category_ok))
@category_window.set_handler(:cancel, method(:return_scene))
end
#
# * Overwrite Use Command Window
#
def create_usecommand_window
@use_command = Window_ItemUseCommand.new
@use_command.x = @item_window.x + 60
@use_command.y = @item_window.y + 70
@use_command.set_handler(:use, method(:use_command_ok))
@use_command.set_handler(:discard, method(:on_discard_ok))
@use_command.set_handler(:cancel, method(:on_usecmd_cancel))
@use_command.viewport = @viewport
end
#
# * Overwrite Freeslot Window
#
def create_freeslot_window
wy = @item_window.y + @item_window.height
wh = Theo::LimInv::Display_ItemSize ? Graphics.width/2 : Graphics.width
@freeslot = Window_FreeSlot.new(354,wy,wh)
@freeslot.width = 190
@freeslot.viewport = @viewport
end
def create_itemsize_window
return unless Theo::LimInv::Display_ItemSize
wx = 240
wy = @freeslot.y
ww = 114
@itemsize = Window_ItemSize.new(wx,wy,ww)
@itemsize.viewport = @viewport
@item_window.item_size_window = @itemsize
end
end
#==============================================================================
# ** Window_ItemList
#
# This window displays a list of party items on the item screen.
#==============================================================================
class Window_ItemList < Window_Selectable
#
# * Overwrite Def Col Max
#
def col_max
return 1
end
#
# * Draw Item
#
def draw_item(index)
item = @data[index]
if item
rect = item_rect(index)
rect.width -= 4
draw_item_name(item, rect.x, rect.y, true)#enable?(item))
draw_item_number(rect, item)
end
end
#
# * Overwrite Def Draw Number of Items
#
def draw_item_number(rect, item)
make_font_smaller
color = Color.new(0, 255, 162)
contents.font.color.set(color)
draw_text(rect, sprintf("x %2d", $game_party.item_number(item)), 2)
reset_font_settings
end
def draw_item_name(item, x, y, enabled = true, width = 174)
return unless item
draw_icon(item.icon_index, x, y, enabled)
#
Rank Color
# Item Rank
if item.is_a?(RPG::Item)
if $data_items[item.id].rank == 0
change_color(normal_color, enabled)
end
if $data_items[item.id].rank == 1
change_color(DarkSky::Rank_Color[0], enabled)
end
if $data_items[item.id].rank == 2
change_color(DarkSky::Rank_Color[1], enabled)
end
if $data_items[item.id].rank == 3
change_color(DarkSky::Rank_Color[2], enabled)
end
if $data_items[item.id].rank == 4
change_color(DarkSky::Rank_Color[3], enabled)
end
end
# Weapon Rank
if item.is_a?(RPG::Weapon)
if $data_weapons[item.id].rank == 0
change_color(normal_color, enabled)
end
if $data_weapons[item.id].rank == 1
change_color(DarkSky::Rank_Color[0], enabled)
end
if $data_weapons[item.id].rank == 2
change_color(DarkSky::Rank_Color[1], enabled)
end
if $data_weapons[item.id].rank == 3
change_color(DarkSky::Rank_Color[2], enabled)
end
if $data_weapons[item.id].rank == 4
change_color(DarkSky::Rank_Color[3], enabled)
end
end
# Armor Rank
if item.is_a?(RPG::Armor)
if $data_armors[item.id].rank == 0
change_color(normal_color, enabled)
end
if $data_armors[item.id].rank == 1
change_color(DarkSky::Rank_Color[0], enabled)
end
if $data_armors[item.id].rank == 2
change_color(DarkSky::Rank_Color[1], enabled)
end
if $data_armors[item.id].rank == 3
change_color(DarkSky::Rank_Color[2], enabled)
end
if $data_armors[item.id].rank == 4
change_color(DarkSky::Rank_Color[3], enabled)
end
end
#
Text
draw_text(x + 24, y, width, line_height, item.name)
#a = item.name.size + width
#change_color(DarkSky::Yellow, enabled)
#draw_text(a, y, width - 100, line_height, $data_items[item.id].rank.to_s)
#end
end
#
# * Alias Def Update Help
#
alias dark_update_help update_help
def update_help
dark_update_help()
#-ATK STAT
if item.is_a?(RPG::Weapon) || item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[2].to_s
b = $data_armors[item.id].params[2].to_s
else
a = "0"
b = "0"
end
$game_system.menu_atk_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_atk_stat = b if item.is_a?(RPG::Armor)
#
#-DEF STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[3].to_s
b = $data_armors[item.id].params[3].to_s
else
a = "0"
end
$game_system.menu_def_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_def_stat = b if item.is_a?(RPG::Armor)
#
#-MAT STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[4].to_s
b = $data_armors[item.id].params[4].to_s
else
a = "0"
b = "0"
end
$game_system.menu_mat_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_mat_stat = b if item.is_a?(RPG::Armor)
#
#-MDEF STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[5].to_s
b = $data_armors[item.id].params[5].to_s
else
a = "0"
b = "0"
end
$game_system.menu_mdef_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_mdef_stat = b if item.is_a?(RPG::Armor)
#
#-AGI STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[6].to_s
b = $data_armors[item.id].params[6].to_s
else
a = "0"
b = "0"
end
$game_system.menu_agi_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_agi_stat = b if item.is_a?(RPG::Armor)
#
#-LUK STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[7].to_s
b = $data_armors[item.id].params[7].to_s
else
a = "0"
b = "0"
end
$game_system.menu_luk_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_luk_stat = b if item.is_a?(RPG::Armor)
#
#-MHP STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[0].to_s
b = $data_armors[item.id].params[0].to_s
else
a = "0"
b = "0"
end
$game_system.menu_mhp_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_mhp_stat = b if item.is_a?(RPG::Armor)
#
#-MMP STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[1].to_s
b = $data_armors[item.id].params[1].to_s
else
a = "0"
b = "0"
end
$game_system.menu_mmp_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_mmp_stat = b if item.is_a?(RPG::Armor)
#
end
#
# * Overwrite Def process_handling
#
def process_handling
return unless open? && active
return process_ok if ok_enabled? && Input.trigger?(:C)
return process_cancel && menu_stat_return_nil if cancel_enabled? && Input.trigger?(:B)
return process_pagedown if handle?(:pagedown) && Input.trigger?(:R)
return process_pageup if handle?(:pageup) && Input.trigger?(:L)
end
#
# * Def menu_stat_return_nil
#
def menu_stat_return_nil
$game_system.menu_atk_stat = nil # ATK Stat var return nil if Cancel
$game_system.menu_def_stat = nil # DEF Stat var return nil if Cancel
$game_system.menu_mat_stat = nil # MAT Stat var return nil if Cancel
$game_system.menu_mdef_stat = nil # MDEF Stat var return nil if Cancel
$game_system.menu_agi_stat = nil # AGI Stat var return nil if Cancel
$game_system.menu_luk_stat = nil # LUK Stat var return nil if Cancel
$game_system.menu_mhp_stat = nil # MHP Stat var return nil if Cancel
$game_system.menu_mmp_stat = nil # MMP Stat var return nil if Cancel
end
end
#==============================================================================
# ** Window_Help
#
# This window shows skill and item explanations along with actor status.
#==============================================================================
class Window_Help < Window_Base
#
# * Set Item
# item : Skills and items etc.--
#
def set_item(item)
if SceneManager.scene_is?(Scene_Item)
set_text((item ? DarkSky::Help_Text : "") + (item ? item.description : "")+ (item ? " x " : "") + (item ? $game_party.item_number(item).to_s : ""))
else
set_text(item ? item.description : "")
end # Condition
end # Def
end # Window_Help
class Game_System
#
# * Public Instance Variables
#
attr_accessor :menu_atk_stat
attr_accessor :menu_def_stat
attr_accessor :menu_mat_stat
attr_accessor :menu_mdef_stat
attr_accessor :menu_agi_stat
attr_accessor :menu_luk_stat
attr_accessor :menu_mhp_stat
attr_accessor :menu_mmp_stat
#
# * Object Initialization
#
alias dark_system_init initialize
def initialize
dark_system_init()
@menu_atk_stat = nil
@menu_def_stat = nil
@menu_mat_stat = nil
@menu_mdef_stat = nil
@menu_agi_stat = nil
@menu_luk_stat = nil
@menu_mhp_stat = nil
@menu_mmp_stat = nil
end
end
#==============================================================================
# ** Window_ItemStatus
#
# This window shows parameters of all weapons and armor you had in inventory!
#==============================================================================
class Window_ItemStatus < Window_Base
#===============================================================================
# * Initialize
#===============================================================================
def initialize(x, y, width, height)
super(x, y, width, height)
update
end
def update
contents.clear
reset_font_settings
contents.font.size = DarkSky::Font[0]
contents.font.bold = DarkSky::Font[1]
contents.font.italic = DarkSky::Font[2]
contents.font.name = DarkSky::Font[3]
draw_text(0,0,300,line_height,DarkSky::Status_Text)
#
if $game_system.menu_atk_stat != nil
contents.font.color.set(DarkSky::Orange)
rate = $game_system.menu_atk_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y, 200, rate, hp_gauge_color1, hp_gauge_color2)
draw_text(0,DarkSky::Contents_WS_Y-5,300,line_height, DarkSky::ATK_Text + " : " + $game_system.menu_atk_stat.to_s)
else
contents.font.color.set(DarkSky::Orange)
rate = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y, 200, rate, hp_gauge_color1, hp_gauge_color2)
draw_text(0,DarkSky::Contents_WS_Y-5,300,line_height, DarkSky::ATK_Text + " : " + "0")
end
#
if $game_system.menu_def_stat != nil
contents.font.color.set(DarkSky::Blue)
rate1 = $game_system.menu_def_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*2+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*2, 200, rate1, mp_gauge_color1, mp_gauge_color2)
draw_text(0,DarkSky::Contents_WS_Y*2-5,300,line_height, DarkSky::DEF_Text + " : " + $game_system.menu_def_stat.to_s)
else
contents.font.color.set(DarkSky::Blue)
rate1 = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y*2+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*2, 200, rate1, mp_gauge_color1, mp_gauge_color2)
draw_text(0,DarkSky::Contents_WS_Y*2-5,300,line_height, DarkSky::DEF_Text + " : " + "0")
end
#
if $game_system.menu_mat_stat != nil
contents.font.color.set(DarkSky::Violet)
rate3 = $game_system.menu_mat_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*3+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*3, 200, rate3, DarkSky::Violet, DarkSky::Violet2)
draw_text(0,DarkSky::Contents_WS_Y*3-5,300,line_height, DarkSky::MAT_Text + " : " + $game_system.menu_mat_stat.to_s)
else
rate3 = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y*3+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*3, 200, rate3, DarkSky::Violet, DarkSky::Violet2)
contents.font.color.set(DarkSky::Violet)
draw_text(0,DarkSky::Contents_WS_Y*3-5,300,line_height, DarkSky::MAT_Text + " : " + "0")
end
#
if $game_system.menu_mdef_stat != nil
contents.font.color.set(DarkSky::Green)
rate4 = $game_system.menu_mdef_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*4+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*4, 200, rate4, DarkSky::Green, DarkSky::Green2)
draw_text(0,DarkSky::Contents_WS_Y*4-5,300,line_height, DarkSky::MDEF_Text + " : " + $game_system.menu_mdef_stat.to_s)
else
rate4 = 0
contents.fill_rect(0,DarkSky::Contents_WS_Y*4+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*4, 200, rate4, DarkSky::Green, DarkSky::Green2)
contents.font.color.set(DarkSky::Green)
draw_text(0,DarkSky::Contents_WS_Y*4-5,300,line_height, DarkSky::MDEF_Text + " : " + "0")
end
#
if $game_system.menu_agi_stat != nil
contents.font.color.set(DarkSky::Cyan)
rate5 = $game_system.menu_agi_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*5+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*5, 200, rate5, DarkSky::Cyan, DarkSky::Cyan2)
draw_text(0,DarkSky::Contents_WS_Y*5-5,300,line_height, DarkSky::AGI_Text + " : " + $game_system.menu_agi_stat.to_s)
else
rate5 = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y*5+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*5, 200, rate5, DarkSky::Cyan, DarkSky::Cyan2)
contents.font.color.set(DarkSky::Cyan)
draw_text(0,DarkSky::Contents_WS_Y*5-5,300,line_height, DarkSky::AGI_Text + " : " + "0")
end
#
if $game_system.menu_luk_stat != nil
contents.font.color.set(DarkSky::Yellow)
rate6 = $game_system.menu_luk_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*6+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*6, 200, rate6, DarkSky::Yellow, DarkSky::Yellow2)
draw_text(0,DarkSky::Contents_WS_Y*6-5,300,line_height, DarkSky::LUK_Text + " : " + $game_system.menu_luk_stat.to_s)
else
rate6 = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y*6+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*6, 200, rate6, DarkSky::Yellow, DarkSky::Yellow2)
contents.font.color.set(DarkSky::Yellow)
draw_text(0,DarkSky::Contents_WS_Y*6-5,300,line_height, DarkSky::LUK_Text + " : " + "0")
end
#
if $game_system.menu_mhp_stat != nil
contents.font.color.set(DarkSky::Red)
rate7 = $game_system.menu_mhp_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*7+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*7, 200, rate7, DarkSky::Red, DarkSky::Red2)
draw_text(0,DarkSky::Contents_WS_Y*7-5,300,line_height, DarkSky::MHP_Text + " : " + $game_system.menu_mhp_stat.to_s)
else
rate7 = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y*7+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*7, 200, rate7, DarkSky::Red, DarkSky::Red2)
contents.font.color.set(DarkSky::Red)
draw_text(0,DarkSky::Contents_WS_Y*7-5,300,line_height, DarkSky::MHP_Text + " : " + "0")
end
#
if $game_system.menu_mmp_stat != nil
contents.font.color.set(DarkSky::SkyBlue1)
rate8 = $game_system.menu_mmp_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*8+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*8, 200, rate8, DarkSky::SkyBlue1, DarkSky::DeepSkyBlue1)
draw_text(0,DarkSky::Contents_WS_Y*8-5,300,line_height, DarkSky::MMP_Text + " : " + $game_system.menu_mmp_stat.to_s)
else
rate8 = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y*8+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*8, 200, rate8, DarkSky::SkyBlue1, DarkSky::DeepSkyBlue1)
contents.font.color.set(DarkSky::SkyBlue1)
draw_text(0,DarkSky::Contents_WS_Y*8-5,300,line_height, DarkSky::MMP_Text + " : " + "0")
end
end
end
class Window_Base < Window
def draw_inv_slot(x,y,width = contents.width,align = 1)
txt = sprintf(" %d/%d",$game_party.total_inv_size, $game_party.inv_max)
color = Theo::LimInv::NearMaxed_Color
if $game_party.near_maxed?
change_color(text_color(color))
else
change_color(normal_color)
end
draw_text(x,y,width,line_height,txt,align)
change_color(normal_color)
end
end
#
# -Read Database Notetag-
#
class RPG::Item
attr_accessor :rank
def load_notetag
@rank = 0
note.split(/[\r\n]+/).each do |line|
if line =~ /<rank:\s*(\d+)>/i
convert = $1.to_i
if convert < 5
@rank = convert
else
@rank = 0
end
end
end
end
end
class RPG::Weapon
attr_accessor :rank
def load_notetag
@rank = 0
note.split(/[\r\n]+/).each do |line|
if line =~ /<rank:\s*(\d+)>/i
convert = $1.to_i
if convert < 5
@rank = convert
else
@rank = 0
end
end
end
end
end
class RPG::Armor
attr_accessor :rank
def load_notetag
@rank = 0
note.split(/[\r\n]+/).each do |line|
if line =~ /<rank:\s*(\d+)>/i
convert = $1.to_i
if convert < 5
@rank = convert
else
@rank = 0
end
end
end
end
end
#
# -Load Database Notetag-
#
class << DataManager
alias aliased_load_db load_database
def load_database
aliased_load_db
$data_items.compact.each do |item|
item.load_notetag
end
$data_weapons.compact.each do |weapon|
weapon.load_notetag
end
$data_armors.compact.each do |armor|
armor.load_notetag
end
end
end
#
class Game_Interpreter
def change_item_rank(type, item, rank)
if type = 1
$data_items[item].rank = rank
end
if type = 2
$data_weapons[item].rank = rank
end
if type = 3
$data_armors[item].rank = rank
end
end
end
#===============================================================================
# -END OF SCRIPT-
#===============================================================================[/php]
[chapter]Sử dụng[/chapter]#Scirpt Name : Dark's Item Menu
#Author : Dark Sky
#Forum : TaoTroChoi.com
#Version : 2.1
#Release Date : 28 June 2014
#Credit : Dark Sky
#Term of use : Free to use in every project!
#===============================================================================
# *Change logs
# - Version 1.0 : Release!
# - Version 2.0 : Make it compatible with Theo's Limited Inventory!
# - Version 2.1 : Add rank system for items/weapons/armors!
#
# - Script call :
# change_item_rank(type, item, rank)
# + type = 1 for items | type = 2 for weapons | type = 3 for armors
# + item for items/weapons/weapons id
# + rank = 1 for bronze | rank = 2 for silver | rank = 3 for gold
# rank = 4 for diamond
# - Notetag :
# <rank: n> : where n is an integer (n = 1->4)
#===============================================================================
$imported = {} if $imported.nil?
$imported["Dark's Item Menu"] = true
#===============================================================================
# -EDITABLE REGION-
#===============================================================================
# Window's Text
module DarkSky
Help_Text = "Help : "
Status_Text = "Weapons/Armor's Parameters"
ATK_Text = "ATK"
DEF_Text = "DEF"
MAT_Text = "MAT"
MDEF_Text = "MDEF"
AGI_Text = "AGI"
LUK_Text = "LUK"
MHP_Text = "MHP"
MMP_Text = "MMP"
#Font Setup = [Font Size, Font Bold, Font Italic, Font Name]
Font = [ 18 , true , false , "Times New Roman"]
Contents_WS_Y = 30
# Gauge Color
Outline = Color.new(255,255,255)
Outline_Width = 203
Orange = Color.new(255,137,0)
Blue = Color.new(0,196,255)
Violet = Color.new(213,0,255)
Violet2 = Color.new(165,0,198)
Green = Color.new(0,255,145)
Green2 = Color.new(0,255,60)
Cyan = Color.new(124,255,243)
Cyan2 = Color.new(0,247,255)
Yellow = Color.new(255,255,0)
Yellow2 = Color.new(255,239,0)
Red = Color.new(255,69,0)
Red2 = Color.new(255,0,0)
SkyBlue1 = Color.new(135,206,255)
DeepSkyBlue1 = Color.new(0,191,255)
Rank_Color = [
Color.new(185,100,58), #Bronze
Color.new(174,174,174), #Silver
Color.new(236,213,1), #Gold
Color.new(0,222,255) #Diamond
]
#===============================================================================
# -EDITABLE REGION-
#===============================================================================
end
#===============================================================================
# ** Scene_Item
#
# This class performs the item screen processing.
#==============================================================================
class Scene_Item < Scene_ItemBase
#
# * Start Processing
#
alias darksky_def_start start
def start
darksky_def_start
create_item_status_window
end
#
# * Create Item Status Window
#
def create_item_status_window
wy = @help_window.y + @help_window.height
wh = Graphics.height - wy - 48
ww = Graphics.width - @item_window.width
wx = 0
@item_status = Window_ItemStatus.new(wx, wy, ww, wh)
@item_status.viewport = @viewport
end
#
# * Create Item Window
#
def create_item_window
wy = @help_window.y + @help_window.height
wh = Graphics.height - wy - 48
ww = Graphics.width/2 + 32
wx = Graphics.width - ww
@item_window = Window_ItemList.new(wx, wy, ww, wh)
@item_window.viewport = @viewport
@item_window.help_window = @help_window
@item_window.set_handler(:ok, method(:on_item_ok))
@item_window.set_handler(:cancel, method(:on_item_cancel))
@category_window.item_window = @item_window
end
#
# * Create Category Window
#
def create_category_window
@category_window = Window_ItemCategory.new
@category_window.width = Graphics.width
@category_window.viewport = @viewport
@category_window.help_window = @help_window
@category_window.x = 0
@category_window.y = 296 + 72
@category_window.set_handler(:ok, method(:on_category_ok))
@category_window.set_handler(:cancel, method(:return_scene))
end
#
# * Overwrite Use Command Window
#
def create_usecommand_window
@use_command = Window_ItemUseCommand.new
@use_command.x = @item_window.x + 60
@use_command.y = @item_window.y + 70
@use_command.set_handler(:use, method(:use_command_ok))
@use_command.set_handler(:discard, method(:on_discard_ok))
@use_command.set_handler(:cancel, method(:on_usecmd_cancel))
@use_command.viewport = @viewport
end
#
# * Overwrite Freeslot Window
#
def create_freeslot_window
wy = @item_window.y + @item_window.height
wh = Theo::LimInv::Display_ItemSize ? Graphics.width/2 : Graphics.width
@freeslot = Window_FreeSlot.new(354,wy,wh)
@freeslot.width = 190
@freeslot.viewport = @viewport
end
def create_itemsize_window
return unless Theo::LimInv::Display_ItemSize
wx = 240
wy = @freeslot.y
ww = 114
@itemsize = Window_ItemSize.new(wx,wy,ww)
@itemsize.viewport = @viewport
@item_window.item_size_window = @itemsize
end
end
#==============================================================================
# ** Window_ItemList
#
# This window displays a list of party items on the item screen.
#==============================================================================
class Window_ItemList < Window_Selectable
#
# * Overwrite Def Col Max
#
def col_max
return 1
end
#
# * Draw Item
#
def draw_item(index)
item = @data[index]
if item
rect = item_rect(index)
rect.width -= 4
draw_item_name(item, rect.x, rect.y, true)#enable?(item))
draw_item_number(rect, item)
end
end
#
# * Overwrite Def Draw Number of Items
#
def draw_item_number(rect, item)
make_font_smaller
color = Color.new(0, 255, 162)
contents.font.color.set(color)
draw_text(rect, sprintf("x %2d", $game_party.item_number(item)), 2)
reset_font_settings
end
def draw_item_name(item, x, y, enabled = true, width = 174)
return unless item
draw_icon(item.icon_index, x, y, enabled)
#
Rank Color
# Item Rank
if item.is_a?(RPG::Item)
if $data_items[item.id].rank == 0
change_color(normal_color, enabled)
end
if $data_items[item.id].rank == 1
change_color(DarkSky::Rank_Color[0], enabled)
end
if $data_items[item.id].rank == 2
change_color(DarkSky::Rank_Color[1], enabled)
end
if $data_items[item.id].rank == 3
change_color(DarkSky::Rank_Color[2], enabled)
end
if $data_items[item.id].rank == 4
change_color(DarkSky::Rank_Color[3], enabled)
end
end
# Weapon Rank
if item.is_a?(RPG::Weapon)
if $data_weapons[item.id].rank == 0
change_color(normal_color, enabled)
end
if $data_weapons[item.id].rank == 1
change_color(DarkSky::Rank_Color[0], enabled)
end
if $data_weapons[item.id].rank == 2
change_color(DarkSky::Rank_Color[1], enabled)
end
if $data_weapons[item.id].rank == 3
change_color(DarkSky::Rank_Color[2], enabled)
end
if $data_weapons[item.id].rank == 4
change_color(DarkSky::Rank_Color[3], enabled)
end
end
# Armor Rank
if item.is_a?(RPG::Armor)
if $data_armors[item.id].rank == 0
change_color(normal_color, enabled)
end
if $data_armors[item.id].rank == 1
change_color(DarkSky::Rank_Color[0], enabled)
end
if $data_armors[item.id].rank == 2
change_color(DarkSky::Rank_Color[1], enabled)
end
if $data_armors[item.id].rank == 3
change_color(DarkSky::Rank_Color[2], enabled)
end
if $data_armors[item.id].rank == 4
change_color(DarkSky::Rank_Color[3], enabled)
end
end
#
Text
draw_text(x + 24, y, width, line_height, item.name)
#a = item.name.size + width
#change_color(DarkSky::Yellow, enabled)
#draw_text(a, y, width - 100, line_height, $data_items[item.id].rank.to_s)
#end
end
#
# * Alias Def Update Help
#
alias dark_update_help update_help
def update_help
dark_update_help()
#-ATK STAT
if item.is_a?(RPG::Weapon) || item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[2].to_s
b = $data_armors[item.id].params[2].to_s
else
a = "0"
b = "0"
end
$game_system.menu_atk_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_atk_stat = b if item.is_a?(RPG::Armor)
#
#-DEF STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[3].to_s
b = $data_armors[item.id].params[3].to_s
else
a = "0"
end
$game_system.menu_def_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_def_stat = b if item.is_a?(RPG::Armor)
#
#-MAT STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[4].to_s
b = $data_armors[item.id].params[4].to_s
else
a = "0"
b = "0"
end
$game_system.menu_mat_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_mat_stat = b if item.is_a?(RPG::Armor)
#
#-MDEF STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[5].to_s
b = $data_armors[item.id].params[5].to_s
else
a = "0"
b = "0"
end
$game_system.menu_mdef_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_mdef_stat = b if item.is_a?(RPG::Armor)
#
#-AGI STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[6].to_s
b = $data_armors[item.id].params[6].to_s
else
a = "0"
b = "0"
end
$game_system.menu_agi_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_agi_stat = b if item.is_a?(RPG::Armor)
#
#-LUK STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[7].to_s
b = $data_armors[item.id].params[7].to_s
else
a = "0"
b = "0"
end
$game_system.menu_luk_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_luk_stat = b if item.is_a?(RPG::Armor)
#
#-MHP STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[0].to_s
b = $data_armors[item.id].params[0].to_s
else
a = "0"
b = "0"
end
$game_system.menu_mhp_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_mhp_stat = b if item.is_a?(RPG::Armor)
#
#-MMP STAT
if item.is_a?(RPG::Weapon) or item.is_a?(RPG::Armor)
a = $data_weapons[item.id].params[1].to_s
b = $data_armors[item.id].params[1].to_s
else
a = "0"
b = "0"
end
$game_system.menu_mmp_stat = a if item.is_a?(RPG::Weapon)
$game_system.menu_mmp_stat = b if item.is_a?(RPG::Armor)
#
end
#
# * Overwrite Def process_handling
#
def process_handling
return unless open? && active
return process_ok if ok_enabled? && Input.trigger?(:C)
return process_cancel && menu_stat_return_nil if cancel_enabled? && Input.trigger?(:B)
return process_pagedown if handle?(:pagedown) && Input.trigger?(:R)
return process_pageup if handle?(:pageup) && Input.trigger?(:L)
end
#
# * Def menu_stat_return_nil
#
def menu_stat_return_nil
$game_system.menu_atk_stat = nil # ATK Stat var return nil if Cancel
$game_system.menu_def_stat = nil # DEF Stat var return nil if Cancel
$game_system.menu_mat_stat = nil # MAT Stat var return nil if Cancel
$game_system.menu_mdef_stat = nil # MDEF Stat var return nil if Cancel
$game_system.menu_agi_stat = nil # AGI Stat var return nil if Cancel
$game_system.menu_luk_stat = nil # LUK Stat var return nil if Cancel
$game_system.menu_mhp_stat = nil # MHP Stat var return nil if Cancel
$game_system.menu_mmp_stat = nil # MMP Stat var return nil if Cancel
end
end
#==============================================================================
# ** Window_Help
#
# This window shows skill and item explanations along with actor status.
#==============================================================================
class Window_Help < Window_Base
#
# * Set Item
# item : Skills and items etc.--
#
def set_item(item)
if SceneManager.scene_is?(Scene_Item)
set_text((item ? DarkSky::Help_Text : "") + (item ? item.description : "")+ (item ? " x " : "") + (item ? $game_party.item_number(item).to_s : ""))
else
set_text(item ? item.description : "")
end # Condition
end # Def
end # Window_Help
class Game_System
#
# * Public Instance Variables
#
attr_accessor :menu_atk_stat
attr_accessor :menu_def_stat
attr_accessor :menu_mat_stat
attr_accessor :menu_mdef_stat
attr_accessor :menu_agi_stat
attr_accessor :menu_luk_stat
attr_accessor :menu_mhp_stat
attr_accessor :menu_mmp_stat
#
# * Object Initialization
#
alias dark_system_init initialize
def initialize
dark_system_init()
@menu_atk_stat = nil
@menu_def_stat = nil
@menu_mat_stat = nil
@menu_mdef_stat = nil
@menu_agi_stat = nil
@menu_luk_stat = nil
@menu_mhp_stat = nil
@menu_mmp_stat = nil
end
end
#==============================================================================
# ** Window_ItemStatus
#
# This window shows parameters of all weapons and armor you had in inventory!
#==============================================================================
class Window_ItemStatus < Window_Base
#===============================================================================
# * Initialize
#===============================================================================
def initialize(x, y, width, height)
super(x, y, width, height)
update
end
def update
contents.clear
reset_font_settings
contents.font.size = DarkSky::Font[0]
contents.font.bold = DarkSky::Font[1]
contents.font.italic = DarkSky::Font[2]
contents.font.name = DarkSky::Font[3]
draw_text(0,0,300,line_height,DarkSky::Status_Text)
#
if $game_system.menu_atk_stat != nil
contents.font.color.set(DarkSky::Orange)
rate = $game_system.menu_atk_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y, 200, rate, hp_gauge_color1, hp_gauge_color2)
draw_text(0,DarkSky::Contents_WS_Y-5,300,line_height, DarkSky::ATK_Text + " : " + $game_system.menu_atk_stat.to_s)
else
contents.font.color.set(DarkSky::Orange)
rate = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y, 200, rate, hp_gauge_color1, hp_gauge_color2)
draw_text(0,DarkSky::Contents_WS_Y-5,300,line_height, DarkSky::ATK_Text + " : " + "0")
end
#
if $game_system.menu_def_stat != nil
contents.font.color.set(DarkSky::Blue)
rate1 = $game_system.menu_def_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*2+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*2, 200, rate1, mp_gauge_color1, mp_gauge_color2)
draw_text(0,DarkSky::Contents_WS_Y*2-5,300,line_height, DarkSky::DEF_Text + " : " + $game_system.menu_def_stat.to_s)
else
contents.font.color.set(DarkSky::Blue)
rate1 = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y*2+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*2, 200, rate1, mp_gauge_color1, mp_gauge_color2)
draw_text(0,DarkSky::Contents_WS_Y*2-5,300,line_height, DarkSky::DEF_Text + " : " + "0")
end
#
if $game_system.menu_mat_stat != nil
contents.font.color.set(DarkSky::Violet)
rate3 = $game_system.menu_mat_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*3+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*3, 200, rate3, DarkSky::Violet, DarkSky::Violet2)
draw_text(0,DarkSky::Contents_WS_Y*3-5,300,line_height, DarkSky::MAT_Text + " : " + $game_system.menu_mat_stat.to_s)
else
rate3 = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y*3+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*3, 200, rate3, DarkSky::Violet, DarkSky::Violet2)
contents.font.color.set(DarkSky::Violet)
draw_text(0,DarkSky::Contents_WS_Y*3-5,300,line_height, DarkSky::MAT_Text + " : " + "0")
end
#
if $game_system.menu_mdef_stat != nil
contents.font.color.set(DarkSky::Green)
rate4 = $game_system.menu_mdef_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*4+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*4, 200, rate4, DarkSky::Green, DarkSky::Green2)
draw_text(0,DarkSky::Contents_WS_Y*4-5,300,line_height, DarkSky::MDEF_Text + " : " + $game_system.menu_mdef_stat.to_s)
else
rate4 = 0
contents.fill_rect(0,DarkSky::Contents_WS_Y*4+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*4, 200, rate4, DarkSky::Green, DarkSky::Green2)
contents.font.color.set(DarkSky::Green)
draw_text(0,DarkSky::Contents_WS_Y*4-5,300,line_height, DarkSky::MDEF_Text + " : " + "0")
end
#
if $game_system.menu_agi_stat != nil
contents.font.color.set(DarkSky::Cyan)
rate5 = $game_system.menu_agi_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*5+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*5, 200, rate5, DarkSky::Cyan, DarkSky::Cyan2)
draw_text(0,DarkSky::Contents_WS_Y*5-5,300,line_height, DarkSky::AGI_Text + " : " + $game_system.menu_agi_stat.to_s)
else
rate5 = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y*5+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*5, 200, rate5, DarkSky::Cyan, DarkSky::Cyan2)
contents.font.color.set(DarkSky::Cyan)
draw_text(0,DarkSky::Contents_WS_Y*5-5,300,line_height, DarkSky::AGI_Text + " : " + "0")
end
#
if $game_system.menu_luk_stat != nil
contents.font.color.set(DarkSky::Yellow)
rate6 = $game_system.menu_luk_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*6+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*6, 200, rate6, DarkSky::Yellow, DarkSky::Yellow2)
draw_text(0,DarkSky::Contents_WS_Y*6-5,300,line_height, DarkSky::LUK_Text + " : " + $game_system.menu_luk_stat.to_s)
else
rate6 = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y*6+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*6, 200, rate6, DarkSky::Yellow, DarkSky::Yellow2)
contents.font.color.set(DarkSky::Yellow)
draw_text(0,DarkSky::Contents_WS_Y*6-5,300,line_height, DarkSky::LUK_Text + " : " + "0")
end
#
if $game_system.menu_mhp_stat != nil
contents.font.color.set(DarkSky::Red)
rate7 = $game_system.menu_mhp_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*7+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*7, 200, rate7, DarkSky::Red, DarkSky::Red2)
draw_text(0,DarkSky::Contents_WS_Y*7-5,300,line_height, DarkSky::MHP_Text + " : " + $game_system.menu_mhp_stat.to_s)
else
rate7 = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y*7+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*7, 200, rate7, DarkSky::Red, DarkSky::Red2)
contents.font.color.set(DarkSky::Red)
draw_text(0,DarkSky::Contents_WS_Y*7-5,300,line_height, DarkSky::MHP_Text + " : " + "0")
end
#
if $game_system.menu_mmp_stat != nil
contents.font.color.set(DarkSky::SkyBlue1)
rate8 = $game_system.menu_mmp_stat.to_f / 500
contents.fill_rect(0, DarkSky::Contents_WS_Y*8+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*8, 200, rate8, DarkSky::SkyBlue1, DarkSky::DeepSkyBlue1)
draw_text(0,DarkSky::Contents_WS_Y*8-5,300,line_height, DarkSky::MMP_Text + " : " + $game_system.menu_mmp_stat.to_s)
else
rate8 = 0
contents.fill_rect(0, DarkSky::Contents_WS_Y*8+15, DarkSky::Outline_Width, 8, DarkSky::Outline)
draw_gauge(2, DarkSky::Contents_WS_Y*8, 200, rate8, DarkSky::SkyBlue1, DarkSky::DeepSkyBlue1)
contents.font.color.set(DarkSky::SkyBlue1)
draw_text(0,DarkSky::Contents_WS_Y*8-5,300,line_height, DarkSky::MMP_Text + " : " + "0")
end
end
end
class Window_Base < Window
def draw_inv_slot(x,y,width = contents.width,align = 1)
txt = sprintf(" %d/%d",$game_party.total_inv_size, $game_party.inv_max)
color = Theo::LimInv::NearMaxed_Color
if $game_party.near_maxed?
change_color(text_color(color))
else
change_color(normal_color)
end
draw_text(x,y,width,line_height,txt,align)
change_color(normal_color)
end
end
#
# -Read Database Notetag-
#
class RPG::Item
attr_accessor :rank
def load_notetag
@rank = 0
note.split(/[\r\n]+/).each do |line|
if line =~ /<rank:\s*(\d+)>/i
convert = $1.to_i
if convert < 5
@rank = convert
else
@rank = 0
end
end
end
end
end
class RPG::Weapon
attr_accessor :rank
def load_notetag
@rank = 0
note.split(/[\r\n]+/).each do |line|
if line =~ /<rank:\s*(\d+)>/i
convert = $1.to_i
if convert < 5
@rank = convert
else
@rank = 0
end
end
end
end
end
class RPG::Armor
attr_accessor :rank
def load_notetag
@rank = 0
note.split(/[\r\n]+/).each do |line|
if line =~ /<rank:\s*(\d+)>/i
convert = $1.to_i
if convert < 5
@rank = convert
else
@rank = 0
end
end
end
end
end
#
# -Load Database Notetag-
#
class << DataManager
alias aliased_load_db load_database
def load_database
aliased_load_db
$data_items.compact.each do |item|
item.load_notetag
end
$data_weapons.compact.each do |weapon|
weapon.load_notetag
end
$data_armors.compact.each do |armor|
armor.load_notetag
end
end
end
#
class Game_Interpreter
def change_item_rank(type, item, rank)
if type = 1
$data_items[item].rank = rank
end
if type = 2
$data_weapons[item].rank = rank
end
if type = 3
$data_armors[item].rank = rank
end
end
end
#===============================================================================
# -END OF SCRIPT-
#===============================================================================[/php]
[size=small]Credit mình nếu sử dụng nhé! : D[/size]
Comments
:chetmat:
THAM GIA GROUP CỦA TTC TRÊN FACEBOOK
@Officer David Menu Scene + Chỉ số của của weapons và armors : )
trình của ông dark sky lại lên tay r
Vâng! Chính xác là như thế! :tanghoa:
p/s : Đã update thêm phần tính năng để memb dễ hiểu hơn!
Up trên đó lâu rồi mà ?
THAM GIA GROUP CỦA TTC TRÊN FACEBOOK