XP 스크립트

#스킬 도감
#
#기본적으로 설정 방법법은 아이템 도감과 같습니다.
#스킬의 카테고리명을 @skill_kind_name 로 설정.
#@kind_row (으)로 설정한 카테고리명을 늘어놓고 싶은 차례로 설정.
#@skill_kind_element_name 에는 @skill_kind_name 에 대응한
#카테고리 판정용의 속성명을 설정해 주세요.
#
#이벤트 커멘드 「스크립트」로
#skill_book_max 로 최대 등록수
#skill_book_now 로 현재 등록수
#skill_book_comp로 완성율(소수점 이하 잘라버림)
#을 취득할 수 있습니다.
#그리고 ,skill_book_max("카테고리명")과 같이
#카테고리명을 인수에 건네주면(자) , 그 카테고리의
#최대 등록수를 취득할 수 있습니다.
#현재 등록수 , 완성율도 같습니다.
#
#2005.2.21
#·몰래 버그 수정입니다.
#변경점 skill_book_category_now
#
#2005.3.9
#·위력0시에는 「-」이라고 표기할까 선택할 수 있도록(듯이).
#
#2005.11.26
#·레이팅0의 스테이트를 표시하지 않게 선택 가능하게.

module Skill_Book_Config
  SHOW_COMPLETE_TYPE = 3        #도감 완성율의 표시 방법
                                #0:표시 없음 1:현재수/최대수 2:%표시 3:양쪽 모두
  DRAW_POW_ZERO = false          #위력0때 그대로 표시하는지 어떤지
                                #true:하는 false:하지 않는
  ZERO_POW_TEXT = "-"          #위력0때 표시하지 않는 경우 대신에 표시하는 말
  SHOW_ZERO_RATING_STATE = false #레이팅0의 스테이트도 표시해?
                                #true:하는 false:하지 않는
end

class Window_SkillBook_Info < Window_Selectable
  include Skill_Book_Config
end

class Data_SkillBook
  attr_reader :skill_kind_name
  attr_reader :kind_row
  attr_reader :skill_id_data
  attr_reader :skill_kind_element_name
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #--------------------------------------------------------------------------
  def initialize
   
    # ↓이하 , 설정용의 여러 가지
    @skill_kind_name = ["기술", "마술", "그 외"]
    @kind_row = ["기술",
                "마술",
                "그 외"]
    @skill_kind_element_name = ["물리 스킬", "마술 스킬", "그 외 스킬"]
    # ↑코코까지
   
    @skill_id_data = skill_book_id_set
  end
  #--------------------------------------------------------------------------
  # ● 지정된 종류 표시명의 정보를 돌려주는
  #--------------------------------------------------------------------------
  def kind_search(name)
    if @skill_kind_name.include?(name)
      return [0, @skill_kind_name.index(name)]
    end
  end
  #--------------------------------------------------------------------------
  # ● 도감용 등록 무시 속성 취득
  #--------------------------------------------------------------------------
  def no_add_element
    no_add = 0
    # 등록 무시의 속성ID을 취득
    for i in 1...$data_system.elements.size
      if $data_system.elements[i] =~ /도감 등록 무효/
        no_add = i
        break
      end
    end
    return no_add
  end
 
  #--------------------------------------------------------------------------
  # ● 지정된 속성명의 것ID을 돌려주는
  #--------------------------------------------------------------------------
  def element_search(element_name)
    return nil if element_name == nil
    for i in 1...$data_system.elements.size
      if $data_system.elements[i] =~ /^#{element_name}/
        return i
      end
    end
  end
 
  #--------------------------------------------------------------------------
  # ● 도감용 스킬ID설정
  #--------------------------------------------------------------------------
  def skill_book_id_set
    data = []
    no_add = no_add_element
    if @skill_kind_element_name.size == 0
      data[0] = [0]
      for i in 1...$data_skills.size
        skill = $data_skills[i]
        next if skill.name == ""
        next if skill.element_set.include?(no_add)
        data[0].push(skill.id)
      end
    else
      for i in 0...@skill_kind_element_name.size
        data[i] = [0]
        element_id = element_search(@skill_kind_element_name[i])
        for j in 1...$data_skills.size
          skill = $data_skills[j]
          next if skill.name == ""
          next if skill.element_set.include?(no_add)
          if skill.element_set.include?(element_id)
            data[i].push(skill.id)
          end
        end
      end
    end
    return data
  end
end

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 스킬을 기억하는
  #    skill_id : 스킬 ID
  #--------------------------------------------------------------------------
  alias game_actor_skill_book_learn_skill learn_skill
  def learn_skill(skill_id)
    game_actor_skill_book_learn_skill(skill_id)
    $game_system.add_skill_count(skill_id)
  end
end

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ● 기본 속성 표시
  #--------------------------------------------------------------------------
  def draw_attack_element(x, y, element_set)
    elem_temp = []
    for i in element_set
      elem = $data_system.elements[i]
      elem_temp.push("염") if elem == "염"
      elem_temp.push("빙") if elem == "빙"
      elem_temp.push("뢰") if elem == "뢰"
      elem_temp.push("수") if elem == "수"
      elem_temp.push("토") if elem == "토"
      elem_temp.push("풍") if elem == "풍"
      elem_temp.push("광") if elem == "광"
      elem_temp.push("암") if elem == "암"
    end
    if elem_temp.size == 0
      self.contents.draw_text(x, y, 64, 32, "없음")
      return
    end
    ox = 0
    for name in elem_temp
      cx = self.contents.text_size(name).width
      self.contents.draw_text(x+ox, y, cx, 32, name)
      ox += cx+8
    end
  end
  #--------------------------------------------------------------------------
  # ● 무기 속성 표시
  #--------------------------------------------------------------------------
  def draw_attack_wp_element(x, y, element_set)
    elem_temp = []
    for i in element_set
      elem = $data_system.elements[i]
      elem_temp.push("참") if elem == "참"
      elem_temp.push("타") if elem == "타"
      elem_temp.push("돌") if elem == "돌"
      elem_temp.push("쏘아 맞히고") if elem == "쏘아 맞히고"
      elem_temp.push("마") if elem == "마"
    end
    if elem_temp.size == 0
      self.contents.draw_text(x, y, 64, 32, "없음")
      return
    end
    ox = 0
    for name in elem_temp
      cx = self.contents.text_size(name).width
      self.contents.draw_text(x+ox, y, cx, 32, name)
      ox += cx+8
    end
  end
  #--------------------------------------------------------------------------
  # ● 특공 속성 표시
  #--------------------------------------------------------------------------
  def draw_attack_weak_element(x, y, element_set)
    elem_temp = []
    for i in element_set
      elem = $data_system.elements[i]
      elem_temp.push("불사") if elem == "대 불사"
      elem_temp.push("뱀")  if elem == "대 뱀"
      elem_temp.push("수서") if elem == "대 수서"
      elem_temp.push("수")  if elem == "대 수"
      elem_temp.push("귀")  if elem == "대 귀"
      elem_temp.push("조")  if elem == "대 새"
      elem_temp.push("악마") if elem == "대 악마"
      elem_temp.push("천사") if elem == "대 천사"
    end
    if elem_temp.size == 0
      self.contents.draw_text(x, y, 64, 32, "없음")
      return
    end
    ox = 0
    for name in elem_temp
      cx = self.contents.text_size(name).width
      self.contents.draw_text(x+ox, y, cx, 32, name)
      ox += cx+8
    end
  end
  #--------------------------------------------------------------------------
  # ● 스테이트 부여 표시
  #--------------------------------------------------------------------------
  def draw_attack_add_state(x, y, plus_state_set)
    state_temp = []
    for i in plus_state_set
      state = $data_states[i]
      if state.name != "" and (Skill_Book_Config::SHOW_ZERO_RATING_STATE or state.rating >= 1)
        state_temp.push(state.name)
      end
    end
    if state_temp.size == 0
      self.contents.draw_text(x, y, 64, 32, "없음")
      return
    end
    ox = 0
    oy = 0
    for name in state_temp
      cx = self.contents.text_size(name).width
      if ox + cx + 4 >= self.contents.width - 128
        ox = 0
        oy += 1
      end
      self.contents.draw_text(x+ox, y+oy*32, cx, 32, name)
      ox += cx+8
    end
  end
  #--------------------------------------------------------------------------
  # ● 효과 범위를 돌려주는
  #--------------------------------------------------------------------------
  def draw_scope(scope)
    case scope
    when 0
      return "없음"
    when 1
      return "적 단체"
    when 2
      return "적 전체"
    when 3
      return "아군 단체"
    when 4
      return "아군 전체"
    when 5
      return "아군 단체"
    when 6
      return "아군 전체"
    when 7
      return "사용자"
    end
  end
end

class Game_Temp
  attr_accessor :skill_book_data
  alias temp_skill_book_data_initialize initialize
  def initialize
    temp_skill_book_data_initialize
    @skill_book_data = Data_SkillBook.new
  end
end

class Game_System
  attr_accessor :skill_count              # 입수 스킬 정보(도감용)
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #--------------------------------------------------------------------------
  alias game_system_skill_book_initialize initialize
  def initialize
    game_system_skill_book_initialize
    @skill_count = {}
  end
  #--------------------------------------------------------------------------
  # ● 스킬의 획득 정보의 추가(도감용)
  #    0:무 획득 1:획득제
  #--------------------------------------------------------------------------
  def add_skill_count(skill_id, type=0)
    if type == -1
      @skill_count[skill_id] = 0
    else
      @skill_count[skill_id] = 1
    end
  end
  #--------------------------------------------------------------------------
  # ● 스킬 도감의 최대 등록수를 취득
  #--------------------------------------------------------------------------
  def skill_book_max
    kind_data = $game_temp.skill_book_data.skill_kind_name
    size = 0
    for kind in kind_data
      size += skill_book_category_max(kind)
    end
    return size
  end
  #--------------------------------------------------------------------------
  # ● 스킬 도감의 현재 등록수를 취득
  #--------------------------------------------------------------------------
  def skill_book_now
    kind_data = $game_temp.skill_book_data.skill_kind_name
    size = 0
    for kind in kind_data
      size += skill_book_category_now(kind)
    end
    return size
  end
  #--------------------------------------------------------------------------
  # ● 스킬 도감의 완성율을 취득
  #--------------------------------------------------------------------------
  def skill_book_complete_percentage
    s_max = skill_book_max.to_f
    s_now = skill_book_now.to_f
    comp = s_now / s_max * 100
    return comp.truncate
  end
  #--------------------------------------------------------------------------
  # ● 스킬 도감의 카테고리별 최대 등록수를 취득
  # category:카테고리명
  #--------------------------------------------------------------------------
  def skill_book_category_max(category)
    id_data = $game_temp.skill_book_data.skill_id_data.dup
    index = $game_temp.skill_book_data.kind_search(category)[1]
    size = id_data[index].size - 1
    return size
  end
  #--------------------------------------------------------------------------
  # ● 스킬 도감의 카테고리별 현재 등록수를 취득
  # category:카테고리명
  #--------------------------------------------------------------------------
  def skill_book_category_now(category)
    now_skill_info = @skill_count.keys
    index = $game_temp.skill_book_data.kind_search(category)[1]
    # 등록 무시의 속성ID을 취득
    no_add = $game_temp.skill_book_data.no_add_element
    elename = $game_temp.skill_book_data.skill_kind_element_name[index]
    element_id = $game_temp.skill_book_data.element_search(elename)
    new_skill_info = []
    for i in now_skill_info
      skill = $data_skills[i]
      next if skill == nil
      next if skill.name == ""
      next if skill.element_set.include?(no_add)
      if element_id == nil or skill.element_set.include?(element_id)
        new_skill_info.push(skill.id)
      end
    end
    return new_skill_info.size
  end
  #--------------------------------------------------------------------------
  # ● 스킬 도감의 카테고리별 완성율을 취득
  # category:카테고리명
  #--------------------------------------------------------------------------
  def skill_book_category_complete_percentage(category)
    s_max = skill_book_category_max(category).to_f
    s_now = skill_book_category_now(category).to_f
    comp = s_now / s_max * 100
    return comp.truncate
  end
end

class Interpreter
  def skill_book_max(category=nil)
    if category == nil
      return $game_system.skill_book_max
    else
      return $game_system.skill_book_category_max(category)
    end
  end
  def skill_book_now(category=nil)
    if category == nil
      return $game_system.skill_book_now
    else
      return $game_system.skill_book_category_now(category)
    end
  end
  def skill_book_comp(category=nil)
    if category == nil
      return $game_system.skill_book_complete_percentage
    else
      return $game_system.skill_book_category_complete_percentage(category)
    end
  end
end

class Window_SkillBook < Window_Selectable
  attr_reader  :data
  attr_reader  :item_kind
  attr_reader  :item_index
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #--------------------------------------------------------------------------
  def initialize(index=0)
    super(0, 64, 640, 416)
    @column_max = 2
    @book_data = $game_temp.skill_book_data
    @data = data_set(index)
    @data.shift
    #@data.sort!
    @item_max = @data.size
    @item_kind = index
    self.index = 0
    #refresh
  end
  def new_data_set(index)
    @data = data_set(index)
    @data.shift
    #@data.sort!
    @item_max = @data.size
  end
  #--------------------------------------------------------------------------
  # ● 입수 데이터를 취득
  #--------------------------------------------------------------------------
  def data_set(index)
    kind_row_data = @book_data.kind_search(@book_data.kind_row[index])
    @item_kind = kind_row_data[0]
    @item_index = kind_row_data[1]
    data = []
    case @item_kind
    when 0
      data = @book_data.skill_id_data[@item_index].dup
    end
    return data
  end
  #--------------------------------------------------------------------------
  # ● 표시 허가 취득
  #--------------------------------------------------------------------------
  def show?(kind, id)
    case kind
    when 0
      if $game_system.skill_count[id] == 0 or $game_system.skill_count[id] == nil
        return false
      else
        return true
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 아이템 취득
  #--------------------------------------------------------------------------
  def item
    return @data[self.index]
  end
  #--------------------------------------------------------------------------
  # ● 리프레쉬
  #--------------------------------------------------------------------------
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    #항목수가 0 나오지 않으면 비트 맵을 작성해 , 전 항목을 묘화
    return if @item_max == 0
    self.contents = Bitmap.new(width - 32, row_max * 32)
    for i in 0...@item_max
      draw_item(i)
    end
  end
  #--------------------------------------------------------------------------
  # ● 항목의 묘화
  #    index : 항목 번호
  #--------------------------------------------------------------------------
  def draw_item(index)
    case @item_kind
    when 0
      item = $data_skills[@data[index]]
      id = @book_data.skill_id_data[@item_index].index(item.id)
    end
    return if item == nil
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 32, 32, id.to_s)
    if show?(@item_kind, item.id)
      bitmap = RPG::Cache.icon(item.icon_name)
      opacity = 255
      self.contents.blt(x+48, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
      self.contents.draw_text(x+48 + 28, y, 212, 32, item.name, 0)
    else
      self.contents.draw_text(x+48 + 28, y, 212, 32, "-----", 0)
      return
    end
  end
end

class Window_SkillBook_Info < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0+64+64, 640, 480-64-64)
    @book_data = $game_temp.skill_book_data
    self.contents = Bitmap.new(width - 32, height - 32)
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # ● 리프레쉬
  #--------------------------------------------------------------------------
  def refresh(item_id, item_kind, item_index)
    self.contents.clear
    self.contents.font.size = 22
    case item_kind
    when 0
      draw_skill_info(item_id, item_index)
    end
  end
  #--------------------------------------------------------------------------
  # ● 스킬 묘화
  #--------------------------------------------------------------------------
  def draw_skill_info(item_id, item_index)
    item = $data_skills[item_id]
    rect = Rect.new(4, 0, 160, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = 255
    self.contents.blt(4+48, 0 + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.font.color = normal_color
    id = @book_data.skill_id_data[item_index].index(item.id)
    self.contents.draw_text(4, 0, 32, 32, id.to_s)
    self.contents.draw_text(4+48 + 28, 0, 212, 32, item.name, 0)
   
    cost = item.sp_cost.to_s
    self.contents.draw_text(4+48 + 28 + 232, 0, 48, 32, cost.to_s, 2)
   
    #skill_kind = skill_kind_name(item.element_set)
    #self.contents.draw_text(320+96, 0, 160, 32, skill_kind, 0)
    self.contents.font.color = text_color(2)
    self.contents.draw_text(4, 32, 48, 32, "위력", 0)
    self.contents.font.color = normal_color
    if item.power == 0 and DRAW_POW_ZERO == false
      pow = ZERO_POW_TEXT
    else
      pow = item.power.to_s
    end
    self.contents.draw_text(4+48, 32, 48, 32, pow, 2)
   
    self.contents.font.color = system_color
    self.contents.draw_text(4, 64, 48, 32, "범위", 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(4+96+16, 64, 128, 32, draw_scope(item.scope), 0)
   
    self.contents.font.color = system_color
    self.contents.draw_text(4, 96, 96, 32, "기본 속성")
    self.contents.draw_text(4, 128, 96, 32, "특공 속성")
    self.contents.draw_text(4, 160, 96, 32, "부여 스테이트")
    self.contents.font.color = normal_color
    draw_attack_element(4+96+16, 96, item.element_set)
    draw_attack_weak_element(4+96+16, 128, item.element_set)
    draw_attack_add_state(4+96+16, 160, item.plus_state_set)
   
    @help_window.set_text(item.description)
  end
  #--------------------------------------------------------------------------
  # ● 헬프 텍스트 갱신
  #--------------------------------------------------------------------------
  def update_help
    #더미
  end
end


class Scene_SkillBook
  include Skill_Book_Config
  #--------------------------------------------------------------------------
  # ● 메인 처리
  #--------------------------------------------------------------------------
  def main
    # 윈도우를 작성
    @title_window = Window_Base.new(0, 0, 640, 64)
    @title_window.contents = Bitmap.new(640 - 32, 64 - 32)
    @title_window.contents.draw_text(4, 0, 320, 32, "스킬 도감", 0)
    draw_comp
    @main_window = Window_SkillBook.new
    @main_window.active = false
    @main_window.index = -1
    @help_window = Window_Help.new
    @help_window.z = 110
    @help_window.y = 64
    @help_window.visible = false
    command = $game_temp.skill_book_data.kind_row
    @kind_window = Window_Command.new(160, command)
    @kind_window.z = 110
    @kind_window.x = 320 - @kind_window.width / 2
    @kind_window.y = 240 - @kind_window.height / 2
    @kind_window.active = true
    # 인포메이션 윈도우를 작성 (불가시·비액티브하게 설정)
    @info_window = Window_SkillBook_Info.new
    @info_window.z = 110
    @info_window.visible = false
    @info_window.active = false
    # 헬프 윈도우를 관련짓고
    @info_window.help_window = @help_window
    @visible_index = 0
    @now_kind = nil
    # 트란지션 실행
    Graphics.transition
    # 메인 루프
    loop do
      # 게임 화면을 갱신
      Graphics.update
      # 입력 정보를 갱신
      Input.update
      # 프레임 갱신
      update
      # 화면이 바뀌면(자) 루프를 중단
      if $scene != self
        break
      end
    end
    # 트란지션 준비
    Graphics.freeze
    # 윈도우를 해방
    @title_window.dispose
    @help_window.dispose
    @main_window.dispose
    @kind_window.dispose
    @info_window.dispose
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  def update
    # 윈도우를 갱신
    #@help_window.update
    @main_window.update
    @kind_window.update
    @info_window.update
    if @info_window.active
      update_info
      return
    end
    # 메인 윈도우가 액티브의 경우: update_target 를 부르는
    if @main_window.active
      update_main
      return
    end
    # 종류 윈도우가 액티브의 경우: update_kind 를 부르는
    if @kind_window.active
      update_kind
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신 (종류 윈도우가 액티브의 경우)
  #--------------------------------------------------------------------------
  def update_kind
    # C 버튼이 밀렸을 경우
    if Input.trigger?(Input::C)
      # 결정 SE 을 연주
      $game_system.se_play($data_system.decision_se)
      if @now_kind != @kind_window.index
        @main_window.new_data_set(@kind_window.index)
        @main_window.refresh
        @now_kind = @kind_window.index
      end
      subtitle = $game_temp.skill_book_data.kind_row[@kind_window.index]
      title = "스킬 도감:"+subtitle
      @title_window.contents.clear
      @title_window.contents = Bitmap.new(640 - 32, 64 - 32)
      @title_window.contents.draw_text(4, 0, 320, 32, title, 0)
      draw_comp(subtitle)
      @kind_window.active = false
      @kind_window.visible = false
      @main_window.active = true
      @main_window.index = 0
      return
    end
    # B 버튼이 밀렸을 경우
    if Input.trigger?(Input::B)
      # 캔슬 SE 을 연주
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신 (메인 윈도우가 액티브의 경우)
  #--------------------------------------------------------------------------
  def update_main
    # B 버튼이 밀렸을 경우
    if Input.trigger?(Input::B)
      # 캔슬 SE 을 연주
      $game_system.se_play($data_system.cancel_se)
      @main_window.active = false
      @kind_window.active = true
      @kind_window.visible = true
      @main_window.index = -1
      @title_window.contents.clear
      @title_window.contents = Bitmap.new(640 - 32, 64 - 32)
      @title_window.contents.draw_text(4, 0, 320, 32, "스킬 도감", 0)
      draw_comp
      return
    end
    # C 버튼이 밀렸을 경우
    if Input.trigger?(Input::C)
      if @main_window.item == nil or
        @main_window.show?(@main_window.item_kind, @main_window.item) == false
        # 버저 SE 를 연주
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # 결정 SE 을 연주
      $game_system.se_play($data_system.decision_se)
      @main_window.active = false
      @info_window.active = true
      @info_window.visible = true
      @visible_index = @main_window.index
      @info_window.refresh(@main_window.item, @main_window.item_kind, @main_window.item_index)
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신 (인포메이션 윈도우가 액티브의 경우)
  #--------------------------------------------------------------------------
  def update_info
    # B 버튼이 밀렸을 경우
    if Input.trigger?(Input::B)
      # 캔슬 SE 을 연주
      $game_system.se_play($data_system.cancel_se)
      @main_window.active = true
      @info_window.active = false
      @info_window.visible = false
      @help_window.visible = false
      return
    end
    # C 버튼이 밀렸을 경우
    if Input.trigger?(Input::C)
      # 결정 SE 을 연주
      $game_system.se_play($data_system.decision_se)
      return
    end
    if Input.trigger?(Input::L)
      # 결정 SE 을 연주
      $game_system.se_play($data_system.decision_se)
      loop_end = false
      while loop_end == false
        if @visible_index != 0
          @visible_index -= 1
        else
          @visible_index = @main_window.data.size - 1
        end
        loop_end = true if @main_window.show?(@main_window.item_kind,@main_window.data[@visible_index])
      end
      id = @main_window.data[@visible_index]
      @info_window.refresh(id, @main_window.item_kind, @main_window.item_index)
      return
    end
    if Input.trigger?(Input::R)
      # 결정 SE 을 연주
      $game_system.se_play($data_system.decision_se)
      loop_end = false
      while loop_end == false
        if @visible_index != @main_window.data.size - 1
          @visible_index += 1
        else
        @visible_index = 0
        end
        loop_end = true if @main_window.show?(@main_window.item_kind,@main_window.data[@visible_index])
      end
      id = @main_window.data[@visible_index]
      @info_window.refresh(id, @main_window.item_kind, @main_window.item_index)
      return
    end
  end
  def draw_comp(category=nil)
    if SHOW_COMPLETE_TYPE != 0
      if category == nil
        case SHOW_COMPLETE_TYPE
        when 1
          s_now = $game_system.skill_book_now
          s_max = $game_system.skill_book_max
          text = s_now.to_s + "/" + s_max.to_s
        when 2
          comp = $game_system.skill_book_complete_percentage
          text = comp.to_s + "%"
        when 3
          s_now = $game_system.skill_book_now
          s_max = $game_system.skill_book_max
          comp = $game_system.skill_book_complete_percentage
          text = s_now.to_s + "/" + s_max.to_s + " " + comp.to_s + "%"
        end
      else
        case SHOW_COMPLETE_TYPE
        when 1
          s_now = $game_system.skill_book_category_now(category)
          s_max = $game_system.skill_book_category_max(category)
          text = s_now.to_s + "/" + s_max.to_s
        when 2
          comp = $game_system.skill_book_category_complete_percentage(category)
          text = comp.to_s + "%"
        when 3
          s_now = $game_system.skill_book_category_now(category)
          s_max = $game_system.skill_book_category_max(category)
          comp = $game_system.skill_book_category_complete_percentage(category)
          text = s_now.to_s + "/" + s_max.to_s + " " + comp.to_s + "%"
        end
      end
      if text != nil
        @title_window.contents.draw_text(320, 0, 288, 32,  text, 2)
      end
    end
  end
end

Who's 백호

?

이상혁입니다.

http://elab.kr


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6313
701 기타 Sphere Grid System file 백호 2009.02.21 765
700 전투 전투 관련 횟수 취득 스크립트 백호 2009.02.21 783
699 기타 Materia System file 백호 2009.02.21 751
698 이동 및 탈것 8방향움직임과 8방향 캐릭터칩 호환 2 file 백호 2009.02.21 2275
697 스킬 [KGC] Skill Grouping 백호 2009.02.21 863
696 파티 Party & Class Changing script 1 file 백호 2009.02.21 964
695 맵/타일 World Map 스크립트 1 file 백호 2009.02.21 1983
694 기타 액터 선택 스크립트 2 백호 2009.02.21 1230
693 장비 Multi-equip script 2 file 백호 2009.02.21 1101
692 스킬 [KGC] 다단공격 (즉, 여러번 공격하는 스킬) 10 백호 2009.02.21 2818
691 기타 [KGC] 개요 스크립트 2 백호 2009.02.21 1052
690 장비 장비착용시 올스탯 표시 2 file 백호 2009.02.21 1667
» 스킬 스킬 도감 1 백호 2009.02.21 1139
688 기타 프리 윈도우 스크립트 (상입오두막 출처) 6 백호 2009.02.21 1449
687 기타 스크립트로 프리윈도우 예제 4 file 백호 2009.02.21 812
686 기타 killer님 요청하신 스크립트 두번째입니다. 나뚜루 2009.02.21 760
685 전투 SBABS게이지바 file 백호 2009.02.21 2288
684 기타 Anti Event Lag Script 3 백호 2009.02.21 1058
683 기타 시작하자 마자 풀 스크린 2 백호 2009.02.21 1084
682 기타 AMS-Advanced Message Script Edited by Dubleax 3 file 백호 2009.02.21 766
Board Pagination Prev 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ... 52 Next
/ 52