rendered paste body[Addon]
Script=FTP Ad
Version=1.12
Author=Rz_Ten1
Desc=Adds FTP Ad generation support so that you can display FTP server information. Has !list support and can be set to specific channels.
For=SysReset
Date=Sep 28 2002
[script]
n0=on *:CONNECT:{ checkftp | echo -s 12SysReset FTP Ad v1.12 Plugin Running. $startdcc(FTP,6,ftp) 12FTP Ad(s) detected. }
n1=on *:LOAD:{ checkftp | echo -s 12SysReset FTP Ad v1.12 Plugin Running. $startdcc(FTP,6,ftp) 12FTP Ad(s) detected. }
n2=on *:UNLOAD:{ echo -s 12SysReset FTP Ad v1.12 Plugin UnLoaded | .timerFTP* OFF }
n3=dialog FTP_Manager {
n4= title "FTP Ad Manager"
n5= size -1 -1 610 246
n6= option pixels
n7= button "&Done", 200, 507 224 100 20, default cancel
n8=
n9= box "FTP Ads:", 95, 3 0 181 220
n10= list 10, 8 14 120 166, size
n11= button "Add", 100, 131 15 47 25
n12= button "Delete", 150, 131 45 47 25
n13= box "Global Settings:", 97, 3 184 181 36
n14= check "Respond to !List", 43, 9 199 140 14
n15=
n16= text "Address:", 25, 188 15 50 13
n17= edit "255.255.255.255", 1, 188 27 128 22, autohs
n18= text "Port:", 26, 317 14 27 13
n19= edit "", 2, 317 27 44 22
n20= check "Automatic IP Lookup", 3, 189 52 150 13
n21=
n22= box "Ad Information:", 99, 182 0 247 220
n23= text "Login:", 28, 188 70 37 13
n24= edit "", 4, 188 83 117 22, autohs
n25= text "Password:", 29, 306 69 50 13
n26= edit "", 5, 306 83 117 22, autohs
n27=
n28= text "Max Users:", 209, 370 14 54 13
n29= edit "", 41, 370 27 53 22
n30=
n31= text "Description:", 27, 188 110 70 13
n32= edit "", 6, 188 124 235 38, multi
n33=
n34= check "Enabled", 42, 189 165 58 15
n35= text "Ad Delay(min):", 1000, 318 168 72 13
n36= edit "", 40, 389 164 34 20
n37=
n38= box "Ad Display Format:", 98, 182 184 247 36
n39= check "Addr:[ip] Port:[port]", 50, 189 199 103 14
n40= check "Addr:[ftp://ip:port]", 51, 312 199 114 14
n41=
n42= box "Ad Channels:", 1001, 427 0 180 220
n43= combo 61, 434 15 116 181, size
n44= button "Add", 63, 554 16 47 29
n45= button "Delete", 64, 554 50 47 29
n46= button "Autojoin", 65, 554 84 47 29
n47= check "All Channels", 66, 434 199 100 13
n48=}
n49=on *:dialog:FTP_Manager:*:*:{
n50= var %reset 0
n51= if ($devent == sclick) {
n52= if ($did == 100) {
n53= var %tmp = $input(Use Automatic IP Lookup?,48,Add New FTP Ad)
n54= if (%tmp == $yes) var %tmp Auto
n55= elseif (%tmp == $no) var %tmp $?="Please Enter IP Address"
n56= if (%tmp == $cancel || %tmp == $null) { halt } | if ($chr(127) isin %tmp) { $error(Contains forbidden text) | halt }
n57= var %tmp2 = $?="Please Enter Port Number" | if ($chr(127) isin %tmp2) { $error(Contains forbidden text) | halt } | if (%tmp2 == $null) { halt }
n58= var %tmp3 = $?="Please Enter Login Name" | if ($chr(127) isin %tmp3) { $error(Contains forbidden text) | halt } | if (%tmp3 == $null) { halt }
n59= var %tmp4 = $?="Please Enter Login Password" | if ($chr(127) isin %tmp4) { $error(Contains forbidden text) | halt } | if (%tmp4 == $null) { halt }
n60= var %tmp5 = $?="Please Enter Max Users" | if ($chr(127) isin %tmp5) { $error(Contains forbidden text) | halt } | if (%tmp5 == $null) { var %tmp5 0 }
n61= var %tmp6 = $?="Please Enter FTP Description" | if ($chr(127) isin %tmp6) { $error(Contains forbidden text) | halt }
n62= if (!%tmp6) { var %tmp6 = None }
n63=
n64= if ($did(61).lines > 0) {
n65= var %loop = 1, %tmp7
n66= while (%loop <= $did(61).lines) { var %tmp7 = %tmp7 $+ $did(61,%loop) $+ $chr(128) | inc %loop }
n67= }
n68= else { var %tmp7 = ALL }
n69=
n70= var %abcabc = 1
n71= while (%cFTP [ $+ [ %abcabc ] ] != $null) { inc %abcabc }
n72= set %cFTP [ $+ [ %abcabc ] ] $+(%tmp,$chr(127),%tmp2,$chr(127),%tmp3,$chr(127),%tmp4,$chr(127),%tmp5,$chr(127),%adtime,$chr(127),%tmp6,$chr(127),1,$chr(127),%tmp7)
n73= var %reset 1
n74= }
n75= if ($did == 3) {
n76= if ($did($dname,3).state == 1) { did -ra $dname 1 Auto: $ip | did -b $dname 1 }
n77= else { did -ra $dname 1 $ip | did -e $dname 1 }
n78= }
n79= if ($did == 10) {
n80= did -re $dname 1,2,4,5,6,40,41
n81= did -u $dname 50,51,3,42
n82= did -e $dname 150,42,40,2,3,4,5,6,41,50,51
n83= var %tmp = %cFTP [ $+ [ $did($dname,10).sel ] ]
n84= if ($gettok(%tmp,1,127) == Auto) { did -c $dname 3 | did -ba $dname 1 Auto: $ip } | else { did -a $dname 1 $gettok(%tmp,1,127) }
n85= did -a $dname 2 $gettok(%tmp,2,127)
n86= did -a $dname 4 $gettok(%tmp,3,127)
n87= did -a $dname 5 $gettok(%tmp,4,127)
n88= did -a $dname 41 $gettok(%tmp,5,127)
n89= did -a $dname 40 $calc($gettok(%tmp,6,127) / 60)
n90= if ($gettok(%tmp,10,127) == 1) { did -c $dname 42 } | else { did -b $dname 40,2,3,4,5,6,41,50,51 }
n91= if ($gettok(%tmp,7,127) != None) { did -a $dname 6 $gettok(%tmp,7,127) }
n92= if ($gettok(%tmp,8,127) == 1) { did -c $dname 50 } | else { did -c $dname 51 }
n93=
n94= if ($gettok(%statson,10,127) == 1) { var %reset = 2 }
n95= }
n96= if ($did == 42) { if ($did(42).state == 1) { did -e $dname 40,2,3,4,5,6,41,50,51 } | else { did -b $dname 40,2,3,4,5,6,41,50,51 } }
n97= if ($did == 43) { if ($did(43).state == 1) { set %ftplist 1 } | else { set %ftplist 0 } }
n98= if ($did == 50) { did -c $dname 50 | did -u $dname 51 }
n99= if ($did == 51) { did -c $dname 51 | did -u $dname 50 }
n100= if ($did == 150) {
n101= unset %cFTP [ $+ [ $did(10).sel ] ]
n102= set %queueup 1
n103= while (%queueup <= $did(10).lines ) {
n104= if ((%cFTP [ $+ [ $calc(%queueup) ] ] == $null) && %queueup <= $did(10).lines) {
n105= set %queuedown %queueup
n106= while ((%cFTP [ $+ [ $calc(%queuedown) ] ] == $null) && %queuedown <= $did(10).lines) { inc %queuedown }
n107= set %cFTP [ $+ [ $calc(%queueup) ] ] %cFTP [ $+ [ $calc(%queuedown) ] ]
n108= unset %cFTP [ $+ [ $calc(%queuedown) ] ]
n109= }
n110= inc %queueup
n111= }
n112= unset %queuedown
n113= unset %queueup
n114= unset %cFTP [ $+ [ $did(10).lines ] ]
n115= var %reset 1
n116= }
n117= if ($did == 61) { did -e $dname 64,66 }
n118= if ($did == 63 || $did == 64) {
n119= if ($gettok(%statson,10,127) == 1) { var %chanscan = $gettok(%cFTP [ $+ [ $did(10).sel ] ],9,127) }
n120= else { var %chanscan = %ftpok }
n121= var %chanscan = $replace(%chanscan,$chr(127),$chr(128))
n122= }
n123= if ($did == 63) {
n124= if (%chanscan == ALL) { var %chanscan }
n125= if ($channelcheck(%chanscan,$did(61)) > 0 && %chanscan != $null) { $error(That Channel is already in the list) | halt }
n126= var %chanscan = %chanscan $+ $did(61) $+ $chr(128)
n127= if ($gettok(%statson,10,127) == 1) { set %cFTP [ $+ [ $did(10).sel ] ] $puttok(%cFTP [ $+ [ $did(10).sel ] ],%chanscan,9,127) }
n128= else { set %ftpok $replace(%chanscan,$chr(128),$chr(127)) }
n129= var %reset 2
n130= did -b $dname 63
n131= }
n132= if ($did == 64) {
n133= if ($did(61).sel == 0 || $did(61).sel == $null) { $error(Please Select a Channel) | halt }
n134= var %chanscan = $deltok(%chanscan,$did(61).sel,128) $+ $chr(128)
n135= if (%chanscan == $chr(128)) { var %chanscan = ALL }
n136= if ($gettok(%statson,10,127) == 1) { set %cFTP [ $+ [ $did(10).sel ] ] $puttok(%cFTP [ $+ [ $did(10).sel ] ],%chanscan,9,127) }
n137= else { set %ftpok $replace(%chanscan,$chr(128),$chr(127)) }
n138= if (%ftpok == $chr(127) || %ftpok == ALL) { set %ftpok }
n139= var %reset 2
n140= }
n141= if ($did == 65) {
n142= var %tmp = $autojoin_ch
n143= if (%tmp == $null) { $error(There are no autojoin channels) | halt }
n144= if (%megaexpert != 1) {
n145= if ($?!="This will delete the current channel list and reset the list to be the same as the current autojoin list. $crlf $crlf $+ Continue?" == $false) { halt }
n146= }
n147= var %loop 1 | while (%loop <= $numtok(%tmp,127)) { var %autochannel = $addtok(%autochannel,$gettok($gettok(%tmp,%loop,127),1,32),127) | inc %loop }
n148= var %autochannel = %autochannel $+ $chr(127)
n149= if ($gettok(%statson,10,127) == 1) { set %cFTP [ $+ [ $did(10).sel ] ] $puttok(%cFTP [ $+ [ $did(10).sel ] ],$replace(%autochannel,$chr(127),$chr(128)),9,127) }
n150= else { set %ftpok %autochannel }
n151= var %reset 2
n152= }
n153= if ($did == 66) {
n154= if ($did(66).state == 0) {
n155= did -e $dname 61,65
n156= if ($did(61).lines > 0) {
n157= var %loop = 1, %tmp
n158= while (%loop <= $did(61).lines) { var %tmp = %tmp $+ $did(61,%loop) $+ $chr(128) | inc %loop }
n159= }
n160= else { var %tmp = ALL }
n161= }
n162= else { did -b $dname 61,63,64,65 | var %tmp = ALL }
n163= if ($gettok(%statson,10,127) == 1) { set %cFTP [ $+ [ $did(10).sel ] ] $puttok(%cFTP [ $+ [ $did(10).sel ] ],%tmp,9,127) }
n164= else { set %ftpok $replace(%tmp,$chr(128),$chr(127)) }
n165= if (%ftpok == $chr(127) || %ftpok == ALL) { set %ftpok }
n166= }
n167= if ($did == 200) { var %tmp $startdcc(FTP,6,ftp) }
n168= }
n169= if ($devent == init || %reset == 2) {
n170= did -r $dname 61
n171= did -u $dname 66
n172= did -b $dname 64
n173= did -e $dname 61,65
n174= if ($gettok(%statson,10,127) == 1) {
n175= if ($did(10).sel != $null && $did(10).sel != 0) {
n176= var %tmp = %cFTP [ $+ [ $did($dname,10).sel ] ]
n177= did -b $dname 64
n178= did -e $dname 65,66
n179= did -r $dname 61
n180= if ($gettok(%tmp,9,127) != All) {
n181= var %start = 1
n182= while (%start <= $numtok($gettok(%tmp,9,127),128)) {
n183= if ($gettok($gettok(%tmp,9,127),%start,128) != $null) { did -a $dname 61 $gettok($gettok(%tmp,9,127),%start,128) }
n184= inc %start
n185= }
n186= }
n187= else { did -c $dname 66 }
n188= }
n189= else { did -ra $dname 61 ...Trigger Depentant... | did -a $dname 61 | did -a $dname 61 Click on the trigger list | did -a $dname 61 to assign channels | did -b $dname 61,63,64,65,66 }
n190= }
n191= elseif (%ftpok != $null) {
n192= var %start 1
n193= while (%start <= $numtok(%ftpok,127)) {
n194= if ($gettok(%ftpok,%start,127) != $null) {
n195= did -a $dname 61 $gettok(%ftpok,%start,127)
n196= }
n197= inc %start
n198= }
n199= }
n200= else { did -c $dname 66 }
n201= if ($did(66).state != 0) { did -b $dname 61,63,64,65 }
n202= }
n203= if ($devent == init || %reset == 1) {
n204= if (%ftplist == 1) { did -c $dname 43 }
n205= did -rb $dname 1,2,4,5,6,40,41
n206= did -r $dname 10
n207= did -b $dname 150,42,40,2,3,4,5,6,41,50,51
n208= did -u $dname 3,42
n209= var %abcabc 1
n210= while (%cFTP [ $+ [ %abcabc ] ] != $null) {
n211= did -a $dname 10 $gettok(%cFTP [ $+ [ %abcabc ] ],1,127) $+ : $+ $gettok(%cFTP [ $+ [ %abcabc ] ],2,127)
n212= inc %abcabc
n213= }
n214=
n215= if ($devent == init && %active != On && $group(#list) != On) { $noticed(FTP Ads will not show unless the fileserver is in Active/Online or Active/Partially Silent modes.) }
n216= }
n217= if ($devent == edit || (($did == 3 || $did == 42 || $did == 50 || $did == 51) && $devent == sclick)) {
n218= if ($len($did(61)) > 2) { did -e $dname 63 }
n219= if ($did(3).state == 1 || $did(1) == $null) { var %tmp = Auto } | else { var %tmp = $did(1) } | var %tmp = %tmp $+ $chr(127)
n220= if ($did(2) == $null) { var %tmp = %tmp $+ 0 } | else { var %tmp = %tmp $+ $did(2) } | var %tmp = %tmp $+ $chr(127)
n221= if ($did(4) == $null) { var %tmp = %tmp $+ 0 } | else { var %tmp = %tmp $+ $did(4) } | var %tmp = %tmp $+ $chr(127)
n222= if ($did(5) == $null) { var %tmp = %tmp $+ 0 } | else { var %tmp = %tmp $+ $did(5) } | var %tmp = %tmp $+ $chr(127)
n223= if ($did(41) == $null) { var %tmp = %tmp $+ 0 } | else { var %tmp = %tmp $+ $did(41) } | var %tmp = %tmp $+ $chr(127)
n224= if ($did(40) == $null) { var %tmp = %tmp $+ 0 } | else { var %tmp = %tmp $+ $calc($did(40) * 60) } | var %tmp = %tmp $+ $chr(127)
n225= if ($did(6,1) == $null) { var %tmp = %tmp $+ None } | else { var %tmp = %tmp $+ $did(6,1) $+ $did(6,2) } | var %tmp = %tmp $+ $chr(127)
n226= var %tmp = $+(%tmp,$did(50).state,$chr(127),$gettok(%cFTP [ $+ [ $did(10).sel ] ],9,127),$chr(127),$did(42).state)
n227= set %cFTP [ $+ [ $did(10).sel ] ] %tmp
n228= }
n229=}
n230=Menu menubar {
n231= FTP Ad Manager:/opendialog FTP_Manager
n232=}
n233=alias ftp {
n234= if ($1 == notice && $3 != $null) {
n235= var %abcabc 1
n236= if ($gettok(%statson,10,127) == 1) { while ($channelcheck($gettok(%cFTP [ $+ [ %abcabc ] ],9,127),$3) == 0 && %cFTP [ $+ [ %abcabc ] ] != $null) { inc %abcabc } }
n237= elseif ($channelcheck(%adok,$3) == 0) { halt }
n238= }
n239= else { var %abcabc $1 }
n240= if ($1 == $null || %cFTP [ $+ [ %abcabc ] ] == $null) { halt }
n241=
n242= while (%cFTP [ $+ [ %abcabc ] ] != $null && $gettok(%cFTP [ $+ [ %abcabc ] ],10,127) != 0) {
n243= var %admsg %col1 $+ $chr(91) $+ %col2 $+ FTP active $+ %col1 $+ $chr(93)
n244=
n245= var %admsg %admsg - Address:[ $+ %col2
n246= var %tmp = %cFTP [ $+ [ %abcabc ] ]
n247=
n248= if ($gettok(%tmp,8,127) == 0) { var %admsg = %admsg $+ ftp:// }
n249= if ($gettok(%tmp,1,127) == Auto) { if ($ip == $null) { halt } | var %admsg %admsg $+ $ip } | else { var %admsg %admsg $+ $gettok(%tmp,1,127) }
n250= if ($gettok(%tmp,2,127) != 0) {
n251= if ($gettok(%tmp,8,127) != 0) { var %admsg = $+(%admsg,%col1,$chr(93)) - $+(Port:[,%col2,$gettok(%tmp,2,127)) }
n252= else { var %admsg = $+(%admsg,:,$gettok(%tmp,2,127)) }
n253= }
n254= var %admsg = $+(%admsg,%col1,$chr(93))
n255= var %admsg = %admsg - $+(Login:[,%col2,$gettok(%tmp,3,127),%col1,$chr(93))
n256= var %admsg = %admsg - $+(Password:[,%col2,$gettok(%tmp,4,127),%col1,$chr(93))
n257= if ($gettok(%tmp,5,127) > 0) var %admsg %admsg - Max Users:[ $+ %col2 $+ $gettok(%tmp,5,127) $+ $+ %col1 $+ $chr(93)
n258= if ($gettok(%tmp,7,127) != None) var %admsg %admsg - Description:[ $+ %col2 $+ $gettok(%tmp,7,127) $+ $+ %col1 $+ $chr(93)
n259= var %admsg %admsg - SysReset %ver
n260=
n261= if ($1 == notice && $3 != $null) {
n262= if (%admsg) {
n263= randad
n264= .timer 1 $calc(%randad) .notice $tnick($2) %admsg
n265= inc %randad
n266= }
n267= inc %abcabc
n268= if ($gettok(%statson,10,127) == 1) { while ($channelcheck($gettok(%cFTP [ $+ [ %abcabc ] ],9,127),$3) == 0 && %cFTP [ $+ [ %abcabc ] ] != $null) { inc %abcabc } }
n269= }
n270= else { var %abcabc -1 }
n271= }
n272= if ($2 == $null && %active == On && %admsg) {
n273= var %sloop 1
n274= randad
n275= while (%sloop <= $scon(0)) {
n276= /scon %sloop
n277= var %loops 1
n278= while (%loops <= $chan(0)) {
n279= if (($gettok(%statson,10,127) == 1 && $channelcheck($gettok(%cFTP [ $+ [ $1 ] ],9,127),$chan(%loops)) == 1) || ($gettok(%statson,10,127) == 0 && $channelcheck(%ftpok,$chan(%loops)) == 1)) {
n280= .timer 1 $calc(%randad) /msg $chan(%loops) %admsg
n281= inc %randad 2
n282= }
n283= inc %loops
n284= }
n285= inc %sloop
n286= }
n287= }
n288= randad x
n289=}
n290=on 1:text:!list*:#:{
n291= if ($nick == $null) { halt }
n292= if (%ftplist == 1 && $channelcheck(%ftpok,$chan) > 0 && (!$2 || $2 == $me) && (%list. [ $+ [ $nick ] ] < 3 || %list. [ $+ [ $nick ] ] == $null)) {
n293= .timer 1 0 /ftp notice $tnick($nick) $chan
n294= }
n295=}
n296=alias -l checkftp {
n297= var %abcabc = 1
n298= while (%cFTP [ $+ [ %abcabc ] ] != $null) {
n299= var %tmp = %cFTP [ $+ [ %abcabc ] ]
n300= if ($numtok(%tmp,127) < 7) { var %tmp $instok(%tmp,None,7,127) }
n301= if ($numtok(%tmp,127) < 8) { var %tmp $instok(%tmp,1,8,127) }
n302= if ($numtok(%tmp,127) < 9) { var %tmp $instok(%tmp,All,9,127) }
n303= if ($numtok(%tmp,127) < 10) {
n304= var %tmp $instok(%tmp,1,10,127)
n305= echo -s 12SysReset FTP Ad Preloader: Ad %abcabc does not meet standards, updating...
n306= set %cFTP [ $+ [ %abcabc ] ] %tmp
n307= }
n308=
n309= inc %abcabc
n310= }
n311=}