| 
 Sound Related + More - Yin -  03-30-2009
 
 I know this is probably very easy to you big time scripters, but how would I go about fading a sound to a certain volume? I know bgm_fade(time),
 but that doesn't include volume.
 
 EDIT:
 How would I go about editing this script to make time go by slower, I added / 5 to the @total_sec = Graphics.frame_count / Graphics.frame_rate and it seemed to have the correct effect, but it screws up the time for some reason.
 ALSO, how come when I turn a switch on throught the script, the event on the map that it triggers does not show up. How do I update the map to show the switch changes? I mean it works when I have it in a conditional branch, but when I have it as a page condition it doesn't show.
 
 The script
 
 
 Code: #==============================================================================# ** Window_PlayTime + Day & Night Settings Script
 #    Window_PlayTime Add-on
 #    modified by shadowball
 #    further modified for Yin by second_crimson
 #    further modified by Yin to use game switches
 #
 #  On the Menu scene you'll see the current in-game day and time...
 #==============================================================================
 
 class Window_GameStats < Window_Base
 
 def initialize
 super(0, 0, 160, 96)
 self.contents = Bitmap.new(width - 32, height - 32)
 refresh
 end
 
 def refresh
 self.contents.clear
 @total_sec = Graphics.frame_count / Graphics.frame_rate
 day = @total_sec / 60 / 24 % 7
 hour = @total_sec / 60 % 24
 minute = @total_sec % 60
 if hour >= 12
 meridian = " PM"
 else
 meridian = " AM"
 end
 if hour == 0 then hour = 12 end
 if hour > 12 then hour -= 12 end
 text = sprintf("%02d:%02d", hour, minute)
 text = text + meridian
 self.contents.font.color = system_color
 shb_day = 'Sunday'    if day == 0
 shb_day = 'Monday'    if day == 1
 shb_day = 'Tuesday'   if day == 2
 shb_day = 'Wednesday' if day == 3
 shb_day = 'Thursday'  if day == 4
 shb_day = 'Friday'    if day == 5
 shb_day = 'Saturday'  if day == 6
 shb_weekday = shb_day
 self.contents.draw_text(4, -10, 120, 32, shb_weekday, 0)
 self.contents.font.color = normal_color
 self.contents.draw_text(4, 4, 120, 32, text, 2)
 
 case $game_party.gold
 when 0..9999
 gold = $game_party.gold
 when 10000..99999
 gold = $game_party.gold.to_s
 array = gold.split(//)
 gold = array[0].to_s+array[1].to_s+","+array[2].to_s+array[3].to_s+array[4].to_s
 when 100000..999999
 gold = $game_party.gold.to_s
 array = gold.split(//)
 gold = array[0].to_s+array[1].to_s+array[2].to_s+","+array[3].to_s+array[4].to_s+array[5].to_s
 when 1000000..9999999
 gold = $game_party.gold.to_s
 array = gold.split(//)
 gold = array[0].to_s+","+array[1].to_s+array[2].to_s+array[3].to_s+","+array[4].to_s+array[5].to_s+array[6].to_s
 end
 #Draw Gold
 self.contents.font.color = system_color
 gold_word = $data_system.words.gold.to_s
 cx = contents.text_size(gold_word).width
 cx2=contents.text_size(gold.to_s).width
 self.contents.draw_text(4, 18, 120-cx-2, 32, gold_word)
 self.contents.font.color = normal_color
 self.contents.draw_text(124-cx2+1,32, cx2, 32, gold.to_s, 2)
 self.contents.font.color = system_color
 end
 
 def update
 super
 if Graphics.frame_count / Graphics.frame_rate != @total_sec
 refresh
 end
 end
 end
 
 #==============================================================================
 #  *  Scene_Map - Modified
 #     modified by shadowball
 #
 #  Screen tone will change depending on the in-game play time automatically
 #==============================================================================
 class Scene_Map
 alias shb_map_up update
 def update
 @total_sec = Graphics.frame_count / Graphics.frame_rate
 @shb_hour = @total_sec / 60 % 24
 if @shb_hour < 5 || @shb_hour > 18     # 7 p.m. - 5 a.m.
 $game_switches [11] = true
 $game_switches [12] = false
 $game_switches [13] = false
 $game_switches [14] = false
 $game_screen.start_tone_change(Tone.new(-120, -120, -120, 0), 1)
 elsif @shb_hour > 4 && @shb_hour < 7   # 5 a.m. - 7 a.m.
 $game_switches [12] = true
 $game_switches [11] = false
 $game_switches [13] = false
 $game_switches [14] = false
 $game_screen.start_tone_change(Tone.new(-40, -40, 0, 0), 1)
 elsif @shb_hour > 6 && @shb_hour < 16  # 7 a.m. - 4 p.m.
 $game_switches [13] = true
 $game_switches [12] = false
 $game_switches [11] = false
 $game_switches [14] = false
 $game_screen.start_tone_change(Tone.new(0, 0, 0, 0), 1)
 elsif @shb_hour > 15 && @shb_hour < 19 # 4 p.m. - 7 p.m.
 $game_switches [14] = true
 $game_switches [12] = false
 $game_switches [13] = false
 $game_switches [11] = false
 $game_screen.start_tone_change(Tone.new(30, 10, 0, 0), 1)
 end
 shb_map_up
 end
 end
 
 #=======================================================
 #  *  Game_System Add-on v 1.0
 #     by shadowball
 #     08.02.2008
 #
 #  You can set the time in minutes, hours, days
 #  Syntax:  $game_system.set_time(0, 30, 2, 3)
 #=======================================================
 class Game_System
 def set_time(alter = 0, minute = 0, hour = 0, day = 0)
 if minute >= 0
 if minute >= 60
 minute = 59
 end
 set_min = Graphics.frame_rate * minute
 end
 if hour >= 0
 if hour >= 24
 hour = 23
 end
 set_hour = Graphics.frame_rate * 60 * hour
 end
 if day >= 0
 if day >= 31
 day = 30
 end
 set_day = Graphics.frame_rate * 60 * 24 * day
 end
 
 case alter
 when 0 # sets the time
 Graphics.frame_count = 0 + set_day + set_hour + set_min
 when 1 # adds the hours, minutes you specified to the current in-game playtime
 Graphics.frame_count = Graphics.frame_count + set_day + set_hour + set_min
 when 2 # this one does exactly the opposite...
 Graphics.frame_count = Graphics.frame_count - set_day - set_hour - set_min
 end
 end
 end
 
 [Resolved] Sound Related + More - DerVVulfman -  03-30-2009
 
 Technically, that's a difficult one.
 
 You see... if you look in the bgm_fade method in Game_System, there is a statement of:
 That statement refers to the AUDIO hidden class in RMXP itself.
 
 Since it's a hidden class, we really don't have the actual code in which to make our own custom scripts.  You may need to have someone create a script that uses the Windows Win32API to play that music file.
 
 
 [Resolved] Sound Related + More - Yin -  03-30-2009
 
 Yeah, you are right, so if I keep changing
 Audio.bgm_play(filename[, volume[, pitch]]) for lower volumes will that work kind of like fade? Also, if I want it to keep the file that is playing, and just lower the volume, would I still have to put the filename in there?
 
 
 [Resolved] Sound Related + More - DerVVulfman -  03-30-2009
 
 Well, the filename is not optional, so you would have to supply it every time.
 
 However, I cannot say that calling the same statement every time wouldn't just reset the music to start over every time. You could try it, but I cannot guarantee it would work the way you want.
 
 
 [Resolved] Sound Related + More - Yin -  03-30-2009
 
 Since this is my own topic, I didn't want to flood the board with a new post since it's already at the top. So here I modified my first post with another question.
 
 EDIT: Okay, I think I figured out one part. The slow down part. I changed
 minute = @total_sec % 60
 to
 minute = @total_sec % 60 / 5
 Is that correct? It seems to be working fine, but I just want to be sure.
 Now, all there is is figuring out why my switches won't update the map to show the triggered event.
 
 FIXED: YAY! I fixed it by putting
 $game_map.need_refresh = true
 after each set of switch changes.
 
 This topic is officially resolved and can be closed :)
 
 EDIT: OK, never mind that. Topic unclosed!
 
 Now when I manually try to tint screen, it doesn't work. What do I do?
 
 FIXED: second_crimson from rmxp.org fixed it for me! Soooo okay, NOW this topic can be closed!
 
 
 [Resolved] Sound Related + More - DerVVulfman -  04-04-2009
 
 Glad ya got it going, Yin. Topic closed. ^_^
 
 
 
 |