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 6153
49 스킬 패시브 스킬 (출처 RPGXP 포럼 - 후우님) 18 백호 2009.02.21 2915
48 스킬 제한시간내 커맨드를 입력해야 스킬이 발동~ 3 file 백호 2009.02.22 2614
47 스킬 약간 수정한 심플액알(크리티컬,스킬) 10 백호 2009.02.22 3836
46 스킬 스킬창 업그레이드? ps인간 2009.01.23 3061
45 스킬 스킬제휴 스크립트 file 백호 2009.02.21 1294
44 스킬 스킬샵 스크립트 16 file 독도2005 2009.08.24 4219
43 스킬 스킬북 스크립트 8 WMN 2008.03.17 2452
42 스킬 스킬변화를 주는 스크립트 2 백호 2009.02.21 1204
41 스킬 스킬도감 오류 수정본 2 file 백호 2009.02.22 1340
40 스킬 스킬 포인트를 올리자! 3 what더붥 2012.01.26 2680
39 스킬 스킬 컷인 - 전투시만.. 4 file 허걱 2009.08.16 3298
38 스킬 스킬 추가 공격 스크립트 7 file 백호 2009.02.21 1697
37 스킬 스킬 업데이트 시스템 4 file 백호 2009.02.22 1644
36 스킬 스킬 레벨 스크립트 # 번역 진행중 6 빗자루씨 2010.02.11 1980
» 스킬 스킬 도감 1 백호 2009.02.21 1138
34 스킬 스킬 Learning 스크립트 1 file 백호 2009.02.21 1713
33 스킬 선택 스킬 스크립트 4 file 백호 2009.02.21 1631
32 스킬 랜덤 스킬 스크립트 2 file 백호 2009.02.21 978
31 스킬 기술문서(스킬 습득 아이템) 7 ok하승헌 2010.02.18 2132
30 스킬 [RTAB] 스킬영창시간 7 file 백호 2009.02.22 2872
Board Pagination Prev 1 2 3 Next
/ 3