Repositorio de scripts de irc.terrachat.cl desde los canales #TRAFFIC y #LATINWAREZ.
⬅️ Volver;### DSQ - DCCSendQueue.
;# by dramz 2004.
;### Read the dcc_queue_readme.txt for more information on this mIRC script.
;### Do not edit below this line if you don't know what you're doing!
alias dsq_Version { return 0.7 }
menu query,nicklist {
$iif(!$dsq_Reciver($1,$active),$style(2)) DCC Send Queue $dsq_Version
. $+($iif($send($dsq_Reciver($1,$active),0) >= 1,$style(2) S,Start s),ending files in queue, $chr(32), $chr(40),$iif($lines($dsq_QueueFile($dsq_Reciver($1,$active))) >= 1,$lines($dsq_QueueFile($dsq_Reciver($1,$active))),No) files in queue,$chr(41)) : dsq_DccSend $dsq_Reciver($1,$active) $read($dsq_QueueFile($dsq_Reciver($1,$active)),1)
. $iif(!$send($dsq_Reciver($1,$active),0),$style(2)) Pause after current send : set %dsq_status_ [ $+ [ $dsq_Reciver($1,$active) ] ] paused | dsq_WinEcho $dsq_Reciver($1,$active) Pause after current send.
.-
.Add directory to queue : dsq_AddDirToQueue $dsq_Reciver($1,$active)
.Add file(s) to queue : dsq_AddFileToQueue $dsq_Reciver($1,$active)
.-
.List files in queue : dsq_ListQueue $dsq_Reciver($1,$active)
.Remove a file in queue : dsq_RemoveFileFromQueue $dsq_Reciver($1,$active)
.Remove all files in queue : dsq_RemoveAllFilesInQueue $dsq_Reciver($1,$active)
.-
.DCC Send Speed Limit $+($chr(40),$dsq_SpeedLimit,$chr(41)) : dsq_SpeedLimit $dsq_Reciver($1,$active) $$input(Enter Speedlimit in kilobytes/s $crlf $+ (Max: 1240000000. Min: 1. Disable: off) $crlf $+ $crlf $+ Example: "20" for 20kilobytes/s or "off" for No Limit , e,Speed Limit)
. $iif($group(#dsq_remotecommand) == on,$style(1)) Allow users to !pause,!resume and check !status for filesends : $iif($group(#dsq_remotecommand) == on,.disable #dsq_remotecommand,.enable #dsq_remotecommand)
}
alias dsq_Reciver {
if (($1 == $2) || ($2 ischan)) { return $1 }
else { return $2 }
}
alias dsq_QueueFile { return $+(",$scriptdirDCC_Queue_ [ $+ [ $replace($$1,\,_,/,_,|,_) ] $+ ] .txt,") }
alias dsq_SpeedLimit {
if (!$2) { return $iif(%dsq_SpeedLimit isnum, $calc(%dsq_SpeedLimit / 8), No Limit) | return }
else if ($2 == off) { unset %dsq_SpeedLimit | dsq_WinEcho $1 DCC Send Speed Limit is disabled. | return }
else if ($2 isnum) { set %dsq_SpeedLimit $calc($2 * 8) | dsq_WinEcho $1 DCC Send Speed Limit is set to $2 kilobytes/s. | return }
else { dsq_WinEcho $1 DCC Send Speed Limit: Invalid input. Please enter a number. }
}
alias dsq_DeleteQueue {
linesep $$1
if ($input(Sure you want to delete the queuefile for $$1 $+ ?,y,DCC Queue)) {
.remove $dsq_QueueFile($$1)
dsq_WinEcho $$1 Deleted $$1 $+ 's queue.
}
else { dsq_WinEcho $$1 Queue delete cancelled. }
linesep $$1
}
alias dsq_RemoveAllFilesInQueue {
linesep $$1
if ($input(Sure you want to delete ALL files in queue for $$1 $+ ?,y,DCC Queue)) {
if ($send($$1,0) == 0) { .remove $dsq_QueueFile($$1) }
else ($lines($dsq_QueueFile($$1)) >= 2) {
var %dsq_tmp = $read($dsq_QueueFile($$1),1)
.remove $dsq_QueueFile($$1)
write $dsq_QueueFile($$1) %dsq_tmp
}
dsq_WinEcho $$1 Files in queue removed.
}
else { dsq_WinEcho $$1 Queue delete cancelled. }
linesep $$1
}
alias dsq_RemoveFileFromQueue {
if ($2 !isnum) { var %dsq_tmp = $input(Enter the queue number to remove from list. $+ $crlf (Use "List files in queue" to get the queue number),e,DCC Queue) }
else { var %dsq_tmp = $2 }
linesep $$1
if ((%dsq_tmp isnum) && ($read($dsq_QueueFile($$1),%dsq_tmp) != $null)) {
var %dsq_tmp2 = $read($dsq_QueueFile($$1),%dsq_tmp)
.write -dl [ $+ [ %dsq_tmp ] ] $dsq_QueueFile($$1)
dsq_WinEcho $$1 Removed file %dsq_tmp2 with queue number %dsq_tmp from queue.
}
else { dsq_WinEcho $$1 Queue remove cancelled. }
linesep $$1
}
alias dsq_AddDirToQueue {
var %dsq_tmp = $sdir($iif($exists(%dsq_dir),%dsq_dir,C:\),DCC Queue)
if ($exists(%dsq_tmp)) { set %dsq_dir $nofile(%dsq_tmp) }
linesep $$1
if ($exists(%dsq_tmp)) {
dsq_WinEcho $$1 Adding %dsq_tmp to $$1 $+ 's queue...
var %dsq_tmp2 = $findfile(%dsq_tmp,*.*,0)
var %dsq_tmp3 = %dsq_tmp2
while (%dsq_tmp2 >= 1) {
dsq_AddToQueue $$1 $findfile(%dsq_tmp,*.*,%dsq_tmp2)
dec %dsq_tmp2 1
}
dsq_WinEcho $$1 %dsq_tmp3 files added to queue. Total files in queue is $lines($dsq_QueueFile($$1)) $+ .
}
else { dsq_WinEcho $$1 No files added to queue. }
linesep $$1
}
alias dsq_AddFileToQueue {
var %dsq_tmp = $msfile($iif($exists(%dsq_dir),%dsq_dir,C:\),DCC Queue,Add)
if ($exists(%dsq_tmp)) { set %dsq_dir $nofile(%dsq_tmp) }
linesep $$1
if ((%dsq_tmp isnum) && (%dsq_tmp >= 1)) {
dsq_WinEcho $$1 Adding files to $$1 $+ 's queue...
while (%dsq_tmp >= 1) {
var %dsq_tmpfile = $msfile(%dsq_tmp)
if ($exists(%dsq_tmpfile)) { set %dsq_dir $nofile(%dsq_tmpfile) }
dsq_AddToQueue $$1 %dsq_tmpfile
dec %dsq_tmp 1
}
dsq_WinEcho $$1 $msfile(0) files added to queue. Total files in queue is $lines($dsq_QueueFile($$1)) $+ .
}
else { dsq_WinEcho $$1 No files added to queue. }
linesep $$1
}
alias dsq_AddToQueue { write $dsq_QueueFile($$1) $$2- }
alias dsq_ListQueue {
var %dsq_tmp = $lines($dsq_QueueFile($$1))
var %dsq_tmp2 = %dsq_tmp
linesep $$1
if (%dsq_tmp >= 1) {
dsq_WinEcho $$1 Listing files in queue...
while (%dsq_tmp >= 1) {
echo $colour(info) $$1 $str($chr(160),3) %dsq_tmp - $read($dsq_QueueFile($$1),%dsq_tmp)
dec %dsq_tmp 1
}
dsq_WinEcho $$1 Done. $+(,%dsq_tmp2,) files in queue.
}
else { dsq_WinEcho $$1 No files in queue. }
linesep $$1
}
alias dsq_WinEcho {
if (!$query($$1)) { query -n $$1 }
echo $colour(info) $$1 $timestamp * $2-
}
alias dsq_DccSend {
.dcc maxcps 9999999999
if (!$exists($2-)) { dsq_WinEcho $$1 Requested file doesn't seem to exist. (You need to add files to queue in order to start sending.) }
else { dcc send -cl0 $$1 $+(",$2-,") }
}
on *:FILESENT:*: {
if ($filename == $read($dsq_QueueFile($nick),1)) {
dsq_WinEcho $nick Sent $+(",$filename,".)
linesep $nick
unset %dsq_retry_ [ $+ [ $nick ] ]
var %dsq_tmp = 1
while (%dsq_tmp == 1) {
.write -dl1 $dsq_QueueFile($nick)
if (%dsq_status_ [ $+ [ $nick ] ] == paused) { dsq_WinEcho $nick Paused. | msg $nick Filsend is paused. | goto end }
if ($lines($dsq_QueueFile($nick)) < 1) { dsq_WinEcho $nick No more files left in queue. Halt. | goto end }
if (!$exists($read($dsq_QueueFile($nick),1))) { dsq_WinEcho $nick File doesn't seem to exist. Deleting it from queue. }
else { dsq_WinEcho $nick $calc($lines($dsq_QueueFile($nick)) -1) files left in queue. | dsq_WinEcho $nick Sending: $+(",$read($dsq_QueueFile($nick),1),".) | %dsq_tmp = 0 | dsq_DccSend $nick $read($dsq_QueueFile($nick),1) }
}
}
:end
}
on *:SENDFAIL:*: {
if ($filename == $read($dsq_QueueFile($nick),1)) {
dsq_WinEcho $nick Failed to send $+(",$filename,".)
if (%dsq_retry_ [ $+ [ $nick ] ] >= 2) {
dsq_WinEcho $nick Send failed after 3 retries.
dsq_WinEcho $nick Right-click in the window and select "Start sending files in queue" in the menu to resume sending.
}
else {
inc %dsq_retry_ [ $+ [ $nick ] ] 1
dsq_WinEcho $nick Trying to resend file in 30 seconds
.timer 1 30 dsq_DccSend $nick $read($dsq_QueueFile($nick),1)
}
}
}
on *:NICK: {
if ($exists($dsq_QueueFile($nick))) {
if ($lines($dsq_QueueFile($nick)) >= 1) {
dsq_WinEcho $newnick Nickchange: $nick -> $newnick $+ . Renamed DCC Send Queue-file to suit new nickname.
.rename $dsq_QueueFile($nick) $dsq_QueueFile($newnick)
}
else {
.remove $dsq_QueueFile($nick)
}
}
}
;#EOF
👁️ 4 vistas • 📥 0 descargas