innem neuen script über main einfügen.
bei "" den soundnamen eingeben und 100 durch pitch/lautstärke ersetzen.
wenn kein name eingegeben wurde (also "") wird auch kein sound abgespielt.
bei CHARACTER = kann eingegeben werden ob sounds nur bei bewegungen vom spieler/events oder beiden abgespielt werden.
terrain 0 ist immer lautlos.
wenn ein event ein kommentar mit "lautlos" (ohne ") hat, werden keine geräusche abgespielt (vögel zb soltlen nicht vom bodenterrain abhängig sein )
Code:
SOUND =[
RPG::AudioFile.new("001-System01",100,100),#terrain 1
RPG::AudioFile.new("002-System02",100,100),#terrain 2
RPG::AudioFile.new("",100,100),#terrain 3
RPG::AudioFile.new("",100,100),#terrain 4
RPG::AudioFile.new("",100,100),#terrain 5
RPG::AudioFile.new("",100,100),#terrain 6
RPG::AudioFile.new("",100,100),#terrain 7
]
CHARACTER = 0
#1 = nur player
#2 = nur events
#0 = beide
class Game_Character
  def lautlos
    return @lautlos
  end
  def lautlos=(n)
    @lautlos = n
  end
  def geraeusch
    return if self.lautlos
    return if terrain_tag == 0
    return if CHARACTER == 2 and self.is_a?(Game_Player)
    return if CHARACTER == 1 and self.is_a?(Game_Event)
    $game_system.se_play(SOUND[terrain_tag-1])
  end
  def move_down(turn_enabled = true)
    if turn_enabled
      turn_down
    end
    if passable?(@x, @y, 2)
      geraeusch
      turn_down
      @y += 1
      increase_steps
    else
      check_event_trigger_touch(@x, @y+1)
    end
  end
  def move_left(turn_enabled = true)
    if turn_enabled
      turn_left
    end
    if passable?(@x, @y, 4)
      geraeusch
      turn_left
      @x -= 1
      increase_steps
    else
      check_event_trigger_touch(@x-1, @y)
    end
  end
  def move_right(turn_enabled = true)
    if turn_enabled
      turn_right
    end
    if passable?(@x, @y, 6)
      geraeusch
      turn_right
      @x += 1
      increase_steps
    else
      check_event_trigger_touch(@x+1, @y)
    end
  end
  def move_up(turn_enabled = true)
    if turn_enabled
      turn_up
    end
    if passable?(@x, @y, 8)
      geraeusch
      turn_up
      @y -= 1
      increase_steps
    else
      check_event_trigger_touch(@x, @y-1)
    end
  end
end
class Game_Event
  alias sound_refresh refresh
  def refresh
    @lautlos = false
    sound_refresh
    next if @list.nil?
    for command in @list
      if command.code == 108 or command.code == 408
        @lautlos = true if command.parameters.to_s.upcase == "LAUTLOS"
      end
    end
  end
end
class Game_Player
  def lautlos
    return false
  end
end
bei bugs fragen etc einfach rückmeldung geben.