Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

> Status Window with Full-Body Picture, Modeled after Tales of Symphonia
RisingPhoenix
post Feb 6 2008, 11:32 PM
Post #1


Level 6
Group Icon

Group: Member
Posts: 82
Type: None
RM Skill: Skilled




Here's a script I made that changes the status screen to look like the status screen in Tales of Symphonia, with all the attributes and equipment lined up on the left edge of the window, leaving room for a large status picture on the right. You can set the picture to be used for each character, as well as a default if you like.

CODE
#==============================================================================
# ■ RisingPhoenix_Window_Status
#------------------------------------------------------------------------------
#  Make the status window with room on the right for a large picture
#   Author: RisingPhoenix
#==============================================================================

module RisingPhoenix
  SmallFontSize = 18 #Size of smaller font on status screen
  WLH = 20 #Define line height for small font size; change for different font sizes
  X_Offset = 100 #How far to the right you want the picture to be
  CharacterFullPics = Array.new
  CharacterFullPics = {
  #(Leave file name blank for no picture for that character; picture files are stored in the System folder)
  #(Try to stick to a height of 390ish, anything below that is cut off - widths can vary but the picture will be right-aligned)
  #ID => "file name"
    1 => "",
  }
  DefaultFullPic = "" #Leave blank for no picture as the default
end

class Window_Status < Window_Base
  WLH = RisingPhoenix::WLH
  #--------------------------------------------------------------------------
  # ● Object initialization
  #     actor :The actor for which the window is being made
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 544, 416)
    @actor = actor
    refresh
  end
  #--------------------------------------------------------------------------
  # ● Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    if RisingPhoenix::CharacterFullPics[@actor.id] == nil
      if RisingPhoenix::DefaultFullPic != ""
        draw_status_pic(RisingPhoenix::DefaultFullPic)
      end
    elsif RisingPhoenix::CharacterFullPics[@actor.id] != ""
      draw_status_pic(RisingPhoenix::CharacterFullPics[@actor.id])
    end
    draw_actor_name(@actor, 4, 0)
    self.contents.font.size = RisingPhoenix::SmallFontSize
    draw_actor_class(@actor, 18, WLH + 4)
    draw_basic_info(4, WLH * 2 + 8)
    draw_parameters(4, WLH * 7 + 18)
    draw_equipments(4, WLH * 11 + 28)
  end
  #--------------------------------------------------------------------------
  # ● Define a function to draw the status picture
  #--------------------------------------------------------------------------
  def draw_status_pic(pic_name)
    bitmap = Cache.system(pic_name)
    rect = Rect.new(0, 0, 0, 0)
    rect.width = bitmap.width
    rect.height = bitmap.height
    x = RisingPhoenix::X_Offset
    self.contents.blt(x, 0, bitmap, rect)
    bitmap.dispose
  end
  #--------------------------------------------------------------------------
  # ● 基本情報の描画
  #     x : 描画先 X 座標
  #     y : 描画先 Y 座標
  #--------------------------------------------------------------------------
  def draw_basic_info(x, y)
    draw_actor_level(@actor, x, y + WLH * 0)
    #draw_actor_state(@actor, x, y + WLH * 1)
    draw_exp_info(x, y + WLH * 1)
    draw_actor_hp(@actor, x, y + WLH * 3)
    draw_actor_mp(@actor, x, y + WLH * 4)
  end
  #--------------------------------------------------------------------------
  # ● 能力値の描画
  #     x : 描画先 X 座標
  #     y : 描画先 Y 座標
  #--------------------------------------------------------------------------
  def draw_parameters(x, y)
    draw_actor_parameter(@actor, x, y + WLH * 0, 0)
    draw_actor_parameter(@actor, x, y + WLH * 1, 1)
    draw_actor_parameter(@actor, x, y + WLH * 2, 2)
    draw_actor_parameter(@actor, x, y + WLH * 3, 3)
  end
  #--------------------------------------------------------------------------
  # ● 経験値情報の描画
  #     x : 描画先 X 座標
  #     y : 描画先 Y 座標
  #--------------------------------------------------------------------------
  def draw_exp_info(x, y)
    s1 = @actor.exp_s
    s2 = @actor.next_rest_exp_s
    s_next = sprintf(Vocab::ExpNext, Vocab::level)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y + WLH * 0, 180, WLH, Vocab::ExpTotal)
    self.contents.draw_text(x, y + WLH * 1, 180, WLH, s_next)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y + WLH * 0, 180, WLH, s1, 2)
    self.contents.draw_text(x, y + WLH * 1, 180, WLH, s2, 2)
  end
  
  def draw_item_name(item, x, y, enabled = true)
    if item != nil
      draw_icon(item.icon_index, x, y, enabled)
      self.contents.font.color = normal_color
      self.contents.font.color.alpha = enabled ? 255 : 128
      self.contents.draw_text(x + 24, y, 172, WLH, item.name)
    end
  end
  #--------------------------------------------------------------------------
  # ● 装備品の描画
  #     x : 描画先 X 座標
  #     y : 描画先 Y 座標
  #--------------------------------------------------------------------------
  def draw_equipments(x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, Vocab::equip)
    for i in 0..4
      draw_item_name(@actor.equips[i], x, y + 22 * (i + 1))
    end
  end
end


Comments and feedback would be appreciated; if you find and errors/bugs let me know so I can try to fix them.

[Show/Hide] Screenshots



This post has been edited by RisingPhoenix: Feb 7 2008, 05:22 PM
Attached File(s)
Attached File  Status_Menu_Script.txt ( 5.09K ) Number of downloads: 767
Attached File  Project1.zip ( 425.39K ) Number of downloads: 1613
 


__________________________
「いい気なるな!目障り何だよ!僕の目の前から�消えて
まえ!魔神!煉獄殺!」
ー リオン・マグナス (テイルズオブデスティニー)
"Ii ki naru na! Mezawari nan da yo! Boku no me no mae kara...kiete shimae! Majin! Rengokusatsu!"
- Leon Magnus (Tales of Destiny)
Go to the top of the page
 
+Quote Post
   

Posts in this topic
- RisingPhoenix   Status Window with Full-Body Picture   Feb 6 2008, 11:32 PM
- - woratana   Nice and Short Script~^^ Good work, phoenix. Is t...   Feb 6 2008, 11:44 PM
- - Magdreamer   Where do you put the full body pictures.?   Feb 6 2008, 11:50 PM
- - SeeYouAlways   QUOTE #(Leave file name blank for no picture for t...   Feb 6 2008, 11:56 PM
- - woratana   @Magdreamer In folder "System" Edit: O...   Feb 6 2008, 11:57 PM
- - RisingPhoenix   Okay, uploaded and added a couple screenshots.   Feb 7 2008, 12:04 AM
- - woratana   Look very Nice! I love it Some question from...   Feb 7 2008, 12:13 AM
|- - neclords   QUOTE (woratana @ Feb 7 2008, 02:20 PM) L...   Feb 7 2008, 12:21 AM
- - Black Shadow   This is a very nice script. Im gonna use it. Howe...   Feb 7 2008, 02:03 AM
- - jasonicus   Looks like you copied the script wrong. No proble...   Feb 7 2008, 02:44 AM
|- - The Shadow   QUOTE (jasonicus @ Feb 7 2008, 10:51 AM) ...   Feb 7 2008, 02:47 AM
- - SeeYouAlways   Weird - it happens to me too! I could find no ...   Feb 7 2008, 02:58 AM
- - jasonicus   That is weird.   Feb 7 2008, 03:05 AM
- - Magdreamer   It needs some re-arranging, its too messy crammed ...   Feb 7 2008, 03:24 AM
- - Nechi   Nice!!! It's very short and easy t...   Feb 7 2008, 06:10 AM
|- - neclords   Well how about copy to notepad first. Than re-arra...   Feb 7 2008, 07:19 AM
- - RisingPhoenix   It has happened to me too with other scripts that ...   Feb 7 2008, 08:21 AM
- - woratana   You should put the script in code, not codebox COD...   Feb 7 2008, 01:45 PM
- - KryiTheRogue   I'm not exactly sure how to insert a picture f...   Jun 15 2008, 04:24 PM
- - jasonicus   Holy Necropost, Batman! Well, if you have a a...   Jun 15 2008, 04:55 PM
|- - phenixryte23   QUOTE (jasonicus @ Jun 16 2008, 12:55 AM)...   Dec 29 2008, 11:43 AM
- - Twilight27   Is the script availabe at the top the proper, impr...   Jun 16 2008, 12:26 PM
- - lato22   ok i did the whole 1 => "l2t2k lancer...   Jun 29 2008, 03:17 AM
- - zolaga   I tried it and my picture shows up centered...   Jul 5 2008, 04:01 PM
- - RisingPhoenix   @zolaga: The first thing I would check is if your ...   Jul 5 2008, 04:29 PM
|- - zolaga   QUOTE (RisingPhoenix @ Jul 5 2008, 04:43 ...   Jul 6 2008, 12:30 PM
- - DestinMancer   How do I use this with the RMVX large character pi...   Jul 18 2008, 02:56 PM
- - C4karura   hey i look in the code and i see kanji? will that...   Jul 26 2008, 03:32 PM
|- - RisingPhoenix   QUOTE (C4karura @ Jul 26 2008, 03:54 PM) ...   Jul 29 2008, 06:26 PM
- - GunZz   Don't work at me.I do everything but don't...   Jul 29 2008, 07:43 PM
- - RuGeaR1277   uhh... anyone have any idea where can i find the p...   Aug 1 2008, 09:45 PM
- - ouroboros   Hello. Is there a way to make the picture not be ...   Aug 7 2008, 08:01 PM
- - ouroboros   ::Bump:: Can I get a reply to this please? Tha...   Aug 26 2008, 12:07 PM
- - CaptainWinky   That border is there for all windows. You cannot p...   Aug 26 2008, 06:09 PM
- - ouroboros   Hmm; it actually kinda looks cool with the guy out...   Aug 27 2008, 08:20 AM
- - CaptainWinky   QUOTE (ouroboros @ Aug 27 2008, 07:42 AM)...   Aug 27 2008, 10:01 AM
- - Nymphara   I had been looking for something like this for a l...   Sep 5 2008, 03:59 PM
- - nobodyreal   Is there a way to make it where the profile pics t...   Sep 26 2008, 04:46 PM
- - Yangbo   Can you change the status image through an event? ...   Sep 26 2008, 06:33 PM
- - RisingPhoenix   If you want to change the status picture, you can ...   Sep 27 2008, 11:22 AM
|- - vxternity   RisingPheonix, I have some question about your stu...   Jun 11 2009, 03:19 PM
- - platipus   can there be a script the alignment of information...   Feb 4 2009, 11:35 PM
- - sandy   That's a really nice looking battle status win...   Feb 14 2009, 12:48 PM
- - Omegha   Wooohoo! Awesome script : D This is what I was...   Feb 14 2009, 01:15 PM
- - smuckfuzzer   It works great, but can I get some help. Theres a ...   Apr 13 2009, 12:33 PM
|- - griva001   QUOTE (smuckfuzzer @ Apr 13 2009, 01:33 P...   May 23 2009, 03:17 AM
- - beelzibub   This is a very cool script. It can add something r...   Apr 14 2009, 08:45 PM
- - griva001   Hi RisingPhoenix I really love your script, I real...   May 23 2009, 03:11 AM
- - SoloHero   QUOTE (griva001 @ May 23 2009, 04:11 AM) ...   May 23 2009, 05:18 PM
|- - griva001   QUOTE (SoloHero @ May 23 2009, 05:18 PM) ...   May 24 2009, 11:52 PM
|- - jejunum   QUOTE (griva001 @ May 24 2009, 11:52 PM) ...   May 26 2009, 02:00 PM
- - buny   wow... cool one   Jun 3 2009, 10:20 PM
- - HolyAeris   Hey im sorry im not all the experienced yet with i...   Jul 31 2009, 12:48 PM
- - darkgrammer   Same thing I'm using RGSS2+ and I can't ge...   Aug 6 2009, 11:47 AM
- - moonlight245a   Good job I love this script java script:add_smil...   Aug 10 2009, 05:53 PM
- - runefreak   An amazing script thanks   Sep 7 2009, 07:41 PM
- - Tsunar   how do u put the character picture inside the stat...   Jul 7 2010, 11:22 AM
|- - rpgxk   QUOTE (Tsunar @ Jul 7 2010, 11:22 AM) how...   Jul 7 2010, 11:48 AM
- - Ndoelicious   Nice..why I didnt see this thread years ago =.=   Feb 15 2012, 09:14 AM


Closed TopicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 18th June 2013 - 06:34 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker