blob: 43b70cec4eea1beb92c6bedd9df6897ddbc6d3d4 [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
MG Mud User88f12472016-06-24 23:31:02 +020018 if (pointerp(data[SYSTEM])&&member(data[SYSTEM],TIME_OUT)>-1)
19 {
20 if (data[SENDER])
21 {
22 if (stringp(data[SENDER])&&(ob=find_player(data[SENDER])))
23 {
24 switch(data[REQUEST])
25 {
Zesstra1a083202019-11-27 20:01:32 +010026 case "tell": serv="teile mit: "; break;
27 case "who": serv="wer: "; break;
28 default: serv=data[REQUEST]+": "; break;
MG Mud User88f12472016-06-24 23:31:02 +020029 }
30 tell_object(ob, break_string("Das Mud \'" + data[NAME] +
31 "\' konnte nicht erreicht werden.\n",
32 78,serv));
33 }
Zesstra1a083202019-11-27 20:01:32 +010034 else {
35 if (stringp(data[SENDER]))
36 ob = find_object(data[SENDER]);
37 if (objectp(ob))
MG Mud User88f12472016-06-24 23:31:02 +020038 ob->udp_reply(data);
Zesstra1a083202019-11-27 20:01:32 +010039 }
MG Mud User88f12472016-06-24 23:31:02 +020040 }
41 return;
42 }
43 if (data[RECIPIENT])
44 {
45 if (stringp(data[RECIPIENT])&&(ob = find_player(data[RECIPIENT])))
46 tell_object(ob, "\n" + data[DATA]);
47 else if (ob=find_object(data[RECIPIENT]))
48 ob->udp_reply(data);
49 return;
50 }
51 if (data[REQUEST]=="ping")return;
52 if (data[DATA])
53 log_file(INETD_LOG_FILE, DATE + ": Antwort von " + data[NAME] +
54 "\n" + data[DATA] + "\n");
55 return;
56}