질문과 답변

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 VLAD ABS 시스템에 관한 질문. 다이나믹로동 2011.07.09 1172
RMXP Atelier RGSS의 픽쳐넘버스크립트사용법좀 알려주세요. 4 레드 2011.07.09 1732
RMXP 에러해결 좀 해주세요~~~("제발 답변좀........"이 문제에 답변해주신분 좀 보세요) 1 file 대작만들거임 2011.07.09 1365
RMXP 일본사이트에서 캐릭터만들고보니까 주변에하얀게뜨는데;; 7 아만자만즤 2011.07.08 1732
RMVX 처음 킬때 동영상 넣는법 3 hamster and rabbit 2011.07.08 1392
RMVX 애드온 설정 ,,, 2 starsoad 2011.07.08 1224
RMXP 별의 커비 칩을 받았는데... 9 file IU[아이유] 2011.07.08 3232
RMVX 장비아이템 판매금지 1 슬 라임 2011.07.08 1322
RMVX 아이템에 활용도 설정하는법좀 알려주세요. 2 겜초 2011.07.07 1295
RMVX 캐릭터의 따라감 2 SBㅡ백색 2011.07.07 1233
RMVX 말로 설명 못하는 힘듦. 4 인뎐뎬쟝 2011.07.07 1121
GM 게임메이커 1 GPR 2011.07.06 2028
RMVX 캐릭터칩 크기에 대해 여쭤보려고 합니다. 우아니아랱치 2011.07.06 1256
RMVX 통행불가 구조물에 말거는 방법 2 unuseid 2011.07.06 1221
RM2k 게임실행시 화면이 검게 깜빡입니다 이시두 2011.07.06 2194
RMXP 횡스크롤 스크립트에서 떨어질때 속도 빠르게 하는법좀 2 알중: 2011.07.06 3166
RMXP 액알에 대해서 질문 3 으잉읭 2011.07.05 1606
RMVX 게임상에서 키가 안먹어요 2 샤랄랄라진성 2011.07.05 1030
RMXP RPG XP가이상해요 2 file 게임인간 2011.07.05 2174
RM2k 동료 합류시 시작레벨이 이상합니다. 1 하수인 2011.07.05 934
Board Pagination Prev 1 ... 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 ... 515 Next
/ 515