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
214 기타 일시정지 스크립트 13 【§㉤ㅏ법㉧ㅣ§】 2011.02.26 1841
213 기타 일본RPGXP게임에서 번역한 스크립트 입니다. 1 백호 2009.02.22 1735
212 기타 이벤트 범위 스크립트 2 Tine 2012.07.25 1580
211 기타 요리스크립트 (구) 6 *ps인간 2009.01.26 1932
210 기타 요리 시스템 스크립트 12 file 백호 2009.02.21 2022
209 기타 엔딩후 캐릭터 이어서 새로운 게임시작 스크립트 1 file 백호 2009.02.21 1263
208 기타 엔딩에 스탭롤을 도입하는 스크립트 1 file 백호 2009.02.21 1335
207 기타 에어리어 설정 by RPG Advocate 백호 2009.02.22 709
206 기타 업데이트 (죽었을경우부활 )스크립트한글화 2 by향온 2011.09.27 2438
205 기타 어디에 쓰이는지 불확실한 스크립트 1 백호 2009.02.22 1063
» 기타 양손무기, 전신갑옷 스크립트 2 백호 2009.02.22 1714
203 기타 액터 선택 스크립트 2 백호 2009.02.21 1228
202 기타 액알 30 지존!! 2010.07.26 5095
201 기타 암울한스크립트? 엔딩후 캐릭터 이어서 새로운 게임시작 스크립트 5 *ps인간 2009.01.26 2533
200 기타 아이디 스크립트 4 백호 2009.02.22 1761
199 기타 아래 스크립트에 대한 Guillaume777님의 개량판입니다. 백호 2009.02.22 880
198 기타 쓸만한스크립트61개포함 28 file 궭크이 2012.01.09 4297
197 기타 쓸 용도가 없지만 마비노기 게임 만들 때 좋죠[장작스크립트] 5 백호 2009.02.22 2408
196 기타 실제시간표시스크립트입니다...[중뷁이면지성;;] 4 백호 2009.02.22 1349
195 기타 시작하자 마자 풀 스크린 2 백호 2009.02.21 1082
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13