RPGXP 스크립트

플레이어 발소리 스크립트

by 청담 posted Sep 24, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

플레이가 걸을때 발소리가 나게 하는 스크립트입니다 
캐릭터 마다 다르게 설정 할수도 있고 음량 피치 패턴등도 설정이 가능합니다 


#------------여기서부터 
# 플레이어 발소리 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 
#--------------끝

사용법 

스크립트 26~34줄까지 설명이 있습니다. 


출처: 게임공작소