특정 이벤트도 움직일때마다
발소리가 들리게하고싶은데, 방법이 없을까요??
발소리가 들리게하고싶은데, 방법이 없을까요??
아래는 현재 제가 쓰고있는 발소리 스크립트 입니다.
대충보니까 이벤트ID가 아니라 액터의ID인것 같아서요.
#------------여기서부터
# 플레이어 발소리 SE ver. 1.01 (Since 2006/01/31)
# by Tetra-Z
#
# 맵상에서 플레이어에 발소리를 설정합니다.
#
# $game_system.player_step_se_permission : 발소리 허가.
#
# ver. 1.01(2006/02/18)
# 커스터마이즈 포인트에서 발밑 태그 ID·맵 ID를 참조 가능하게.
#==============================================================================
# TETRAZ61
#==============================================================================
module TETRAZ61
def self.actor_step_se(id, tag, map)
case id
#==========================================================================
# □ 커스터마이즈 포인트
#==========================================================================
# tag에서 발밑 태그 ID, map에서 맵 ID의 조건부도 할 수 있습니다.
when 1
return [[1, 3], "032-Switch01", 80, 100]
when 2
return [[1, 3], "040-Knock01", 80, 100]
# when 엑터 ID
# return [[패턴], "SE명", 음량, 피치]
#
# 엑터 ID : 선두의 엑터의 ID.
# 패턴 : 발소리가 있는 패턴. 캐릭터 화상의 왼쪽으로부터 0, 1, 2, 3.
# SE명 : 발소리가 되는 SE파일명.
# 음량 : SE의 음량. 생략 하면(자) 80.
# 피치 : SE의 피치. 생략 하면(자) 100.
#==========================================================================
end
return []
end
end
#==============================================================================
# ■ Game_System
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# ● 공개 인스턴스 변수
#--------------------------------------------------------------------------
attr_accessor :player_step_se_permission
#--------------------------------------------------------------------------
# ● 오브젝트 초기화
#--------------------------------------------------------------------------
alias tetraz61_initialize initialize
def initialize
tetraz61_initialize
@player_step_se_permission = true
end
end
#==============================================================================
# ■ Game_Player
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ● 프레임 갱신
#--------------------------------------------------------------------------
alias tetraz61_update update
def update
last_pattern = @pattern
tetraz61_update
actor_id = tetraz61_party0
return if (! $game_system.player_step_se_permission or $data_actors[actor_id]. nil? )
se = TETRAZ61.actor_step_se(actor_id, self.terrain_tag, $game_map.map_id)
return if (!(se.is_a? (Array)) or se.size < 2 or !(se[0]. is_a? (Array)) or se[1] == "")
if (last_pattern != @pattern and se[0]. include? (@pattern))
se[2] = 80 if (se.size < 3 or se[2]. nil? )
se[3] = 100 if (se.size < 4 or se[3]. nil? )
Audio.se_play("Audio/SE/" + se[1], se[2], se[3]) rescue nil
end
end
#--------------------------------------------------------------------------
# ● 선두의 엑터
#--------------------------------------------------------------------------
def tetraz61_party0
if defined? xrxs41_refresh
id = $game_variables[XRXS41::MAPCHAR_VARIABLE_ID]
return id unless $data_actors[id]. nil?
end
return $game_party.actors.size > 0 ? $game_party.actors[0]. id : 0
end
end