질문과 답변

Extra Form

안녕하세요. VX ACE 툴로 간단한 턴 알피지를 제작 중인 유저입니다.

제목만 보면 무슨 소린지 조금 헷갈리실텐데, 글솜씨가 부족해서 짧은 문장으로는 어떻게 표현을 못하겠네요...

 

질문하고 싶은 내용은 "이도류"를 설정했을 때, 무기1에는 검, 무기2에는 지팡이만 착용 가능한지에 대해서였습니다.

데이터베이스에서 클래스 탭의 "특징" 항목에 이도류와 착용 가능 무기 타입을 지정하면 검과 지팡이가 아니라 검과 검, 지팡이와 지팡이를 착용하는 사태까지 벌어져서요.

 

그나마 최선의 해결책이 검만 착용가능케한 후 검의 특징에 무기 타입 (지팡이) 추가를 설정해서 검을 착용한 후 지팡이를 착용케하는 건데, 이 경우도 검과 검을 착용하게 되어버리더군요.

 

부디 제게 이 문제점을 타개할 수 있는 해결책을 가르쳐주시면 감사하겠습니다.

 

원하는 것은 오른손 (무기1, 주장비)엔 검만, 왼손 (무기2, 보조장비)엔 지팡이만 착용하는 것입니다. 잘 부탁드립니다.

Comment '4'
  • ?
    이도류를 하지말고

    방패 타입에 따로 지팡이라고 만들어서

    걔는 방패 못차고 지팡이만 방패로 차게 만들어요.

    검 / 지팡이 라고 써있지만

    실제는

    검 / 방패인거죠 ㅋㅋ
  • ?
    빙룡군 2012.10.11 15:22
    일단은 임시방편으로 그렇게는 하고 있는데, 그러면 공격 모션이 변화가 없어서요.
    이도류를 착용했을 때의 그 좌우로 베는 맛이 좋은데 안타깝네요.
  • ?
    아이미르 2012.10.16 19:36

    module IMIR_HandSeparable
     
      LEFT_HAND = []   #원래 무기 장착하는 부분이 왼손
      RIGHT_HAND = []  #원래 방패 장착하는 부분이 오른손...;;;
     
      #1번 액터의 경우
      LEFT_HAND[1] = [1]      #왼손은 무기타입 1번 착용가능
      RIGHT_HAND[1] = [2, 4]  #오른손은 무기타입 2, 4번 착용가능
     
    end


    #==============================================================================
    # ■ Window_EquipItem
    #------------------------------------------------------------------------------
    #  장비 화면에서, 장비 변경의 후보가 되는 아이템의 일람을 표시하는 윈도우입니다.
    #==============================================================================

    class Window_EquipItem < Window_ItemList
      #--------------------------------------------------------------------------
      # ● 아이템을 리스트에 포함할지
      #--------------------------------------------------------------------------
      def include?(item)
        return true if item == nil
        return false unless item.is_a?(RPG::EquipItem)
        return false if @slot_id < 0
        return false if item.etype_id != @actor.equip_slots[@slot_id]
       
        return false if hand_separable?(item)
       
        return @actor.equippable?(item)
      end
     
      #--------------------------------------------------------------------------
      # ● 왼손/오른손 구분함수
      #--------------------------------------------------------------------------
      def hand_separable?(item)
        return if !@actor.dual_wield?
        return if !item.is_a?(RPG::Weapon)
        return if !IMIR_HandSeparable::LEFT_HAND[@actor.id]
        return if !IMIR_HandSeparable::RIGHT_HAND[@actor.id]
       
        if @slot_id == 0
          if !IMIR_HandSeparable::LEFT_HAND[@actor.id].include?(item.wtype_id)
            return true
          end
        elsif @slot_id == 1
          if !IMIR_HandSeparable::RIGHT_HAND[@actor.id].include?(item.wtype_id)
            return true
          end
        end
       
        return false
      end
     
    end

     

    사용법은

     

    1. 액터 혹은 직업 란 등에서 필요한 무기타입을 모두 추가한다. 슬롯타입 이도류도 설정해둔다.

      기본적으로 양손에 다른 타입의 무기를 장착하는 게 목표이므로 이도류가 아니면 작동하지 않음. 

    2. 스크립트 상단의 모듈란에서 액터마다 장착가능한 타입을 설정한다.

     

    exa) 3번 액터의 왼손에는 무기타입 4. 검을 오른손에는 무기타입 1. 도끼와 무기타입 7. 단검을 장착하게 하고 싶다.

     LEFT_HAND[3] = [4]      
     RIGHT_HAND[3] = [1, 7] 

    을 모듈에 추가하면 됩니다.

     


     !! 주의사항 !!

     

    대충만들었기 때문에 최강장비에는 적용되지 않을 수 있습니다. 아니, 아마 적용안될 겁니다...;;;

     

  • ?
    빙룡군 2012.10.17 09:12
    아주 잘 적용됩니다.
    정말로 감사합니다^^

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12393
Board Pagination Prev 1 ... 19 Next
/ 19