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 6313
641 아이템 아이템 단축키로 구입 스크립트 3 백호 2009.02.22 1243
640 기타 KGC - 입수 경험치&금 증가 스크립트 백호 2009.02.22 1308
639 기타 무기 회피율, 방어구 공격력 지정 스크립트 6 백호 2009.02.22 1251
» 기타 양손무기, 전신갑옷 스크립트 2 백호 2009.02.22 1718
637 기타 Realistic Shop by MeisMe@rmxp.org 3 file 백호 2009.02.22 1295
636 맵/타일 Mode07 0.5 by mewsterus 3 백호 2009.02.22 1157
635 기타 필드에서 마력을 출력합니다. 백호 2009.02.22 989
634 기타 필드에서 체력을 출력합니다. 4 백호 2009.02.22 1741
633 기타 경험치 퍼센트 수정 백호 2009.02.22 1212
632 기타 레벨을 표시해주는 스크립트 5 백호 2009.02.22 2406
631 기타 Shift Puzzles v2 by SephirothSpawn (SDK호환) 3 file 백호 2009.02.22 1177
630 기타 Sized Events 0.1 by Toby@rmxp.org file 백호 2009.02.22 848
629 타이틀/게임오버 타이틀음악 백호 2009.02.22 1410
628 기타 레벨업포인트 3 백호 2009.02.22 1693
627 이름입력 한글이름 입력기 스크립트 14 백호 2009.02.22 4215
626 스킬 Advanced Mission Skills/Shop/Manager by trickster 3 file 백호 2009.02.22 1607
625 기타 Character Creator by Leon@Creation Asylum 2 file 백호 2009.02.22 1512
624 기타 비밀소년님의 경험치 표시 스크립트 백호 2009.02.22 1419
623 메뉴 비밀소년님의 필드에서 경치 % 로 나오는거 윈도우 없이 8 백호 2009.02.22 1793
622 이동 및 탈것 밑에 KIN 님의 MP 없어지는 대쉬, 제가 손좀 봤음 1 백호 2009.02.22 1247
Board Pagination Prev 1 ... 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ... 52 Next
/ 52