Repositorio de scripts de irc.terrachat.cl desde los canales #TRAFFIC y #LATINWAREZ.
⬅️ Volver; DCC Transfer Window Logger v1.0
; Written by: b1u3j (on Newnet or at b1u3j@email.com)
;
; to load, copy this file into the folder: SysReset\Addons\
; then in SysReset click on 'SysReset | Addon Manager'
; and select DCC_Logger.ini or 'DCC Transfer Window Logger' from the list.
;
; to change the settings, click on 'SysReset | DCC Transfer Window Logger'
;
; The windows will not be displayed until the first DCC completion or failure.
; Closing one of the windows will reset the counters in the titlebar of that window
; and it will be displayed again upon the next DCC completion or failure.
;
; Log files are no longer created in this version. SysReset automatically creates two log files
; download.log and upload.log in the SysReset folder. You can view these by
; using the 'SysReset Log Reader' addon.
;
; As a bonus, there is an alias you can use to convert bytes (or cps) to KB, MB, or GB
; the type to return is determined automatically and is formatted nice and pretty :)
; to use it type: /rateXchange ## where XX is a number
;
; enjoy :)
on *:start: {
echo -s 12————————————————————————————————————————————————————————
echo -s 12 DCC Transfer Window Logger 14 successfully Started.
echo -s 12————————————————————————————————————————————————————————
}
on *:unload: { echo -s 12 DCC Transfer Window Logger 14 successfully Unloaded. }
on *:filesent:*.*:{
DCC.InitilizeWindow.Sends
inc %DCC.Send.Complete
set %DCC.Send.Total $calc(%DCC.Send.Total + $DCC.Send($nick).sent)
DCC.SendWin.Add Sent $filename 14 $chr(91) $+ $rateXchange($file($filename).size) $+ $chr(93) to 11 $nick 14 at $rateXchange($DCC.Send($nick).cps) $+ /s.
}
on *:filercvd:*.*:{
DCC.InitilizeWindow.Gets
inc %DCC.Get.Complete
inc %si
set %DCC.Get.Total $calc(%DCC.Get.Total + $DCC.Get($nick).rcvd)
DCC.GetWin.Add 1,9 Received 11 $filename $+ $rand(1,7) $chr(91) $+ $rateXchange($file($filename).size) $+ $chr(93) $chr(91) $+ $rateXchange($DCC.Get($nick).cps) $+ /s $+ $chr(93) [ $+ %si $+ ]
}
on *:sendfail:*.*:{
DCC.InitilizeWindow.Sends
inc %DCC.Send.Failed
DCC.SendWin.Add 4 Failed to Send $filename 14 to 12 $nick
}
on *:getfail:*.*: {
DCC.InitilizeWindow.Gets
inc %DCC.Get.Failed
inc %no
DCC.GetWin.Add 0,4 Failed!! $filename 13* $+ $rand(1,7) $nick [ $+ %no $+ ]
}
alias -l DCC.InitilizeWindow.Sends {
if (%DCC.View == Transfers) { if ($window(@DCC_Transfers) == $null) { $DCC.TransferWin } }
elseif (%DCC.View != Gets) { if ($window(@DCC_Sends) == $null) { $DCC.SendWin } }
}
alias -l DCC.InitilizeWindow.Gets {
if (%DCC.View == Transfers) { if ($window(@DCC_Transfers) == $null) { $DCC.TransferWin } }
elseif (%DCC.View != Sends) { if ($window(@DCC_Gets) == $null) { $DCC.GetWin } }
}
alias -l DCC.SendWin.Add {
if ($1 != $null) {
if (%DCC.View == Transfers) {
aline -p @DCC_Transfers 14 $chr(91) $+ $network $+ $chr(93) $chr(91) $+ $time(HH:nn) $+ $chr(93) $1-
renwin @DCC_Transfers @DCC_Transfers - $bracket(Sent: %DCC.Send.Complete - $rateXchange(%DCC.Send.Total) - Failed: %DCC.Send.Failed) - $bracket(Received: %DCC.Get.Complete - $rateXchange(%DCC.Get.Total) - Failed: %DCC.Get.Failed)
}
elseif (%DCC.View != Gets) {
aline -p @DCC_Sends 14 $chr(91) $+ $network $+ $chr(93) $chr(91) $+ $time(HH:nn) $+ $chr(93) $1-
renwin @DCC_Sends @DCC_Sends - $bracket(Sent: %DCC.Send.Complete - $rateXchange(%DCC.Send.Total) - Failed: %DCC.Send.Failed)
}
}
}
alias -l DCC.GetWin.Add {
if ($1 != $null) {
if (%DCC.View == Transfers) {
aline -p @DCC_Transfers 14 $chr(91) $+ $network $+ $chr(93) $chr(91) $+ $time(HH:nn) $+ $chr(93) $1-
renwin @DCC_Transfers @DCC_Transfers - $bracket(Sent: %DCC.Send.Complete - $rateXchange(%DCC.Send.Total) - Failed: %DCC.Send.Failed) - $bracket(Received: %DCC.Get.Complete - $rateXchange(%DCC.Get.Total) - Failed: %DCC.Get.Failed)
}
elseif (%DCC.View != Sends) {
aline -p @DCC_Gets 14 $chr(91) $+ $network $+ $chr(93) $chr(91) $+ $time(HH:nn) $+ $chr(93) $1-
renwin @DCC_Gets @DCC_Gets - $bracket(Received: %DCC.Get.Complete - $rateXchange(%DCC.Get.Total) - Failed: %DCC.Get.Failed)
}
}
}
alias -l DCC.SendWin { window -nk0a @DCC_Sends -1 -1 650 300 @DCC_Sends | set %DCC.Send.Complete 0 | set %DCC.Send.Failed 0 | set %DCC.Send.Total 0 }
alias -l DCC.GetWin { window -nk0a @DCC_Gets -1 -1 650 300 @DCC_Gets | set %DCC.Get.Complete 0 | set %DCC.Get.Failed 0 | set %DCC.Get.Total 0 }
alias -l DCC.TransferWin { window -nk0a @DCC_Transfers -1 -1 650 300 @DCC_Transfers | set %DCC.Get.Complete 0 | set %DCC.Get.Failed 0 | set %DCC.Get.Total 0 | set %DCC.Send.Complete 0 | set %DCC.Send.Failed 0 | set %DCC.Send.Total 0 }
alias DCC.Send {
;; $send() wrapper to return info about a send
if (($1 == $null) || ($1 == 0)) { return $send(0) }
var %i = 1
while (%i <= $send($1,0)) {
if $send($1,%i).cid == $cid { return [ $send($1,%i) [ $+ [ $iif($prop != $null,. $+ $prop) ] ] ] }
inc %i 1
}
}
alias DCC.Get {
;; $get() wrapper to return info about a get
if (($1 == $null) || ($1 == 0)) { return $get(0) }
var %i = 1
while (%i <= $get($1,0)) {
if $get($1,%i).cid == $cid { return [ $get($1,%i) [ $+ [ $iif($prop != $null,. $+ $prop) ] ] ] }
inc %i 1
}
}
alias rateXchange {
;; format a number from bytes to a pretty GB, MB, KB, or plain old Bytes
if (($1 !isnum) || ($1 < 0)) { return n/a }
if ($round($calc($1 / 1073741824),1) >= 1) { return $round($calc($1 / 1073741824),1) GB }
if ($round($calc($1 / 1048576),1) >= 1) { return $round($calc($1 / 1048576),1) MB }
if ($round($calc($1 / 1024),1) >= 1) { return $round($calc($1 / 1024),1) KB }
return $int($1) Bytes
}
alias -l bracket { if ($1- != $null) { return $chr(91) $+ $1- $+ $chr(93) } }
;; The Dialog and its Events ----------------------------------------------------------------
menu menubar {
DCC Transfer Window Logger:DCC_Logger
}
alias DCC_Logger {
if ($dialog(DCC_Logger) == $null) { dialog -md DCC_Logger DCC_Logger }
else { dialog -v DCC_Logger DCC_Logger }
}
dialog DCC_Logger {
title "DCC Transfer Window Logger - Settings"
size -1 -1 321 216
option pixels
button "&OK", 101, 158 174 75 25, default ok
button "Cancel", 102, 236 174 75 25, cancel
button "Unload", 103, 11 174 75 25, cancel
check "Enable the DCC_Sends window (Files you have sent)", 1, 11 8 300 20
check "Enable the DCC_Gets window (Files you have received)", 2, 11 38 300 20
check "Enable a combined DCC_Transfers window", 3, 11 68 300 20
text "Note: SysReset creates a download.log and an upload.log file automatically in the SysReset folder for all transfers. You can view those files by using the 'SysReset Log Reader' addon.", 6, 11 98 300 52
}
on *:dialog:DCC_Logger:*:*: {
if ($devent == init) {
if (%DCC.View == Sends) { did -c $dname 1 }
elseif (%DCC.View == Gets) { did -c $dname 2 }
elseif (%DCC.View == Transfers) { did -c $dname 3 }
else { did -c $dname 1 | did -c $dname 2 }
}
if ($devent == sclick) {
if ($did == 1) { did -u $dname 3 }
if ($did == 2) { did -u $dname 3 }
if ($did == 3) { did -u $dname 1 | did -u $dname 2 }
if ($did == 101) { save_all_changes }
if ($did == 102) { dialog -x DCC_Logger DCC_Logger }
if ($did == 103) { .unload -rs $script }
}
}
alias -l save_all_changes {
if ($did($dname,1).state == 1 && $did($dname,2).state == 0 ) { set %DCC.View Sends }
elseif ($did($dname,1).state == 0 && $did($dname,2).state == 1 ) { set %DCC.View Gets }
elseif ($did($dname,3).state == 1) { set %DCC.View Transfers }
else { unset %DCC.View }
}
👁️ 4 vistas • 📥 0 descargas