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.