赞 | 0 |
VIP | 20 |
好人卡 | 4 |
积分 | 2 |
经验 | 15888 |
最后登录 | 2020-4-2 |
在线时间 | 129 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 155
- 在线时间
- 129 小时
- 注册时间
- 2014-2-22
- 帖子
- 233
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 Sion 于 2014-3-16 19:19 编辑
各位大神,又来麻烦了!
我前几天在论坛上搜时间的脚本,发现了标题这个看起来还不错的脚本,不过可惜是英文的。我用了之后发现,当我想做一个周期的事件的时候,我没办法知道现在是什么时间,但是他有一个地图显示时间的框,但是我不会获取,求各位大神再次帮忙……
脚本在这里:<P>#Advanced Game Time + Night/Day v1.4.2 #----------# #Features: Provides a series of functions to set and recall current game time # as well customizable tints based on current game time to give the # appearance of night and day in an advanced and customizable way. # #Usage: Script calls: # GameTime.sec? #current second # GameTime.min? #current minute # GameTime.hour? #current hour # GameTime.hour_nom? #current hour (12-hour) # GameTime.day? #current day of month # GameTime.day_week? #current day of the week # GameTime.day_year? #current day of the year # GameTime.month? #current month # GameTime.year? #current year # GameTime.year_post("set") #changes the year post to set # GameTime.pause_tint(true/false) #pauses/unpauses tint # GameTime.notime(true/false) #stops time based on true/false # GameTime.change(s,m,h,d,dw,mn,y) #manually set the time # seconds,minutes,hours,days,weekday,months,years # any can be nil to not be changed # GameTime.set("handle",n) #increases a certain time portion # valid arguments are: # addsec,addmin,addhour,addday # addmonth,addyear # and: # remsec,remmin,remhour,remday # remmonth,remyear # GameTime.clock?(true/false) #hides/shows the clock # GameTime.save_time #saves the current time # GameTime.load_time #loads the saved time # # Message Codes: # GTSEC #Inputs the current second # GTMIN #Inputs the current minute # GTHOUR #Inputs the current hour # GTDAYN #Inputs the day of the month # GTDAYF #Inputs the day of the week (full) # GTDAYA #Inputs the day of the week (abbreviated) # GTMONN #Inputs the month of the year # GTMONF #Inputs the name of the month (full) # GTMONA #Inputs the name of the month (abbreviated) # GTYEAR #Inputs the current year # # Map Note Tags: (These go in the note box of Map Properties) # Notint #These maps will not tint! # Notime #Stops time from moving in that map # #Customization: Set below, in comments. # #Examples: GameTime.pause_tint = false # GameTime.change(nil,30,4,1,1,1,2012) # GameTime.set("addyear",5) # GameTime.clock?(true) # #----------# #-- Script by: V.M of D.T # #- Questions or comments can be: # posted on the thread for the script # provided on facebook: <A href="http://www.facebook.com/DaimoniousTailsGames">http://www.facebook.com/DaimoniousTailsGames</A> # posed on site: daimonioustails.wordpress.com # #--- Free to use in any non-commercial project with credit given #-- License required for commercial project use</P> <P>#_# BEGIN_CUSTOMIZATION #_#</P> <P> #What time a new game starts at: [sec, min, hour, day, month, year] START_TIME = [0,0,0,0,0,0] #Wether or not to set time to PC (Real) Time USE_REAL_TIME = false #Time does not increase while the message window is visible: NOTIMEMESSAGE = false #Time does not increase unless you are on the map PAUSE_IN_MENUS = true #Time does not increase if you are in battle NOBATTLETIME = false #Clock is shown USECLOCK = true #Set to true to have the clock show up in the menu! USECLOCK_MENU = true #Set the format for the clock both in and out of menu #1. hh:mm am/pm #2. Sun dd hh:mm am/pm #3. hh:mm (24 hour clock) #4. Sun dd hh:mm (24 hour clock) #5. Custom clock, see below CLOCK_FORMAT = 5 MENU_CLOCK_FORMAT = 5 #Clock window background opacity CLOCK_BACK = 255 #Button to be used to toggle the clock CLOCK_TOGGLE = :SHIFT #X and Y position of clock CLOCK_X = 0 CLOCK_Y = 0 #Finetune the width of the clock window here: CLOCK_WIDTH = 175 #Whether or not those little dots on the clock blink USE_BLINK = true #The speed at which they blink BLINK_SPEED = 120 #Here is where you would insert the array of commands for the custom clock: CUSTOM_CLOCK = ["weekshort"," ","day"," ","year","yearp"] CUSTOM_CLOCK2 = ["hour12","blinky","min"," ","meri"] #Available commands for CUSTOM_CLOCK: # "sec" - seconds "min" - minutes # "hour" - hour (24) "hour12" - hour (12) # "meri" - AM/PM "day" - day of the month # "weekshort" - day of the week abbr # "weeklong" - day of the week long # "month" - month "monthshort" - month name abbr # "monthlong" - month name # "year" - year "yearp" - year post # "blinky" - those blinky dots</P> <P> #Using KHAS lighting effects script? Turn this on to use that tint USE_KHAS = true #Using Victor Engine Light effects? Turn this on to use that tint USE_VICTOR = true #Variables that count down each gametime second/minute TIMER_VARIABLES = []</P> <P>#Use Tint in the Battles BATTLE_TINT = false</P> <P>#Time it takes for a second (or minute) to pass, in frames by default #(Frame rate is 60 frames per second) DEFAULT_TIMELAPSE = 60 #Variable ID containing the current speed of time! TIMELAPSE_VARIABLE = 80 #Whether to use seconds or not NOSECONDS = true #Number of seconds in a minute SECONDSINMIN = 60 #Number of minutes in an hour MINUTESINHOUR = 60 #Number of hours in a day HOURSINDAY = 24 #Names of the days (As little or as many days in the week as you want) DAYNAMES = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"] #Day name abbreviations DAYNAMESABBR = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"] #Number of days in each month (Also represents number of months in a year) MONTHS = [31,28,31,30,31,30,31,31,30,31,30,31] #Names of the months MONTHNAMES = ["January","February","March","April","May","June", "July","August","September","October","November","December"] #Abrreviated names of the months MONTHNAMESABBR = ["Jan","Feb","Mar","Apr","May","Jun", "Jul","Aug","Sep","Oct","Nov","Dec"] #The default letters to be posted before the year in dates DEFAULT_YEAR_POST = "AD" #NOT YET IMPLEMENTED *IGNORE* USE_PERIODS = true #Gradual tint effects! (The hardest part) #It may look daunting, and it is, but here is where you put the tint #to be shown at each hour (the actual tint is usually somewhere in between) #The number of Color.new objects here must equal the number of hours in a day #Starts from hour 0 (or 12am) #A color object is -> Color.new(r,g,b,a) # Where r is red,g is green,b is blue,and a is opacity and all are (0-255) TINTS = [Color.new(30,0,40,155), Color.new(20,0,30,135), Color.new(20,0,30,135), Color.new(10,0,30,135), Color.new(10,0,20,125), Color.new(0,0,20,125), Color.new(80,20,20,125), Color.new(130,40,10,105), Color.new(80,20,10,85), Color.new(0,0,0,65), Color.new(0,0,0,35), Color.new(0,0,0,15), Color.new(0,0,0,0), Color.new(0,0,0,0), Color.new(0,0,0,5), Color.new(0,0,0,15), Color.new(0,0,0,25), Color.new(0,0,10,55), Color.new(80,20,20,85), Color.new(130,40,30,105), Color.new(80,20,40,125), Color.new(10,0,50,135), Color.new(20,0,60,135), Color.new(30,0,70,155)]</P> <P>#NOT YET IMPLEMENTED *IGNORE* PERIODS = [["Night",0,5], ["Morning",6,11], ["Afternoon",12,17], ["Evening",18,23]] $gametimeclockvisible = true #_# END CUSTOMIZATION #_# module GameTime def self.run $game_time = Current_Time.new $game_time_tint = Sprite_TimeTint.new end def self.update return if $game_message.busy? and NOTIMEMESSAGE if !SceneManager.scene.is_a?(Scene_Map) and PAUSE_IN_MENUS return $game_time_tint.update if SceneManager.scene.is_a?(Scene_Title) return $game_time_tint.update if SceneManager.scene.is_a?(Scene_File) return unless SceneManager.scene.is_a?(Scene_Battle) and !NOBATTLETIME end $game_time.update $game_time_tint = Sprite_TimeTint.new if $game_time_tint.disposed? update_tint end def self.update_tint $game_time_tint.update unless @pause_tint end def self.sec? return $game_time.sec end def self.min? return $game_time.min end def self.hour? return $game_time.hour end def self.hour_nom? hour = $game_time.hour hour -= 12 if hour > 11 hour = 12 if hour == 0 return hour end def self.day? return $game_time.day if USE_REAL_TIME return $game_time.day + 1 end def self.day_week? return $game_time.dayweek end def self.day_year? month = month? - 1 day = day? while month > 0 day += MONTHS[month] month -= 1 end day end def self.day_name return DAYNAMES[$game_time.dayweek-1] if USE_REAL_TIME return DAYNAMES[$game_time.dayweek] end def self.day_name_abbr return DAYNAMESABBR[$game_time.dayweek-1] if USE_REAL_TIME return DAYNAMESABBR[$game_time.dayweek] end def self.month_name_abbr return MONTHNAMESABBR[$game_time.month-1] if USE_REAL_TIME return MONTHNAMESABBR[$game_time.month] end def self.month? return $game_time.month if USE_REAL_TIME return $game_time.month + 1 end def self.month_name return MONTHNAMES[$game_time.month-1] if USE_REAL_TIME return MONTHNAMES[$game_time.month] end def self.year? return $game_time.year end def self.pause_tint(set) @pause_tint = set end def self.change(s = nil,m = nil,h = nil,d = nil,dw = nil, mn = nil,y = nil) $game_time.manual(s,m,h,d,dw,mn,y) end def self.set(handle,n) $game_time.forward(handle,n) end def self.clock?(set) SceneManager.scene.clock_visible?(set) end def self.year_post(set) $game_time.year_post = set end def self.save_time $saved_game_time = $game_time.dup end def self.load_time $game_time = $saved_game_time.dup end def self.no_time_map note = $game_map.map_note /Notime/ =~ note return false unless $~ return true end def self.notime(set) $game_time.notime = set end</P> <P> class Current_Time attr_reader :sec attr_reader :min attr_reader :hour attr_reader :day attr_reader :dayweek attr_reader :month attr_reader :year attr_accessor :year_post attr_accessor :notime def initialize reset_all_values end def reset_all_values @sec = START_TIME[0] [url=home.php?mod=space&uid=25749]@min[/url] = START_TIME[1] @hour = START_TIME[2] [url=home.php?mod=space&uid=11519]@day[/url] = START_TIME[3] @dayweek = 0 [url=home.php?mod=space&uid=26122]@Month[/url] = START_TIME[4] @year = START_TIME[5] @notime = false @year_post = DEFAULT_YEAR_POST end def update return realtime if USE_REAL_TIME return if GameTime.no_time_map or @notime $game_variables[TIMELAPSE_VARIABLE] = DEFAULT_TIMELAPSE if $game_variables[TIMELAPSE_VARIABLE] <= 0 return unless Graphics.frame_count % $game_variables[TIMELAPSE_VARIABLE] == 0 NOSECONDS ? addmin(1) : addsec(1) update_timers end def update_timers return unless TIMER_VARIABLES.size > 0 for i in TIMER_VARIABLES $game_variables[i] -= 1 unless $game_variables[i] == 0 end end def realtime @sec = Time.now.sec @sec = 0 if @sec == 60 [url=home.php?mod=space&uid=25749]@min[/url] = Time.now.min @hour = Time.now.hour [url=home.php?mod=space&uid=11519]@day[/url] = Time.now.day @dayweek = Time.now.wday [url=home.php?mod=space&uid=26122]@Month[/url] = Time.now.month @year = Time.now.year 0 end def addsec(s) @sec += s return unless @sec == SECONDSINMIN @sec = 0 addmin(1) end def addmin(m) @min += m return unless @min == MINUTESINHOUR @min = 0 addhour(1) end def addhour(h) @hour += h return unless @hour == HOURSINDAY @hour = 0 addday(1) end def addday(d) @day += d @dayweek += d @dayweek = 0 if @dayweek == DAYNAMES.size return unless @day == MONTHS[@month] @day = 0 addmonth(1) end def addmonth(mn) @month += mn return unless @month == MONTHS.size @month = 0 addyear(1) end def addyear(y) @year += y end def manual(s = nil,m = nil,h = nil,d = nil,dw = nil,mn = nil,y = nil) @sec = s if !s.nil? @sec = SECONDSINMIN - 1 if @sec >= SECONDSINMIN @min = m if !m.nil? @min = MINUTESINHOUR - 1 if @min >= MINUTESINHOUR @hour = h if !h.nil? @hour = HOURSINDAY - 1 if @hour >= HOURSINDAY @day = d if !d.nil? @day = MONTHS[@month] - 1 if @day >= MONTHS[@month] @dayweek = dw if !dw.nil? @dayweek = 0 if @dayweek >= DAYNAMES.size @month = mn if !mn.nil? @month = MONTHS.size - 1 if @month >= MONTHS.size @year = y if !y.nil? end def forward(handle,n) handle = handle.to_s + "(1)" n.times do |s| eval(handle) end end def remsec(s) @sec -= s return unless @sec == -1 @sec = SECONDSINMIN remmin(1) end def remmin(m) @min -= m return unless @min == -1 @min = MINUTESINHOUR remhour(1) end def remhour(h) @hour -= h return unless @hour == -1 @hour = HOURSINDAY - 1 remday(1) end def remday(d) @day -= d @dayweek -= d @dayweek = DAYNAMES.size - 1 if @dayweek == -1 return unless @day == -1 @day = MONTHS[@month] - 1 remmonth(1) end def remmonth(mn) @month -= mn return unless @month == -1 @month = MONTHS.size - 1 remyear(1) end def remyear(y) @year -= y end end</P> <P> class Sprite_TimeTint < Sprite_Base def initialize(viewport = nil) super(viewport) self.z = 1 create_contents update @old_tint = [0,0,0,0] @old_time = 0 end def create_contents self.bitmap = Bitmap.new(Graphics.width,Graphics.height) self.visible = false end def update return use_default if SceneManager.scene.is_a?(Scene_Battle) and BATTLE_TINT return use_khas if USE_KHAS return use_victor if USE_VICTOR return use_default end def use_default return if self.disposed? create_contents if self.bitmap.height != Graphics.height create_contents if self.bitmap.width != Graphics.width self.visible = SceneManager.scene.is_a?(Scene_Map) self.visible = true if SceneManager.scene.is_a?(Scene_Battle) and BATTLE_TINT self.visible = false if SceneManager.scene.is_a?(Scene_Title) self.visible = false if no_tint self.bitmap.clear if no_tint return unless self.visible min = $game_time.min return if min == @old_time @old_time = min rgba = get_new_tint(min) return if rgba == @old_tint @old_tint = rgba self.bitmap.clear self.bitmap.fill_rect(0,0,Graphics.width,Graphics.height,Color.new(rgba[0],rgba[1],rgba[2],rgba[3])) end def use_khas begin temp = $game_map.light_surface.opacity rescue return end self.visible = false $game_map.effect_surface.change_color(1,0,0,0,0) if no_tint return if no_tint min = $game_time.min return if min == @old_time @old_time = min rgba = get_new_tint(min) return if rgba == @old_tint @old_tint = rgba $game_map.effect_surface.change_color(1,rgba[0],rgba[1],rgba[2],rgba[3]) end def no_tint return if $game_map.nil? note = $game_map.map_note /Notint/ =~ note return false unless $~ return true end def use_victor return if $game_map.nil? self.visible = false $game_map.screen.shade.change_color(0,0,0,0) if no_tint $game_map.screen.shade.change_opacity(0) if no_tint return if no_tint $game_map.screen.shade.show if !$game_map.screen.shade.visible min = $game_time.min return if min == @old_time @old_time = min rgba = get_new_tint(min) return if rgba == @old_tint @old_tint = rgba $game_map.screen.shade.change_color(rgba[0],rgba[1],rgba[2],0) $game_map.screen.shade.change_opacity(rgba[3],0) end def get_new_tint(min) ctint = TINTS[$game_time.hour] ntint = TINTS[$game_time.hour + 1] unless $game_time.hour + 1 == HOURSINDAY ntint = TINTS[0] if $game_time.hour + 1 == HOURSINDAY r = ctint.red.to_f - ((ctint.red.to_f - ntint.red) * (min.to_f / MINUTESINHOUR)) g = ctint.green.to_f - ((ctint.green.to_f - ntint.green) * (min.to_f / MINUTESINHOUR)) b = ctint.blue.to_f - ((ctint.blue.to_f - ntint.blue) * (min.to_f / MINUTESINHOUR)) a = ctint.alpha.to_f - ((ctint.alpha.to_f - ntint.alpha) * (min.to_f / MINUTESINHOUR)) return [r,g,b,a] end end</P> <P> class Window_GameClock < Window_Base def initialize super(CLOCK_X,CLOCK_Y,CLOCK_WIDTH,clock_height) self.opacity = CLOCK_BACK unless SceneManager.scene.is_a?(Scene_Menu) update self.visible = $gametimeclockvisible unless SceneManager.scene.is_a?(Scene_Menu) end def clock_height return 80 if !CUSTOM_CLOCK2.nil? and CLOCK_FORMAT == 5 and SceneManager.scene.is_a?(Scene_Map) return 80 if !CUSTOM_CLOCK2.nil? and MENU_CLOCK_FORMAT == 5 and SceneManager.scene.is_a?(Scene_Menu) return 56 end def update if NOSECONDS && @set_minute == $game_time.min if Graphics.frame_count % BLINK_SPEED / 2 == 0 && USE_BLINK return end end contents.clear @set_minute = $game_time.min if NOSECONDS if SceneManager.scene.is_a?(Scene_Map) v = CLOCK_FORMAT else v = MENU_CLOCK_FORMAT end string = normal_clock if v == 1 string = dated_clock if v == 2 string = military_clock if v == 3 string = dated_military_clock if v == 4 string = custom(CUSTOM_CLOCK) if v == 5 string2 = custom(CUSTOM_CLOCK2) if !CUSTOM_CLOCK2.nil? and v == 5 contents.draw_text(0,0,contents.width,24,string,1) contents.draw_text(0,24,contents.width,24,string2,1) if !CUSTOM_CLOCK2.nil? and v == 5 end def military_clock hour = $game_time.hour minute = $game_time.min if hour < 10 then hour = " " + hour.to_s else hour.to_s end if minute < 10 then minute = "0" + minute.to_s else minute.to_s end string = hour.to_s + blinky + minute.to_s return string end def dated_military_clock hour = $game_time.hour minute = $game_time.min dayweek = DAYNAMESABBR[$game_time.dayweek] day = $game_time.day day += 1 unless USE_REAL_TIME if hour < 10 then hour = " " + hour.to_s else hour.to_s end if minute < 10 then minute = "0" + minute.to_s else minute.to_s end if day < 10 then day = " " + day.to_s end string = dayweek.to_s + " " + day.to_s + " " string += hour.to_s + blinky + minute.to_s return string end def normal_clock meri = "AM" hour = $game_time.hour minute = $game_time.min if hour > 11 then meri = "PM" end if hour == 0 then hour = 12; meri = "AM" end if hour > 12 then hour -= 12 end if hour < 10 then hour = " " + hour.to_s else hour.to_s end if minute < 10 then minute = "0" + minute.to_s else minute.to_s end string = hour.to_s + blinky + minute.to_s + " " + meri return string end def dated_clock meri = "AM" hour = $game_time.hour minute = $game_time.min dayweek = DAYNAMESABBR[$game_time.dayweek] day = $game_time.day day += 1 unless USE_REAL_TIME if hour > 11 then meri = "PM" end if hour == 0 then hour = 12; meri = "AM" end if hour > 12 then hour -= 12 end if hour < 10 then hour = " " + hour.to_s else hour.to_s end if minute < 10 then minute = "0" + minute.to_s else minute.to_s end if day < 10 then day = " " + day.to_s end string = dayweek.to_s + " " + day.to_s + " " string += hour.to_s + blinky + minute.to_s + " " + meri return string end def blinky return ":" unless USE_BLINK return " " if Graphics.frame_count % BLINK_SPEED > (BLINK_SPEED / 2) return ":" end def custom(array) string = "" for command in array case command when "sec" sec = $game_time.sec sec = "0" + sec.to_s if sec < 10 string += sec.to_s when "min" minute = $game_time.min minute = "0" + minute.to_s if minute < 10 string += minute.to_s when "hour" hour = $game_time.hour hour >= 12 ? meri = "PM" : meri = "AM" hour = " " + hour.to_s if hour < 10 string += hour.to_s when "hour12" hour12 = $game_time.hour hour12 -= 12 if hour12 > 12 hour12 = 12 if hour12 == 0 string += hour12.to_s when "meri" string += meri.to_s when "weekshort" dayweek = DAYNAMESABBR[$game_time.dayweek] string += dayweek.to_s when "weeklong" dayweekn = DAYNAMES[$game_time.dayweek] string += dayweekn.to_s when "day" day = $game_time.day day += 1 unless USE_REAL_TIME string += day.to_s when "month" month = $game_time.month month += 1 unless USE_REAL_TIME string += month.to_s when "monthshort" monthna = MONTHNAMESABBR[$game_time.month] string += monthna.to_s when "monthlong" monthn = MONTHNAMES[$game_time.month] string += monthn.to_s when "year" year = $game_time.year string += year.to_s when "yearp" string += $game_time.year_post when "blinky" string += blinky else string += command.to_s end end return string end end</P> <P>end</P> <P>GameTime.run</P> <P>class Window_Base < Window alias real_time_convert_escape_characters convert_escape_characters def convert_escape_characters(text) result = real_time_convert_escape_characters(text) result.gsub!(/GTSEC/) { GameTime.sec? } result.gsub!(/GTMIN/) { GameTime.min? } result.gsub!(/GTHOUR/) { GameTime.hour? } result.gsub!(/GTDAYN/) { GameTime.day? } result.gsub!(/GTDAYF/) { GameTime.day_name } result.gsub!(/GTDAYA/) { GameTime.day_name_abbr } result.gsub!(/GTMONF/) { GameTime.month? } result.gsub!(/GTMONN/) { GameTime.month_name } result.gsub!(/GTMONA/) { GameTime.month_name_abbr } result.gsub!(/GTYEAR/) { GameTime.year? } result end end</P> <P>class Scene_Base alias game_time_update update def update game_time_update GameTime.update end end</P> <P>class Scene_Map alias game_time_post_transfer post_transfer alias game_time_init create_all_windows alias game_time_map_update update alias game_time_start start def start game_time_start GameTime.update_tint end def create_all_windows game_time_init @gametimeclock = GameTime::Window_GameClock.new if USECLOCK end def post_transfer GameTime.update_tint game_time_post_transfer end def update game_time_map_update return unless USECLOCK @gametimeclock.update unless SceneManager.scene != self if Input.trigger?(CLOCK_TOGGLE) and @gametimeclock.nil? == false @gametimeclock.visible ? @gametimeclock.visible = false : @gametimeclock.visible = true $gametimeclockvisible = @gametimeclock.visible end end def clock_visible?(set) @gametimeclock.visible = set end def update_encounter if $game_player.encounter $game_time_tint.use_default SceneManager.call(Scene_Battle) end end end</P> <P>class Game_Map def map_note return @map.note unless @map.nil? end end</P> <P>class Scene_Menu alias gt_start start alias gt_update update def start gt_start [url=home.php?mod=space&uid=434406]@clock[/url] = GameTime::Window_GameClock.new if USECLOCK_MENU return if @clock.nil? @clock.x = 0 @clock.y = @gold_window.y - @clock.height @clock.width = @gold_window.width @clock.create_contents end def update gt_update @clock.update unless @clock.nil? @clock. contents. clear if SceneManager. scene != self and <A href= "mailto:[email protected]">!@clock. nil</A>? end end</P> <P>class Scene_Battle def pre_terminate super Graphics.fadeout(30) if SceneManager.scene_is?(Scene_Map) Graphics.fadeout(60) if SceneManager.scene_is?(Scene_Title) $game_time_tint.update end end</P> <P>module DataManager class << self alias gametime_msc make_save_contents alias gametime_esc extract_save_contents alias gametime_sng setup_new_game end def self.make_save_contents contents = gametime_msc contents[:gametime] = $game_time contents end def self.extract_save_contents(contents) gametime_esc(contents) $game_time = contents[:gametime] end def self.setup_new_game gametime_sng $game_time = GameTime::Current_Time.new end end</P>
<P>#Advanced Game Time + Night/Day v1.4.2
#----------#
#Features: Provides a series of functions to set and recall current game time
# as well customizable tints based on current game time to give the
# appearance of night and day in an advanced and customizable way.
#
#Usage: Script calls:
# GameTime.sec? #current second
# GameTime.min? #current minute
# GameTime.hour? #current hour
# GameTime.hour_nom? #current hour (12-hour)
# GameTime.day? #current day of month
# GameTime.day_week? #current day of the week
# GameTime.day_year? #current day of the year
# GameTime.month? #current month
# GameTime.year? #current year
# GameTime.year_post("set") #changes the year post to set
# GameTime.pause_tint(true/false) #pauses/unpauses tint
# GameTime.notime(true/false) #stops time based on true/false
# GameTime.change(s,m,h,d,dw,mn,y) #manually set the time
# seconds,minutes,hours,days,weekday,months,years
# any can be nil to not be changed
# GameTime.set("handle",n) #increases a certain time portion
# valid arguments are:
# addsec,addmin,addhour,addday
# addmonth,addyear
# and:
# remsec,remmin,remhour,remday
# remmonth,remyear
# GameTime.clock?(true/false) #hides/shows the clock
# GameTime.save_time #saves the current time
# GameTime.load_time #loads the saved time
#
# Message Codes:
# GTSEC #Inputs the current second
# GTMIN #Inputs the current minute
# GTHOUR #Inputs the current hour
# GTDAYN #Inputs the day of the month
# GTDAYF #Inputs the day of the week (full)
# GTDAYA #Inputs the day of the week (abbreviated)
# GTMONN #Inputs the month of the year
# GTMONF #Inputs the name of the month (full)
# GTMONA #Inputs the name of the month (abbreviated)
# GTYEAR #Inputs the current year
#
# Map Note Tags: (These go in the note box of Map Properties)
# Notint #These maps will not tint!
# Notime #Stops time from moving in that map
#
#Customization: Set below, in comments.
#
#Examples: GameTime.pause_tint = false
# GameTime.change(nil,30,4,1,1,1,2012)
# GameTime.set("addyear",5)
# GameTime.clock?(true)
#
#----------#
#-- Script by: V.M of D.T
#
#- Questions or comments can be:
# posted on the thread for the script
# provided on facebook: <A href="http://www.facebook.com/DaimoniousTailsGames">http://www.facebook.com/DaimoniousTailsGames</A>
# posed on site: daimonioustails.wordpress.com
#
#--- Free to use in any non-commercial project with credit given
#-- License required for commercial project use</P>
<P>#_# BEGIN_CUSTOMIZATION #_#</P>
<P>
#What time a new game starts at: [sec, min, hour, day, month, year]
START_TIME = [0,0,0,0,0,0]
#Wether or not to set time to PC (Real) Time
USE_REAL_TIME = false
#Time does not increase while the message window is visible:
NOTIMEMESSAGE = false
#Time does not increase unless you are on the map
PAUSE_IN_MENUS = true
#Time does not increase if you are in battle
NOBATTLETIME = false
#Clock is shown
USECLOCK = true
#Set to true to have the clock show up in the menu!
USECLOCK_MENU = true
#Set the format for the clock both in and out of menu
#1. hh:mm am/pm
#2. Sun dd hh:mm am/pm
#3. hh:mm (24 hour clock)
#4. Sun dd hh:mm (24 hour clock)
#5. Custom clock, see below
CLOCK_FORMAT = 5
MENU_CLOCK_FORMAT = 5
#Clock window background opacity
CLOCK_BACK = 255
#Button to be used to toggle the clock
CLOCK_TOGGLE = :SHIFT
#X and Y position of clock
CLOCK_X = 0
CLOCK_Y = 0
#Finetune the width of the clock window here:
CLOCK_WIDTH = 175
#Whether or not those little dots on the clock blink
USE_BLINK = true
#The speed at which they blink
BLINK_SPEED = 120
#Here is where you would insert the array of commands for the custom clock:
CUSTOM_CLOCK = ["weekshort"," ","day"," ","year","yearp"]
CUSTOM_CLOCK2 = ["hour12","blinky","min"," ","meri"]
#Available commands for CUSTOM_CLOCK:
# "sec" - seconds "min" - minutes
# "hour" - hour (24) "hour12" - hour (12)
# "meri" - AM/PM "day" - day of the month
# "weekshort" - day of the week abbr
# "weeklong" - day of the week long
# "month" - month "monthshort" - month name abbr
# "monthlong" - month name
# "year" - year "yearp" - year post
# "blinky" - those blinky dots</P>
<P>
#Using KHAS lighting effects script? Turn this on to use that tint
USE_KHAS = true
#Using Victor Engine Light effects? Turn this on to use that tint
USE_VICTOR = true
#Variables that count down each gametime second/minute
TIMER_VARIABLES = []</P>
<P>#Use Tint in the Battles
BATTLE_TINT = false</P>
<P>#Time it takes for a second (or minute) to pass, in frames by default
#(Frame rate is 60 frames per second)
DEFAULT_TIMELAPSE = 60
#Variable ID containing the current speed of time!
TIMELAPSE_VARIABLE = 80
#Whether to use seconds or not
NOSECONDS = true
#Number of seconds in a minute
SECONDSINMIN = 60
#Number of minutes in an hour
MINUTESINHOUR = 60
#Number of hours in a day
HOURSINDAY = 24
#Names of the days (As little or as many days in the week as you want)
DAYNAMES = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]
#Day name abbreviations
DAYNAMESABBR = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]
#Number of days in each month (Also represents number of months in a year)
MONTHS = [31,28,31,30,31,30,31,31,30,31,30,31]
#Names of the months
MONTHNAMES = ["January","February","March","April","May","June",
"July","August","September","October","November","December"]
#Abrreviated names of the months
MONTHNAMESABBR = ["Jan","Feb","Mar","Apr","May","Jun",
"Jul","Aug","Sep","Oct","Nov","Dec"]
#The default letters to be posted before the year in dates
DEFAULT_YEAR_POST = "AD"
#NOT YET IMPLEMENTED *IGNORE*
USE_PERIODS = true
#Gradual tint effects! (The hardest part)
#It may look daunting, and it is, but here is where you put the tint
#to be shown at each hour (the actual tint is usually somewhere in between)
#The number of Color.new objects here must equal the number of hours in a day
#Starts from hour 0 (or 12am)
#A color object is -> Color.new(r,g,b,a)
# Where r is red,g is green,b is blue,and a is opacity and all are (0-255)
TINTS = [Color.new(30,0,40,155),
Color.new(20,0,30,135),
Color.new(20,0,30,135),
Color.new(10,0,30,135),
Color.new(10,0,20,125),
Color.new(0,0,20,125),
Color.new(80,20,20,125),
Color.new(130,40,10,105),
Color.new(80,20,10,85),
Color.new(0,0,0,65),
Color.new(0,0,0,35),
Color.new(0,0,0,15),
Color.new(0,0,0,0),
Color.new(0,0,0,0),
Color.new(0,0,0,5),
Color.new(0,0,0,15),
Color.new(0,0,0,25),
Color.new(0,0,10,55),
Color.new(80,20,20,85),
Color.new(130,40,30,105),
Color.new(80,20,40,125),
Color.new(10,0,50,135),
Color.new(20,0,60,135),
Color.new(30,0,70,155)]</P>
<P>#NOT YET IMPLEMENTED *IGNORE*
PERIODS = [["Night",0,5],
["Morning",6,11],
["Afternoon",12,17],
["Evening",18,23]]
$gametimeclockvisible = true
#_# END CUSTOMIZATION #_#
module GameTime
def self.run
$game_time = Current_Time.new
$game_time_tint = Sprite_TimeTint.new
end
def self.update
return if $game_message.busy? and NOTIMEMESSAGE
if !SceneManager.scene.is_a?(Scene_Map) and PAUSE_IN_MENUS
return $game_time_tint.update if SceneManager.scene.is_a?(Scene_Title)
return $game_time_tint.update if SceneManager.scene.is_a?(Scene_File)
return unless SceneManager.scene.is_a?(Scene_Battle) and !NOBATTLETIME
end
$game_time.update
$game_time_tint = Sprite_TimeTint.new if $game_time_tint.disposed?
update_tint
end
def self.update_tint
$game_time_tint.update unless @pause_tint
end
def self.sec?
return $game_time.sec
end
def self.min?
return $game_time.min
end
def self.hour?
return $game_time.hour
end
def self.hour_nom?
hour = $game_time.hour
hour -= 12 if hour > 11
hour = 12 if hour == 0
return hour
end
def self.day?
return $game_time.day if USE_REAL_TIME
return $game_time.day + 1
end
def self.day_week?
return $game_time.dayweek
end
def self.day_year?
month = month? - 1
day = day?
while month > 0
day += MONTHS[month]
month -= 1
end
day
end
def self.day_name
return DAYNAMES[$game_time.dayweek-1] if USE_REAL_TIME
return DAYNAMES[$game_time.dayweek]
end
def self.day_name_abbr
return DAYNAMESABBR[$game_time.dayweek-1] if USE_REAL_TIME
return DAYNAMESABBR[$game_time.dayweek]
end
def self.month_name_abbr
return MONTHNAMESABBR[$game_time.month-1] if USE_REAL_TIME
return MONTHNAMESABBR[$game_time.month]
end
def self.month?
return $game_time.month if USE_REAL_TIME
return $game_time.month + 1
end
def self.month_name
return MONTHNAMES[$game_time.month-1] if USE_REAL_TIME
return MONTHNAMES[$game_time.month]
end
def self.year?
return $game_time.year
end
def self.pause_tint(set)
@pause_tint = set
end
def self.change(s = nil,m = nil,h = nil,d = nil,dw = nil, mn = nil,y = nil)
$game_time.manual(s,m,h,d,dw,mn,y)
end
def self.set(handle,n)
$game_time.forward(handle,n)
end
def self.clock?(set)
SceneManager.scene.clock_visible?(set)
end
def self.year_post(set)
$game_time.year_post = set
end
def self.save_time
$saved_game_time = $game_time.dup
end
def self.load_time
$game_time = $saved_game_time.dup
end
def self.no_time_map
note = $game_map.map_note
/Notime/ =~ note
return false unless $~
return true
end
def self.notime(set)
$game_time.notime = set
end</P>
<P> class Current_Time
attr_reader :sec
attr_reader :min
attr_reader :hour
attr_reader :day
attr_reader :dayweek
attr_reader :month
attr_reader :year
attr_accessor :year_post
attr_accessor :notime
def initialize
reset_all_values
end
def reset_all_values
@sec = START_TIME[0]
[url=home.php?mod=space&uid=25749]@min[/url] = START_TIME[1]
@hour = START_TIME[2]
[url=home.php?mod=space&uid=11519]@day[/url] = START_TIME[3]
@dayweek = 0
[url=home.php?mod=space&uid=26122]@Month[/url] = START_TIME[4]
@year = START_TIME[5]
@notime = false
@year_post = DEFAULT_YEAR_POST
end
def update
return realtime if USE_REAL_TIME
return if GameTime.no_time_map or @notime
$game_variables[TIMELAPSE_VARIABLE] = DEFAULT_TIMELAPSE if $game_variables[TIMELAPSE_VARIABLE] <= 0
return unless Graphics.frame_count % $game_variables[TIMELAPSE_VARIABLE] == 0
NOSECONDS ? addmin(1) : addsec(1)
update_timers
end
def update_timers
return unless TIMER_VARIABLES.size > 0
for i in TIMER_VARIABLES
$game_variables[i] -= 1 unless $game_variables[i] == 0
end
end
def realtime
@sec = Time.now.sec
@sec = 0 if @sec == 60
[url=home.php?mod=space&uid=25749]@min[/url] = Time.now.min
@hour = Time.now.hour
[url=home.php?mod=space&uid=11519]@day[/url] = Time.now.day
@dayweek = Time.now.wday
[url=home.php?mod=space&uid=26122]@Month[/url] = Time.now.month
@year = Time.now.year
0
end
def addsec(s)
@sec += s
return unless @sec == SECONDSINMIN
@sec = 0
addmin(1)
end
def addmin(m)
@min += m
return unless @min == MINUTESINHOUR
@min = 0
addhour(1)
end
def addhour(h)
@hour += h
return unless @hour == HOURSINDAY
@hour = 0
addday(1)
end
def addday(d)
@day += d
@dayweek += d
@dayweek = 0 if @dayweek == DAYNAMES.size
return unless @day == MONTHS[@month]
@day = 0
addmonth(1)
end
def addmonth(mn)
@month += mn
return unless @month == MONTHS.size
@month = 0
addyear(1)
end
def addyear(y)
@year += y
end
def manual(s = nil,m = nil,h = nil,d = nil,dw = nil,mn = nil,y = nil)
@sec = s if !s.nil?
@sec = SECONDSINMIN - 1 if @sec >= SECONDSINMIN
@min = m if !m.nil?
@min = MINUTESINHOUR - 1 if @min >= MINUTESINHOUR
@hour = h if !h.nil?
@hour = HOURSINDAY - 1 if @hour >= HOURSINDAY
@day = d if !d.nil?
@day = MONTHS[@month] - 1 if @day >= MONTHS[@month]
@dayweek = dw if !dw.nil?
@dayweek = 0 if @dayweek >= DAYNAMES.size
@month = mn if !mn.nil?
@month = MONTHS.size - 1 if @month >= MONTHS.size
@year = y if !y.nil?
end
def forward(handle,n)
handle = handle.to_s + "(1)"
n.times do |s| eval(handle) end
end
def remsec(s)
@sec -= s
return unless @sec == -1
@sec = SECONDSINMIN
remmin(1)
end
def remmin(m)
@min -= m
return unless @min == -1
@min = MINUTESINHOUR
remhour(1)
end
def remhour(h)
@hour -= h
return unless @hour == -1
@hour = HOURSINDAY - 1
remday(1)
end
def remday(d)
@day -= d
@dayweek -= d
@dayweek = DAYNAMES.size - 1 if @dayweek == -1
return unless @day == -1
@day = MONTHS[@month] - 1
remmonth(1)
end
def remmonth(mn)
@month -= mn
return unless @month == -1
@month = MONTHS.size - 1
remyear(1)
end
def remyear(y)
@year -= y
end
end</P>
<P> class Sprite_TimeTint < Sprite_Base
def initialize(viewport = nil)
super(viewport)
self.z = 1
create_contents
update
@old_tint = [0,0,0,0]
@old_time = 0
end
def create_contents
self.bitmap = Bitmap.new(Graphics.width,Graphics.height)
self.visible = false
end
def update
return use_default if SceneManager.scene.is_a?(Scene_Battle) and BATTLE_TINT
return use_khas if USE_KHAS
return use_victor if USE_VICTOR
return use_default
end
def use_default
return if self.disposed?
create_contents if self.bitmap.height != Graphics.height
create_contents if self.bitmap.width != Graphics.width
self.visible = SceneManager.scene.is_a?(Scene_Map)
self.visible = true if SceneManager.scene.is_a?(Scene_Battle) and BATTLE_TINT
self.visible = false if SceneManager.scene.is_a?(Scene_Title)
self.visible = false if no_tint
self.bitmap.clear if no_tint
return unless self.visible
min = $game_time.min
return if min == @old_time
@old_time = min
rgba = get_new_tint(min)
return if rgba == @old_tint
@old_tint = rgba
self.bitmap.clear
self.bitmap.fill_rect(0,0,Graphics.width,Graphics.height,Color.new(rgba[0],rgba[1],rgba[2],rgba[3]))
end
def use_khas
begin
temp = $game_map.light_surface.opacity
rescue
return
end
self.visible = false
$game_map.effect_surface.change_color(1,0,0,0,0) if no_tint
return if no_tint
min = $game_time.min
return if min == @old_time
@old_time = min
rgba = get_new_tint(min)
return if rgba == @old_tint
@old_tint = rgba
$game_map.effect_surface.change_color(1,rgba[0],rgba[1],rgba[2],rgba[3])
end
def no_tint
return if $game_map.nil?
note = $game_map.map_note
/Notint/ =~ note
return false unless $~
return true
end
def use_victor
return if $game_map.nil?
self.visible = false
$game_map.screen.shade.change_color(0,0,0,0) if no_tint
$game_map.screen.shade.change_opacity(0) if no_tint
return if no_tint
$game_map.screen.shade.show if !$game_map.screen.shade.visible
min = $game_time.min
return if min == @old_time
@old_time = min
rgba = get_new_tint(min)
return if rgba == @old_tint
@old_tint = rgba
$game_map.screen.shade.change_color(rgba[0],rgba[1],rgba[2],0)
$game_map.screen.shade.change_opacity(rgba[3],0)
end
def get_new_tint(min)
ctint = TINTS[$game_time.hour]
ntint = TINTS[$game_time.hour + 1] unless $game_time.hour + 1 == HOURSINDAY
ntint = TINTS[0] if $game_time.hour + 1 == HOURSINDAY
r = ctint.red.to_f - ((ctint.red.to_f - ntint.red) * (min.to_f / MINUTESINHOUR))
g = ctint.green.to_f - ((ctint.green.to_f - ntint.green) * (min.to_f / MINUTESINHOUR))
b = ctint.blue.to_f - ((ctint.blue.to_f - ntint.blue) * (min.to_f / MINUTESINHOUR))
a = ctint.alpha.to_f - ((ctint.alpha.to_f - ntint.alpha) * (min.to_f / MINUTESINHOUR))
return [r,g,b,a]
end
end</P>
<P> class Window_GameClock < Window_Base
def initialize
super(CLOCK_X,CLOCK_Y,CLOCK_WIDTH,clock_height)
self.opacity = CLOCK_BACK unless SceneManager.scene.is_a?(Scene_Menu)
update
self.visible = $gametimeclockvisible unless SceneManager.scene.is_a?(Scene_Menu)
end
def clock_height
return 80 if !CUSTOM_CLOCK2.nil? and CLOCK_FORMAT == 5 and SceneManager.scene.is_a?(Scene_Map)
return 80 if !CUSTOM_CLOCK2.nil? and MENU_CLOCK_FORMAT == 5 and SceneManager.scene.is_a?(Scene_Menu)
return 56
end
def update
if NOSECONDS && @set_minute == $game_time.min
if Graphics.frame_count % BLINK_SPEED / 2 == 0 && USE_BLINK
return
end
end
contents.clear
@set_minute = $game_time.min if NOSECONDS
if SceneManager.scene.is_a?(Scene_Map)
v = CLOCK_FORMAT
else
v = MENU_CLOCK_FORMAT
end
string = normal_clock if v == 1
string = dated_clock if v == 2
string = military_clock if v == 3
string = dated_military_clock if v == 4
string = custom(CUSTOM_CLOCK) if v == 5
string2 = custom(CUSTOM_CLOCK2) if !CUSTOM_CLOCK2.nil? and v == 5
contents.draw_text(0,0,contents.width,24,string,1)
contents.draw_text(0,24,contents.width,24,string2,1) if !CUSTOM_CLOCK2.nil? and v == 5
end
def military_clock
hour = $game_time.hour
minute = $game_time.min
if hour < 10 then hour = " " + hour.to_s else hour.to_s end
if minute < 10 then minute = "0" + minute.to_s else minute.to_s end
string = hour.to_s + blinky + minute.to_s
return string
end
def dated_military_clock
hour = $game_time.hour
minute = $game_time.min
dayweek = DAYNAMESABBR[$game_time.dayweek]
day = $game_time.day
day += 1 unless USE_REAL_TIME
if hour < 10 then hour = " " + hour.to_s else hour.to_s end
if minute < 10 then minute = "0" + minute.to_s else minute.to_s end
if day < 10 then day = " " + day.to_s end
string = dayweek.to_s + " " + day.to_s + " "
string += hour.to_s + blinky + minute.to_s
return string
end
def normal_clock
meri = "AM"
hour = $game_time.hour
minute = $game_time.min
if hour > 11 then meri = "PM" end
if hour == 0 then hour = 12; meri = "AM" end
if hour > 12 then hour -= 12 end
if hour < 10 then hour = " " + hour.to_s else hour.to_s end
if minute < 10 then minute = "0" + minute.to_s else minute.to_s end
string = hour.to_s + blinky + minute.to_s + " " + meri
return string
end
def dated_clock
meri = "AM"
hour = $game_time.hour
minute = $game_time.min
dayweek = DAYNAMESABBR[$game_time.dayweek]
day = $game_time.day
day += 1 unless USE_REAL_TIME
if hour > 11 then meri = "PM" end
if hour == 0 then hour = 12; meri = "AM" end
if hour > 12 then hour -= 12 end
if hour < 10 then hour = " " + hour.to_s else hour.to_s end
if minute < 10 then minute = "0" + minute.to_s else minute.to_s end
if day < 10 then day = " " + day.to_s end
string = dayweek.to_s + " " + day.to_s + " "
string += hour.to_s + blinky + minute.to_s + " " + meri
return string
end
def blinky
return ":" unless USE_BLINK
return " " if Graphics.frame_count % BLINK_SPEED > (BLINK_SPEED / 2)
return ":"
end
def custom(array)
string = ""
for command in array
case command
when "sec"
sec = $game_time.sec
sec = "0" + sec.to_s if sec < 10
string += sec.to_s
when "min"
minute = $game_time.min
minute = "0" + minute.to_s if minute < 10
string += minute.to_s
when "hour"
hour = $game_time.hour
hour >= 12 ? meri = "PM" : meri = "AM"
hour = " " + hour.to_s if hour < 10
string += hour.to_s
when "hour12"
hour12 = $game_time.hour
hour12 -= 12 if hour12 > 12
hour12 = 12 if hour12 == 0
string += hour12.to_s
when "meri"
string += meri.to_s
when "weekshort"
dayweek = DAYNAMESABBR[$game_time.dayweek]
string += dayweek.to_s
when "weeklong"
dayweekn = DAYNAMES[$game_time.dayweek]
string += dayweekn.to_s
when "day"
day = $game_time.day
day += 1 unless USE_REAL_TIME
string += day.to_s
when "month"
month = $game_time.month
month += 1 unless USE_REAL_TIME
string += month.to_s
when "monthshort"
monthna = MONTHNAMESABBR[$game_time.month]
string += monthna.to_s
when "monthlong"
monthn = MONTHNAMES[$game_time.month]
string += monthn.to_s
when "year"
year = $game_time.year
string += year.to_s
when "yearp"
string += $game_time.year_post
when "blinky"
string += blinky
else
string += command.to_s
end
end
return string
end
end</P>
<P>end</P>
<P>GameTime.run</P>
<P>class Window_Base < Window
alias real_time_convert_escape_characters convert_escape_characters
def convert_escape_characters(text)
result = real_time_convert_escape_characters(text)
result.gsub!(/GTSEC/) { GameTime.sec? }
result.gsub!(/GTMIN/) { GameTime.min? }
result.gsub!(/GTHOUR/) { GameTime.hour? }
result.gsub!(/GTDAYN/) { GameTime.day? }
result.gsub!(/GTDAYF/) { GameTime.day_name }
result.gsub!(/GTDAYA/) { GameTime.day_name_abbr }
result.gsub!(/GTMONF/) { GameTime.month? }
result.gsub!(/GTMONN/) { GameTime.month_name }
result.gsub!(/GTMONA/) { GameTime.month_name_abbr }
result.gsub!(/GTYEAR/) { GameTime.year? }
result
end
end</P>
<P>class Scene_Base
alias game_time_update update
def update
game_time_update
GameTime.update
end
end</P>
<P>class Scene_Map
alias game_time_post_transfer post_transfer
alias game_time_init create_all_windows
alias game_time_map_update update
alias game_time_start start
def start
game_time_start
GameTime.update_tint
end
def create_all_windows
game_time_init
@gametimeclock = GameTime::Window_GameClock.new if USECLOCK
end
def post_transfer
GameTime.update_tint
game_time_post_transfer
end
def update
game_time_map_update
return unless USECLOCK
@gametimeclock.update unless SceneManager.scene != self
if Input.trigger?(CLOCK_TOGGLE) and @gametimeclock.nil? == false
@gametimeclock.visible ? @gametimeclock.visible = false : @gametimeclock.visible = true
$gametimeclockvisible = @gametimeclock.visible
end
end
def clock_visible?(set)
@gametimeclock.visible = set
end
def update_encounter
if $game_player.encounter
$game_time_tint.use_default
SceneManager.call(Scene_Battle)
end
end
end</P>
<P>class Game_Map
def map_note
return @map.note unless @map.nil?
end
end</P>
<P>class Scene_Menu
alias gt_start start
alias gt_update update
def start
gt_start
[url=home.php?mod=space&uid=434406]@clock[/url] = GameTime::Window_GameClock.new if USECLOCK_MENU
return if @clock.nil?
@clock.x = 0
@clock.y = @gold_window.y - @clock.height
@clock.width = @gold_window.width
@clock.create_contents
end
def update
gt_update
@clock.update unless @clock.nil?
@clock. contents. clear if SceneManager. scene != self and <A href= "mailto:[email protected]">!@clock. nil</A>?
end
end</P>
<P>class Scene_Battle
def pre_terminate
super
Graphics.fadeout(30) if SceneManager.scene_is?(Scene_Map)
Graphics.fadeout(60) if SceneManager.scene_is?(Scene_Title)
$game_time_tint.update
end
end</P>
<P>module DataManager
class << self
alias gametime_msc make_save_contents
alias gametime_esc extract_save_contents
alias gametime_sng setup_new_game
end
def self.make_save_contents
contents = gametime_msc
contents[:gametime] = $game_time
contents
end
def self.extract_save_contents(contents)
gametime_esc(contents)
$game_time = contents[:gametime]
end
def self.setup_new_game
gametime_sng
$game_time = GameTime::Current_Time.new
end
end</P>
|
|