/* Hamlet, Feb 1996 */ #include <standard.h> #include <cmd.h> inherit CMD_BASE; void setup(){ position = 1; } string query_usage() { return "xdate <player>\n" " xdate @<ipname|ipnumber>"; } string query_short_help() { return "xdate asks the target machine what time it is.\n" "As an argument, it can take either a player's name, or ip " "addresses in either alphabetic or numeric formats.\n\n" "Examples:\n" " xdate hamlet\n" " xdate @mamaclaus.opup.org\n" " xdate @128.169.92.86"; } static int cmd(string str, object me) { object xdate_cmd; string name; string data; object per; string extrajunk = ""; notify_fail("Must specify user or host.\n"); if(!str) return 0; if(str[0..0] != "@") { /* It may be a player's name. */ name = me->expand_nickname(str); if (per = find_player(lower_case(name))) { data = query_ip_number(per); extrajunk = query_ip_name(per); if(data == extrajunk) extrajunk = name; else extrajunk += " - "+name; } } if(!data) { /* Nope, this was @something ... not a player. */ if(str[0..0] == "@") data = str[1..strlen(str)-1]; else data = str; } if (xdate_cmd = clone_object("/secure/xdate_cmd")) { if(xdate_cmd->do_xdate(data, me, extrajunk)) write("Ok.. Please wait..\n"); else write("xdate: The name you passed must not have been valid.\n"); me->set_trivial_action(); return 1; } else { notify_fail("Oops... xdate_cmd didn't want to clone.\n"); return 0; } } /* cmd() */