/* /daemon/services/locate.c
* from the Nightmare IV LPC Library
* performs player lookups
* created by Descartes of Borg 950624
* Modified for Discworld by Turrican 1-11-95
*/
#include "/net/intermud3/intermud_cfg.h"
#ifdef SERVICE_LOCATE
void eventReceiveLocateRequest(mixed *packet) {
object ob;
if( file_name(previous_object()) != INTERMUD_D ) return;
if( !(ob = find_player(packet[6])) || (int)ob->query_invis()
#ifndef PLAYER_LOCATE
|| !ob->query_creator()
#endif
)
return;
INTERMUD_D->eventWrite( ({ "locate-reply", 5, mud_name(), 0, packet[2],
packet[3], mud_name(),
(string)ob->query_cap_name() }) );
}
void eventReceiveLocateReply(mixed *packet) {
object ob;
if( file_name(previous_object()) != INTERMUD_D ) return;
if( !stringp(packet[5]) || !(ob = find_player(lower_case(packet[5]))) )
return;
tell_object(ob, packet[7] + " was just located on " + packet[6] + ".\n");
}
void eventSendLocateRequest(string who) {
string pl;
if( !(pl = (string)this_player(1)->query_name()) ) return;
INTERMUD_D->eventWrite( ({ "locate-req", 5, mud_name(), pl, 0, 0, who }) );
}
#endif