;/********************************************************************** ; * ; * aIRC ; * Servers List ; * ; **********************************************************************/ alias _servers.dialog { var %ifile = $_mini(files,servers),%ofile = $_usrdir(snets.ini),%line if (%ifile == $null) { %ifile = servers.ini } if ($_not($isfile(%ifile))) { error.a Servers INI file not found. $iif(%ifile != $null,$^'(%ifile)) return } if ($isfile(%ofile)) { %line = $read -nl1 %ofile if (;* !iswm %line) || ($remove(%line,;) != $crc($_mini(files,servers))) { _servers.netr Updating servers index file... } } else { _servers.netr Creating servers index file... } _dialog -m _servers _servers } dialog _servers { size -1 -1 255 120 option dbu title "Servers" box "&Network",1,5 5 85 112 list 2,10 15 75 83 button "",3,10 100 75 12,hide box "&Server",11,95 5 155 112 list 12,100 15 100 83 text "",13,100 102 100 12,center text "&Port:",14,205 15 20 10 combo 15,205 25 40 100,drop button "&Connect",400,205 43 40 15 button "&IRC Sock",401,205 63 40 15,ok button "Cancel",405,205 83 40 15,cancel text "",402,100 100 100 12,hide } ON *:DIALOG:_servers:*:*:{ if ($devent == init) { _mdx.init $_icofile(server.ico) _dummy $_lang.loaddialog($dname,$dname,00086969,main.lang,$scriptdir) _servers.dinit } elseif ($devent == sclick) { if ($did = 2) { _servers.dsclick2 } elseif ($did == 3) { var %win = @__serversrsd3,%file = $_usrdir(sstatus.mrc),%s = $did(2,$did(2,1).sel) if (%s != $null) { _openwins %win loadbuf -tnets %win $"(%file) if ($fline(%win,%s,0)) { _servers.sstatus 0 %s } else { _servers.sstatus 1 %s } _servers.dsclick2 close -@ %win } } elseif ($did == 12) { var %i = 1,%n,%p,%win = @__serversrs,%file = $_mini(files,servers),%net = $did(2,$did(2,1).sel),%desc = $did(12,$did(12,1).sel),%server,%line,%ports close -@ %win window -hs %win filter -fw %file %win *= $+ %desc $+ SERVER:* if ($line(%win,1) != $null) { %line = $gettok($ifmatch,2-,61) %server = $gettok(%line,$calc($findtok(%line,$wildtok(%line,*SERVER,1,58),1,58) + 1),58) %ports = $_range($removecs($wildtok(%line,*GROUP,$wildtok(%line,*GROUP,0,58),58),GROUP),20) did -o $dname 13 1 %server did -o $dname 402 1 %server did -r $dname 15 %n = $numtok(%ports,44) while (%i <= %n) { %p = $gettok(%ports,%i,44) if (%p == 6667) || ((%p == 7000) && (*.dal.net iswm %server)) { did -ac $dname 15 %p } else { did -a $dname 15 %p } inc %i } if ($did(15,0).sel == 0) { did -c $dname 15 1 } } close -@ %win } elseif ($did == 400) || ($did == 401) { if ($did(402) == $null) { halt } elseif ($_not($_ishost($did(402)))) { error.a $did(402) is an invalid host } else { $iif($did == 400,server,irc) $did(402) $iif($_isint($did(15)),$did(15)) } _quickunload _servers $script } elseif ($did == 405) { _quickunload _servers $script } } elseif ($devent == dclick) { if ($did == 12) { dialog -k $dname } } did $iif($did(402) != $null,-e,-b) $dname 400 if ($did(402) != $null) && ($_irc.addonver) { did -e $dname 401 } else { did -b $dname 401 } } alias _servers.dinit { did -r $dname 2,12,13,402,15 var %win = @__serversinit,%currnet = %.network,%i close -@ %win window -hs %win loadbuf 2-9999 %win $_usrdir(snets.ini) _win2dialog %win $dname 2 * clear %win if (%currnet == $null) { %currnet = $gettok($_mini(mirc,host),$calc($findtok($_mini(mirc,host),$wildtok($_mini(mirc,host),*group,$wildtok($_mini(mirc,host),*group,0,58),58),58) + 1),58) } if (%currnet != $null) { %i = $did($dname,2).lines if ($didwm($dname,2,%currnet,1)) { did -c $dname 2 $ifmatch _servers.dsclick2 } } close -@ %win } alias _servers.dsclick2 { did -r $dname 12 var %i,%n,%win = @__serversr,%win2 = @__serversr2,%win3 = @__serversr3,%file = $_mini(files,servers),%s = $did(2,$did(2,1).sel) _openwins %win %win2 %win3 _servers.f *=Random & %s server* _servers.f *GROUP: $+ %s _win2dialog %win3 $dname 12 random * clear %win2 filter -wwx %win3 %win2 random * clear %win3 filter -ww %win2 %win3 * _win2dialog %win3 $dname 12 * random * clear %win2 filter -wwx %win3 %win2 * random * clear %win3 filter -ww %win2 %win3 * _win2dialog %win2 $dname 12 * clear %win %file = $_usrdir(sstatus.mrc) loadbuf -tnets %win $"(%file) if ($fline(%win,%s,0)) { did -ov $dname 3 1 &Remove net from status menu } else { did -ov $dname 3 1 &Add net to status menu } close -@ %win close -@ %win2 close -@ %win3 did -r $dname 13,402,15 } alias _servers.f { var %i = 1,%n,%win = @__serversr,%win2 = @__serversr2,%win3 = @__serversr3,%file = $_mini(files,servers),%l,%tok,%a,%m,%s = $did(2,$did(2,1).sel) if (%file == $null) { %file = servers.ini } clear %win clear %win2 if ($isfile(%file)) { filter -fw $"(%file) %win $1- } %n = $line(%win,0) while (%i <= %n) { %l = $line(%win,%i) %tok = 1- $+ $findtok(%l,$wildtok(%l,*SERVER,1,58),1,58) aline %win2 $left($gettok($gettok(%l,%tok,58),2,61),-6) inc %i } filter -ww %win2 %win3 * } alias _servers.netr { var %i = 1,%n = $server(0),%s,%ifile = $_mini(files,servers),%ofile = $_usrdir(snets.ini),%line,%d,%old _progress.init $1- _progress 0 write -c $"(%ofile) ; $+ $crc(%ifile) while (%i <= %n) { %s = $server(%i).group if (%i == 1) || (30 // %i) { _progress2 %i %n %i / %n } %old = %s if (%s isnum) { %d = $server(%i).desc if ($numtok(%d,32) > 3) && ($gettok(%d,1,32) == random) && ($gettok(%d,$numtok(%d,32),32) == server) { %s = $gettok(%d,$calc($numtok(%d,32) - 1),32) } else { var %s } } if (%s != $null) { write -s $+ %s $"(%ofile) %s } inc %i } _progress 100 Done! return 0 }