on *:load:{ writeini $mircdirbnc\bnc.db Settings Status OFF | writeini $mircdirbnc\bnc.db Settings Scroll ON | writeini $mircdirbnc\bnc.db Settings DefServ styx.us.relic.net } dialog bnc { title "BNC Account Manager/System v1.0" size -1 -1 360 175 ;size -1 -1 450 300 button "Close" 1, 295 147 60 25, ok box "Accounts" 2, 5 5 140 167 list 3, 10 20 130 100, vsbar button "Add" 4, 10 110 55 25 button "Del" 5, 85 110 55 25, disabled box "Account Info" 6, 150 5 205 140 text "Host:" 7, 160 28 90 50 text "Port:" 8, 285 28 90 50 text "Password:" 9, 160 53 90 50 text "Def. Vhost:" 10, 160 73 90 50 text "Def. Serv:" 11, 160 93 90 50 edit "" 12, 190 25 93 21, autohs, multi, disabled edit "" 13, 310 25 40 21, autohs, multi, disabled edit "" 14, 215 50 135 21, autohs, disabled, pass edit "" 15, 215 70 135 21, autohs, multi, disabled edit "" 16, 215 90 135 21, autohs, multi, disabled button "Edit" 17, 155 115 55 25, disabled button "Clear" 18, 225 115 55 25, disabled button "Apply" 19, 295 115 55 25, disabled button "Help" 20, 225 147 55 25 button "Advanced" 21, 150 147 60 25 button "Connect" 22, 32 140 85 25, disabled } dialog bncerror { title "BNC ERROR" size -1 -1 320 40 button "Close" 1, 5 5 60 25, ok text "" 2, 70 5 205 140, center } dialog bnchelp { title "Help / About" size -1 -1 360 175 button "Close" 1, 295 147 60 25, ok button "About" 2, 225 147 60 25 box "Topics" 3, 0 0 150 175 list 4, 0 15 150 170 box "Topic Description" 5, 155 0 205 145 box "About" 6, 155 0 205 145, hide text "Command:" 7, 170 25 90 55 text "Description:" 8, 170 45 90 50 text "" 9, 225 25 125 50 text "" 10, 230 45 125 50 text "" 11, 170 65 170 75 text "Author: Tork " 12, 170 25 120 50, hide text "Email: tork@goth.net" 13, 170 45 120 50, hide text "WWW (URL): http://tork.cjb.net/irc/projects/" 14, 170 65 170 50, hide text "IRC: styx.us.relic.net" 15, 170 95 120 40, hide text "Chan: #TestChamber" 16, 170 115 120 30, hide } dialog bncadv { title "BNC Advanced Settings" size -1 -1 360 175 button "Close" 1, 295 147 60 25, ok box "Accounts" 2, 5 5 160 140 box "Script Settings" 3, 170 5 185 140 button "Backup Database" 4, 40 30 95 25 text "BNC Status:" 5, 175 31 90 50 text "Scroll Titlebar:" 6, 175 61 90 50 text "Def. Server:" 7, 175 87 90 50 button "Restore Defaults" 8, 175 110 95 25 check "" 9, 265 25 55 25, push check "" 10, 265 55 55 25, push edit "" 11, 240 85 110 21, autohs, multi button "Resore Database" 12, 40 60 95 25, disabled } alias bnc { if ($dialog(bnc)) { dialog -x bnc bnc } | dialog -m bnc bnc | if ($rbnc(Settings,Scroll) == ON) { bnc.topic } } alias bnc.error { dialog -m bncerror bncerror | did -a bncerror 2 %bnc.error | unset %bnc.error | halt } alias bnc.help { dialog -m bnchelp bnchelp } alias bnc.adv { dialog -m bncadv bncadv } alias bnc.topic { .play -sc $mircdirbnc\bnctopic.txt 50 } alias bnc.scroll { if ($rbnc(Settings,Scroll) == ON && $dialog(bnc) && $1 != $null) { dialog -t bnc $1- } } alias rbnc { return $readini -n $mircdirbnc\bnc.db $1 $2- } alias wbnc { return writeini $mircdirbnc\bnc.db $1 $2 $3- } alias rmbnc { return remini $mircdirbnc\bnc.db $1 $2- } alias rbnchlp { return $readini -n $mircdirbnc\bnchelp.db $1 $2- } alias bnc.getinfo { did -r bnc 12,13,14,15,16 | did -a bnc 12 $did(bnc,3,$did(bnc,3).sel) | did -a bnc 13 $rbnc($did(bnc,3,$did(bnc,3).sel),Port) | did -a bnc 14 $rbnc($did(bnc,3,$did(bnc,3).sel),Passwd) | did -a bnc 15 $rbnc($did(bnc,3,$did(bnc,3).sel),DefVhost) | did -a bnc 16 $rbnc($did(bnc,3,$did(bnc,3).sel),DefServ) | did -e bnc 17 } alias bnc.getlist { dialog -v bnc bnc | did -b bnc 5,17,22 | did -r bnc 3,12,13,14,15,16 | if ($rbnc(Accounts,Total) == $null) { $wbnc(Accounts,Total,0) } | if ($rbnc(Accounts,Total) == 0) { did -a bnc 3 No Accounts | halt } | %bncacc.cur = 0 | :loop | inc %bncacc.cur 1 | if (%bncacc.cur >= $calc($rbnc(Accounts,Total) + 1)) { unset %bncacc.* | halt } | did -a bnc 3 $rbnc(Accounts,%bncacc.cur) | goto loop } alias bnc.gethelp { did -r bnc 12,13,14,15,16 | did -b bnc 17,5,22 | dialog -v bnchelp bnchelp | did -r bnchelp 4 | %bnchlp.cur = 0 | :loop | inc %bnchlp.cur 1 | if (%bnchlp.cur >= $calc($rbnchlp(Topics,Total) + 1)) { unset %bnchlp.* | halt } | did -a bnchelp 4 $rbnchlp(Topics,%bnchlp.cur) | goto loop } alias bnc.getadv { if ($rbnc(Accounts,Total) >= 1) { did -e bncadv 4 } | if ($exists(bnc\backup\bncdb.bak) == $true) { did -e bncadv 12 } | if ($rbnc(Settings,Status) == OFF) { did -a bncadv 9 OFF | did -u bncadv 9 } | if ($rbnc(Settings,Status) == ON) { did -a bncadv 9 ON | did -c bncadv 9 } | if ($rbnc(Settings,Scroll) == OFF) { did -a bncadv 10 OFF | did -u bncadv 10 } | if ($rbnc(Settings,Scroll) == ON) { did -a bncadv 10 ON | did -c bncadv 10 } | did -ra bncadv 11 $rbnc(Settings,DefServ) } alias bncacc.chk { %bncacc.tmp = 0 | :loop | inc %bncacc.tmp 1 | if (%bncacc.tmp >= $calc($rbnc(Accounts,Total) + 1)) { unset %bncacc.tmp | goto end } | if ($rbnc(Accounts,%bncacc.tmp) == %bncacc.host) { did -b bnc 5,17,22 | did -r bnc 12,13,14,15,16 | %bnc.error = You allready have an account with the host ' %bncacc.host ' added. | bnc.error | unset %bncacc.* | halt } | goto loop | :end } alias bnc.conn { %bncacc.host = $did(bnc,12).text | %bncacc.port = $did(bnc,13).text | dialog -x bnc bnc | .server %bncacc.host $+ : $+ %bncacc.port | $wbnc(Settings,Status,ON) } alias bnc.add { if ($did(bnc,3,1) == No Accounts) { did -r bnc 3 1 } | %bncacc.cur = $calc($rbnc(Accounts,Total) + 1) | if ($?="BNC Host or IP") { %bncacc.host = $! } | if ($?="BNC Port") { %bncacc.port = $! } | if ($?*="BNC Password") { %bncacc.passwd = $! } | if ($?="BNC Defualt Vhost (optional)") { %bncacc.defvhost = $! } | if ($?="BNC Default Server (optional)") { %bncacc.defserv = $! } | if (%bncacc.host == $null || %bncacc.port == $null || %bncacc.port !isnum || %bncacc.passwd == $null) { did -b bnc 5,17,22 | did -r bnc 12,13,14,15,16 | %bnc.error = Not enough or invalid account information entered, can not add account. | bnc.error | unset %bncacc.* | halt } bncacc.chk | $wbnc(Accounts,Total,%bncacc.cur) | $wbnc(Accounts,%bncacc.cur,%bncacc.host) | $wbnc(%bncacc.host,Port,%bncacc.port) | $wbnc(%bncacc.host,Passwd,%bncacc.passwd) | $wbnc(%bncacc.host,DefServ,$rbnc(Settings,DefServ)) | if (%bncacc.defvhost != $null) { $wbnc(%bncacc.host,DefVhost,%bncacc.defvhost) } | if (%bncacc.defserv != $null) { $wbnc(%bncacc.host,DefServ,%bncacc.defserv) } | bnc.getlist | unset %bncacc.* } alias bnc.del { $rmbnc($did(bnc,3,$did(bnc,3).sel)) | did -r bnc 12,13,14,15,16 | did -b bnc 5,13,14,15,16,17,18,19,22 | var %bncacc.cur $1 | :loop | if ($rmbnc($rbnc(Accounts,%bncacc.cur)) != $null) { $rmbnc($rbnc(Accounts,%bncacc.cur)) } | if ($rbnc(Accounts,$calc(%bncacc.cur + 1)) == $null) { $rmbnc(Accounts,%bncacc.cur) | $wbnc(Accounts,Total,$calc($rbnc(Accounts,Total) - 1))) | goto end } | var %bncacc.tmp $rbnc(Accounts,$calc(%bncacc.cur + 1)) | if ($wbnc(Accounts,%bncacc.cur,%bncacc.tmp) != $null) { $ifmatch } | $rmbnc(Accounts,$calc(%bncacc.cur + 1)) | $wbnc(Accounts,Total,$calc($rbnc(Accounts,Total) - 1))) | inc %bncacc.cur | if ($rbnc(Accounts,$calc(%bncacc.cur + 1)) != $null) { goto loop } | :end | bnc.getlist } alias bnc.update { if ($did(bnc,13).text == $null || $did(bnc,13).text !isnum || $did(bnc,14).text == $null) { %bnc.error = Not enough or invalid account information entered, can not update account. | bnc.error | halt } | bnc.getinfo | did -b bnc 5,13,14,15,16,17,18,19,22 | did -e bnc 3 } alias bnc.bakdb { if ($?!="Warning, if a pervious backup was made it will be overwriten with the new backup!! Continue?",yes,no) { if ($exists(bnc\backup) != $true) { .mkdir bnc\backup } | .mkdir bnc\backup\tmp | .copy -o bnc\bnc.db bnc\backup\tmp | .rename bnc\backup\tmp\bnc.db bnc\backup\tmp\bncdb.bak | .copy -o bnc\backup\tmp\bncdb.bak bnc\backup | .remove bnc\backup\tmp\bncdb.bak | .rmdir bnc\backup\tmp | dialog -v bncadv bncadv | bnc.getadv } | else { dialog -v bncadv bncadv | halt } } alias bnc.rstdb { .mkdir bnc\tmp | .copy -o bnc\backup\bncdb.bak bnc\tmp | .rename bnc\tmp\bncdb.bak bnc\tmp\bnc.db | .copy -o bnc\tmp\bnc.db $mircdirbnc | .remove bnc\tmp\bnc.db | .rmdir bnc\tmp | if ($?!="Database has been restored, Delete Backup Database?",yes,no) { .remove bnc\backup\bncdb.bak | .rmdir bnc\backup | dialog -v bncadv bncadv | did -b bncadv 12 } | else { dialog -v bncadv bncadv | halt } } alias bnc.rstdef { if ($?!="Are you sure u want to restore all defaults? Note: any changes made before this will be lost!",yes,no) { $wbnc(Settings,Scroll,ON) | $wbnc(Settings,DefServ,styx.us.relic.net) | bnc.getadv | dialog -v bncadv bncadv } | else { dialog -v bncadv bncadv | halt } } on *:dialog:bncerror:sclick:1:{ dialog -x bncerror bncerror | if ($dialog(bnc)) { dialog -v bnc bnc } } on *:dialog:bnchelp:init:0:{ bnc.gethelp } on *:dialog:bnchelp:sclick:1:{ dialog -x bnchelp bnchelp | dialog -v bnc bnc } on *:dialog:bnchelp:sclick:2:if ($did(bnchelp,2).text == Help) { did -r bnchelp 2 | did -a bnchelp 2 About | did -e bnchelp 4 | did -v bnchelp 6 | did -h bnchelp 6,12,13,14,15,16 | did -a bnchelp 7 Command: | did -a bnchelp 8 Description: } | else { did -r bnchelp 2 | did -a bnchelp 2 Help | did -b bnchelp 4 | did -v bnchelp 6 | did -h bnchelp 5 | did -r bnchelp 7,8,9,10,11 | did -v bnchelp 12,13,14,15,16 | bnc.gethelp } on *:dialog:bnchelp:sclick:4:{ did -r bnchelp 9,10,11 | did -a bnchelp 9 $did(bnchelp,4,$did(bnchelp,4).sel) | did -a bnchelp 10 $rbnchlp($did(bnchelp,4,$did(bnchelp,4).sel),desc) | did -a bnchelp 11 $rbnchlp($did(bnchelp,4,$did(bnchelp,4).sel),desc2) } on *:dialog:bnc:init:0:{ bnc.getlist } on *:dialog:bnc:edit:13:{ $wbnc($did(bnc,12),Port,$did(bnc,13).text) } on *:dialog:bnc:edit:14:{ $wbnc($did(bnc,12),Passwd,$did(bnc,14).text) } on *:dialog:bnc:edit:15:{ $wbnc($did(bnc,12),DefVhost,$did(bnc,15).text) | if ($did(bnc,15).text == $null) { $rmbnc($did(bnc,12),DefVhost) } } on *:dialog:bnc:edit:16:{ $wbnc($did(bnc,12),DefServ,$did(bnc,16).text) | if ($did(bnc,16).text == $null) { $rmbnc($did(bnc,12),DefServ) } } on *:dialog:bnc:sclick:*:{ if ($did == 1) { .play stop | dialog -x bnc bnc } | if ($did == 3 && $did(3,1) != No Accounts) { did -e bnc 5,22 | .timer 1 0 bnc.getinfo } | if ($did == 4) { .timer 1 0 bnc.add } | if ($did == 5) { .timer 1 0 bnc.del $did(bnc,3).sel } | if ($did == 17) { did -e bnc 13,14,15,16,18,19 | did -b bnc 3,5,22 } | if ($did == 18) { did -r bnc 13,14,15,16 } | if ($did == 19) { .timer 1 0 bnc.update } | if ($did == 20) { .timer 1 0 bnc.help } | if ($did == 21) { .timer 1 0 bnc.adv } | if ($did == 22) { .timer 1 0 bnc.conn } } on *:dialog:bncadv:init:0:{ bnc.getadv } on *:dialog:bncadv:sclick:*:{ if ($did == 1) { did -r bnc 12,13,14,15,16 | dialog -x bncadv bncadv | dialog -v bnc bnc | did -b bnc 17,5,22 | .timer 1 1 bnc.getlist } | if ($did == 4) { .timer 1 0 bnc.bakdb } | if ($did == 8) { .timer 1 0 bnc.rstdef } | if ($did == 9) { if ($did(9).text == ON) { did -ra bncadv 9 OFF | $wbnc(Settings,Status,OFF) } | else { did -ra bncadv 9 ON | $wbnc(Settings,Status,ON) } } | if ($did == 10) { if ($did(10).text == ON) { did -ra bncadv 10 OFF | $wbnc(Settings,Scroll,OFF) } | else { did -ra bncadv 10 ON | $wbnc(Settings,Scroll,ON) } } | if ($did == 12) { .timer 1 0 bnc.rstdb } } on *:dialog:bncadv:edit:11:{ $wbnc(Settings,DefServ,$did(11).text) } on ^*:notice:*:*:{ if ($rbnc(Settings,Status) == ON && $nick == bnc) { var %bncacc.cur = 0 | :servchk | inc %bncacc.cur 1 | if ($rbnc(Accounts,%bncacc.cur) == $server) { %bncacc.host = $server | goto conn } | if (%bncacc.cur >= $rbnc(Accounts,Total)) { goto end } | goto servchk | :conn | echo = $+ $nick $+ =5 *1 if (*1 == You need to say /quote PASS ) { raw -q pass $rbnc(%bncacc.host,Passwd) } if (*1 == Failed Pass!!) { .disconnect | %bnc.error = Password Failed!!, please check settings and try again. | bnc.error } if (*1 == Level two, lets connect to something real now && $rbnc(%bncacc.host,DefVhost) != $null) { raw -q vip $rbnc(%bncacc.host,DefVhost) } if (*1 == Vhost $rbnc(%bncacc.host,DefVhost) invalid) { %bnc.error = Vhost $rbnc(%bncacc.host,DefVhost) not accepted, continuing with default vhost | bnc.error } if (*1 == type /quote conn [server] to connect) { raw -q conn $rbnc(%bncacc.host,DefServ) } if (*1 == Failed Connection && $rbnc(%bncacc.host,DefServ) != $rbnc(Settings,DefServ)) { %bnc.error = IRC Server ' $+ $rbnc(%bncacc.host,DefServ) $+ ' dont seem to work, trying default server | raw -q conn $rbnc(Settings,DefServ) } haltdef | :end | if (%bncacc.host == $null) { %bnc.error = No account found for ' $+ $server $+ ' can't continue. | .disconnect | unset %bncacc.* | bnc.error } } } on *:connect:if ($network == RelicNet && $rbnc(Settings,Status) == ON) && z isin $usermodes) { .raw -q mode $me -z } menu menubar,status { - BNC Manager:{ bnc } }