AniDB O'Matic - mIRC script for statistics

From AniDB
Revision as of 11:58, 23 January 2010 by AnimeNeko (talk | contribs) (Changed the way the state shows. It will hide it when the state is 0)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Copy the text and put it in notepad or so and name it StatWhoreing.mrc or a othername.mrc then do /load -rs othername.mrc to load it. After you copy the file into your mIRC directory.

If you want your MyList size in GB. and not that it automatic converts to mb,gb,tb change $bytes(%mylistsize).suf into $bytes(%mylistsize,g).suf then it will only show the size of your MyList in GB's

#                    Made By AnimeNeko Thx to PetriW For this Option                             #
#               Enable statwhoring in aom Use version 0.5.10.x or higher                         #
#                                        v0.4                                                    #
#    Replace XX:\aom\MyStats.ini to the correct Directory and filename. But choose INI in aom.   #
#                      Works In chat Channel and in Private Message.                             #
# Note in the Partially Watched status if you have everything seen and none partially seen it    #
# will only show Partially seen. The script hides the types where you don't have anything        #
#                                  partially seen in.                                            #

on *:load: { set %aom.file y:\aom\MyStats.ini }

menu channel,query {
  -
  AOM Stats
  .Mystats: mystats
  .Watched: watched
  .AnimeType
  ..TV Series: AnimeTypetv
  ..Specials: AnimeTypesp
  ..Movies: AnimeTypem
  ..Ova's: AnimeTypeova
  ..Web: AnimeTypeweb
  ..Other: AnimeTypeot
  ..Unknown: AnimeTypeun
  .Storage: storage
  .AniDB Stats: anidbstats
}

alias Anidbstats {
  if ($exists(%aom.file)) { 
    var %animecountt $readini(%aom.file, anidb, animecount)
    var %totalepst $readini(%aom.file, anidb, episodecount)
    var %Tfilescountt $readini(%aom.file, anidb, filecount)
    var %group $readini(%aom.file, anidb, groupcount)
    var %sizet $readini(%aom.file, anidb, size)
    var %length $readini(%aom.file, anidb, length)
    var %tvtotal $readini(%aom.file, animetypeTVSeries, total)
    var %specialstotal $readini(%aom.file, animetypeTVSpecials, total)
    var %movietotal $readini(%aom.file, animetypeMovies, total)
    var %ovatotal $readini(%aom.file, animetypeOVAs, total)
    var %webtotal $readini(%aom.file, animetypeWeb, total)
    var %othertotal $readini(%aom.file, animetypeOther, total)
    var %unknowntotal $readini(%aom.file, animetypeUnknown, total)
    var %year $int($calc( (%length ) / (60*60*24*365) ))
    var %weeks $int($calc( (%length ) / ( 60*60*24*7) - (%year * 365/7)  )) 
    var %days $int($calc( (%length ) / (60*60*24) - (%year *365 ) - (%weeks *7) ))
    var %hour $int($calc( (%length ) / (60*60) - (%year *365*24) - (%weeks *7*24) - (%days *24) ))
    var %mins $int($calc( (%length ) / (60) - (%year *365*24*60) - (%weeks *7*24*60) - (%days *24*60) - (%hour *60)) )
    say Anidb Stats: %animecountt Animes( $+ %tvtotal Series, %specialstotal Specials, %movietotal Movies, %ovatotal OVAs, %webtotal Web, %othertotal Other, %unknowntotal Unknown $+ ), %totalepst Episodes, %Tfilescountt Files, %group Groups, size $bytes(%sizet,g).suf To watch it all it takes %year Year %weeks Weeks %days Days %hour Hour and %mins Minutes
  } 
}

alias mystats {
  if ($exists(%aom.file)) { 
    var %username $readini(%aom.file, anidb, username)
    var %anidbepcount $readini(%aom.file, anidb, episodecount)
    var %animecount $readini(%aom.file, mylist, animecount)
    var %totaleps $readini(%aom.file, mylist, episodecount)
    var %Tfilescount $readini(%aom.file, mylist, filecount)
    var %mylistsize $readini(%aom.file, mylist, size)
    var %animewatched $readini(%aom.file, mylist, animewatched)
    var %animepartw $readini(%aom.file, mylist, animepartiallywatched)
    var %epswatched $readini(%aom.file, mylist, episodeswatched)
    var %fileswatched $readini(%aom.file, mylist, fileswatched)
    var %watchedsize $readini(%aom.file, mylist, watchedsize)
    var %tvmylist $readini(%aom.file, animetypeTVSeries, inmylist)
    var %specialsmylist $readini(%aom.file, animetypeTVSpecials, inmylist)
    var %moviemylist $readini(%aom.file, animetypeMovies, inmylist)
    var %ovamylist $readini(%aom.file, animetypeOVAs, inmylist)
    var %webmylist $readini(%aom.file, animetypeWeb, inmylist)
    var %othermylist $readini(%aom.file, animetypeOther, inmylist)
    var %unknownmylist $readini(%aom.file, animetypeUnknown, inmylist)
    say I have %animecount Animes( $+ $iif(%tvmylist = 0,,%tvmylist Series $+ $chr(44)) $iif(%specialsmylist = 0,,%specialsmylist Specials $+ $chr(44)) $iif(%moviemylist = 0,,%moviemylist Movies) $+ $iif(%ovamylist = 0,,$+ $chr(44) %ovamylist OVA's) $+ $iif(%webmylist = 0,,$+ $chr(44) %webmylist Web) $+ $iif(%othermylist = 0,,$+ $chr(44) %othermylist Other) $+ $iif(%unknownmylist = 0,,$+ $chr(44) %unknownmylist Unknown) $+ ), %totaleps Episodes( $+ $round($calc(%totaleps / %anidbepcount * 100 ),3) $+ % $+ ) of AniDB, %Tfilescount files, Total $bytes(%mylistsize,g).suf $+ .
  }
}

alias watched {
  if ($exists(%aom.file)) { 
    var %username $readini(%aom.file, anidb, username)
    var %anidbepcount $readini(%aom.file, anidb, episodecount)
    var %animecount $readini(%aom.file, mylist, animecount)
    var %totaleps $readini(%aom.file, mylist, episodecount)
    var %Tfilescount $readini(%aom.file, mylist, filecount)
    var %mylistsize $readini(%aom.file, mylist, size)
    var %animewatched $readini(%aom.file, mylist, animewatched)
    var %animepartw $readini(%aom.file, mylist, animepartiallywatched)
    var %epswatched $readini(%aom.file, mylist, episodeswatched)
    var %fileswatched $readini(%aom.file, mylist, fileswatched)
    var %watchedsize $readini(%aom.file, mylist, watchedsize)
    var %watchedlength $readini(%aom.file, mylist, lengthwatched)
    var %tvw $readini(%aom.file, animetypeTVSeries, allwatched)
    var %spw $readini(%aom.file, animetypeTVSpecials, allwatched)
    var %mw $readini(%aom.file, animetypeMovies, allwatched)
    var %ovaw $readini(%aom.file, animetypeOVAs, allwatched)
    var %webw $readini(%aom.file, animetypeWeb, allwatched)
    var %otw $readini(%aom.file, animetypeOther, allwatched)
    var %unw $readini(%aom.file, animetypeUnknown, allwatched)
    var %tvpw $readini(%aom.file, animetypeTVSeries, partwatched)
    var %sppw $readini(%aom.file, animetypeTVSpecials, partwatched)
    var %mpw $readini(%aom.file, animetypeMovies, partwatched)
    var %ovpw $readini(%aom.file, animetypeOVAs, partwatched)
    var %wpw $readini(%aom.file, animetypeWeb, partwatched)
    var %otpw $readini(%aom.file, animetypeOther, partwatched)
    var %unpw $readini(%aom.file, animetypeUnknown, partwatched)
    var %days $int($calc( (%watchedlength ) / (60*60*24)) )
    var %hour $int($calc( (%watchedlength ) / (60*60) - (%days *24) ))
    var %mins $int($calc( (%watchedlength ) / (60) - (%days *24*60) - (%hour *60)) )
    say Seen $calc(%animewatched + %animepartw) Animes ( $+ $iif(%tvw = 0,,%tvw Series $+ $chr(44)) $iif(%spw = 0,,%spw Specials $+ $chr(44)) $iif(%mw = 0,,%mw Movies) $+ $iif(%ovaw = 0,,$+ $chr(44) %ovaw OVA's) $+ $iif(%webw = 0,,$+ $chr(44) %webw Web) $+ $iif(%otw = 0,,$+ $chr(44) %otw Other) $+ $iif(%unw = 0,,$+ $chr(44) %unw Unknown) $+ ) Partially seen $iif(%tvpw = 0,,%tvpw Series) $+ $iif(%sppw = 0,,$+ $chr(44) %sppw Specials) $+ $iif(%mpw = 0,,$+ $chr(44) %mpw Movies) $+ $iif(%ovpw = 0,,$+ $chr(44) %ovpw OVA's) $+ $iif(%wpw = 0,,$+ $chr(44) %wpw Web) $+ $iif(%otpw = 0,,$+ $chr(44) %otpw Other) $+ $iif(%unpw = 0,,$+ $chr(44) %unpw Unknown) $+ . Total %epswatched Episodes( $+ $round($calc(%epswatched / %totaleps * 100 ),3) $+ % of Mylist, $round($calc(%epswatched / %anidbepcount * 100 ),3) $+ % of AniDB), %fileswatched Files, $bytes(%watchedsize,g).suf $+ , Time wasted %days Days %hour Hour and %mins Minutes
  }
}

alias storage {
  if ($exists(%aom.file)) { 
    var %StateUnknownc $readini(%aom.file, statusUnknown, count)
    var %StateUnknowns $readini(%aom.file, statusUnknown, size)
    var %StateUnknownw $readini(%aom.file, statusUnknown, watched)
    var %Statehddc $readini(%aom.file, statusOnHDD, count)
    var %Statehdds $readini(%aom.file, statusOnHDD, size)
    var %Statehddw $readini(%aom.file, statusOnHDD, watched)
    var %Statecdc $readini(%aom.file, statusOnCD, count)
    var %Statecds $readini(%aom.file, statusOnCD, size)
    var %Statecdw $readini(%aom.file, statusOnCD, watched)
    var %Statedelc $readini(%aom.file, statusDeleted, count)
    var %Statedels $readini(%aom.file, statusDeleted, size)
    var %Statedelw $readini(%aom.file, statusDeleted, watched)
    Say State: $iif(%StateUnknownc = 0,,Unknown: %StateUnknownc File's $+ $chr(44) $bytes(%StateUnknowns).suf $+ $chr(44) Episodes Watched %StateUnknownw $+ $chr(44)) $iif(%Statehddc = 0,,On HDD: %Statehddc File's $+ $chr(44) $bytes(%Statehdds).suf $+ $chr(44) Episodes Watched %Statehddw $+ $chr(44)) $iif(%Statecdc = 0,,On CD/DVD: %Statecdc File's $+ $chr(44) $bytes(%Statecds).suf $+ $chr(44) Episodes Watched %Statecdw $+ ) $iif(%Statedelc = 0,, $chr(44) $+ Deleted: %Statedelc File's $+ $chr(44) $bytes(%Statedels).suf $+ $chr(44) Episodes Watched %Statedelw $+ .)
  }
}

alias AnimeTypetv {
  AnimeTypeSay TVSeries animetypeTVSeries
}

alias AnimeTypesp {
  AnimeTypeSay TVSpecials animetypeTVSpecials  
}

alias AnimeTypem {
  AnimeTypeSay Movies animetypeMovies
}

alias AnimeTypeova {
  AnimeTypeSay OVAs animetypeOVAs
}

alias AnimeTypeweb {
  AnimeTypeSay Web animetypeWeb
}

alias AnimeTypeot {
  AnimeTypeSay Other animetypeOther
}

alias AnimeTypeun {
  AnimeTypeSay Unknown animetypeUnknown
}

alias AnimeTypeSay {
  if ($exists(%aom.file)) {
    var %total $readini(%aom.file, $2, total)
    var %m $readini(%aom.file, $2, inmylist)
    var %w1 $readini(%aom.file, $2, allwatched)
    var %pw1 $readini(%aom.file, $2, partwatched)
    var %tw1 $readini(%aom.file, $2, lengthwatched)
    var %days $int($calc( (%tw1 ) / (60*60*24)) )
    var %hour $int($calc( (%tw1 ) / (60*60) - (%days *24) ))
    var %mins $int($calc( (%tw1 ) / (60) - (%days *24*60) - (%hour *60)) )
    say $$1: In AniDB: %total - In Mylist: %m - Watched: %w1 - Partially Watched: %pw1 - Time wasted: %days Days %hour Hour and %mins Minutes

    return 0
  }
}
  • Update/debug

fixed a small calculating error in the stats part.

edit: Adjusted the script for AOM 0.5.10+ and higher. Cleaned the code a little bit also Thx to light

  • v0.2 : fixed script so it will work with older mIRC versions

Here I added a menu to show the AniDB stats, your own stats, and the state of the files. Like X files unknown on HDD on CD and deleted.

  • v0.4 : Fixed some little bugs
      : Added the Time Wasted to some stats.
      : Reorded some things