[Script] [ACE] Dark's Item Menu

dsiver144dsiver144 Posts: 1,064Registered
[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]
oGoOsYX.png
QTDALUt.png
[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]
[size=small]Credit mình nếu sử dụng nhé! : D[/size]
«1

Comments

Sign In or Register to comment.