Страница 74 из 190 ПерваяПервая ... 2464727374757684124174 ... ПоследняяПоследняя
Показано с 731 по 740 из 1899

Тема: Поиск скриптов

  1. #731
    Маститый Аватар для Рыб
    Информация о пользователе
    Регистрация
    12.11.2008
    Адрес
    [ДАННЫЕ УДАЛЕНЫ]
    Сообщений
    1,421
    Записей в дневнике
    50
    Репутация: 55 Добавить или отнять репутацию
    Последний раз редактировалось Рыб; 25.10.2012 в 21:19.
    Twitch <- Тут иногда делаю вид, что умею играть или работать, в прямом эфире
    GitLab <- Тут иногда делаю вид, что умею программировать
    Github <- Еще какая-то дичь, тут иногда появляется, но с мукером не связана
    Notion<- Тут иногда делаю вид что умею планировать

  2. #732

    По умолчанию

    Спасибо)

  3. #733
    Бывалый Аватар для Soliд
    Информация о пользователе
    Регистрация
    24.04.2011
    Адрес
    Далеко за горами
    Сообщений
    943
    Репутация: 33 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Иосиф Сталин Посмотреть сообщение
    У ХР нету дэша по умолчанию. Я где-то видел этот скрипт,но не помню где...
    в XAS есть система бегу, прыга и т.д....А найти его можно на Atelier RGSS...

  4. #734

    По умолчанию

    Всем доброго времени суток!
    ищу скрипт на VX Ace который поможет реализовать мою задумку!
    Мне нужно чтобы область видимости была не больше 6 клеток(хочу типо хоррор сделать)
    Лазил я по разным сайтам и проектам и подобного не нашел наверное слепой я!
    Заранее спасибо!
    Последний раз редактировалось vasabee; 27.10.2012 в 12:31. Причина: Опечатка

  5. #735

    По умолчанию

    И еще такой вопрос помогите пережевать этот скрипт (http://victorscripts.wordpress.com/r.../actor-events/) что то не пойму как его использовать =)
    Иногда кажется выбор персонаже через ивенты легче =)

  6. #736
    Новичок Аватар для Шалвенд
    Информация о пользователе
    Регистрация
    11.07.2012
    Адрес
    г. Белогорск, Амурская область
    Сообщений
    10
    Репутация: 1 Добавить или отнять репутацию

    По умолчанию

    Хочу использовать в своем проекте Zer0 CMS, но для его работы требуется Tons of Add-ons и на выбор CCTS или ATES. Насчет CCTS ничего не имею против, так как ее тоже хочу использовать, но Tons of Add-ons мне не нужен, там много лишнего. Можно ли как-нибудь убрать привязку CMS к ToA? Если нет, то можно ли вычленить то, что необходимо для работы CMS, и в отдельный скрипт убрать?

  7. #737

    По умолчанию

    Цитата Сообщение от Шалвенд Посмотреть сообщение
    Хочу использовать в своем проекте Zer0 CMS, но для его работы требуется Tons of Add-ons и на выбор CCTS или ATES. Насчет CCTS ничего не имею против, так как ее тоже хочу использовать, но Tons of Add-ons мне не нужен, там много лишнего. Можно ли как-нибудь убрать привязку CMS к ToA? Если нет, то можно ли вычленить то, что необходимо для работы CMS, и в отдельный скрипт убрать?
    Можно, смотришь какие скрипты CMS оттуда использует и удаляешь остальные.

    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 
    true, значит что скрипт нужен для работы. Там все разделы очень хорошо организованы, но все равно надо понимать что удаляешь.


    Dropbox — бесплатное хранилище файлов с прямыми ссылками.

    Humble Bundle — игры, подборки и наборы со скидками.

  8. #738
    Новичок Аватар для Шалвенд
    Информация о пользователе
    Регистрация
    11.07.2012
    Адрес
    г. Белогорск, Амурская область
    Сообщений
    10
    Репутация: 1 Добавить или отнять репутацию

    По умолчанию

    Значит, придется посидеть и помозговать, потому как полезные мне скрипты надо оставить. Сейчас и займусь.

    Arnon, спасибо)

  9. #739
    Маститый Аватар для Seibur
    Информация о пользователе
    Регистрация
    07.01.2012
    Адрес
    Изумрудный город
    Сообщений
    1,206
    Записей в дневнике
    3
    Репутация: 58 Добавить или отнять репутацию

    По умолчанию

    Доброго времени суток)
    Вот такая проблема есть скрипт нужно убрать лишнее:
    Код:
    #==============================================================================
    # 
    # 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
    # 
    #===============================================================================
    А именно биографию персонажей и описание классов.
    Одним словом выризать раздел биография.
    Прохлада и спокойствие мне вполне по душе

    Спойлер :

    き っ と 、 女 の 子 は お 砂 糖 と ス パ イ ス と 素 敵 な 何 か で で き て い る。

  10. #740
    Пользователь Аватар для Zetto
    Информация о пользователе
    Регистрация
    29.10.2012
    Сообщений
    33
    Репутация: 6 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Seibur Посмотреть сообщение
    Доброго времени суток)
    Вот такая проблема есть скрипт нужно убрать лишнее:
    Код:
    #==============================================================================
    # 
    # 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
    # 
    #===============================================================================
    А именно биографию персонажей и описание классов.
    Одним словом выризать раздел биография.
    Ты уже что то правил, а то скрипт не работает...

Страница 74 из 190 ПерваяПервая ... 2464727374757684124174 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 29 (пользователей: 0 , гостей: 29)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Поиск скриптов