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 6203
801 이동 및 탈것 텔레포트 마나소비량 수정하기 3 지존!! 2010.07.22 1563
800 메뉴 새로운 메뉴 15 file 또라에몽 2010.07.17 5307
799 메뉴 메이플스토리처럼 메뉴를^^ 57 file 딸기님 2010.07.13 7145
798 기타 데이터베이스 자체 제한 해체 XP Ver. 13 THE풀잎 2010.07.04 2171
797 이동 및 탈것 8방향이동, Shift키 누르면 대쉬 63 WinHouse 2010.06.12 4026
796 [자작]게임내에서 필요한 파일 체크하기 / 디버깅 막기 17 file JACKY 2010.06.11 2514
795 메시지 말풍선 표시 스크립트 48 file insertend 2010.06.06 5161
794 타이틀/게임오버 타이틀을 아오오니처럼 만들어보자! 43 file Tassy 2010.06.02 5428
793 전투 [RTAB]HP/SH/EXP 게이지바 ver 1.00 44 file 환상 러브텔 2010.05.22 5341
792 기타 endroll 주석 번역 6 file insertend 2010.05.15 1638
791 타이틀/게임오버 [펌]색다른 게임오버 스크립트 14 file 또라에몽 2010.05.09 4267
790 이동 및 탈것 새로운 픽셀 이동 스크립트 27 file 케나이 2010.04.10 3499
789 전투 srpg용 스크립트라는데 4 세죠 2010.03.26 3524
788 온라인 게임화면을 전체화면으로 하기 27 file 이씨 2010.03.09 4056
787 전투 ABS_v3액션 알피지 46 file 알피지GM 2010.03.07 5807
786 저장 렉없은 자동 세이브 15 알피지GM 2010.03.07 2328
785 파티 KGC-대규모파티 25 rgnrk001 2010.03.01 3774
784 이동 및 탈것 아하! 그렇구나의 3D 신기술 체험 3 14 아하!잘봤어요. 2010.02.28 4261
783 이동 및 탈것 아하! 그렇구나의 3D 신기술 체험 2 23 아하!잘봤어요. 2010.02.28 3815
782 이동 및 탈것 아하! 그렇구나의 3D 신기술 체험 30 아하!잘봤어요. 2010.02.28 4772
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