Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

A good script writer is needed please

A J

Member

ok here is the thing is I've got this script the day and night script from the download the only thing that you can do is to wait and see the time changes night to day and when i first got this script i don't know any thing about script nothing at all but I've been looking around in diffirent scripts I finally found out this when you use this script on a map event

Code:
$game_time.add_hours(1)
to add 1 hour

Code:
$game_time.get_hour  >= 8 and $game_time.get_hour  <= 17
if hour from 8 to 17

Code:
print $game_time.get_hour
will show a box with the game time but it will be like this 2.212444 or 4.15167

can some one please make a script to show a digital watch this it the script

Code:
#=======================================
# â–  class Game_Title                                                                 
#     written by Deke
#     Rewiten by Near Fantastica
#------------------------------------------------------------------------------
#=======================================
class Game_Time

 attr_accessor :minute_length
 
 def initialize
  @minute_length=2.0      #length of game minute in real seconds
  @hour_length= 60.0      #minute in an hour
  @day_length=24.0        #hours in a day
  @month_length=30.0    #days in a month
  @year_length=12.0       #months in a year
  @minutes=0                 #starting minute count
  start_minute=56
  add_minutes(start_minute)
  start_hour=23               #starting hour count
  add_hours(start_hour)
  start_day=5                 #starting day count
  add_days(start_day)
  start_month=1              #starting month count
  add_months(start_month-1)
  start_year=129              #starting year count
  add_years(start_year)
end

def add_minutes(minutes)
  @minutes +=minutes
end 

def add_hours(hours)
  @minutes +=hours*@hour_length
end

def add_days(days)
  @minutes += days*@hour_length*@day_length
end

def add_months(months)
  @minutes +=months * @hour_length*@day_length*@month_length
end

def add_years(years)
  @minutes += years * @hour_length*@day_length*@month_length * @year_length
end
  
 
def get_year
   minutes=get_total_minutes
   year=minutes / @hour_length / @day_length / @month_length  / @year_length
   return year
end
   
def get_month
   minutes=get_total_minutes
   month=minutes / @hour_length / @day_length /  @month_length % @year_length + 1
   return month
end
  
def get_day
   minutes=get_total_minutes
   day=minutes / @hour_length / @day_length % @month_length
   return day
end  
   
def get_hour
   minutes=get_total_minutes
   hour=minutes / @hour_length % @day_length
   return hour
end
  
def get_total_minutes
   total_sec=Graphics.frame_count / Graphics.frame_rate
   minute=(total_sec/@minute_length+@minutes)
   return minute
 end
 
def get_minute
  minutes=get_total_minutes % @hour_length
  return minutes
end

def get_tone
  hour=get_hour.floor
  minutes=get_minute + hour*@hour_length
  phase_shift=Math::PI*(minutes/(@hour_length*@day_length))
  illumination=  -150+ 165*Math.sin(phase_shift)
  tone=Tone.new(illumination,illumination,illumination,0)
  return tone
end

end # of class Game_Time   

#=======================================#
# â–  class Window_Time                                                            #
# written by Deke                                                                      #
#------------------------------------------------------------------------------#
#=======================================#
class Window_Time < Window_Base

 #--------------------------------------------------------------------------
 def initialize
   super(0, 0, 160, 96)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = $defaultfonttype  # "Time" window font
   self.contents.font.size = $defaultfontsize
   refresh
 end

 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   @total_sec = Graphics.frame_count / Graphics.frame_rate
   @minute=$game_time.get_minute.floor
   hour = $game_time.get_hour
   pm_flag= hour >=12 ? true : false
   hour= hour >= 12 ? hour-12 : hour
   day=$game_time.get_day
   month=$game_time.get_month
   year=$game_time.get_year
   if hour.floor==0
     text=sprintf("%02d:%02d",12,@minute)
   else
     text=sprintf("%02d:%02d",hour,@minute)
   end
   if pm_flag
     text += " PM"
   else
     text += " AM"
   end
   self.contents.font.color = normal_color
   self.contents.draw_text(4, 0, 120, 32, text, 2)
   text = sprintf("%02d-%02d-%02d", month, day, year)
   self.contents.font.color=system_color
   self.contents.draw_text(4,32,120,32,text)
 end

 #--------------------------------------------------------------------------
 def update
   if $game_time.get_minute.floor != @minute
     refresh
   end
 end
end # of class

#=======================================
class Game_Temp
  #--------------------------------------------------------------------------
  # ● Refer setup to Game Temp
  #--------------------------------------------------------------------------
  alias dns_game_temp_initalize initialize
  #--------------------------------------------------------------------------
  # ● Refer the Attr
  #--------------------------------------------------------------------------
  attr_reader    :map_infos  #Added Lines
  attr_reader    :outside_array  #Added Lines
  #--------------------------------------------------------------------------
  # ● Refer setup to Scene Map
  #--------------------------------------------------------------------------
  def initialize
    dns_game_temp_initalize
    @outside_array = Array.new
    @map_infos = load_data("Data/MapInfos.rxdata")
    for key in @map_infos.keys
        @outside_array[key] = @map_infos[key].name.include?("*")
    end
 end
end

#=======================================
class Scene_Map
  #--------------------------------------------------------------------------
  # ● Refer setup to Scene Map
  #--------------------------------------------------------------------------
  alias dns_scene_map_main main
  alias dns_scene_map_update update
  #--------------------------------------------------------------------------
  # ● Main
  #--------------------------------------------------------------------------
  def main
     if $game_temp.outside_array[$game_map.map_id]
       tone=$game_time.get_tone
      @minute=$game_time.get_minute.floor
      $game_screen.start_tone_change(tone, 0) 
    end
    dns_scene_map_main
  end
  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------
  def update
     conditional1 =$game_temp.outside_array[$game_map.map_id] and $game_time.get_minute.floor != @minute
     conditional2 =$game_temp.outside_array[$game_map.map_id] and @current_id != $game_map.map_id
     if  conditional1 or conditional2    
           tone=$game_time.get_tone
           $game_screen.start_tone_change(tone, 0)
           @minute = $game_time.get_minute.floor
           $game_map.need_refresh=true
           @current_id=$game_map.map_id
     end
     if $game_temp.outside_array[$game_map.map_id] == false and @current_id != $game_map.map_id
        $game_screen.start_tone_change(Tone.new(0,0,0,0),0)
        @current_id=$game_map.map_id
    end
    dns_scene_map_update
 end
end 

#======================================================
class Scene_Title
  #--------------------------------------------------------------------------
  # ● Refer setup to Scene Map
  #--------------------------------------------------------------------------
  alias dns_scene_title_update update
  #--------------------------------------------------------------------------
  # ● Refer setup to Scene Map
  #--------------------------------------------------------------------------
 def update
   $game_time=Game_Time.new
    #Dubealex Addition (from XRXS) to show Map Name on screen
   dns_scene_title_update
 end
end

#========================================================
class Scene_Load
 def read_save_data(file)
   characters = Marshal.load(file)
   Graphics.frame_count = Marshal.load(file)
   $game_system        = Marshal.load(file)
   $game_switches      = Marshal.load(file)
   $game_variables     = Marshal.load(file)
   $game_self_switches = Marshal.load(file)
   $game_screen        = Marshal.load(file)
   $game_actors        = Marshal.load(file)
   $game_party         = Marshal.load(file)
   $game_troop         = Marshal.load(file)
   $game_map           = Marshal.load(file)
   $game_player        = Marshal.load(file)
   $game_time           =Marshal.load(file) #Added Line
   if $game_system.magic_number != $data_system.magic_number
     $game_map.setup($game_map.map_id)
     $game_player.center($game_player.x, $game_player.y)
   end
   $game_party.refresh
 end
end # of Scene_Load updates

#=======================================================
class Scene_Save
 def write_save_data(file)
   characters = []
   for i in 0...$game_party.actors.size
     actor = $game_party.actors[i]
     characters.push([actor.character_name, actor.character_hue])
   end
   Marshal.dump(characters, file)
   Marshal.dump(Graphics.frame_count, file)
   $game_system.save_count += 1
   $game_system.magic_number = $data_system.magic_number
   Marshal.dump($game_system, file)
   Marshal.dump($game_switches, file)
   Marshal.dump($game_variables, file)
   Marshal.dump($game_self_switches, file)
   Marshal.dump($game_screen, file)
   Marshal.dump($game_actors, file)
   Marshal.dump($game_party, file)
   Marshal.dump($game_troop, file)
   Marshal.dump($game_map, file)
   Marshal.dump($game_player, file)
   Marshal.dump($game_time,file) # Added Line
 end
end # of Scene_Save updates

#========================================================

class Game_Map
  #--------------------------------------------------------------------------
  # ● Refer the attr
  #--------------------------------------------------------------------------
  attr_reader   :outside
  attr_reader   :map_id
  #--------------------------------------------------------------------------
  # ● Outside
  #--------------------------------------------------------------------------
  def outside
     return $game_temp.outside_array[@map_id]
   end
end

so please help
thanks
 
this will show the window while in the map
Code:
class Scene_Map
  alias aj_scn_map_main main
  def main
    @time_window = Window_Time.new
    @time_window.opacity = 128
    @time_window.x = [COLOR=Red]480 - @time_window.width[/COLOR]
    @time_window.y = [COLOR=Red]640 - @time_window.height[/COLOR]
    aj_scn_map_main
    @time_window.dispose
  end
  alias aj_scn_map_update update
  def update
    aj_scn_map_update
    @time_window.update
  end
end
You can change the position changin the red part
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top