parent $utilities object $motd var $root dbref 'motd var $root child_index 0 var $root fertile 0 var $root manager $motd var $root owned [$motd] var $root owners [$motd] var $root writable [] var $root readable ['parameters, 'methods, 'code] var $root inited 1 var $root info ["The Message of the Day object. Called by $old_connection and $fingerd.", "This builds a motd from different parameters, called by $motd.build().", "Parameters can be:", "", " 'long -- long title.", " 'short -- short title.", " 'title -- server title.", " 'name -- server name.", " 'notes -- connection notes.", " 'quote -- random quote.", " 'admins -- list of admins.", " 'connected -- currently connected users.", " 'version -- ColdMUD driver version."] var $motd server_name "the Cold Dark" var $motd notes [] var $motd server_title "Virtual Environment Server" var $motd connect_help ["Connection HELP", "===============", "", "Connecting as a guest: 'connect guest <name> <email>'", " Example: 'connect guest John Doe johnd@site.usa.com'", "", "Connecting as a user: 'connect <name> <password>'", " Example: 'connect John Doe mypassword'", "", "Quitting (this screen): '@quit' or 'quit'", "", "Connected User's Listing: '@who' or 'who'"] method build arg [args]; var output, out; output = []; if (!args) args = ['long, 'quote]; if ((args[1]) == 'default) args = ['name, "", 'title, "", "", 'quote, "", 'notes, "", 'admins, 'connected, 'core_version, 'driver_version]; while (args) { if (type(args[1]) == 'string) { output = output + [""]; } else { switch (args[1]) { case 'long: args = delete(args, 1); args = ['title, 'long_name] + args; continue; case 'short: args = delete(args, 1); args = ['title, 'name] + args; continue; case 'title: out = $string.center(server_title, 79); output = output + [out]; case 'name: out = $string.center(("+ " + server_name) + " +", 79); output = output + [out]; case 'notes: out = $list.center_lines(notes, 79); output = output + out; case 'quote: out = $list.center_lines($code.random_quote(), 79); output = output + out; case 'admins: out = (| $list.to_english($list.map($sys.admins(), 'namef)) |) || "none"); out = $string.center("Administrators: " + out, 79); output = output + [out]; case 'connected: out = "Currently Connected users: "; out = out + tostr(listlen($user_db.connected())); out = $string.center(out, 79); output = output + [out]; case 'version: args = delete(args, 1); args = ['driver_version, 'core_version] + args; continue; case 'driver_version: out = "Driver: " + ($sys.server_info('driver_version, 'long)); output = output + [$string.center(out, 79)]; case 'core_version: out = "Core: " + ($sys.server_info('core_version, 'long)); output = output + [$string.center(out, 79)]; } } args = delete(args, 1); } return output; . method set_motd arg what, value; .perms(sender()); if (!(what in (.parameters()))) throw(~motd, (toliteral(what) + " is not a valid motd parameter, try one of: ") + toliteral(.parameters())); if (!(type(value) in ['string, 'list])) throw(~motd, "Value must be sent as a string or a list of strings."); set_var(what, value); . method build_html arg [args]; var output, out; output = [("<head><title>" + server_name) + "</title></head>", "<body>"]; if (!args) args = ['name, 'title, 'quote, "", 'notes, 'admins, 'connected, 'core_version, 'driver_version, 'help]; while (args) { if (type(args[1]) == 'string) { output = output + ["<br>"]; } else { switch (args[1]) { case 'title: output = output + ["<h3>", server_title, "</h3>"]; case 'name: output = output + ["<img src=\"http://sticky.usu.edu/~brandon/tCD.gif\" alt=\"The Cold Dark\">"]; case 'notes: output = (output + notes) + ["<br>"]; case 'quote: output = output + ["<tt>", @$code.random_quote(), "</tt>"]; case 'admins: out = $list.to_english($list.map($sys.admins(), 'namef)); output = output + [("Administrators: " + out) + "<br>"]; case 'connected: out = "<a href=\"/bin/who\">Currently Connected users</a>: "; out = out + tostr(listlen($user_db.connected())); output = output + [out + "<br>"]; case 'driver_version: out = "ColdX (a derivitive of <a href=\"http://www.declab.usu.edu:8080/ColdMUD/\">ColdMUD</a>) Version " + ($sys.server_info('driver_version)); output = output + [out + "<br>"]; case 'core_version: out = $sys.server_info('core_version, 'long); output = output + [out + "<br>"]; case 'help: out = "</center><hr width=50% align=center><center>Click <a href=\"telnet://recumbent.declab.usu.edu:1138\"><b>here</b></a> to enter <a href=\"telnet://recumbent.declab.usu.edu:1138\">the Cold Dark</a>."; output = output + [out]; } } args = delete(args, 1); } return ["<center>", @output, "</center>", "</body>"]; . method server_name return server_name; . method server_title return server_title; . method connect_help return connect_help; . method set_connect_help arg text; (> .perms(sender(), 'manager) <); connect_help = text; .