#include <commands.h> #include <net/i3.h> mapping incoming, outgoing; private void add_incoming(string mud, int rnd){ if(!incoming) incoming = ([]); incoming[mud] = ({ time(), rnd }); } private void add_outgoing(string mud, int rnd){ if(!outgoing) outgoing = ([]); outgoing[mud] = ({ time(), rnd }); } mapping query_incoming(){ return incoming; } mapping query_outgoing(){ return outgoing; } void send_auth_mud_req(string targmud){ I3_DAEMON->send_packet(PRT_AUTH_MUD_REQ, 0, targmud, 0, ({ })); } void process_auth_mud_reply(mixed *info){ if(base_name(previous_object()) != I3_DAEMON) return; if(sizeof(info) != SIZ_AUTH_MUD_REPLY) return; if(find_living("drizzt")) message("I3",sprintf("%s returned an auth-reply of %d\n",info[2],info[6]),find_living("drizzt")); add_outgoing(info[2], info[6]); } void process_auth_mud_req(mixed *info){ int rnd; object ob; if(base_name(previous_object()) != I3_DAEMON) return; if(sizeof(info) != SIZ_AUTH_MUD_REQ) return; rnd = random(99999999); tell_object(find_living("drizzt"),"Sent "+info[2]+" "+rnd+"\n"); I3_DAEMON->send_packet(PRT_AUTH_MUD_REPLY, 0, info[2], 0, ({ rnd })); add_incoming(info[2], rnd); }