summaryrefslogtreecommitdiff
path: root/src/char_sql/char.c
diff options
context:
space:
mode:
authorsirius <sirius@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-02-15 09:47:08 +0000
committersirius <sirius@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-02-15 09:47:08 +0000
commit8c276f1978677fb63b7cf3fe9255491768d8895d (patch)
tree1ae9f48b989d8f6fd68d8f15d97de15fb7c21e4a /src/char_sql/char.c
parentc73cd00ae16ee8235f7e2929dfafabdeacbc4745 (diff)
downloadhercules-8c276f1978677fb63b7cf3fe9255491768d8895d.tar.gz
hercules-8c276f1978677fb63b7cf3fe9255491768d8895d.tar.bz2
hercules-8c276f1978677fb63b7cf3fe9255491768d8895d.tar.xz
hercules-8c276f1978677fb63b7cf3fe9255491768d8895d.zip
CharSQL: fixed the 0x2b05 packet, now the multi mapservers works ...
Login/LoginSQL: fixed the version check finaly :) now the servers can connect XD git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1110 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/char_sql/char.c')
-rw-r--r--src/char_sql/char.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/char_sql/char.c b/src/char_sql/char.c
index de28fea34..0521a21bc 100644
--- a/src/char_sql/char.c
+++ b/src/char_sql/char.c
@@ -2105,12 +2105,29 @@ int parse_frommap(int fd) {
auth_fifo[auth_fifo_pos].sex = RFIFOB(fd,44);
auth_fifo[auth_fifo_pos].ip = RFIFOL(fd,45);
- sprintf(tmp_sql, "SELECT count(*) FROM `%s` WHERE `account_id` = '%d' AND `char_id`='%d'", char_db, RFIFOL(fd,2), RFIFOL(fd,14));
+ sprintf(tmp_sql, "SELECT `char_id` FROM `%s` WHERE `account_id` = '%d' AND `char_id`='%d'", char_db, RFIFOL(fd,2), RFIFOL(fd,14));
if (mysql_query(&mysql_handle, tmp_sql)) {
printf("DB server Error - %s\n", mysql_error(&mysql_handle));
}
sql_res = mysql_store_result(&mysql_handle);
-
+ if(sql_res){
+ i = atoi(sql_row[0]);
+ mysql_free_result(sql_res);
+ auth_fifo[auth_fifo_pos].char_pos = auth_fifo[auth_fifo_pos].char_id;
+ auth_fifo_pos++;
+ WFIFOL(fd,6) = 0;
+ }else{
+ return 0;
+ }
+
+ if(i == 0){
+ WFIFOW(fd, 6) = 0;
+ }
+
+ WFIFOSET(fd, 44);
+ RFIFOSKIP(fd, 49);
+
+ /*
if (( sql_row = mysql_fetch_row(sql_res))) {
i = atoi(sql_row[0]);
mysql_free_result(sql_res);
@@ -2127,7 +2144,10 @@ int parse_frommap(int fd) {
WFIFOSET(fd,44);
RFIFOSKIP(fd,49);
break;
+ */
+ break;
+
// char name check
case 0x2b08:
if (RFIFOREST(fd) < 6)