Better Game Timer

ashes999

Uber Coder
Veteran
Joined
May 18, 2012
Messages
114
Reaction score
6
First Language
English
Primarily Uses
Description: some extensions on the in-game timer to make it more robust and easy to use:

  • You can add or subtract time from it
  • You can pause and resume
  • The timer auto-pauses when messages, choices, etc. are visible
  • In-game display turns red when time is under a certain threshold



Demo:





Script: get it from GitHub. The initial version is below:

Spoiler




#========================================================================
# ** Better Game Timer
# By: ashes999 (ashes999@yahoo.com)
# Version: 0.1
#------------------------------------------------------------------------
# * Description:
#
# -- Some extensions to make the timer a bit more useful and friendly.
# -- Original methods by Tsukihime (to add/lose time and pause/resume)
# -- You can also make the game time recolour if time is under some value (eg. 30s)
# -- via the CRITICAL_TIME_SECONDS constant.
# -- Finally, the timer pauses when message boxes, choices, etc. are visible.
# -- Author: ashes999 (ashes999@yahoo.com)
# -- Version 1.0

# Examples:
# $game_timer.add_time(20) # adds 20 seconds
# $game_timer.lose_time(15) # subtract 15 seconds
# $game_timer.pause
# $game_timer.resume
#========================================================================

# If remaining time is less than this many seconds, turn red. To disable, set to 0.
CRITICAL_TIME_SECONDS = 5

# End configuration

class Game_Timer

alias timer_plus_update update
def update
if !@pause
timer_plus_update unless $game_message.visible
end
end

# add more time, in seconds
def add_time(count)
@count += count * Graphics.frame_rate
end

# subtract time, in seconds
def lose_time(count)
@count = [@count - (count * Graphics.frame_rate), 0].max
end

def pause
@pause = true
end

def resume
@pause = false
end
end

#==============================================================================
# ** Sprite_Timer
#------------------------------------------------------------------------------
# This sprite is for timer displays. It monitors $game_timer and automatically
# changes sprite states.
#==============================================================================

class Sprite_Timer < Sprite
alias timer_plus_sprite_update update
def update
timer_plus_sprite_update
update_color
end

def update_color
if @total_sec > 0 && @total_sec <= CRITICAL_TIME_SECONDS
self.bitmap.font.color.set(255, 0, 0)
end
end
end



Credits go to Tsukihime, who authored the original script here.
 
Last edited by a moderator:

Val

Veteran
Veteran
Joined
Oct 12, 2015
Messages
281
Reaction score
168
First Language
Français
Primarily Uses
is it possible to have this script working for RPG MAker MV? 
 

ashes999

Uber Coder
Veteran
Joined
May 18, 2012
Messages
114
Reaction score
6
First Language
English
Primarily Uses
VX Ace scripts are in Ruby. MV uses Javascript. It would require rewriting. I don't think it's difficult, but I don't have MV any more.
 

Aomarui

Warper
Member
Joined
Nov 17, 2016
Messages
2
Reaction score
0
First Language
English
Primarily Uses
Not sure if you're still there since this thread is old, but your github link is down, maybe you could fix it?


This script would be perfect for what I need. :3
 

ashes999

Uber Coder
Veteran
Joined
May 18, 2012
Messages
114
Reaction score
6
First Language
English
Primarily Uses
@Aomarui sorry,  I renamed the repository. I updated the link and re-updated the embedded version in the spoiler tag.
 

Aomarui

Warper
Member
Joined
Nov 17, 2016
Messages
2
Reaction score
0
First Language
English
Primarily Uses
@Aomarui sorry,  I renamed the repository. I updated the link and re-updated the embedded version in the spoiler tag.
Oh my goodness, thank you so much! ^ ^


Honestly, I wasn't sure I'd get a reply. :3


Cheers!
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,860
Messages
1,017,040
Members
137,569
Latest member
Shtelsky
Top