diff options
author | mc_cameri <mc_cameri@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-15 00:06:02 +0000 |
---|---|---|
committer | mc_cameri <mc_cameri@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-15 00:06:02 +0000 |
commit | db4d0797f6bb0a54e0955b330a3ccd7675b7b95c (patch) | |
tree | d4fd7e56e8531c7f7ebc9a8791e91a688190d9ab /src/map/chrif.c | |
parent | c37d7eeeee88afcc43ded14b60674e5f3a3e54b2 (diff) | |
download | hercules-db4d0797f6bb0a54e0955b330a3ccd7675b7b95c.tar.gz hercules-db4d0797f6bb0a54e0955b330a3ccd7675b7b95c.tar.bz2 hercules-db4d0797f6bb0a54e0955b330a3ccd7675b7b95c.tar.xz hercules-db4d0797f6bb0a54e0955b330a3ccd7675b7b95c.zip |
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@569 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/chrif.c')
-rw-r--r-- | src/map/chrif.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/map/chrif.c b/src/map/chrif.c index 81c6744c2..236590ff3 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -245,9 +245,10 @@ int chrif_connectack(int fd) printf("Connected to char-server failed %d.\n", RFIFOB(fd,2)); exit(1); } - sprintf(tmp_output,"Successfully connected to Char-Server (Connection #%d).\n",fd); + sprintf(tmp_output,"Successfully connected to Char Server (Connection: '"CL_WHITE"%d"CL_RESET"').\n",fd); ShowStatus(tmp_output); chrif_state = 1; + chrif_connected=1; chrif_sendmap(fd); @@ -862,6 +863,7 @@ int chrif_recvgmaccounts(int fd) { sprintf(tmp_output,"From login-server: receiving information of '"CL_WHITE"%d"CL_RESET"' GM accounts.\n", pc_read_gm_account(fd)); ShowInfo(tmp_output); + memset(tmp_output,'\0',sizeof(tmp_output)); return 0; } @@ -977,12 +979,15 @@ int chrif_char_online(struct map_session_data *sd) int chrif_parse(int fd) { int packet_len, cmd; - // only char-server can have an access to here. // so, if it isn't the char-server, we disconnect the session (fd != char_fd). if (fd != char_fd || session[fd]->eof) { if (fd == char_fd) { - printf("Map-server can't connect to char-server (connection #%d).\n", fd); + if (chrif_connected == 1) { + sprintf(tmp_output,"Map Server disconnected from Char Server.\n\n"); + ShowWarning(tmp_output); + chrif_connected=0; + } char_fd = -1; // check_connect_char_server(0, 0, 0, 0); } @@ -1077,14 +1082,19 @@ int send_users_tochar(int tid, unsigned int tick, int id, int data) { *------------------------------------------ */ int check_connect_char_server(int tid, unsigned int tick, int id, int data) { + static int displayed = 0; if (char_fd <= 0 || session[char_fd] == NULL) { - printf("Attempt to connect to char-server...\n"); + if (!displayed) { + ShowStatus("Attempting to connect to Char Server. Please wait.\n"); + displayed = 1; + } chrif_state = 0; char_fd = make_connection(char_ip, char_port); session[char_fd]->func_parse = chrif_parse; realloc_fifo(char_fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK); chrif_connect(char_fd); + chrif_connected = chrif_isconnect(); #ifndef TXT_ONLY srvinfo = 0; } else { @@ -1094,7 +1104,7 @@ int check_connect_char_server(int tid, unsigned int tick, int id, int data) { } #endif /* not TXT_ONLY */ } - + if (chrif_isconnect()) displayed = 0; return 0; } |