;Links script (v1.0) by JesseR ;After you retrive a /links list, you can use /link to show from your server ;To show the tree with another server at the top type "/link server". For example, /link spider raw 364:*: { if ( %links.getting != true ) { unset %links.* } set %this $gettok($2,1,46) set %on $gettok($3,1,46) set %links.desc. [ $+ [ %this ] ] $5- set %links.list %this %links.list set %links.getting true if ( $4 != 0 ) { set %links.con. [ $+ [ %this ] ] %on %links.con. [ $+ [ %this ] ] set %links.con. [ $+ [ %on ] ] %this %links.con. [ $+ [ %on ] ] } } raw 365:*: { unset %links.getting set %links.time $ctime } alias links_exists if ( %links.desc. [ $+ [ $$1 ] ] == $null ) { return $false } | return $true alias link { ;close old @links window if open window -c @links unset %tree* set %top $gettok($1,1,32) if ( %top == $null ) { set %top $gettok($server,1,46) } if ( $links_exists(%top) == $false ) { beep | halt } set %tree %top set %tree.connum. [ $+ [ %top ] ] 0 set %current %top window -nl @links $scriptdir $+ links_p.txt titlebar @links from %top $+ .* aline @links  $+ %top $+  (0) %links.desc. [ $+ [ %top ] ] :nextintree inc %tree.connum. [ $+ [ %current ] ] set %down $gettok( %links.con. [ $+ [ %current ] ] , %tree.connum. [ $+ [ %current ] ] ,32) if ( %down == %top ) { goto nextintree } if ( %down == $null ) { ;there aren't any (more) servers on %current, so go back up. set %current %tree.on. [ $+ [ %current ] ] dec %treelevel if ( %treelevel < 0 ) { goto out } goto nextintree } if ( %tree.connum. [ $+ [ %down ] ] != $null ) { ;this server is already in the tree, (hopefully) higher up goto nextintree } ;there is a(nother) server on %current. set %tree.on. [ $+ [ %down ] ] %current set %current %down inc %tree.servercount inc %treelevel set %color  $+ $gettok(1.2.3.4.6, $calc(%treelevel % 5 + 1) ,46) aline @links %color $+ $str($chr(160),%treelevel) $+  $+ %current $+  ( $+ %treelevel $+ ) %links.desc. [ $+ [ %current ] ] goto nextintree :out unset %tree* window -b @links } ;Used by popups ;strip stuff from the selected line alias links_selline return $remove($strip($sline(@links,1)),$chr(160)) alias links_getname return $1 alias links_getip { if ( $chr(91) !isin $3 ) { clipboard | beep | halt } return $mid($3,2,$calc($len($3) - 2)) } ;Unused, but might be useful alias links_concount return $gettok( %links.con. [ $+ [ $$1 ] ] ,0,32) alias links_isleaf if ( $links_concount($$1) == 1 ) { return $true } | { return $false } alias links_ishub if ( $links_concount($$1) == 1 ) { return $fale } | { return $true } ;You should have a file called links_p.txt in the same directory as the script file: Copy to clipboard:clipboard $links_selline Copy IP address:clipboard $links_getip($links_selline) - Connect using ip adderss:server $links_getip($links_selline) Connect using *.dal.net:server $links_getname($links_selline) $+ .dal.net