/* -*- LPC -*- */ /* * $Locker: $ * $Id: when.c,v 1.19 2003/04/10 06:05:44 ceres Exp $ * * */ #include <login.h> inherit "/cmds/base"; int cmd(string who) { object player; int last; int caller; string* bits; string womble; int bing; bits = explode(who, ","); if (sizeof(bits) > 1) { bing = 0; foreach (womble in bits) { if (cmd(womble)) { bing = 1; } } return bing; } caller = this_player()->query_invis(); who = this_player()->expand_nickname(lower_case(who)); player = find_player( who ); if (player && (caller >= player->query_invis() || reference_allowed(player, this_player()))) { if ( interactive( player ) ) { write( who + " has been on for " + query_time_string(time() - player->query_last_log_on(), -1) + ".\n"); } else { write( who + " is currently net-dead.\n" ); } return 1; } else { /* Should be a nice number.... */ last = PLAYER_HANDLER->test_last(who); if ( last < 1 ) { return notify_fail( "Cannot find any record of $C$" + who + ".\n" ); } else { if (time() - last < 30) { write(who + " only just logged off.\n"); } else { write(who + " last logged off " + query_time_string(time() - last, -1) + " ago.\n"); } return 1; } } } mixed *query_patterns() { return ({ "<string'player name'>", (: cmd( $4[0] ) :) }); } /* query_patterns() */