질문과 답변

Extra Form

아래 질문글은 적당히 해결하고 (스킬 카테고리 스크립트에서 모든 스킬보기를 제일 위로 끌어올렸더니 해결되더군요)

 

KGC_PassiveSkill  을 적용시켜서 작업중인데, 

 

패시브 스킬의 적용은 잘 되는데, 이게 전투중에도 스킬 메뉴에 표시가 되어서 사용까지 가능하네요;;; 

 

전투중에는 패시브 스킬을 안보이게 하는 좋은 방법이 없을까요;;;

 

 

 

 

초보는 정말 힘들군요 ㅠ_ㅠ

 

답변 주신 모든 분들께 감사드립니다.

Comment '7'
  • profile
    습작 2010.09.15 09:31

    KGC_PassiveSkill 은 못써봐서 모르겠습니다만, 패시브스킬은 어차비 습득여부에 따른 능력 변동인 만큼,

    사용 가능한 때를 사용 불능으로 막아두면 되지 않을까 싶습니다.


    안보이게 하는 방법으로는 잘 모르겠습니다. 스킬 분류 등을 응용하면 되지 않을까 싶기도 하지만, 그쪽 스크립트도 안써봐서 잘 모르겠네요.

  • ?
    니노미야 2010.09.15 10:37

    전투시만 사용가능하게 체크해버리면, 스킬을 장착할 수 없는 상황이 벌어지더군요 ㅎㅎㅎ ... ㅎ ㅠ_ㅠ 

  • ?
    시트르산 2010.09.15 11:13

    스킬 카테고리에서

    전투시와 비전투시 메뉴 하에서 구분을 다르게 할 수 있는 점을 활용해서

     

    패시브 스킬을 전투시에 분류를 하지 말아보세요.

     

    저같은 경우는 전투시에

    ( 스킬, 마법, OverDrive, 기타 )

     로 분류를 하고,

     전투 시에는 모든 스킬을 표시하는 "모두" 라는 분류는 하지 않는 대신

     전투시에 표시하고 싶지 않은 스킬을 모두 전투시에 분류를 하지 않는 방법으로

     전투시에 의도하지 않은스킬의 사용이나 표시를 막고 있습니다

  • ?
    니노미야 2010.09.15 11:14

    패시브 스킬은 전투시 카테고리 항목에 추가해놓지 않았는데도, ' 전종' 항목이 있어서 그런지 출력되더군요.

     

    그렇다고 전종 항목을 날려버리면, 가장 상위에 있는 '회복' 카테고리의 스킬만 출력되는 상황이라...

  • ?
    시트르산 2010.09.15 11:17

    아마 카테고라이즈드 스킬의 버전상 문제가 아닐까요;;

    아래 제가 쓰는 버전을 받아보시고

    (전투시에 전종 분류를 안쓰는 경우에요)

    그래도 안되시면 흠... 카테고라이즈드 스킬의 위치상 문제일지도..?

     

    분류방법은 전작과 같이  데이터베이스의 스킬의 메모란에

    <분류 스킬>

    <분류 마법>

    <분류 특수> ......

     등과 같이 해주시면 되며,

     한 스킬에 대한 복수의 분류도  가능합니다

  • ?
    시트르산 2010.09.15 11:16

    #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
    #_/    ◆ 스킬 분류 - KGC_CategorizeSkill ◆ VX ◆
    #_/    ◇ Last update : 2008/06/13 ◇
    #_/----------------------------------------------------------------------------
    #_/  스킬을 종류별로 분류하는 기능을 작성합니다.
    #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

    $data_system = load_data("Data/System.rvdata") if $data_system == nil

    #==============================================================================
    # ★ 커스터마이즈 항목 - Customize ★
    #==============================================================================

    module KGC
    module CategorizeSkill
      # ◆ 비전투시로 분류한다
      ENABLE_NOT_IN_BATTLE = true
      # ◆ 전투시로 분류한다
      ENABLE_IN_BATTLE     = true

      # ◆ 전투시와 비전투시에 같은 카테고리를 사용한다
      #  분류 윈도우의 설정은 개별적으로 가 주세요.
      USE_SAME_CATEGORY = false

      # ◆ 자동 배분을 실시한다
      ENABLE_AUTO_CATEGORIZE = true
      # ◆ 복수의 카테고리에는 배치하지 않는다
      #  true  : 어느쪽이든 1개의 카테고리 밖에 배분하지 않는다 (「전종」은 예외)
      #  false : 해당하는 카테고리 모두에게 배분한다
      NOT_ALLOW_DUPLICATE = false

      # ◆ 전투중에 선택한 스킬의 위치를 기억한다
      REMEMBER_INDEX_IN_BATTLE = false


      # ━━━━━━━━ 비전투시 카테고리 ━━━━━━━━

      # ◆ 카테고리 식별명
      #  메모란에서 카테고리를 식별하기 위한 명칭을 늘어놓아 주세요.
      #  이하의 명칭은, 메모란에 기술할 필요는 없습니다.
      #   "전종", "회복", "회복 마법", "회복기술", "공격", "공격 마법", "공격기술",
      #   "보조", "보조 마법", "보조기술"
      CATEGORY_IDENTIFIER = [
        "전종", 
        "스킬",
        "마법",
        "회복",
        "보조",
        "특수",
    # ← 마지막 항목만은 , (을)를 붙여도 붙이지 않아도OK
      ]
      # ◆ 스킬의 디폴트 카테고리
      #  어느 카테고리에도 들어맞지 않는 스킬의 할당처입니다.
      SKILL_DEFAULT_CATEGORY = "특수 스킬"

      # ◆ 리스트에 표시하는 명칭
      #  스킬 화면에서 분류 윈도우에 표시하는 명칭입니다.
      #  「카테고리 식별명」과 같은 순서에 늘어놓아 주세요.
      CATEGORY_NAME = [
        "모든 계열", 
        "스킬 계열",
        "마법 계열",
        "회복 계열",
        "보조 계열",
        "특수 계열",
        ]

      # ◆ 분류의 설명문
      #  「분류 식별명」과 같은 순서에 늘어놓아 주세요.
      CATEGORY_DESCRIPTION = [
        "모든 스킬을 표시합니다.",
        "공격 스킬을 표시합니다.",
        "공격 마법을 표시합니다.",
        "회복 마법을 표시합니다.",
        "보조, 강화 스킬을 표시합니다.",
        "특수한 스킬을 표시합니다.",

      ]


      # ━━━━━━━━ 전투시 카테고리 ━━━━━━━━
      # USE_SAME_CATEGORY = false  의 경우만 유효하게 됩니다.
      # 설정 방법법은 비전투시와 같습니다.

      # ◆ 카테고리 식별명
      CATEGORY_IDENTIFIER_BATTLE = [
        "스킬",
        "마법",
        "OverDrive",
        "특수", 
      ]
      # ◆ 스킬의 디폴트 카테고리
      SKILL_DEFAULT_CATEGORY_BATTLE = "특수 스킬"

      # ◆ 리스트에 표시하는 명칭
      CATEGORY_NAME_BATTLE = [
        "스킬 계열",
        "마법 계열",
        "OverDrive",
        "특수 계열",   
      ]

      # ◆ 분류의 설명문
      CATEGORY_DESCRIPTION_BATTLE = [
        "",
        "",
        "",
        "",
       
      ]

      if USE_SAME_CATEGORY
        # 비전투시의 설정을 유용
        CATEGORY_IDENTIFIER_BATTLE    = CATEGORY_IDENTIFIER
        SKILL_DEFAULT_CATEGORY_BATTLE = SKILL_DEFAULT_CATEGORY
        CATEGORY_NAME_BATTLE          = CATEGORY_NAME
        CATEGORY_DESCRIPTION_BATTLE   = CATEGORY_DESCRIPTION
      end


      # ━━━━━━━━ 비전투시 분류 윈도우 ━━━━━━━━

      # ◆ 분류 윈도우의 좌표 [x, y]
      CATEGORY_WINDOW_POSITION  = [264, 192]
      # ◆ 분류 윈도우의 렬수
      CATEGORY_WINDOW_COLUMNS   = 2
      # ◆ 분류 윈도우의 렬폭
      CATEGORY_WINDOW_COL_WIDTH = 96
      # ◆ 분류 윈도우의 렬간의 공백
      CATEGORY_WINDOW_COL_SPACE = 32


      # ━━━━━━━━ 전투시 분류 윈도우 ━━━━━━━━

      # ◆ 분류 윈도우의 좌표 [x, y]
      CATEGORY_WINDOW_POSITION_BATTLE  = [5, 0]
      # ◆ 분류 윈도우의 렬수
      CATEGORY_WINDOW_COLUMNS_BATTLE   = 4
      # ◆ 분류 윈도우의 렬폭
      CATEGORY_WINDOW_COL_WIDTH_BATTLE = 96
      # ◆ 분류 윈도우의 렬간의 공백
      CATEGORY_WINDOW_COL_SPACE_BATTLE = 40
    end
    end

    #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

    $imported = {} if $imported == nil
    $imported["CategorizeSkill"] = true

    module KGC::CategorizeSkill
      # 스킬의 디폴트 카테고리 index
      SKILL_DEFAULT_CATEGORY_INDEX =
        CATEGORY_IDENTIFIER.index(SKILL_DEFAULT_CATEGORY)
      # 스킬의 디폴트 카테고리 index (전투시)
      SKILL_DEFAULT_CATEGORY_INDEX_BATTLE =
        CATEGORY_IDENTIFIER_BATTLE.index(SKILL_DEFAULT_CATEGORY_BATTLE)

      # 예약 식별명
      RESERVED_CATEGORIES = [
        "전종", "회복", "회복 마법", "회복기술", "공격", "공격 마법", "공격기술",
        "보조", "보조 마법", "보조기술"
      ]
      # 예약 카테고리 index
      RESERVED_CATEGORY_INDEX = {}
      # 예약 카테고리 index (전투시)
      RESERVED_CATEGORY_INDEX_BATTLE = {}

      # 예약 카테고리 index 작성
      RESERVED_CATEGORIES.each { |c|
        RESERVED_CATEGORY_INDEX[c] = CATEGORY_IDENTIFIER.index(c)
        RESERVED_CATEGORY_INDEX_BATTLE[c] = CATEGORY_IDENTIFIER_BATTLE.index(c)
      }

      # 정규 표현을 정의
      module Regexp
        # 스킬
        module Skill
          # 카테고리
          CATEGORY = /<(?:CATEGORY|분류|카테고리?)s*(.*)>/i
        end
      end
    end

    #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

    #==============================================================================
    # ■ RPG::Skill
    #==============================================================================

    class RPG::Skill < RPG::UsableItem
      #--------------------------------------------------------------------------
      # ○ 스킬 분류의 캐쉬 생성 (비전투시)
      #--------------------------------------------------------------------------
      def create_categorize_skill_cache
        @__skill_category = []

        # 자동 배분
        if KGC::CategorizeSkill::ENABLE_AUTO_CATEGORIZE
          prefix = auto_categorize_prefix
          if prefix != nil
            suffix = auto_categorize_suffix
            @__skill_category <<
              KGC::CategorizeSkill::RESERVED_CATEGORY_INDEX[prefix]
            @__skill_category <<
              KGC::CategorizeSkill::RESERVED_CATEGORY_INDEX[prefix + suffix]
          end
          @__skill_category.compact!
        end

        # 메모란
        self.note.split(/[rn]+/).each { |line|
          if line =~ KGC::CategorizeSkill::Regexp::Skill::CATEGORY
            # 카테고리
            c = KGC::CategorizeSkill::CATEGORY_IDENTIFIER.index($1)
            @__skill_category << c if c != nil
          end
        }

        if @__skill_category.empty?
          @__skill_category << KGC::CategorizeSkill::SKILL_DEFAULT_CATEGORY_INDEX
        elsif KGC::CategorizeSkill::NOT_ALLOW_DUPLICATE
          # 마지막에 지정한 카테고리에 배치
          @__skill_category = [@__skill_category.pop]
        end
      end
      #--------------------------------------------------------------------------
      # ○ 스킬 분류의 캐쉬 생성 (전투시)
      #--------------------------------------------------------------------------
      def create_categorize_skill_battle_cache
        @__skill_category_battle = []

        # 자동 배분
        if KGC::CategorizeSkill::ENABLE_AUTO_CATEGORIZE
          prefix = auto_categorize_prefix
          if prefix != nil
            suffix = auto_categorize_suffix
            @__skill_category_battle <<
              KGC::CategorizeSkill::RESERVED_CATEGORY_INDEX_BATTLE[prefix]
            @__skill_category_battle <<
              KGC::CategorizeSkill::RESERVED_CATEGORY_INDEX_BATTLE[prefix + suffix]
          end
          @__skill_category_battle.compact!
        end

        # 메모란
        self.note.split(/[rn]+/).each { |line|
          if line =~ KGC::CategorizeSkill::Regexp::Skill::CATEGORY
            # 카테고리
            c = KGC::CategorizeSkill::CATEGORY_IDENTIFIER_BATTLE.index($1)
            @__skill_category_battle << c if c != nil
          end
        }

        if @__skill_category_battle.empty?
          @__skill_category_battle <<
            KGC::CategorizeSkill::SKILL_DEFAULT_CATEGORY_INDEX_BATTLE
        elsif KGC::CategorizeSkill::NOT_ALLOW_DUPLICATE
          # 마지막에 지정한 카테고리에 배치
          @__skill_category_battle = [@__skill_category_battle.pop]
        end
      end
      #--------------------------------------------------------------------------
      # ○ 자동 배분처의 접두사
      #--------------------------------------------------------------------------
      def auto_categorize_prefix
        if is_recover?
          return "회복"
        elsif is_attack?
          return "공격"
        elsif is_assist?
          return "보조"
        else
          return nil
        end
      end
      #--------------------------------------------------------------------------
      # ○ 자동 배분처의 접미말
      #--------------------------------------------------------------------------
      def auto_categorize_suffix
        return (physical_attack ? "기술" : "마법")
      end
      #--------------------------------------------------------------------------
      # ○ 회복 스킬 판정
      #--------------------------------------------------------------------------
      def is_recover?
        result = for_friend?            # 대상이 아군
        result &= (occasion != 3)       # 사용 불가가 아니다
        result &= (base_damage < 0) ||  # 데미지량이 부, 또는
          (plus_state_set.empty? &&     # 스테이트를 부가하지 않고 해제한다
           !minus_state_set.empty?)
        return result
      end
      #--------------------------------------------------------------------------
      # ○ 공격 스킬 판정
      #--------------------------------------------------------------------------
      def is_attack?
        result = for_opponent?       # 대상이 적
        result &= battle_ok?         # 전투중에 사용 가능
        result &= (base_damage > 0)  # 데미지량이 정
        return result
      end
      #--------------------------------------------------------------------------
      # ○ 보조 스킬 판정
      #--------------------------------------------------------------------------
      def is_assist?
        result = (scope != 0)                 # 대상이 [없음] 이외
        result &= battle_ok?                  # 전투중에 사용 가능
        result &= !(plus_state_set.empty? &&
          minus_state_set.empty?)             # 스테이트가 변화한다
        return result
      end
      #--------------------------------------------------------------------------
      # ○ 스킬의 카테고리 (비전투시)
      #--------------------------------------------------------------------------
      def skill_category
        create_categorize_skill_cache if @__skill_category == nil
        return @__skill_category
      end
      #--------------------------------------------------------------------------
      # ○ 스킬의 카테고리 (전투시)
      #--------------------------------------------------------------------------
      def skill_category_battle
        create_categorize_skill_battle_cache if @__skill_category_battle == nil
        return @__skill_category_battle
      end
    end

    #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

    #==============================================================================
    # ■ Game_Actor
    #==============================================================================

    class Game_Actor < Game_Battler
      #--------------------------------------------------------------------------
      # ● 공개 인스턴스 변수
      #--------------------------------------------------------------------------
      attr_writer   :last_skill_category      # 커서 기억용 : 스킬 카테고리
      #--------------------------------------------------------------------------
      # ● 오브젝트 초기화
      #     actor_id : 액터 ID
      #--------------------------------------------------------------------------
      alias initialize_KGC_CategorizeSkill initialize
      def initialize(actor_id)
        initialize_KGC_CategorizeSkill(actor_id)

        @last_skill_category = 0
      end
      #--------------------------------------------------------------------------
      # ○ 커서 기억용의 카테고리 취득
      #--------------------------------------------------------------------------
      def last_skill_category
        @last_skill_category = 0 if @last_skill_category == nil
        return @last_skill_category
      end
    end

    #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

    #==============================================================================
    # ■ Window_Skill
    #==============================================================================

    class Window_Skill < Window_Selectable
      #--------------------------------------------------------------------------
      # ● 공개 인스턴스 변수
      #--------------------------------------------------------------------------
      attr_reader   :category                 # 카테고리
      #--------------------------------------------------------------------------
      # ● 오브젝트 초기화
      #     x      : 윈도우의 X 좌표
      #     y      : 윈도우의 Y 좌표
      #     width  : 윈도우의 폭
      #     height : 윈도우의 높이
      #     actor  : 액터
      #--------------------------------------------------------------------------
      alias initialize_KGC_CategorizeSkill initialize
      def initialize(x, y, width, height, actor)
        @category = 0

        initialize_KGC_CategorizeSkill(x, y, width, height, actor)
      end
      #--------------------------------------------------------------------------
      # ○ 카테고리 설정
      #--------------------------------------------------------------------------
      def category=(value)
        @category = value
        refresh
      end
      #--------------------------------------------------------------------------
      # ○ 스킬을 리스트에 포함할지
      #     skill : 스킬
      #--------------------------------------------------------------------------
      unless $@
        alias include_KGC_CategorizeSkill? include? if method_defined?(:include?)
      end
      def include?(skill)
        return false if skill == nil

        if defined?(include_KGC_CategorizeSkill?)
          return false unless include_KGC_CategorizeSkill?(skill)
        end

        # 분류하지 않는 경우는 포함한다
        if $game_temp.in_battle
          return true unless KGC::CategorizeSkill::ENABLE_IN_BATTLE
          reserved_index = KGC::CategorizeSkill::RESERVED_CATEGORY_INDEX_BATTLE
          skill_category = skill.skill_category_battle
        else
          return true unless KGC::CategorizeSkill::ENABLE_NOT_IN_BATTLE
          reserved_index = KGC::CategorizeSkill::RESERVED_CATEGORY_INDEX
          skill_category = skill.skill_category
        end
        # 「전종」이라면 포함한다
        return true if @category == reserved_index["전종"]
        # 카테고리 일치 판정
        return (skill_category.include?(@category))
      end
      #--------------------------------------------------------------------------
      # ● 리프레쉬
      #--------------------------------------------------------------------------
      def refresh
        @data = []
        for skill in @actor.skills
          next unless include?(skill)
          @data.push(skill)
          if skill.id == @actor.last_skill_id
            self.index = @data.size - 1
          end
        end
        @item_max = @data.size
        create_contents
        for i in 0...@item_max
          draw_item(i)
        end
      end
    end

    #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

    #==============================================================================
    # □ Window_SkillCategory
    #------------------------------------------------------------------------------
    #  스킬 화면에서 카테고리 선택을 실시하는 윈도우입니다.
    #==============================================================================

    class Window_SkillCategory < Window_Command
      #--------------------------------------------------------------------------
      # ● 오브젝트 초기화
      #--------------------------------------------------------------------------
      def initialize
        if $game_temp.in_battle
          cols = KGC::CategorizeSkill::CATEGORY_WINDOW_COLUMNS_BATTLE
          width = KGC::CategorizeSkill::CATEGORY_WINDOW_COL_WIDTH_BATTLE
          space = KGC::CategorizeSkill::CATEGORY_WINDOW_COL_SPACE_BATTLE
          commands = KGC::CategorizeSkill::CATEGORY_NAME_BATTLE
          position = KGC::CategorizeSkill::CATEGORY_WINDOW_POSITION_BATTLE
        else
          cols = KGC::CategorizeSkill::CATEGORY_WINDOW_COLUMNS
          width = KGC::CategorizeSkill::CATEGORY_WINDOW_COL_WIDTH
          space = KGC::CategorizeSkill::CATEGORY_WINDOW_COL_SPACE
          commands = KGC::CategorizeSkill::CATEGORY_NAME
          position = KGC::CategorizeSkill::CATEGORY_WINDOW_POSITION
        end
        width = width * cols + 32
        width += (cols - 1) * space
        super(width, commands, cols, 0, space)
        self.x = position[0]
        self.y = position[1]
        self.z = 1000
        self.index = 0
      end
      #--------------------------------------------------------------------------
      # ● 헬프 텍스트 갱신
      #--------------------------------------------------------------------------
      def update_help
        if $game_temp.in_battle
          text = KGC::CategorizeSkill::CATEGORY_DESCRIPTION_BATTLE[self.index]
        else
          text = KGC::CategorizeSkill::CATEGORY_DESCRIPTION[self.index]
        end
        @help_window.set_text(text)
      end
    end

    #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

    #==============================================================================
    # ■ Scene_Skill
    #==============================================================================

    if KGC::CategorizeSkill::ENABLE_NOT_IN_BATTLE
    class Scene_Skill < Scene_Base
      #--------------------------------------------------------------------------
      # ● 개시 처리
      #--------------------------------------------------------------------------
      alias start_KGC_CategorizeSkill start
      def start
        start_KGC_CategorizeSkill

        @category_window = Window_SkillCategory.new
        @category_window.help_window = @help_window
        show_category_window
      end
      #--------------------------------------------------------------------------
      # ● 종료 처리
      #--------------------------------------------------------------------------
      alias terminate_KGC_CategorizeSkill terminate
      def terminate
        terminate_KGC_CategorizeSkill

        @category_window.dispose
      end
      #--------------------------------------------------------------------------
      # ● 프레임 갱신
      #--------------------------------------------------------------------------
      alias update_KGC_CategorizeSkill update
      def update
        @category_window.update

        update_KGC_CategorizeSkill

        if @category_window.active
          update_category_selection
        end
      end
      #--------------------------------------------------------------------------
      # ○ 카테고리 선택의 갱신
      #--------------------------------------------------------------------------
      def update_category_selection
        unless @category_activated
          @category_activated = true
          return
        end

        # 선택 카테고리 변경
        if @last_category_index != @category_window.index
          @skill_window.category = @category_window.index
          @skill_window.refresh
          @last_category_index = @category_window.index
        end

        if Input.trigger?(Input::B)
          Sound.play_cancel
          return_scene
        elsif Input.trigger?(Input::C)
          Sound.play_decision
          hide_category_window
        elsif Input.trigger?(Input::R)
          Sound.play_cursor
          next_actor
        elsif Input.trigger?(Input::L)
          Sound.play_cursor
          prev_actor
        end
      end
      #--------------------------------------------------------------------------
      # ● 스킬 선택의 갱신
      #--------------------------------------------------------------------------
      alias update_skill_selection_KGC_CategorizeSkill update_skill_selection
      def update_skill_selection
        if Input.trigger?(Input::B)
          Sound.play_cancel
          show_category_window
          return
        elsif Input.trigger?(Input::R) || Input.trigger?(Input::L)
          # 아무것도 하지 않는다
          return
        end

        update_skill_selection_KGC_CategorizeSkill
      end
      #--------------------------------------------------------------------------
      # ○ 카테고리 윈도우의 표시
      #--------------------------------------------------------------------------
      def show_category_window
        @category_window.open
        @category_window.active = true
        @skill_window.active = false
      end
      #--------------------------------------------------------------------------
      # ○ 카테고리 윈도우의 비표시
      #--------------------------------------------------------------------------
      def hide_category_window
        @category_activated = false
        @category_window.close
        @category_window.active = false
        @skill_window.active = true
        # 스킬 윈도우의 인덱스를 조정
        if @skill_window.index >= @skill_window.item_max
          @skill_window.index = [@skill_window.item_max - 1, 0].max
        end
      end
    end
    end

    #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

    #==============================================================================
    # ■ Scene_Battle
    #==============================================================================

    if KGC::CategorizeSkill::ENABLE_IN_BATTLE
    class Scene_Battle < Scene_Base
      #--------------------------------------------------------------------------
      # ● 스킬 선택의 개시
      #--------------------------------------------------------------------------
      alias start_skill_selection_KGC_CategorizeSkill start_skill_selection
      def start_skill_selection
        start_skill_selection_KGC_CategorizeSkill

        # 카테고리 윈도우를 작성
        @category_window = Window_SkillCategory.new
        @category_window.help_window = @help_window
        @category_window.z = @help_window.z + 10
        @skill_window.active = false

        # 기억하고 있던 카테고리를 복원
          if KGC::CategorizeSkill::REMEMBER_INDEX_IN_BATTLE
            @category_window.index = @active_battler.last_skill_category
            @skill_window.category = @category_window.index
            @skill_window.refresh
        end
      end
      #--------------------------------------------------------------------------
      # ● 스킬 선택의 종료
      #--------------------------------------------------------------------------
      alias end_skill_selection_KGC_CategorizeSkill end_skill_selection
      def end_skill_selection
        if @category_window != nil
          @category_window.dispose
          @category_window = nil
        end

        end_skill_selection_KGC_CategorizeSkill
      end
      #--------------------------------------------------------------------------
      # ● 스킬 선택의 갱신
      #--------------------------------------------------------------------------
      alias update_skill_selection_KGC_CategorizeSkill update_skill_selection
      def update_skill_selection
        @category_window.update
        if @category_window.active
          update_skill_category_selection
          return
        elsif Input.trigger?(Input::B)
          Sound.play_cancel
          show_category_window
          return
        end

        update_skill_selection_KGC_CategorizeSkill
      end
      #--------------------------------------------------------------------------
      # ● 스킬의 결정
      #--------------------------------------------------------------------------
      alias determine_skill_KGC_CategorizeSkill determine_skill
      def determine_skill
        # 선택한 카테고리를 기억
        if KGC::CategorizeSkill::REMEMBER_INDEX_IN_BATTLE && @category_window != nil
          @active_battler.last_skill_category = @category_window.index
        end

        determine_skill_KGC_CategorizeSkill
      end
      #--------------------------------------------------------------------------
      # ○ 스킬의 카테고리 선택의 갱신
      #--------------------------------------------------------------------------
      def update_skill_category_selection
        @help_window.update

        # 선택 카테고리 변경
        if @last_category_index != @category_window.index
          @skill_window.category = @category_window.index
          @skill_window.refresh
          @last_category_index = @category_window.index
        end

        if Input.trigger?(Input::B)
          Sound.play_cancel
          end_skill_selection
        elsif Input.trigger?(Input::C)
          Sound.play_decision
          hide_category_window
        end
      end
      #--------------------------------------------------------------------------
      # ○ 카테고리 윈도우의 표시
      #--------------------------------------------------------------------------
      def show_category_window
        @category_window.open
        @category_window.active = true
        @skill_window.active = false
      end
      #--------------------------------------------------------------------------
      # ○ 카테고리 윈도우의 비표시
      #--------------------------------------------------------------------------
      def hide_category_window
        @category_activated = false
        @category_window.close
        @category_window.active = false
        @skill_window.active = true
        # 스킬 윈도우의 인덱스를 조정
        if @skill_window.index >= @skill_window.item_max
          @skill_window.index = [@skill_window.item_max - 1, 0].max
        end
      end
    end
    end

  • ?
    니노미야 2010.09.15 12:23

    올려주신 스크립트로 교체해봐도, 전투시에 '전종'을 표기하지 않으면, 전투 할 때 가장 상위의 카테고리만 출력이 되네요;;;

    왜 자꾸 나만 이런건가 .........................OTL


List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12384
RMVX 여러 선택 질문입니다 (제목 바꿈 죄송해요 ㅜㅜ) 3 형철스 2011.03.10 835
RMVX 체력을 소비하고 쓰는 스킬을 만들수는 없나요 껌손 2011.03.10 944
RMXP 아오오니따라오게하는것좀 7 게임조아 2011.03.09 1783
기타 왜 동영상이 안뜨죠? 1 활명수 2011.03.09 1450
RMVX VX로 이런 류의 게임들도 개발 가능한가요? 4 카리아인 2011.03.09 1226
RMXP 햇빛 2 루이즈 2011.03.09 1263
RMXP 케릭터 칩 어떳게넣나요???또 출석첵크는 어디로 1 남도일 2011.03.09 1026
RM2k3 rpg2003 검은색..... 1 하하하핳ㅎ핳 2011.03.09 1339
RMVX 스크립트 질문입니다. 1 차진스 2011.03.09 742
RMVX 이벤트의 일시중지가 안먹히는 이유? 3 다굴다굴 2011.03.08 822
RMXP rpgxp시작하려는사람임 rpgrpgrpgrpg 2011.03.08 1165
RMVX 이벤트 중간 우선순위 변경, 난수설정방법 질문이요. 2 다굴다굴 2011.03.08 776
RMXP 교환하는법좀 크루즈 2011.03.07 848
RMXP 이상한건지 알려주세요 아나킨스카이워커 2011.03.07 1030
RMVX 길막는것좀 알려주세요.. 1 asd2 2011.03.07 661
RMXP abs5.5 공격 모션... 게이머 2011.03.06 972
RMXP 아군 만드는법(abs5.5스크립트 사용중) 게이머 2011.03.06 1031
RMVX 질문드릴께요 2 file 알거없다 2011.03.06 683
RMVX 돈만 표시해주는 스크립트좀요! 1 file 르코 2011.03.06 784
RMXP 블리치좀여 ★RPG마스터★ 2011.03.06 802
Board Pagination Prev 1 ... 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 ... 515 Next
/ 515