; ; mircstats.mrc ; ; Install a clean fresh copy of mIRC, load this script and create a new file called mircstats.ini that ; looks like this: ; ; [quakenet] ; channels=#dmm #faile #prophet #help.script #script ; mircstatsdir=d:\faile\mirc\mircstats\v1.18\ ; inputdir=d:\faile\mirc\mircstats\logs\quakenet\ ; outputdir=c:\xitami\webpages\mircstats\ ; configfile=quakenet.cfg ; ; [efnet] ; channels=#imp-iso #albums #0daymp3 #all-vcds #isollusion ; mircstatsdir=d:\faile\mirc\mircstats\v1.18\ ; inputdir=d:\faile\mirc\mircstats\logs\efnet\ ; outputdir=c:\xitami\webpages\mircstats\efnet\ ; configfile=efnet.cfg ; ; Of course you have to change all these paths, channels and files to match YOUR system. These are just ; examples I made to show you how it can look. ; ; channels -> channels to gather stats from ; mircstatsdir -> where the executable mircstats.exe is ; inputdir -> where to find the logs to make stats out of ; outputdir -> put stats here ; configfile -> mircstats config file to use when making stats ; ; The script will ping itself every hour to not get disconnected, and stats are updated every two hours. ; It will make sure it's sitting on all the channels it's supposed to every fifteen minutes. ; ; Remember that you must enable logging of channels in mIRC or the script wont find any log files to ; make stats from! ; ; ; -- ; Faile ; alias mircstats_join { var %i = 1 while (%i <= $numtok($readini(mircstats.ini,$network,channels),32)) { if ($me !ison $gettok($readini(mircstats.ini,$network,channels),%i,32)) { join $gettok($readini(mircstats.ini,$network,channels),%i,32) } inc %i } } alias mircstats_update { var %i = 1,%j = 1 while (%i <= $chan(0)) { .timer 1 %j run $readini(mircstats.ini,$network,mircstatsdir) $+ mircstats.exe -l $readini(mircstats.ini,$network,inputdir) $+ $chan(%i) $+ .log -h $readini(mircstats.ini,$network,outputdir) $+ $right($chan(%i),-1) $+ .htm -c $readini(mircstats.ini,$network,configfile) inc %i inc %j 15 } } ctcp ^*:*:*:{ if ((%ctcpflood [ $+ [ $network ] ] == $null) || (%ctcpflood [ $+ [ $network ] ] < 60)) { inc -z %ctcpflood $+ $network 15 if ($1 == ping) { .ctcpreply $nick $1 $2 } elseif ($1 == version) { .ctcpreply $nick $1 mIRCStats v0.98 } } } on *:connect:{ .timermircstats_join $+ $network 0 900 mircstats_join .timermircstats_ping $+ $network 0 3600 ping $!me .timermircstats_update $+ $network 0 7200 mircstats_update mircstats_join }