// /adm/daemons/ts.c // Original base coding from TMI's Basis MUDLIB. // Extensively modified by Michael@Looking Glass (glass) (12/92) #include <config.h> #include <socket.h> #include <network.h> string sender; int id; void reply(string str) { INETD->write_socket(id,"Tell-Server@" + THIS_MUD + " tells " + sender + ": " + str + "\n"); } void close() { INETD->close_socket(id); } read_callback(int i, string msg) { object ob; string mud, receiver, mesg, cap_receiver, file, tmp; int flag; if(!msg) return; id = i; flag = sscanf(msg,"%s@%s tells %s: %s",sender,mud,receiver,mesg); if(flag == 4) { tmp = NAME_SERVER->get_host_name(mud); if(!tmp || tmp == "") { reply("Tell access denied. Check with your admin.\n"); close(); return; } cap_receiver = capitalize(receiver); file = PDATA_DIR + "/" + extract(receiver,0,0) + "/" + receiver + ".o"; if(file_size(file) == -1) { reply(cap_receiver + " is not a player/wizard here.\n"); close(); return; } if(!(ob = find_player(receiver))) { reply(cap_receiver + " is currently not online.\n"); } else { tell_object(ob, capitalize(sender) + "@" + capitalize(mud) + " tells you: " + mesg + ""); reply("Message sent.\n"); } } close(); return; } // EOF.