// ---------------------------------------------------- // QuickConnect, v1.2 // (C) Chaos, ZLIB license // http://www.opensource.org/licenses/zlib-license.php // ---------------------------------------------------- // Defaults: createine = [ if (=s (getalias $arg1) "") [ $arg1 = $arg2 ] ] createine _qc_servlist "" // Misc Functions: append = [ $arg1 = (concat (getalias $arg1) $arg2) ] _qc_servnames = [ _qc_sn = ""; looplist i $_qc_servlist [ append _qc_sn (at $i 0) ] result $_qc_sn ] _qc_findserv = [ listfind i $_qc_servlist [ =s @arg1 (at $i 0) ] ] _qc_complete = [ listcomplete "qc" (_qc_servnames) listcomplete "viewqcserv" (_qc_servnames) listcomplete "delqcserv" (_qc_servnames) ] _qc_complete // Commands: qc = [ if (>= (_qc_findserv $arg1)) [ connect (at (at $_qc_servlist (_qc_findserv $arg1)) 1) (at (at $_qc_servlist (_qc_findserv $arg1)) 2) ] [ error "^f3QC Server not found!" ] ] qcaddserv = [ cond (! $numargs) [ error "^f3More input needed!" ] (>= (listfind i $_qc_servlist [ (=s $arg1 (at $i 0)) ])) [ error "^f3QC server already exists in list!" ] (> $numargs 1) [ append _qc_servlist (format ["%1 %2 %3"] $arg1 $arg2 (? (> $numargs 2) $arg3 "28785")) echo (format "QC server ^f7%1^f1 successfully added!" $arg1) ] (isconnected) [ append _qc_servlist (format ["%1 %2 %3"] $arg1 (connectedip) (connectedport)) echo (format "QC server ^f7%1^f1 successfully added!" $arg1) ] [ error "^f3More input needed!" ] _qc_complete ] qcdelserv = [ if (< (_qc_findserv $arg1)) [ error "^f3QC entry does not exist!" ] [ _qc_servlist = (strreplace $_qc_servlist (format ["%1"] (at $_qc_servlist (_qc_findserv $arg1))) "") echo (format "QC server ^f7%1^f1 successfully removed!" $arg1) ] _qc_complete ] qcviewserv = [ if (< (_qc_findserv $arg1)) [ error "^f3QC entry does not exist!" ] [ echo (format "Name: ^f7%1" $arg1) echo (format "IP: ^f7%1" (at (at $_qc_servlist (_qc_findserv $arg1)) 1)) echo (format "Port: ^f7%1" (at (at $_qc_servlist (_qc_findserv $arg1)) 2)) ] ] qclistservs = [ echo (concat "Server List:^f7" (strreplace (prettylist (_qc_servnames)) ", " "^f1, ^f7")) ] qchelp = [ showgui qchelp ] // GUI Menu: newgui qchelp [ guititle "Quick Connect Help" guibar guilist [ guilist [ guititle "Command" guibar guitext "/qc " 0 guistrut 1 guitext "/qcaddserv " 0 guistrut 1 guitext "/qcdelserv " 0 guistrut 1 guitext "/qcviewserv " 0 guistrut 1 guitext "/qclistservs" 0 ] guibar guilist [ guititle "Usage" guibar guitext "^f7Connects to a particular server from the list." 0 guistrut 1 guitext "^f7Adds a specified server to the list." 0 guistrut 1 guitext "^f7Deletes a specified server from the list." 0 guistrut 1 guitext "^f7Shows the information of a specified server." 0 guistrut 1 guitext "^f7Lists all servers in the list." 0 ] ] ] "Help"