/* people command, trial out by Turrican for a commands daemon. */ #include <peopler.h> #include <creator.h> inherit COMMAND_BASE; /** @ignore yes */ int num_sort( object first, object second ) { int one, two; one = first->query_level(); two = second->query_level(); if( one < two ) return 1; if( one > two ) return -1; return 0; } /* num_sort() */ /** @ignore yes */ int age_sort( object first, object second ) { int one, two; one = first->query_time_on(); two = second->query_time_on(); if( one < two ) return -1; if( one > two ) return 1; return 0; } /* age_sort() */ /** @ignore yes */ int cmd( string str ) { mixed stuff; string bit, *bits; function sort_func; stuff = TP->query_property("people list"); if( !stuff ) stuff = P_DEFAULT; if( str ) { bits = explode( str, " "); str = 0; foreach( bit in bits ) { switch( bit ) { case "-l": sort_func = (: num_sort :); break; case "-a": sort_func = (: age_sort :); break; default: if( str ) str += " "+bit; else str = bit; } } } return (int)PEOPLER->do_command( stuff, str, sort_func ); } /* cmd() */ /** @ignore yes */ mixed query_patterns() { return ({ "", (: cmd(0) :), "<string>", (: cmd($4[0]) :) }); } /* query_patterns() */