/* /daemon/services/locate.c * from the Nightmare IV LPC Library * performs player lookups * created by Descartes of Borg 950624 */ #define SERVICE_LOCATE #include <daemons.h> void eventReceiveLocateRequest(mixed *packet) { object ob; if( file_name(previous_object()) != INTERMUD_D ) return; if( !(ob = find_player(packet[6])) || (int)ob->GetInvis() ) return; INTERMUD_D->eventWrite( ({ "locate-reply", 5, mud_name(), 0, packet[2], packet[3], mud_name(), (string)ob->GetName(), query_idle(ob), "feeling happy" }) ); } void eventReceiveLocateReply(mixed *packet) { object ob; if( file_name(previous_object()) != INTERMUD_D ) return; if( !stringp(packet[5]) || !(ob = find_player(convert_name(packet[5]))) ) return; message("system", packet[7] + " was just located on " + packet[6] + ".", ob); } void eventSendLocateRequest(string who) { string pl; if( !(pl = (string)this_player(1)->GetName()) ) return; INTERMUD_D->eventWrite( ({ "locate-req", 5, mud_name(), pl, 0, 0, who }) ); }