# 양손 소유 무기·전신요로이 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 그렇지만? 그렇다고 하는 분… ?
출처는 - [수수께끼의정사면체] 입니다
# 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 그렇지만? 그렇다고 하는 분… ?
출처는 - [수수께끼의정사면체] 입니다