Yoshi Recruta
| Assunto: Yanfly Engine RD - Scene Status ReDux Seg Fev 01, 2010 8:49 pm | |
| Yanfly Engine RD - Scene Status ReDuxDescriçãoCansado(a) da antiga tela de status do RMVX? Talvéz esse script possa ajudar! Funções.Nova tela de status com atributos representados por ícones (do iconset). .Opção para adicionar uma biografia do personagem onde podem ser colocados dados pessoais como aniversário, data de nascimento, etc.. IntruçõesCopie e cole o script acima do main. A área configurável do script inicia na linha 88. Screenshots- Spoiler:
DownloadNão precisa de demo não... script- Spoiler:
- Código:
-
#=============================================================================== # # Yanfly Engine RD - Scene Status ReDux # Last Date Updated: 2009.05.26 # Level: Normal, Hard, Lunatic # # There's not a whole lot of reason for the player to visit the status menu. # Not too much to see aside from things you can already view in other menus # such as the equipment menu for stats. This script will provide additional # functionality to the scene in addition to allowing the game maker to free # up additional space in the main menu for the not actor-oriented stuff. # #=============================================================================== # Updates: # ---------------------------------------------------------------------------- # o 2009.05.26 - Started script and finished. #=============================================================================== # Instructions #=============================================================================== # # This script is plug and play for the most part, but there's bound to be a lot # things you may want to modify so scroll down and reach each of the individual # instructions carefully for all sections and modify the constants properly. # #=============================================================================== # # Compatibility # - Works With: KGC scripts and others! # - Alias: Scene_Equip: return_scene # - Alias: Scene_Skill: return_scene # - Alias: Scene_Title: create_game_objects # - Alias: Game_Temp: initialize # - Overwrites: Scene_Status: all # #===============================================================================
$imported = {} if $imported == nil $imported["SceneStatusReDux"] = true
module YE module REDUX module STATUS #------------------------------------------------------------------------ # Instructions on how to set up the STATUS_COMMANDS order. #------------------------------------------------------------------------ # This array will let you determine how you want your status window # commands to be ordered. They will appear in the number you order them. # Each command is assigned a number and these are the following numbers. # # 0..Statistics 1..Biography 2..Skills 3..Equips # # The next couple are Yanfly Engine ReDux commands and require you to # have the respective scripts before they will appear in the menu. Be # sure to add them to STATUS_COMMANDS if you wish to display them. # # 4..Change Class .......... Requires Subclass Selection System # 5..Learn Skills .......... Requires Subclass Selection System # 6..Skill Slots ........... Requires Equip Skill Slots # # There are some pre-made imported functions for this script. Of them are # the popular and powerful KGC scripts and others which I've also found # to be rather interesting. # # 101..Distribute Parameter .. Requires KGC Distribute Parameter # 102..Equip Learn Skill ..... Requires KGC Equip Learn Skill # 103..Skill CP System ....... Requires KGC Skill CP System # 201..Skill Growth .......... Requires Garlyle's Skill Growth System # 301..Attributes ............ Requires 332211's Attribute System # 302..Soul Pieces ........... Requires 332211's Soul Pieces System # 303..Weapon by Ranks ....... Requires 332211's Weapon by Ranks System # # If you wish to add your own commands, you'll need to register them # under the lunatic mode portion of the script. #------------------------------------------------------------------------ STATUS_COMMANDS =[ # Make sure you've read the instructions above. 0, # Statistics 1, # Biography 2, # Skills 6, # Skill Slots 3, # Equips 4, # Change Class 5, # Learn Skills ] # Do not remove this. # The constants below will determine the unique sound and strings made # specificly for the Scene Status ReDux script. SOUND = RPG::SE.new("Book", 80, 100) STATUS = "Status" BIO = "Biography" # The following determines determines profile categories for various # profile information. BIRTHDAY = "Birthday: " AGE = "Age: " ORIGIN = "Origin: " GENDER = "Gender: " HEIGHT = "Height: " WEIGHT = "Weight: " UNKNOWN = "Unknown" # This hash will let you determine what full names to give your # individual actors. Use %s to indicate where the RPG name appears. ACTOR_PROFILES1 ={ # Actor => [ Full Name, Origin, Gender, Height, Weight] 1 => [ "%s von Xiguel", "Pallia", "Male", "177.8 cm", "72.7 kg"], 2 => [ "Michelle %s", "Retvin", "Female", "170.2 cm", "Unknown"], 3 => [ "%s Manfred", "Namek", "Male", "182.9 cm", "68.2 kg"], 4 => [ "%s Fernaeus", "Yerd", "Female", "162.6 cm", "Secret~"], } # Do not remove this. # The following hash will determine the birthday information about the # actor. The VarID is what stores the birthday. Change the variable to # change the actor's age in the actual menu. The start age is what the # variable initially sets the actor's age to. The birthday is just the # date that the actor is born. Nothing else special about it. ACTOR_PROFILES2 ={ # Actor => [ VarID, StartAge, Birthday] 1 => [ 21, 18, "May 26"], 2 => [ 22, 17, "Jan 14"], 3 => [ 23, 18, "Oct 31"], 4 => [ 24, 19, "June 3"], } # Do not remove this. # This will determine the size of the font used for the biography window. BIO_FONT_SIZE = 20 # This section will allow you to type out the actor biographies. To # cause a line break, use a | in the middle of the string. If the actors # do not have a biography here, it will show actor 0 instead. For that # reason, do NOT remove actor 0. ACTOR_BIOGRAPHIES ={ # Actor => Biography 0 => "UNKNOWN UNKNOWN UNKNOWN|UNKNOWN UNKNOWN UNKNOWN|UNKNOWN UNKNOWN UNKNOWN|UNKNOWN UNKNOWN UNKNOWN|UNKNOWN UNKNOWN UNKNOWN|UNKNOWN UNKNOWN UNKNOWN|UNKNOWN UNKNOWN UNKNOWN|UNKNOWN UNKNOWN UNKNOWN", 1 => "Ralph has set off on a quest to save|Don Miguel from the clutches of the evil|witch Margaret. Accompanied by Ulrika,|Bennett, and Ylva, Ralph adventures|the world to find Don Miguel.||\"Let's hurry! Don Miguel cannot wait|much longer!\"", 2 => "Ulrika trained with Ralph before Don|Miguel was kidnapped. She always sees|Ralph as a rival, but also a source of|inspiration. Ulrika firmly believes that|training will let her get rid of her many|weaknesses.||\"Strength comes from a trained heart.\"", 3 => "Bennett choose the wrong profession|given his bursting personality. He and|his best friend Ralph give each other|motivation to strengthen themselves|and to become the ultimate tagteam|ever known to the world.||\"Their priest is a sissy! You heard me,|a sissy!\"", 4 => "Ylva studies in her free time about|various magic and locations. This is|why it seems like she knows a lot,|but the truth is that she only knows|what she has read in books.||\"Why risk your life to experience|something when you can read about|it in a book?\"", } # Do not remove this. # The following sets the statistical information for your actors. # These are all of the information you'll see in the statistics window. ICON_LVL = 62 # Icon for level TEXT_LVL = "Level" # Text for level ICON_EXP = 63 # Icon for experience TEXT_EXP = "EXP" # Text for experience ICON_NEXT = 142 # Icon for next level TEXT_NEXT = "Next" # Text for next level ICON_HP = 99 # Icon for HP ICON_MP = 100 # Icon for MP ICON_ATK = 2 # Icon for ATK TEXT_ATK = "ATK" # Text for ATK ICON_DEF = 52 # Icon for DEF TEXT_DEF = "DEF" # Text for DEF ICON_SPI = 21 # Icon for SPI TEXT_SPI = "SPI" # Text for SPI ICON_AGI = 48 # Icon for AGI TEXT_AGI = "AGI" # Text for AGI ICON_HIT = 135 # Icon for HIT TEXT_HIT = "HIT" # Text for HIT SHOW_HIT = true # Display HIT? ICON_EVA = 158 # Icon for EVA TEXT_EVA = "EVA" # Text for EVA SHOW_EVA = true # Display EVA? ICON_CRI = 119 # Icon for CRI TEXT_CRI = "CRI" # Text for CRI SHOW_CRI = true # Display CRI? ICON_ODDS = 137 # Icon for ODDS TEXT_ODDS = "LUK" # Text for ODDS SHOW_ODDS = true # Display ODDS? end # STATUS end # REDUX end # YE
#=============================================================================== # How to Use: Lunatic Mode #=============================================================================== # # If you do not understand hashes, I -STRONGLY- recommend that you stay away # from this portion of the script as it affects the rest of the script if you # make a slight mistake. # # - First, under IMPORTED_COMMANDS, fill out the hash properly. You will have # to fill them out correctly given the categories. # # Swch? - Does this command require a switch to be on in order to be shown? # SwID - If the previous was true, this is the Switch ID needed to be on. # Title - This is the text that appears on the status command window. # Scene - This is the name of the scene you wish to load. # # - Given that you've done everything correctly, return to the top and adjust # the STATUS_COMMANDS array. Input number 101 or whatever number you've used # to determine the scene you wish to launch from the status menu. # # Note that if you exit the imported scenes, they will return to the main menu # rather than the status menu. It will remain that way until you edit those # scripts's respective return_scene definitions. # #===============================================================================
module YE module REDUX module STATUS # The following hash will govern the way the status menu will treat # imported commands. If you do not follow the setup properly, do not # expect the script to function correctly. IMPORTED_COMMANDS ={ # -ID => [Swch?, SwID, ----Title----, -----------Scene-----------] 101 => [false, 0, "Level Up", "Scene_DistributeParameter"], 102 => [false, 0, "View AP", "Scene_APViewer"], 103 => [false, 0, "Skill CP", "Scene_SetBattleSkill"], 201 => [false, 0, "Grow Skill", "Scene_SkillGrowth"], 301 => [false, 0, "Attributes", "Scene_Attributes"], 302 => [false, 0, "Soul Pieces", "Scene_soulpieces"], 303 => [false, 0, "Weapon Rank", "Scene_weapon_by_ranks"], } # Do not remove this. end # STATUS end # REDUX end # YE
#=============================================================================== # Editting anything past this point may potentially result in causing computer # damage, incontinence, explosion of user's head, coma, death, and/or halitosis. # Therefore, edit at your own risk. #===============================================================================
#=============================================================================== # Scene Status #===============================================================================
class Scene_Status < Scene_Base #-------------------------------------------------------------------------- # create command list # --- This portion creates the commands for the status window. #-------------------------------------------------------------------------- def create_command_list commands = [] index_list = {} YE::REDUX::STATUS::STATUS_COMMANDS.each_with_index { |c, i| case c when 0 # View Statistics index_list[:stats] = commands.size commands.push(YE::REDUX::STATUS::STATUS) when 1 # View Biography index_list[:bio] = commands.size commands.push(YE::REDUX::STATUS::BIO) when 2 # Skill Menu index_list[:skill] = commands.size commands.push(Vocab.skill) when 3 # Equipment index_list[:equip] = commands.size commands.push(Vocab.equip) when 4 # Change Class next unless $imported["SubclassSelectionSystem"] next unless $game_switches[YE::SUBCLASS::ENABLE_CLASS_CHANGE_SWITCH] index_list[:classchange] = commands.size commands.push(YE::SUBCLASS::MENU_CLASS_CHANGE_TITLE) when 5 # Learn Skill next unless $imported["SubclassSelectionSystem"] next unless $game_switches[YE::SUBCLASS::ENABLE_LEARN_SKILLS_SWITCH] index_list[:learnskill] = commands.size commands.push(YE::SUBCLASS::LEARN_SKILL_TITLE) when 6 # Skill Slots next unless $imported["EquipSkillSlots"] next unless $game_switches[YE::EQUIPSKILL::ENABLE_SLOTS_SWITCH] index_list[:equipskill] = commands.size commands.push(YE::EQUIPSKILL::MENU_TITLE) else command_array = YE::REDUX::STATUS::IMPORTED_COMMANDS next unless command_array.include?(c) command_array = command_array[c] next if command_array[0] and !$game_switches[command_array[1]] index_list[c] = commands.size commands.push(command_array[2]) end } # Do not remove this. $game_temp.status_command_index = index_list return commands end # create_command_list #-------------------------------------------------------------------------- # case_command_selection #-------------------------------------------------------------------------- def case_command_selection(index) case index when $game_temp.status_command_index[:stats] YE::REDUX::STATUS::SOUND.play $game_temp.status_bio_flag = 0 start_visible_windows when $game_temp.status_command_index[:bio] YE::REDUX::STATUS::SOUND.play $game_temp.status_bio_flag = 1 start_visible_windows when $game_temp.status_command_index[:skill] Sound.play_decision $scene = Scene_Skill.new(@actor_index) when $game_temp.status_command_index[:equip] Sound.play_decision $scene = Scene_Equip.new(@actor_index) when $game_temp.status_command_index[:classchange] Sound.play_decision $scene = Scene_Class_Change.new(@actor_index) when $game_temp.status_command_index[:learnskill] Sound.play_decision $scene = Scene_Learn_Skill.new(@actor_index) when $game_temp.status_command_index[:equipskill] Sound.play_decision $scene = Scene_Equip_Skill.new(@actor_index) else return_check = true for key in $game_temp.status_command_index if $game_temp.status_command_index[key[0]] == index return_check = false found_key = key[0] break end end return if return_check Sound.play_decision command_array = YE::REDUX::STATUS::IMPORTED_COMMANDS[found_key] $scene = eval(command_array[3] + ".new(@actor_index)") end end # case_command_selection #-------------------------------------------------------------------------- # overwrite initialize #-------------------------------------------------------------------------- def initialize(actor_index = 0, menu_index = 0) @menu_index = menu_index $game_temp.status_menu_flag = true @actor_index = actor_index @actor = $game_party.members[@actor_index] end #-------------------------------------------------------------------------- # overwrite start #-------------------------------------------------------------------------- def start super create_menu_background @status_window = Window_Status.new(@actor) @status_mini_window = Window_Status_Mini.new(@actor) @status_bio_window = Window_Status_Bio.new(@actor) start_visible_windows create_command_window end #-------------------------------------------------------------------------- # overwrite terminate #-------------------------------------------------------------------------- def terminate super dispose_menu_background @command_window.dispose if @command_window != nil @status_window.dispose if @status_window != nil @status_mini_window.dispose if @status_mini_window != nil @status_bio_window.dispose if @status_bio_window != nil end #-------------------------------------------------------------------------- # overwrite return scene #-------------------------------------------------------------------------- def return_scene if $imported["CustomMenuCommand"] and $game_temp.menu_command_index.has_key?(:status) $scene = Scene_Menu.new($game_temp.menu_command_index[:status]) elsif $imported["CustomMenuCommand"] $scene = Scene_Map.new else $scene = Scene_Menu.new(3) end $game_temp.status_menu_flag = false end #-------------------------------------------------------------------------- # overwrite next actor #-------------------------------------------------------------------------- def next_actor @actor_index += 1 @actor_index %= $game_party.members.size $scene = Scene_Status.new(@actor_index, @command_window.index) end #-------------------------------------------------------------------------- # overwrite prev actor #-------------------------------------------------------------------------- def prev_actor @actor_index += $game_party.members.size - 1 @actor_index %= $game_party.members.size $scene = Scene_Status.new(@actor_index, @command_window.index) end #-------------------------------------------------------------------------- # overwrite update #-------------------------------------------------------------------------- def update super update_menu_background @command_window.update if Input.trigger?(Input::B) Sound.play_cancel return_scene elsif Input.trigger?(Input::C) $game_temp.status_menu_index = @command_window.index case_command_selection(@command_window.index) elsif Input.trigger?(Input::R) Sound.play_cursor next_actor elsif Input.trigger?(Input::L) Sound.play_cursor prev_actor end end #-------------------------------------------------------------------------- # create command window #-------------------------------------------------------------------------- def create_command_window commands = create_command_list @command_window = Window_Command.new(160, commands) @command_window.y = 128 @command_window.height = 288 @command_window.opacity = 0 @command_window.index = @menu_index end #-------------------------------------------------------------------------- # start visible windows #-------------------------------------------------------------------------- def start_visible_windows @status_mini_window.visible = false @status_bio_window.visible = false case $game_temp.status_bio_flag when 0 @status_mini_window.visible = true when 1 @status_bio_window.visible = true end end end
#============================================================================== # Game_Temp #==============================================================================
class Game_Temp #-------------------------------------------------------------------------- # Public Instance Variables #-------------------------------------------------------------------------- attr_accessor :status_command_index attr_accessor :status_menu_flag attr_accessor :status_menu_index attr_accessor :status_bio_flag #-------------------------------------------------------------------------- # alias initialize #-------------------------------------------------------------------------- alias initialize_statusrd initialize unless $@ def initialize initialize_statusrd @status_command_index = {} @status_menu_flag = false @status_menu_index = 0 @status_bio_flag = 0 end end
#=============================================================================== # Scene Title #===============================================================================
class Scene_Title < Scene_Base #-------------------------------------------------------------------------- # alias create game objects #-------------------------------------------------------------------------- alias create_game_objects_statusrd create_game_objects unless $@ def create_game_objects create_game_objects_statusrd for key in YE::REDUX::STATUS::ACTOR_PROFILES2 narray = key[1] $game_variables[narray[0]] = narray[1] end end end # Scene_Title
#=============================================================================== # return scene alias #=============================================================================== unless $imported["SceneSkillReDux"] class Scene_Skill < Scene_Base #-------------------------------------------------------------------------- # alias return scene #-------------------------------------------------------------------------- alias skill_return_scene_statusrd return_scene unless $@ def return_scene if $game_temp.status_menu_flag $scene = Scene_Status.new(@actor_index, $game_temp.status_menu_index) else skill_return_scene_statusrd end end end end unless $imported["SceneEquipReDux"] class Scene_Equip < Scene_Base #-------------------------------------------------------------------------- # alias return scene #-------------------------------------------------------------------------- alias equip_return_scene_statusrd return_scene unless $@ def return_scene if $game_temp.status_menu_flag $scene = Scene_Status.new(@actor_index, $game_temp.status_menu_index) else equip_return_scene_statusrd end end end end
#=============================================================================== # Window_Status #===============================================================================
class Window_Status < Window_Base #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(actor) super(0, 0, 544, 416) @actor = actor refresh end #-------------------------------------------------------------------------- # refresh #-------------------------------------------------------------------------- def refresh self.contents.clear draw_actor_face(@actor, 0, 0) profile1 = YE::REDUX::STATUS::ACTOR_PROFILES1 profile2 = YE::REDUX::STATUS::ACTOR_PROFILES2 if profile1.include?(@actor.id) text = sprintf(profile1[@actor.id][0], @actor.name) else text = @actor.name end self.contents.draw_text(112, 0, 180, WLH, text, 0) #---- dx = 112 if $imported["SubclassSelectionSystem"] if YE::SUBCLASS::CLASS_ICONS.include?(@actor.class.id) icon = YE::SUBCLASS::CLASS_ICONS[@actor.class.id] else icon = YE::SUBCLASS::CLASS_ICONS[0] end draw_icon(icon, dx, 24) dx += 24 if @actor.subclass != nil if YE::SUBCLASS::CLASS_ICONS.include?(@actor.subclass.id) icon = YE::SUBCLASS::CLASS_ICONS[@actor.subclass.id] else icon = YE::SUBCLASS::CLASS_ICONS[0] end draw_icon(icon, dx, 24) dx += 24 end end draw_actor_class(@actor, dx, 24) #---- self.contents.font.color = system_color text1 = YE::REDUX::STATUS::BIRTHDAY text2 = YE::REDUX::STATUS::AGE self.contents.draw_text(112, 48, 90, WLH, text1, 2) self.contents.draw_text(112, 72, 90, WLH, text2, 2) if profile2.include?(@actor.id) text1 = profile2[@actor.id][2] text2 = $game_variables[profile2[@actor.id][0]] else text1 = YE::REDUX::STATUS::UNKNOWN text2 = YE::REDUX::STATUS::UNKNOWN end self.contents.font.color = normal_color self.contents.draw_text(202, 48, 90, WLH, text1, 0) self.contents.draw_text(202, 72, 90, WLH, text2, 0) #---- self.contents.font.color = system_color text1 = YE::REDUX::STATUS::ORIGIN text2 = YE::REDUX::STATUS::GENDER text3 = YE::REDUX::STATUS::HEIGHT text4 = YE::REDUX::STATUS::WEIGHT self.contents.draw_text(292, 0, 90, WLH, text1, 2) self.contents.draw_text(292, 24, 90, WLH, text2, 2) self.contents.draw_text(292, 48, 90, WLH, text3, 2) self.contents.draw_text(292, 72, 90, WLH, text4, 2) if profile1.include?(@actor.id) text1 = profile1[@actor.id][1] text2 = profile1[@actor.id][2] text3 = profile1[@actor.id][3] text4 = profile1[@actor.id][4] else text1 = YE::REDUX::STATUS::UNKNOWN text2 = YE::REDUX::STATUS::UNKNOWN text3 = YE::REDUX::STATUS::UNKNOWN text4 = YE::REDUX::STATUS::UNKNOWN end self.contents.font.color = normal_color self.contents.draw_text(382, 0, 90, WLH, text1, 0) self.contents.draw_text(382, 24, 90, WLH, text2, 0) self.contents.draw_text(382, 48, 90, WLH, text3, 0) self.contents.draw_text(382, 72, 90, WLH, text4, 0) #---- end end # Window_Status
#============================================================================== # Window_Status_Mini #==============================================================================
class Window_Status_Mini < Window_Base #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(actor) super(160, 128, 384, 288) @actor = actor self.opacity = 0 self.visible = false refresh end #-------------------------------------------------------------------------- # refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = system_color #--- sw = self.width - 32 dx = 0 dy = 0 draw_icon(YE::REDUX::STATUS::ICON_LVL, dx, dy) self.contents.draw_text(dx+24, dy, 60, WLH, YE::REDUX::STATUS::TEXT_LVL) dy += WLH draw_icon(YE::REDUX::STATUS::ICON_NEXT, dx, dy) self.contents.draw_text(dx+24, dy, 60, WLH, YE::REDUX::STATUS::TEXT_NEXT) dy += WLH draw_icon(YE::REDUX::STATUS::ICON_EXP, dx, dy) self.contents.draw_text(dx+24, dy, 60, WLH, YE::REDUX::STATUS::TEXT_EXP) dy = WLH * 3 draw_icon(YE::REDUX::STATUS::ICON_HP, dx, dy) draw_actor_hp(@actor, dx+24, dy, 128) dy += WLH self.contents.font.color = system_color draw_icon(YE::REDUX::STATUS::ICON_ATK, dx, dy) self.contents.draw_text(dx+24, dy, 60, WLH, YE::REDUX::STATUS::TEXT_ATK) dy += WLH draw_icon(YE::REDUX::STATUS::ICON_DEF, dx, dy) self.contents.draw_text(dx+24, dy, 60, WLH, YE::REDUX::STATUS::TEXT_DEF) dy += WLH draw_icon(YE::REDUX::STATUS::ICON_SPI, dx, dy) self.contents.draw_text(dx+24, dy, 60, WLH, YE::REDUX::STATUS::TEXT_SPI) dy += WLH draw_icon(YE::REDUX::STATUS::ICON_AGI, dx, dy) self.contents.draw_text(dx+24, dy, 60, WLH, YE::REDUX::STATUS::TEXT_AGI) #--- dx = sw/2 dy = WLH * 3 draw_icon(YE::REDUX::STATUS::ICON_MP, dx, dy) draw_actor_mp(@actor, dx+24, dy, 128) dy += WLH self.contents.font.color = system_color if YE::REDUX::STATUS::SHOW_HIT draw_icon(YE::REDUX::STATUS::ICON_HIT, dx, dy) self.contents.draw_text(dx+24, dy, 60, WLH, YE::REDUX::STATUS::TEXT_HIT) end dy += WLH if YE::REDUX::STATUS::SHOW_EVA draw_icon(YE::REDUX::STATUS::ICON_EVA, dx, dy) self.contents.draw_text(dx+24, dy, 60, WLH, YE::REDUX::STATUS::TEXT_EVA) end dy += WLH if YE::REDUX::STATUS::SHOW_CRI draw_icon(YE::REDUX::STATUS::ICON_CRI, dx, dy) self.contents.draw_text(dx+24, dy, 60, WLH, YE::REDUX::STATUS::TEXT_CRI) end dy += WLH if YE::REDUX::STATUS::SHOW_ODDS draw_icon(YE::REDUX::STATUS::ICON_ODDS, dx, dy) self.contents.draw_text(dx+24, dy, 60, WLH, YE::REDUX::STATUS::TEXT_ODDS) end #--- self.contents.font.color = normal_color dw = sw - 84 dx = 84 dy = 0 self.contents.draw_text(dx, dy, 68, WLH, @actor.level); dy += WLH self.contents.draw_text(dx, dy, dw, WLH, @actor.next_rest_exp_s); dy += WLH self.contents.draw_text(dx, dy, dw, WLH, @actor.exp_s); dy += WLH dy = WLH * 4 self.contents.draw_text(dx, dy, 68, WLH, @actor.atk, 0); dy += WLH self.contents.draw_text(dx, dy, 68, WLH, @actor.def, 0); dy += WLH self.contents.draw_text(dx, dy, 68, WLH, @actor.spi, 0); dy += WLH self.contents.draw_text(dx, dy, 68, WLH, @actor.agi, 0); dy += WLH dy = WLH * 4 dx = sw/2 + 84 if YE::REDUX::STATUS::SHOW_HIT text = sprintf("%d%%", @actor.hit) self.contents.draw_text(dx, dy, 68, WLH, text, 0) end; dy += WLH if YE::REDUX::STATUS::SHOW_EVA text = sprintf("%d%%", @actor.eva) self.contents.draw_text(dx, dy, 68, WLH, text, 0) end; dy += WLH if YE::REDUX::STATUS::SHOW_CRI text = sprintf("%d%%", @actor.cri) self.contents.draw_text(dx, dy, 68, WLH, text, 0) end; dy += WLH if YE::REDUX::STATUS::SHOW_ODDS self.contents.draw_text(dx, dy, 68, WLH, @actor.odds, 0) end; dy += WLH end end # Window_Status_Mini
#============================================================================== # Window_Status_Bio #==============================================================================
class Window_Status_Bio < Window_Base #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(actor) super(160, 128, 384, 288) @actor = actor self.opacity = 0 refresh end #-------------------------------------------------------------------------- # refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = normal_color self.contents.font.size = YE::REDUX::STATUS::BIO_FONT_SIZE if YE::REDUX::STATUS::ACTOR_BIOGRAPHIES.include?(@actor.id) text = YE::REDUX::STATUS::ACTOR_BIOGRAPHIES[@actor.id] else text = YE::REDUX::STATUS::ACTOR_BIOGRAPHIES[0] end y = 0 txsize = YE::REDUX::STATUS::BIO_FONT_SIZE + 4 nwidth = 544 buf = text.gsub(/\\N(\[\d+\])/i) { "\\__#{$1}" } lines = buf.split(/(?:[|]|\\n)/i) lines.each_with_index { |l, i| l.gsub!(/\\__(\[\d+\])/i) { "\\N#{$1}" } self.contents.draw_text(0, i * txsize + y, nwidth, WLH, l, 0) } end end # Window_Status_Bio
#=============================================================================== # # END OF FILE # #===============================================================================
CréditosYanfly, por criar o script |
|