MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | // 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 | |
| 13 | void udp_reply(mapping data) |
| 14 | { |
| 15 | string err,recpt,serv; |
| 16 | object ob; |
| 17 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 18 | 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 | { |
Zesstra | 1a08320 | 2019-11-27 20:01:32 +0100 | [diff] [blame] | 26 | case "tell": serv="teile mit: "; break; |
| 27 | case "who": serv="wer: "; break; |
| 28 | default: serv=data[REQUEST]+": "; break; |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 29 | } |
| 30 | tell_object(ob, break_string("Das Mud \'" + data[NAME] + |
| 31 | "\' konnte nicht erreicht werden.\n", |
| 32 | 78,serv)); |
| 33 | } |
Zesstra | 1a08320 | 2019-11-27 20:01:32 +0100 | [diff] [blame] | 34 | else { |
| 35 | if (stringp(data[SENDER])) |
| 36 | ob = find_object(data[SENDER]); |
| 37 | if (objectp(ob)) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 38 | ob->udp_reply(data); |
Zesstra | 1a08320 | 2019-11-27 20:01:32 +0100 | [diff] [blame] | 39 | } |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 40 | } |
| 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 | } |