Results 1 to 2 of 2

Thread: stopwatch.lic

  1. #1

    Default stopwatch.lic

    This is a pretty simple StopWatch object for scripts to time hunts. Thought I may as well share it.

    Output:
    [platform: Last hunt: 2 min. 57.00 secs.]
    [platform: Average hunt: 2 min. 44.00 secs.]
    [platform: Total time running: 151 min. 11.00 secs.]

    Code:
    ################
    # STOPWATCH: For timing things
    #  Author: Azanoth
    #  SETUP:
    #  		1. Add '$LOAD_PATH << $script_dir' to your script
    #		2. Add 'load "stopwatch.lic"' to your script
    #		3. Create a StopWatch object - @watch = StopWatch.new
    #       4. Call functions!
    ################
    class StopWatch
    	@birthTime
    	@startTime
    	@log
    	
    	def initialize
    		@birthTime = Time.now.to_i
    		@startTime = 0
    		@log = Array.new
    	end
    	
    	def start()
    		@startTime = Time.now.to_i
    	end
    	
    	def stop()
    		if(@startTime != 0)
    			@log.push(Time.now.to_i - @startTime)
    		end
    		@startTime = 0;
    		
    		return Time.now.to_i
    	end
    	
    	def lastTime()
    		if(@log.size > 0)
    			seconds = @log[@log.size - 1]
    			echo( sprintf("Last recording: %d min. ", seconds / 60) + sprintf("%0.2f secs.", seconds % 60) )
    		else
    			echo( sprintf("Last recording: No last hunt recorded") )
    		end
    		
    		return @log[@log.size - 1]
    	end
    	
    	def averageTime()
    		average = 0
    		if(@log.size > 0)
    			@log.each { |entry| average += entry }
    			average /= @log.size
    			echo( sprintf("Average recording: %d min. ", average / 60) + sprintf("%0.2f secs.", average % 60) )
    		else
    			echo( sprintf("Average recording: No hunts recorded") )
    		end
    		
    		return average
    	end
    	
    	def totalTime()
    		total = Time.now.to_i - @birthTime
    		echo( sprintf("Total time running: %d min. ", total / 60) + sprintf("%0.2f secs.", total % 60) )
    		
    		return total
    	end
    end
    Each method return can essentially be ignored, as there is a built-in echo. If you prefer, the methods do return an integer representing seconds.
    Last edited by Alorn15; 09-09-2009 at 08:39 PM. Reason: New Version WILL TIME ANYTHING ZOMG!

  2. #2

    Default

    LOL, nice. I have something very similar to this too.

    Shows me how many of each critter I killed, how much mana per critter, xp/mana (based on general mob level), time per critter, etc etc etc.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •