XP 스크립트

# 양손 소유 무기·전신요로이 ver.0.52(Since 2005/09/11)
# by Tetra-Z
#
# 복수의 장비 부위를 필요로 하는 장비를 설정합니다.
# <요점 뉴 게임>
#
# 병용 전제:XMS.줩RXS_MP8.아모 어레인지+마르치웨폰?
#          Tetra-Z작?아이템 취급?
# 도입 개소:XMS.줩RXS_MP8.아모 어레인지+마르치웨폰?보다 아래
#
# ver.0.50
# 출현
# ver.0.51(2005/09/14)
# 병용 확인 스윗치의 제거
# ver.0.52(2005/09/18)
# 장비중의 개소에 빈 곳을 필요로 하는 설정의 경우 제외할 수 없게 되는 버그를 수정.

#==============================================================================
# TETRAZ23
#==============================================================================
module TETRAZ23
  #--------------------------------------------------------------------------
  # ○ 무기가 필요로 하는 다른 장비 개소 @right_window상단으로부터0,1,2……
  #--------------------------------------------------------------------------
  def need_space_weapon(id)
    case id
    #==========================================================================
    # □ 커스터마이즈 포인트 1/2
    #==========================================================================
    when 1
      return [0,1] # 양손검 설정은 여기서 하실 수 있습니다
    when 20
      return [0,1]
    end
    return []
    #==========================================================================
  end
  #--------------------------------------------------------------------------
  # ○ 방어구가 필요로 하는 다른 장비 개소 @right_window상단으로부터0,1,2……
  #--------------------------------------------------------------------------
  def need_space_armor(id)
    case id
    #==========================================================================
    # □ 커스터마이즈 포인트 2/2
    #==========================================================================
    when 1
      return []  #전신갑옷 설정은 여기서 하실 수 있습니다
    end
    return []
    #==========================================================================
  end
end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ○ 인클루드
  #--------------------------------------------------------------------------
  include TETRAZ23
  #--------------------------------------------------------------------------
  # ● 공개 인스턴스 변수
  #--------------------------------------------------------------------------
  attr_accessor :filled_equip_space
  #--------------------------------------------------------------------------
  # ● 셋업
  #    actor_id : 액터 ID
  #--------------------------------------------------------------------------
  alias tetraz23_setup setup
  def setup(actor_id)
    actor = $data_actors[actor_id]
    @filled_equip_space = {}
    tetraz23_setup(actor_id)
    fill = []
    fill[0] = need_space_weapon(@weapon_id)
    fill[1] = need_space_armor(@armor1_id)
    fill[2] = need_space_armor(@armor2_id)
    fill[3] = need_space_armor(@armor3_id)
    fill[4] = need_space_armor(@armor4_id)
    for j in 0..4
      for i in fill[j]
        if j == 0
          @filled_equip_space[i] = 0
        elsif defined? xrxs_mp8_setup
          @filled_equip_space[i] = XRXS_MP8::WEAPON_KINDS.size - 1 + j
        else
          @filled_equip_space[i] = j
        end
      end
    end
  end
end
#==============================================================================
# ■ Window_EquipRight
#==============================================================================
class Window_EquipRight < Window_Selectable
  attr_reader :data
end
#==============================================================================
# ■ Scene_Equip
#==============================================================================
class Scene_Equip
  #--------------------------------------------------------------------------
  # ○ 인클루드
  #--------------------------------------------------------------------------
  include TETRAZ23
  #--------------------------------------------------------------------------
  # ● 프레임 갱신 (라이트 윈도우가 액티브의 경우)
  #--------------------------------------------------------------------------
  alias tetraz23_update_right update_right
  def update_right
    # C 버튼이 밀렸을 경우
    if Input.trigger?(Input::C)
  if @right_window.item == nil and @actor.filled_equip_space[@right_window.index] != nil
        # 버저 SE (을)를 연주
        $game_system.se_play($data_system.buzzer_se)
        return
      end
    end
    tetraz23_update_right
  end
  #--------------------------------------------------------------------------
  #  ● 프레임 갱신 (라이트 윈도우가 액티브의 경우)
  #--------------------------------------------------------------------------
  alias tetraz23_update_item update_item
  def update_item
    # C 버튼이 밀렸을 경우
    if Input.trigger?(Input::C)
      space = []
      if @item_window.item.is_a?(RPG::Weapon)
        space = need_space_weapon(@item_window.item.id)
      elsif @item_window.item.is_a?(RPG::Armor)
        space = need_space_armor(@item_window.item.id)
      end
      for i in space
        next if @right_window.index == i
        if @right_window.data[i] != nil
          # 버저 SE (을)를 연주
          $game_system.se_play($data_system.buzzer_se)
          return
        end
      end
      before = @right_window.item
      tetraz23_update_item
      if before != @right_window.item
        for j in @actor.filled_equip_space.keys.clone
        @actor.filled_equip_space.delete(j) if @actor.filled_equip_space[j] == @right_window.index
        end
        for k in space
          @actor.filled_equip_space[k] = @right_window.index
        end
        # 라이트 윈도우, 아이템 윈도우의 내용을 재작성
        @right_window.refresh
      end
      return
    end
    tetraz23_update_item
  end
end
#----------------- 끝


사용법입니다

커스터마이즈 포인트
need_space_weapon(id)
    case id
    when 1
      return []
    end
    return []
  end
return [ 필요 장비 개소 배열] 그리고, 무기ID (으)로부터 실제로 장비하는 개소 이외에 필요한 장비 개소를 설정합니다.
필요 장비 개소 배열은,@right_window 의 상단으로부터0,1,2 ……됩니다.

( 례) return [0, 1]

장비중은 방패를 장비할 수 없게 되는, 양손 소유 무기가 됩니다.
XMS.줩RXS_MP8. 아모 어레인지·마르치웨폰?병용에 의해 무기가2 개소의 경우,
그 무기2 개소를 필요로 하는 양손 소유 무기가 됩니다.
  need_space_armor(id)
    case id
    when 1
      return []
    end
    return []
  end
return [ 필요 장비 개소 배열] 그리고, 방어구ID (으)로부터 실제로 장비하는 개소 이외에 필요한 장비 개소를 설정합니다.
필요 장비 개소 배열은 무기와 같이,@right_window 의 상단으로부터0,1,2 ……됩니다.

( 례) return [2]

이것이 요로이라면, 두와 요로이의 장비 개소를 필요로 하는 전신요로이가 됩니다.

주의
요점 뉴 게임.초기 장비에 모순이 생기면, 정상적으로 일하지 않습니다.주의해 주십시오.

이와 같은 분에게 추천!
양손 소유의 무기나, 전신요로이를 설정하고 싶다! 그렇다고 하는 분… ○ 
장비의 개념이 없는 동물RPG 그렇지만? 그렇다고 하는 분… ? 

출처는 - [수수께끼의정사면체] 입니다   

Who's 백호

?

이상혁입니다.

http://elab.kr


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6153
» 기타 양손무기, 전신갑옷 스크립트 2 백호 2009.02.22 1714
800 스킬 약간 수정한 심플액알(크리티컬,스킬) 10 백호 2009.02.22 3836
799 전투 액티브 타임 배틀(보행그래픽) file 백호 2009.02.21 2104
798 기타 액터 선택 스크립트 2 백호 2009.02.21 1228
797 액알입니다.정말 확신함 12 dkqkfsoatp 2007.12.13 4266
796 액알 스크립트 강좌용~!!!| 27 아방스 2007.11.09 5461
795 전투 액알 스크립트 24 백호 2009.02.22 6013
794 기타 액알 30 지존!! 2010.07.26 5095
793 타이틀/게임오버 애니메이션을 타이틀 화면에서 이용 15 file 백호 2009.02.21 3340
792 기타 암울한스크립트? 엔딩후 캐릭터 이어서 새로운 게임시작 스크립트 5 *ps인간 2009.01.26 2532
791 이동 및 탈것 아하! 그렇구나의 3D 신기술 체험 3 14 아하!잘봤어요. 2010.02.28 4258
790 이동 및 탈것 아하! 그렇구나의 3D 신기술 체험 2 23 아하!잘봤어요. 2010.02.28 3815
789 이동 및 탈것 아하! 그렇구나의 3D 신기술 체험 30 아하!잘봤어요. 2010.02.28 4772
788 아이템 아이템획득스크립트 ps인간 2009.01.23 2993
787 아이템 아이템창변경 27 카르닉스 2010.02.26 3632
786 아이템 아이템제한스크립트 ps인간 2009.01.23 1680
785 아이템 아이템을 얻으면 자동으로 아이템 입수 메세지윈도우 띄우기 4 백호 2009.02.22 2279
784 아이템 아이템을 사용하여 기술 습득하기 (기술문서 아이템) 2 file 백호 2009.02.21 1033
783 아이템 아이템소지수 한계돌파 (중복일지도) 12 카르닉스 2010.02.26 1499
782 아이템 아이템도감 14 키라링 2009.01.22 2299
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ... 52 Next
/ 52