Спасибо)
Всем доброго времени суток!
ищу скрипт на VX Ace который поможет реализовать мою задумку!
Мне нужно чтобы область видимости была не больше 6 клеток(хочу типо хоррор сделать)
Лазил я по разным сайтам и проектам и подобного не нашел наверное слепой я!
Заранее спасибо!
Последний раз редактировалось vasabee; 27.10.2012 в 12:31. Причина: Опечатка
И еще такой вопрос помогите пережевать этот скрипт (http://victorscripts.wordpress.com/r.../actor-events/) что то не пойму как его использовать =)
Иногда кажется выбор персонаже через ивенты легче =)
Хочу использовать в своем проекте Zer0 CMS, но для его работы требуется Tons of Add-ons и на выбор CCTS или ATES. Насчет CCTS ничего не имею против, так как ее тоже хочу использовать, но Tons of Add-ons мне не нужен, там много лишнего. Можно ли как-нибудь убрать привязку CMS к ToA? Если нет, то можно ли вычленить то, что необходимо для работы CMS, и в отдельный скрипт убрать?
Можно, смотришь какие скрипты CMS оттуда использует и удаляешь остальные.
true, значит что скрипт нужен для работы. Там все разделы очень хорошо организованы, но все равно надо понимать что удаляешь.PHP код:
@BETTER_TILEMAP_UPDATE = false
@CENTER_BATTLER = false
@BARS = true # Required for CMS
@LOCATION_NAMES = false
@BLACKFADE = false
@SHADED_TEXT = true # Required for CMS
@HUD = false
@TREMBLE = false
@ANIMATION_STACK = false
@FACESETS = false
@CATERPILLAR = false
@ARROW_OVER_PLAYER = false
@ANIMATED_BATTLE_BACKGROUND = false
@MAP_AS_BATTLEBACK = false
@FACESETS_DSS = false
@STATUS_ICONS = true #
@ANIBATTLERS_NON_ACTION_BS = false
@DEATH_IMAGE = false
@TERRAIN_BATTLEBACKS = false
Dropbox — бесплатное хранилище файлов с прямыми ссылками.
Humble Bundle — игры, подборки и наборы со скидками.
Значит, придется посидеть и помозговать, потому как полезные мне скрипты надо оставить. Сейчас и займусь.
Arnon, спасибо)
Доброго времени суток)
Вот такая проблема есть скрипт нужно убрать лишнее:
А именно биографию персонажей и описание классов.Код:#============================================================================== # # Yanfly 6 - Status Menu # --- Last Date Updated: 2011.09.26 # --- Level: Easy, Normal # Requires: n/a # #============================================================================== $imported = {} if $imported == nil $imported["Y6-StatusMenu"] = true #============================================================================== # Updates # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # o 2011.09.26 - Updated window positions. # o 2011.09.09 - Updated compatibility for Y6 Performance Screen. # o 2011.09.05 - Finished Script after many distractions. # o 2011.09.02 - Started Script. # #============================================================================== # Introduction # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # For those who use Yanfly Engine 6 scripts, you may have realized that sooner # or later, the Status window isn't sufficient at displaying data and stats # provided by those scripts. This updated status menu will allow players access # to the data and information regarding the new features. # #============================================================================== # Instructions # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # To install this script, open up your script editor and copy/paste this script # to an open slot below ЃҐ Materials but above ЃҐ Main. Remember to save. # # Adjust the module as you see fit. Everything else is plug and play. # #============================================================================== # Compatibility # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # Note: This script may not work with former Yanfly Engine scripts. # Use Yanfly Engine 6 scripts to work with this if available. #============================================================================== module Y6 module STATUS #-------------------------------------------------------------------------- # - Command Menu - #-------------------------------------------------------------------------- # This section will adjust what commands appear in the upper left corner # of the status scene and the vocabulary used with it. It will also adjust # parts of the EXP Gauge shown in the upper right window. #-------------------------------------------------------------------------- # This array determines what items will appear in the status scene and # what order they appear in. Remove them if you don't want them to appear. COMMANDS =[ :general, # Shows general overview of character. :parameters, # Shows basic parameters with a gauge comparison. :statistics, # Shows secondary bonuses. Requires Y6 Battle Stats. :performance, # Shows battle performance. Requires Y6 Performance Screen. :background, # Shows character's story if any is used. ] # Do not remove this. # This hash determines how the vocabulary appears in your game. Modify them # as you see fit if you wish to rename certain aspects. COMMAND_VOCAB ={ # :command => String :general => "Общее данные", :parameters => "Параметры", :statistics => "Статистика", :performance => "Performance", :background => "Биография", } # Do not remove this. # This determines the colour of the EXP bars used for the actor's exp # gauge in the status menu. EXP_TEXT = "Опыт" # Text used for EXP PERCENT_EXP = "%1.2f%%" # Text format used for EXP percentage EXP_GAUGE_1 = 20 # Colour 1 for the EXP Gauge EXP_GAUGE_2 = 21 # Colour 2 for the EXP Gauge # Use the EXP bar on the main menu selection? USE_FOR_MAIN_MENU = true #-------------------------------------------------------------------------- # - General Status Window - #-------------------------------------------------------------------------- # This section adjusts the general window and how it appears. The general # window displays basic information for the player regarding the actor. #-------------------------------------------------------------------------- # This array shows the stats for the left side of the window. Simply remove # a stat from this list if you don't want it to appear or reaarnage them as # you see fit. You may place other stats here, too. Note that stats that # require special scripts won't appear unless that script is installed. # Legal Stats: # :atk, :def, :spi, :res, :dex, :foc, :luk, :agi SHOWN_STATS = [:atk, :def, :spi, :res, :dex, :foc, :luk, :agi] # How the text for MaxHP and MaxMP will show up and if they show up at all. SHOW_MAXHP = true MAXHP_TEXT = "МаксHP" SHOW_MAXMP = true MAXMP_TEXT = "МаксMP" # How the text will appear for the equipment listing. EQUIPMENT = "Доспехи" #-------------------------------------------------------------------------- # - Parameters Status Window - #-------------------------------------------------------------------------- # This window here compares the basic parameters to each other in a gauge # fashion. In this section, you may adjust the colours of the gauges that # appear for each stat and the font size of the stats. #-------------------------------------------------------------------------- STAT_GAUGE_COLOURS ={ # Stat => [Red1, Grn1, Blu1, Red2, Grn2, Blu2], :atk => [ 240, 50, 80, 240, 150, 150], :def => [ 50, 240, 50, 150, 240, 150], :spi => [ 50, 180, 240, 150, 200, 240], :res => [ 240, 110, 50, 240, 200, 150], :dex => [ 200, 200, 200, 240, 240, 240], :foc => [ 80, 80, 80, 130, 130, 130], :luk => [ 180, 50, 240, 220, 150, 240], :agi => [ 240, 200, 80, 240, 240, 140], } # Do not remove this. # This adjusts the title that appears above the chart. PARAM_CHART_TITLE = "График параметров персонажа" # This adjusts the font size used for the chart stats. PARAM_FONT_SIZE = 16 #-------------------------------------------------------------------------- # - Statistics Status Window - #-------------------------------------------------------------------------- # For those who have the Yanfly Engine 6 Battle Stats script installed and # have selected using stats like DEX, FOC, LUK, etc. and/or their secondary # bonuses, this statistics status window will show what bonuses are offered # for the battler. #-------------------------------------------------------------------------- # This adjusts the title that appears above the list. STATISTICS_LIST_TITLE = "Statistics List" # If you are using the Yanfly Engine 6 Iconview Module script, you may # choose to have the stat icon to show the text of the corresponding stat # with "true" or not with "false" ICONS_SHOW_ORIGINAL_STAT_TEXT = false #-------------------------------------------------------------------------- # - Background Status Window - #-------------------------------------------------------------------------- # Here, you may enter in text about an actor's background. If no info is # available for an actor, then the class info will take place. If no actor # and no class info are present, then the Background option will not appear # for the Status Scene. #-------------------------------------------------------------------------- # Here are the settings used for the background window. Adjust it as you # see fit. BIOGRAPHY ={ :font_size => 18, :actor_bio => "%s's Background", :class_des => "%s Description", :noneavail => "No Information Available", } # Do not remove this. # When typing out biographies and descriptions, use \\N[x] to write out # the actor's name if the game allows renaming. For line splits, use | # at the each position you would want the description to start a new line. # Use \\V[x] to display variables. Use \' and \" to write out quotation # marks without disrupting the string quotes. ACTOR_BIOS ={ # If an actor ID is not listed here, then refer to class bio. # ID => Background 1 => '\\N[1] is a very hot blooded young male whom ' + 'embarked on a|journey to save Don Miguel. ' + 'But given his reckless behaviour|and actions, ' + '\\N[1] is known to give his team lots of trouble.', 2 => '\\N[2] trained as a warrior since she was ' + 'quite young. Due|to her militant past, she has ' + 'developed a rather tomboy-ish|personality. ' + '\\N[2] loves training and is also a health nut.', 3 => '\\N[3] is the overzealous priest of \\N[1]\'s ' + 'party. His|actions speak louder than his words ' + 'and his words are|already loud enough. \\N[3] ' + 'is definitely one who choose|the wrong class.', 4 => '\\N[4] is the team\'s walking encyclopedia. ' + 'She just about|knows everything for each and ' + 'every situation. But aside|from that, \\N[4] ' + 'just doesn\'t have the actual life experience.', } # Do not remove this. CLASS_BIOS ={ # ID => Bio 1 => 'Knights are quick and powerful characters ' + 'that excel in|both melee and magic.', 2 => 'Defenders are very dedicated to defending ' + 'their party.', 3 => 'Priests focus on healing and aiding their ' + "party members.|Don't let \\N[3] fool you.", 4 => 'Magicians excel in the magical arts and also ' + 'excel at|blasting their enemies to bits.', } # Do not remove this. end # STATUS end # Y6 #============================================================================== # Editting anything past this point may potentially result in causing computer # damage, incontinence, explosion of user's head, coma, death, and/or halitosis # so edit at your own risk. #============================================================================== #============================================================================== # ** Numeric #============================================================================== class Numeric #-------------------------------------------------------------------------- # new method: group_digits #-------------------------------------------------------------------------- unless $imported["Y6-Core"] def group(decimal = 2); return self; end end # $imported["Y6-Core"] end # Numeric #============================================================================== # ** Vocab #============================================================================== module Vocab #-------------------------------------------------------------------------- # new method: self.exp #-------------------------------------------------------------------------- def self.exp; return Y6::STATUS::EXP_TEXT; end #-------------------------------------------------------------------------- # new method: self.exp_format #-------------------------------------------------------------------------- def self.exp_format; return Y6::STATUS::PERCENT_EXP; end end # Vocab #=============================================================================== # ** Game_Battler #=============================================================================== class Game_Battler #-------------------------------------------------------------------------- # anti-crash method: maxmp_limit #-------------------------------------------------------------------------- unless method_defined?(:maxmp_limit) def maxmp_limit; return 9999; end end # method_defined?(:maxmp_limit) #-------------------------------------------------------------------------- # anti-crash method: parameter_limit #-------------------------------------------------------------------------- unless method_defined?(:parameter_limit) def maxmp_limit; return 999; end end # method_defined?(:parameter_limit) end # Game_Battler #============================================================================== # ** Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # anti-crash method: parameter_limit #-------------------------------------------------------------------------- unless $imported["Y6-BattleStats"] def parameter_limit return 999 end end # $imported["Y6-BattleStats"] #-------------------------------------------------------------------------- # new method: now_exp #-------------------------------------------------------------------------- def now_exp return @exp - @exp_list[@level] end #-------------------------------------------------------------------------- # new method: next_exp #-------------------------------------------------------------------------- def next_exp return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0 end end # Game_Actor #============================================================================== # ** Game_Temp #============================================================================== class Game_Temp #-------------------------------------------------------------------------- # public instance variables #-------------------------------------------------------------------------- attr_accessor :last_status_index attr_accessor :status_oy end # Game_Temp #============================================================================== # ** Window_Base #============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # new method: draw_actor_exp #-------------------------------------------------------------------------- def draw_actor_exp(actor, x, y, width = 120) draw_actor_exp_gauge(actor, x, y, width) contents.font.color = system_color contents.draw_text(x+2, y, 30, WLH, Vocab.exp) contents.font.color = normal_color last_font_size = contents.font.size xr = x + width if actor.next_exp == 0 text = sprintf(Vocab.exp_format, 100.0) else text = sprintf(Vocab.exp_format, actor.now_exp * 100.0 / actor.next_exp) end contents.draw_text(x+32, y, width-33, WLH, text, 1) end #-------------------------------------------------------------------------- # new method: draw_actor_exp_gauge #-------------------------------------------------------------------------- def draw_actor_exp_gauge(actor, x, y, width = 120) gc0 = gauge_back_color gc1 = text_color(Y6::STATUS::EXP_GAUGE_1) gc2 = text_color(Y6::STATUS::EXP_GAUGE_2) gh = $imported["Y6-Core"] ? Y6::SETTING::GAUGE_HEIGHT : 6 gh += 2 if $imported["Y6-Core"] and Y6::SETTING::OUTLINE gy = y + WLH - 8 - (gh - 6) contents.fill_rect(x, gy, width, gh, gc0) if $imported["Y6-Core"] and Y6::SETTING::OUTLINE gy += 1 gh -= 2 width -= 2 end if actor.next_exp == 0 gbw = width else gbw = width * actor.now_exp / [actor.next_exp, 1].max end x += 1 if $imported["Y6-Core"] and Y6::SETTING::OUTLINE contents.gradient_fill_rect(x, gy, gbw, gh, gc1, gc2) end end # Window_Base #============================================================================== # ** Window_Command_Centered #============================================================================== class Window_Command_Centered < Window_Command #-------------------------------------------------------------------------- # draw_item #-------------------------------------------------------------------------- def draw_item(index, enabled = true) rect = item_rect(index) rect.x += 4 rect.width -= 8 contents.clear_rect(rect) contents.font.color = normal_color contents.font.color.alpha = enabled ? 255 : 128 contents.draw_text(rect, @commands[index], 1) end end # Window_Command_Centered #============================================================================== # ** Window_MenuStatus #============================================================================== class Window_MenuStatus < Window_Selectable if Y6::STATUS::USE_FOR_MAIN_MENU #-------------------------------------------------------------------------- # refresh #-------------------------------------------------------------------------- def refresh contents.clear @data = [] for member in $game_party.members do @data.push(member) end @item_max = @data.size create_contents for i in 0...@item_max do draw_item(i) end end #-------------------------------------------------------------------------- # draw_item #-------------------------------------------------------------------------- def draw_item(index) rect = item_rect(index) actor = @data[index] return if actor.nil? draw_actor_face(actor, 2, actor.index * 96 + 2, 92) dx = 108; dy = WLH * 4 * index dw = contents.width - dx - 120 - 4 draw_actor_name(actor, dx, dy) draw_actor_class(actor, dx + 120, dy, dw) draw_actor_level(actor, dx, dy + WLH * 1) draw_actor_state(actor, dx, dy + WLH * 2) draw_actor_hp(actor, dx + 120, dy + WLH * 1, dw) draw_actor_mp(actor, dx + 120, dy + WLH * 2, dw) draw_actor_exp(actor, dx + 120, dy + WLH * 3, dw) end #-------------------------------------------------------------------------- # draw_actor_class #-------------------------------------------------------------------------- def draw_actor_class(actor, x, y, dw = 108) self.contents.font.color = normal_color self.contents.draw_text(x, y, dw, WLH, actor.class.name) end end # Y6::STATUS::USE_FOR_MAIN_MENU end # Window_MenuStatus #============================================================================== # ** Window_Actor_Status #============================================================================== class Window_Actor_Status < Window_Base #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(actor) super(160, 0, Graphics.width - 160, 128) @actor = actor refresh end #-------------------------------------------------------------------------- # actor= #-------------------------------------------------------------------------- def actor=(new_actor) return if new_actor == @actor @actor = new_actor refresh end #-------------------------------------------------------------------------- # refresh #-------------------------------------------------------------------------- def refresh contents.clear draw_actor_face(@actor, 0, 0) dx = 108; dy = 0 dw = contents.width - dx - 120 - 4 draw_actor_name(@actor, dx, dy) draw_actor_class(@actor, dx + 120, dy, dw) draw_actor_level(@actor, dx, dy + WLH * 1) draw_actor_state(@actor, dx, dy + WLH * 2) draw_actor_hp(@actor, dx + 120, dy + WLH * 1, dw) draw_actor_mp(@actor, dx + 120, dy + WLH * 2, dw) draw_actor_exp(@actor, dx + 120, dy + WLH * 3, dw) end #-------------------------------------------------------------------------- # draw_actor_class #-------------------------------------------------------------------------- def draw_actor_class(actor, x, y, dw = 108) self.contents.font.color = normal_color self.contents.draw_text(x, y, dw, WLH, actor.class.name) end end # Window_Actor_Status #============================================================================== # ** Window_Status_General #============================================================================== class Window_Status_General < Window_Base #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(actor) super(0, 128, Graphics.width, Graphics.height - 128) @actor = actor refresh end #-------------------------------------------------------------------------- # actor= #-------------------------------------------------------------------------- def actor=(new_actor) return if new_actor == @actor @actor = new_actor refresh end #-------------------------------------------------------------------------- # refresh #-------------------------------------------------------------------------- def refresh contents.clear stats = Y6::STATUS::SHOWN_STATS dx = 24; dy = 0 dx = draw_icons(dx, dy, stats) dx = draw_parameter_names(dx, dy, stats) dx = draw_parameter_stats(dx, dy, stats) draw_exp_information(dx, dy) draw_equipments(dx, dy + WLH * 9 / 2) end #-------------------------------------------------------------------------- # draw_icons #-------------------------------------------------------------------------- def draw_icons(dx, dy, stats) return dx unless $imported["Y6-Iconview"] if Y6::STATUS::SHOW_MAXHP icon = Icon.stat_notext(:hp) draw_icon(icon, dx, dy); dy += WLH end if Y6::STATUS::SHOW_MAXMP icon = Icon.stat_notext(:mp) draw_icon(icon, dx, dy); dy += WLH end dy += WLH / 2 if Y6::STATUS::SHOW_MAXHP or Y6::STATUS::SHOW_MAXMP for stat in stats case stat when :atk, :def, :spi, :agi # Do nothing! when :res, :dex, :foc, :luk next unless $imported["Y6-BattleStats"] next if stat == :res and !Y6::STATS::RES_STAT_ENABLE next if stat == :dex and !Y6::STATS::DEX_STAT_ENABLE next if stat == :foc and !Y6::STATS::FOC_STAT_ENABLE next if stat == :luk and !Y6::STATS::LUK_STAT_ENABLE else; next end icon = Icon.stat_notext(stat) draw_icon(icon, dx, dy); dy += WLH end return dx + 24 end #-------------------------------------------------------------------------- # draw_parameter_names #-------------------------------------------------------------------------- def draw_parameter_names(dx, dy, stats) dw = 60 contents.font.color = system_color if Y6::STATUS::SHOW_MAXHP text = Y6::STATUS::MAXHP_TEXT contents.draw_text(dx, dy, dw, WLH, text, 0); dy += WLH end if Y6::STATUS::SHOW_MAXMP text = Y6::STATUS::MAXMP_TEXT contents.draw_text(dx, dy, dw, WLH, text, 0); dy += WLH end dy += WLH / 2 if Y6::STATUS::SHOW_MAXHP or Y6::STATUS::SHOW_MAXMP for stat in stats case stat when :atk, :def, :spi, :agi # Do nothing! when :res, :dex, :foc, :luk next unless $imported["Y6-BattleStats"] next if stat == :res and !Y6::STATS::RES_STAT_ENABLE next if stat == :dex and !Y6::STATS::DEX_STAT_ENABLE next if stat == :foc and !Y6::STATS::FOC_STAT_ENABLE next if stat == :luk and !Y6::STATS::LUK_STAT_ENABLE else; next end text = eval("Vocab." + stat.to_s) contents.draw_text(dx, dy, dw, WLH, text, 0); dy += WLH end return dx + dw end #-------------------------------------------------------------------------- # draw_parameter_stats #-------------------------------------------------------------------------- def draw_parameter_stats(dx, dy, stats) maximum = [@actor.maxhp_limit, @actor.maxmp_limit, @actor.parameter_limit].max contents.font.color = normal_color dw = contents.text_size(maximum.group).width + 24 if Y6::STATUS::SHOW_MAXHP value = @actor.maxhp.group contents.draw_text(dx, dy, dw, WLH, value, 2); dy += WLH end if Y6::STATUS::SHOW_MAXMP value = @actor.maxmp.group contents.draw_text(dx, dy, dw, WLH, value, 2); dy += WLH end dy += WLH / 2 if Y6::STATUS::SHOW_MAXHP or Y6::STATUS::SHOW_MAXMP for stat in stats case stat when :atk, :def, :spi, :agi # Do nothing! when :res, :dex, :foc, :luk next unless $imported["Y6-BattleStats"] next if stat == :res and !Y6::STATS::RES_STAT_ENABLE next if stat == :dex and !Y6::STATS::DEX_STAT_ENABLE next if stat == :foc and !Y6::STATS::FOC_STAT_ENABLE next if stat == :luk and !Y6::STATS::LUK_STAT_ENABLE else; next end value = eval("@actor." + stat.to_s + ".group") contents.draw_text(dx, dy, dw, WLH, value, 2); dy += WLH end dx += dw + 24 dx = contents.width / 2 + 24 unless dx > contents.width / 2 return dx end #-------------------------------------------------------------------------- # draw_exp_information #-------------------------------------------------------------------------- def draw_exp_information(dx, dy) contents.font.color = system_color s1 = @actor.exp_s s2 = @actor.next_rest_exp_s s_next = sprintf(Vocab::ExpNext, Vocab::level) dw = contents.width - dx - 28 contents.draw_text(dx, dy + WLH * 0, dw, WLH, Vocab::ExpTotal) contents.draw_text(dx, dy + WLH * 2, dw, WLH, s_next) contents.font.color = normal_color contents.draw_text(dx, dy + WLH * 1, dw, WLH, s1, 2) self.contents.draw_text(dx, dy + WLH * 3, dw, WLH, s2, 2) end #-------------------------------------------------------------------------- # draw_equipments #-------------------------------------------------------------------------- def draw_equipments(dx, dy) contents.font.color = system_color dw = contents.width - dx - 28 contents.draw_text(dx, dy, dw, WLH, Y6::STATUS::EQUIPMENT) for i in 0..4 draw_item_name(@actor.equips[i], dx + 16, dy + WLH * (i + 1)) end end end # Window_Status_General #============================================================================== # ** Window_Status_Background #============================================================================== class Window_Status_Background < Window_Base #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(actor) super(0, 128, Graphics.width, Graphics.height - 128) @actor = actor refresh end #-------------------------------------------------------------------------- # actor= #-------------------------------------------------------------------------- def actor=(new_actor) return if new_actor == @actor @actor = new_actor refresh end #-------------------------------------------------------------------------- # refresh #-------------------------------------------------------------------------- def refresh contents.clear if Y6::STATUS::ACTOR_BIOS.include?(@actor.id) draw_actor_bio elsif Y6::STATUS::CLASS_BIOS.include?(@actor.class_id) draw_class_bio else draw_nothing_available end end #-------------------------------------------------------------------------- # draw_actor_bio #-------------------------------------------------------------------------- def draw_actor_bio contents.font.size = Font.default_size contents.font.color = normal_color; dy = 0 text = sprintf(Y6::STATUS::BIOGRAPHY[:actor_bio], @actor.name) contents.draw_text(0, dy, self.width-32, WLH*2, text, 1) contents.font.size = Y6::STATUS::BIOGRAPHY[:font_size] text = Y6::STATUS::ACTOR_BIOS[@actor.id] txsize = Y6::STATUS::BIOGRAPHY[:font_size] + 4 nwidth = Graphics.width * 8 dx = 48; dy = WLH*2 text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] } text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] } text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name } lines = text.split(/(?:[|]|\\n)/i) lines.each_with_index { |l, i| l.gsub!(/\\__(\[\d+\])/i) { "\\N#{$1}" } self.contents.draw_text(dx, i * txsize + dy, nwidth, WLH, l, 0)} end #-------------------------------------------------------------------------- # draw_class_bio #-------------------------------------------------------------------------- def draw_class_bio contents.font.size = Font.default_size contents.font.color = normal_color; dy = 0 text = sprintf(Y6::STATUS::BIOGRAPHY[:class_des], @actor.class.name) contents.draw_text(0, dy, self.width-32, WLH*2, text, 1) contents.font.size = Y6::STATUS::BIOGRAPHY[:font_size] text = Y6::STATUS::CLASS_BIOS[@actor.class.id] txsize = Y6::STATUS::BIOGRAPHY[:font_size] + 4 nwidth = Graphics.width * 8 dx = 48; dy = WLH*2 text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] } text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] } text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name } lines = text.split(/(?:[|]|\\n)/i) lines.each_with_index { |l, i| l.gsub!(/\\__(\[\d+\])/i) { "\\N#{$1}" } contents.draw_text(dx, i * txsize + dy, nwidth, WLH, l, 0)} end #-------------------------------------------------------------------------- # draw_nothing_available #-------------------------------------------------------------------------- def draw_nothing_available contents.font.color = normal_color contents.font.size = Font.default_size text = Y6::STATUS::BIOGRAPHY[:noneavail] dy = contents.height / 2 - WLH contents.draw_text(0, dy, contents.width, WLH, text, 1) end end # Window_Status_Background #============================================================================== # ** Window_Status_Parameters #============================================================================== class Window_Status_Parameters < Window_Base #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(actor) super(0, 128, Graphics.width, Graphics.height - 128) @actor = actor refresh end #-------------------------------------------------------------------------- # actor= #-------------------------------------------------------------------------- def actor=(new_actor) return if new_actor == @actor @actor = new_actor refresh end #-------------------------------------------------------------------------- # refresh #-------------------------------------------------------------------------- def refresh contents.clear draw_background calculate_settings draw_stat_gauges end #-------------------------------------------------------------------------- # draw_background #-------------------------------------------------------------------------- def draw_background colour = gauge_back_color colour.alpha = 128 dh = contents.height - WLH * 3 / 2 contents.fill_rect(0, WLH * 3 / 2, contents.width, dh, colour) contents.font.size = Font.default_size contents.font.color = normal_color text = Y6::STATUS::PARAM_CHART_TITLE contents.draw_text(0, 0, contents.width, WLH, text, 1) end #-------------------------------------------------------------------------- # calculate_settings #-------------------------------------------------------------------------- def calculate_settings array = [] for stat in Y6::STATUS::SHOWN_STATS case stat when :atk, :def, :spi, :agi # Do nothing! when :res, :dex, :foc, :luk next unless $imported["Y6-BattleStats"] next if stat == :res and !Y6::STATS::RES_STAT_ENABLE next if stat == :dex and !Y6::STATS::DEX_STAT_ENABLE next if stat == :foc and !Y6::STATS::FOC_STAT_ENABLE next if stat == :luk and !Y6::STATS::LUK_STAT_ENABLE else; next end array.push(eval("@actor." + stat.to_s)) end @maximum = array.max @minimum = array.min end #-------------------------------------------------------------------------- # draw_stat_gauges #-------------------------------------------------------------------------- def draw_stat_gauges dx = 4; dy = WLH * 2 + 3 for stat in Y6::STATUS::SHOWN_STATS case stat when :atk, :def, :spi, :agi # Do nothing! when :res, :dex, :foc, :luk next unless $imported["Y6-BattleStats"] next if stat == :res and !Y6::STATS::RES_STAT_ENABLE next if stat == :dex and !Y6::STATS::DEX_STAT_ENABLE next if stat == :foc and !Y6::STATS::FOC_STAT_ENABLE next if stat == :luk and !Y6::STATS::LUK_STAT_ENABLE else; next end draw_visual_gauge(dx, dy, stat) dy += WLH end end #-------------------------------------------------------------------------- # draw_visual_gauge #-------------------------------------------------------------------------- def draw_visual_gauge(dx, dy, stat) array = Y6::STATUS::STAT_GAUGE_COLOURS[stat] gc0 = gauge_back_color gc1 = Color.new(array[0], array[1], array[2]) gc2 = Color.new(array[3], array[4], array[5]) value = eval("@actor." + stat.to_s) gh = 22 gy = dy + WLH - 8 - (gh - 6) gfw = @maximum - @minimum modifier = (contents.width / 3) dw = contents.width - 8 - modifier dw -= 24 if $imported["Y6-Iconview"] gw = dw * (value - @minimum) / gfw + modifier contents.fill_rect(dx, gy, gw, gh, gc0) dx += 1 gy += 1 gh -= 2 gw -= 2 contents.gradient_fill_rect(dx, gy, gw, gh, gc1, gc2) draw_gauge_icons(dx, dy, stat, gw) if $imported["Y6-Iconview"] draw_param_names(dx, dy, stat, gw) draw_param_values(dx, dy, stat, gw) end #-------------------------------------------------------------------------- # draw_gauge_icons #-------------------------------------------------------------------------- def draw_gauge_icons(dx, dy, stat, gw) icon = Icon.stat(stat, @actor) draw_icon(icon, dx + gw, dy - 1) end #-------------------------------------------------------------------------- # draw_param_names #-------------------------------------------------------------------------- def draw_param_names(dx, dy, stat, gw) contents.font.color = normal_color contents.font.size = Y6::STATUS::PARAM_FONT_SIZE if $imported["Y6-BattleStats"] text = eval("Vocab." + stat.to_s + "_name") else text = eval("Vocab." + stat.to_s) end contents.draw_text(dx + 1, dy, gw - 2, WLH, text, 0) end #-------------------------------------------------------------------------- # draw_param_values #-------------------------------------------------------------------------- def draw_param_values(dx, dy, stat, gw) contents.font.color = normal_color contents.font.size = Y6::STATUS::PARAM_FONT_SIZE value = eval("@actor." + stat.to_s + ".group") contents.draw_text(dx, dy, gw - 2, WLH, value, 2) end end # Window_Status_Parameters #============================================================================== # ** Window_Status_Statistics #============================================================================== class Window_Status_Statistics < Window_Base #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(actor) super(0, 128, Graphics.width, Graphics.height - 128) @actor = actor refresh end #-------------------------------------------------------------------------- # actor= #-------------------------------------------------------------------------- def actor=(new_actor) return if new_actor == @actor @actor = new_actor refresh end #-------------------------------------------------------------------------- # refresh #-------------------------------------------------------------------------- def refresh contents.clear draw_statistics_title dy = WLH * 3 / 2 dy = draw_major_statistics(dy) draw_bonus_statistics(dy) end #-------------------------------------------------------------------------- # draw_statistics_title #-------------------------------------------------------------------------- def draw_statistics_title @show_text = Y6::STATUS::ICONS_SHOW_ORIGINAL_STAT_TEXT text = Y6::STATUS::STATISTICS_LIST_TITLE contents.draw_text(0, 0, contents.width, WLH, text, 1) end #-------------------------------------------------------------------------- # draw_major_statistics #-------------------------------------------------------------------------- def draw_major_statistics(dy) stats = Y6::STATUS::SHOWN_STATS dx = 0 mx = 0 dw = contents.width / 2 - 6 new_line = false for stat in stats case stat when :dex next unless Y6::STATS::DEX_STAT_ENABLE text = Vocab.apn_name value = @actor.apn * 100.0 when :foc next unless Y6::STATS::FOC_STAT_ENABLE text = Vocab.mpn_name value = @actor.mpn * 100.0 when :luk next unless Y6::STATS::LUK_STAT_ENABLE text = Vocab.crm_name value = @actor.crm * 100.0 else; next end if $imported["Y6-Iconview"] icon = @show_text ? Icon.stat(stat, @actor) : Icon.stat_notext(stat) draw_icon(icon, 0, dy) mx = 24 end contents.font.color = system_color contents.draw_text(dx+mx, dy, dw, WLH, text, 0) contents.font.color = normal_color text = sprintf("%1.2f%%", value) contents.draw_text(0, dy, dw, WLH, text, 2) new_line = true dy += WLH end dy += WLH / 2 if new_line return dy end #-------------------------------------------------------------------------- # draw_bonus_statistics #-------------------------------------------------------------------------- def draw_bonus_statistics(dy) stats = Y6::STATUS::SHOWN_STATS dx = 0 mx = 0 dw = contents.width / 2 - 6 for stat in stats case stat when :atk next unless Y6::STATS::ATK_PDM_ENABLE text = Vocab.pdm_name value = @actor.pdm * 100.0 when :def next unless Y6::STATS::DEF_PDR_ENABLE text = Vocab.pdr_name value = @actor.pdr * 100.0 when :spi next unless Y6::STATS::INT_MDM_ENABLE text = Vocab.mdm_name value = @actor.mdm * 100.0 when :res next unless Y6::STATS::RES_STAT_ENABLE next unless Y6::STATS::RES_MDR_ENABLE text = Vocab.mdr_name value = @actor.mdr * 100.0 when :dex next unless Y6::STATS::DEX_STAT_ENABLE next unless Y6::STATS::DEX_HIT_ENABLE text = Vocab.hit_name value = @actor.hit when :foc next unless Y6::STATS::FOC_STAT_ENABLE next unless Y6::STATS::FOC_TEN_ENABLE text = Vocab.ten_name value = @actor.ten * 100.0 when :luk next unless Y6::STATS::LUK_STAT_ENABLE next unless Y6::STATS::LUK_CRI_ENABLE text = Vocab.cri_name value = @actor.cri when :agi next unless Y6::STATS::AGI_EVA_ENABLE text = Vocab.eva_name value = @actor.eva else; next end if $imported["Y6-Iconview"] icon = @show_text ? Icon.stat(stat, @actor) : Icon.stat_notext(stat) draw_icon(icon, dx, dy) mx = 24 end contents.font.color = system_color contents.draw_text(dx+mx, dy, dw-mx, WLH, text, 0) contents.font.color = normal_color text = sprintf("%1.2f%%", value) contents.draw_text(dx+mx, dy, dw-mx, WLH, text, 2) if dx > dw dy += WLH dx = 0 else dx = dw + 12 end end end end # Window_Status_Statistics #============================================================================== # ** Scene_Status #============================================================================== class Scene_Status < Scene_Base #-------------------------------------------------------------------------- # public instance variables #-------------------------------------------------------------------------- attr_accessor :help_window #-------------------------------------------------------------------------- # overwrite method: start #-------------------------------------------------------------------------- def start super create_menu_background @actor = $game_party.members[@actor_index] @status_window = Window_Actor_Status.new(@actor) @help_window = Window_Help.new @help_window.y = @status_window.height create_command_window end #-------------------------------------------------------------------------- # overwrite method: terminate #-------------------------------------------------------------------------- def terminate super dispose_menu_background @status_window.dispose @help_window.dispose @command_window.dispose for window in @windows; window.dispose unless window.disposed?; end end #-------------------------------------------------------------------------- # new method: create_command_window #-------------------------------------------------------------------------- def create_command_window @data = [] commands = [] @windows = [] for command in Y6::STATUS::COMMANDS case command when :general @general_window = Window_Status_General.new(@actor) @windows.push(@general_window) when :background @background_window = Window_Status_Background.new(@actor) @windows.push(@background_window) when :parameters @parameters_window = Window_Status_Parameters.new(@actor) @windows.push(@parameters_window) when :statistics next unless $imported["Y6-BattleStats"] @statistics_window = Window_Status_Statistics.new(@actor) @windows.push(@statistics_window) when :performance next unless $imported["Y6-Performance"] @performance_window = Window_Status_Performance.new(@actor) @performance_window.help_window = @help_window @windows.push(@performance_window) else; next end @data.push(command) commands.push(Y6::STATUS::COMMAND_VOCAB[command]) end @command_window = Window_Command_Centered.new(160, commands) @command_window.height = 128 @command_window.active = true #--- if $game_temp.last_status_index != nil @command_window.oy = $game_temp.status_oy @command_window.index = $game_temp.last_status_index end #--- update_visible_windows end #-------------------------------------------------------------------------- # new method: update_visible_windows #-------------------------------------------------------------------------- def update_visible_windows @help_window.y = Graphics.height * 8 for window in @windows; window.y = Graphics.height * 8; end case @data[@command_window.index] when :general @general_window.y = @command_window.height when :background @background_window.y = @command_window.height when :parameters @parameters_window.y = @command_window.height when :statistics @statistics_window.y = @command_window.height when :performance @help_window.y = Graphics.height - @help_window.height @performance_window.y = @command_window.height @performance_window.update_help end end #-------------------------------------------------------------------------- # overwrite method: next_actor #-------------------------------------------------------------------------- def next_actor @actor_index += 1 @actor_index %= $game_party.members.size set_new_actor end #-------------------------------------------------------------------------- # overwrite method: prev_actor #-------------------------------------------------------------------------- def prev_actor @actor_index += $game_party.members.size - 1 @actor_index %= $game_party.members.size set_new_actor end #-------------------------------------------------------------------------- # new method: set_new_actor #-------------------------------------------------------------------------- def set_new_actor $game_party.last_actor_index = @actor_index @actor = $game_party.members[@actor_index] @status_window.actor = @actor for window in @windows; window.actor = @actor; end end #-------------------------------------------------------------------------- # overwrite method: update #-------------------------------------------------------------------------- def update super update_menu_background if @command_window.active update_command_window elsif !@performance_window.nil? and @performance_window.active update_performance_window end end #-------------------------------------------------------------------------- # new method: update_command_window #-------------------------------------------------------------------------- def update_command_window @command_window.update if $game_temp.last_status_index != @command_window.index $game_temp.last_status_index = @command_window.index $game_temp.status_oy = @command_window.oy update_visible_windows end if Input.trigger?(Input::B) Sound.play_cancel return_scene $game_temp.last_status_index = nil $game_temp.status_oy = nil elsif Input.repeat?(Input::LEFT) Sound.play_cursor prev_actor elsif Input.repeat?(Input::RIGHT) Sound.play_cursor next_actor elsif Input.trigger?(Input::C) case @data[@command_window.index] when :performance Sound.play_decision @performance_window.active = true @performance_window.index = 0 if @performance_window.index < 0 @command_window.active = false end end end end # Scene_Status #=============================================================================== # # END OF FILE # #===============================================================================
Одним словом выризать раздел биография.
Прохлада и спокойствие мне вполне по душе
Спойлер :
き っ と 、 女 の 子 は お 砂 糖 と ス パ イ ス と 素 敵 な 何 か で で き て い る。
Эту тему просматривают: 9 (пользователей: 0 , гостей: 9)
Социальные закладки