blob: d60661ae65ff0aa72cdddee27a244cd10daa6348 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// MorgenGrauen MUDlib
2//
3// reply.c
4//
5// $Id: reply.c,v 1.2 2003/04/08 09:28:17 Rikus Exp $
6
7#include <udp.h>
8
9#ifndef DATE
10#define DATE ctime()[4..15]
11#endif
12
13void udp_reply(mapping data)
14{
15 string err,recpt,serv;
16 object ob;
17
18
19 if (pointerp(data[SYSTEM])&&member(data[SYSTEM],TIME_OUT)>-1)
20 {
21 if (data[SENDER])
22 {
23 if (stringp(data[SENDER])&&(ob=find_player(data[SENDER])))
24 {
25 switch(data[REQUEST])
26 {
27 case "tell": serv="teile mit: ";break;
28 case "who": serv="wer: ";break;
29 default: serv=data[REQUEST]+": "; break;
30 }
31 tell_object(ob, break_string("Das Mud \'" + data[NAME] +
32 "\' konnte nicht erreicht werden.\n",
33 78,serv));
34 }
35 else
36 if (objectp(ob = data[SENDER])||(ob = find_object(data[SENDER])))
37 ob->udp_reply(data);
38 }
39 return;
40 }
41 if (data[RECIPIENT])
42 {
43 if (stringp(data[RECIPIENT])&&(ob = find_player(data[RECIPIENT])))
44 tell_object(ob, "\n" + data[DATA]);
45 else if (ob=find_object(data[RECIPIENT]))
46 ob->udp_reply(data);
47 return;
48 }
49 if (data[REQUEST]=="ping")return;
50 if (data[DATA])
51 log_file(INETD_LOG_FILE, DATE + ": Antwort von " + data[NAME] +
52 "\n" + data[DATA] + "\n");
53 return;
54}