메뉴

캐릭터설명을 심플하게! 스크립트.

by 할렘 posted Feb 03, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄


이렇게 바꿔드립니다.기존의 체력,마력 게이지 뜨고 직업위에 뜨고 하는 유치한것들은 집어던질수있죠.

이건 제가 적용해보았을때입니다.^^
밑에 부터 복사하세요.
####################################################################
# Status_Enhanced v2.1
#
# By: SojaBird
# Site:
http://www.nestcast.blogspot.com
# Discription: A advanced version of the StatusWindow in the menu.
#
####################################################################

module SojaBird_SE
##############
# Start Setup
##############
  Font = "Tahoma" # Name of the font to use.
  FontSize = 15 # Size of the font to use.
  Name = "Name:" # Name-indication.
  Class = "Class:" # Class-indication.
  Level = "Level:" # Level-indication.
  State = "Status:" # Status-indication.
  HP = "HP:" # HP-indication.
  MP = "SP:" # SP-indication.
  NoState = "Normal" # What to draw when there is no state on the player.
##############
# End Setup
##############
end

 

###############
# Window_Base #
###############
class Window_Base < Window
 
  def draw_actor_name2(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 108, WLH, SojaBird_SE::Name, 0)
    self.contents.font.color = hp_color(actor)
    self.contents.draw_text(x, y, 108, WLH, actor.name, 2)
  end

  def draw_actor_class2(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 108, WLH, SojaBird_SE::Class, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 108, WLH, actor.class.name, 2)
  end

  def draw_actor_level2(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 108, WLH, SojaBird_SE::Level, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 108, WLH, actor.level, 2)
  end
 
  def draw_actor_state2(actor, x, y, width = 108)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 108, WLH, SojaBird_SE::State, 0)
    self.contents.font.color = normal_color
    if actor.states.empty?
      contents.draw_text(x, y, 108, WLH, SojaBird_SE::NoState, 2)
    else
      for state in actor.states
        contents.draw_text(x, y, 108, WLH, state.name, 2)
      end
    end
  end
 
  def draw_actor_hp2(actor, x, y, width = 120)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 33, WLH, SojaBird_SE::HP, 0)
    self.contents.font.color = hp_color(actor)
    last_font_size = self.contents.font.size
    xr = x + width
    if width < 120
      self.contents.draw_text(xr - 44, y, 44, WLH, actor.hp, 2)
    else
      self.contents.draw_text(xr - 99, y, 44, WLH, actor.hp, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(xr - 55, y, 11, WLH, "/", 2)
      self.contents.draw_text(xr - 44, y, 44, WLH, actor.maxhp, 0)
    end
  end

  def draw_actor_mp2(actor, x, y, width = 120)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 30, WLH, SojaBird_SE::MP, 0)
    self.contents.font.color = mp_color(actor)
    last_font_size = self.contents.font.size
    xr = x + width
    if width < 120
      self.contents.draw_text(xr - 44, y, 44, WLH, actor.mp, 2)
    else
      self.contents.draw_text(xr - 99, y, 44, WLH, actor.mp, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(xr - 55, y, 11, WLH, "/", 2)
      self.contents.draw_text(xr - 44, y, 44, WLH, actor.maxmp, 0)
    end
  end

  def draw_line(actor, x, y, width = 300)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 300, WLH, "____________________________________", 2)
  end

end

#####################
# Window_MenuStatus #
#####################
class Window_MenuStatus < Window_Selectable
 
  def refresh
    self.contents.clear
    self.contents.font.name = SojaBird_SE::Font
    self.contents.font.size = SojaBird_SE::FontSize
    @item_max = $game_party.members.size
    for actor in $game_party.members
      face_width = Cache.face(actor.face_name).width / 4
      face_height = Cache.face(actor.face_name).height / 2
      @face_size = [face_width, face_height].min
      if @face_size > 96
        @face_size = 96
      end
      draw_actor_face(actor, 0, actor.index * @face_size, @face_size) # Face
      x = 113
      y = actor.index * @face_size + WLH / 2
      draw_actor_name2(actor, x, y - 15) # Name
      draw_actor_class2(actor, x + 120, y - 15) # Class
      draw_actor_level2(actor, x, y + WLH * 1 - 15) # Lv
      draw_actor_state2(actor, x, y + WLH * 2 - 15) # State
      draw_actor_hp2(actor, x, y + WLH * 3 - 15) # Hp
      draw_actor_mp2(actor, x + 120, y + WLH * 3 - 15) # Mp
      draw_line(actor, x - 50, y + WLH * 3 - 8)
    end
  end
 
  def update_cursor
    if @index < 0               # No cursor
      self.cursor_rect.empty
    elsif @index < @item_max    # Normal
      self.cursor_rect.set(0, @index * @face_size, contents.width, @face_size)
    elsif @index >= 100         # Self
      self.cursor_rect.set(0, (@index - 100) * @face_size, contents.width, @face_size)
    else                        # All
      self.cursor_rect.set(0, 0, contents.width, @item_max * @face_size)
    end
  end
 
end


   
 

TAG •