- Fixed the "map server claims to have char online, but this other map server also has it tagged as online" message triggering in some cases where it shouldn't.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8846 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
dc958356cc
commit
ce8f45f670
@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
|
|||||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
2006/09/22
|
2006/09/22
|
||||||
|
* Fixed the "map server claims to have char online, but this other map
|
||||||
|
server also has it tagged as online" message triggering in some cases where
|
||||||
|
it shouldn't. [Skotlex]
|
||||||
* Fixed some maps in db/mapindex.txt being under the wrong id and added comments
|
* Fixed some maps in db/mapindex.txt being under the wrong id and added comments
|
||||||
so this will not happen again. [Zephiris]
|
so this will not happen again. [Zephiris]
|
||||||
--- ATTENTION! ---
|
--- ATTENTION! ---
|
||||||
|
@ -308,8 +308,12 @@ void set_char_online(int map_id, int char_id, int account_id) {
|
|||||||
character = idb_ensure(online_char_db, account_id, create_online_char_data);
|
character = idb_ensure(online_char_db, account_id, create_online_char_data);
|
||||||
if (online_check && character->char_id != -1 && character->server > -1 && character->server != map_id)
|
if (online_check && character->char_id != -1 && character->server > -1 && character->server != map_id)
|
||||||
{
|
{
|
||||||
ShowNotice("set_char_online: Character %d:%d marked in map server %d, but map server %d claims to have (%d:%d) online!\n",
|
//char == 99 <- Character logging in, so someone has logged in while one
|
||||||
character->account_id, character->char_id, character->server, map_id, account_id, char_id);
|
//char is still on map-server, so kick him out, but don't print "error"
|
||||||
|
//as this is normal behaviour. [Skotlex]
|
||||||
|
if (char_id != 99)
|
||||||
|
ShowNotice("set_char_online: Character %d:%d marked in map server %d, but map server %d claims to have (%d:%d) online!\n",
|
||||||
|
character->account_id, character->char_id, character->server, map_id, account_id, char_id);
|
||||||
mapif_disconnectplayer(server_fd[character->server], character->account_id, character->char_id, 2);
|
mapif_disconnectplayer(server_fd[character->server], character->account_id, character->char_id, 2);
|
||||||
}
|
}
|
||||||
character->waiting_disconnect = 0;
|
character->waiting_disconnect = 0;
|
||||||
@ -1662,7 +1666,7 @@ int mmo_char_send006b(int fd, struct char_session_data *sd) {
|
|||||||
// const int offset = 4;
|
// const int offset = 4;
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
set_char_online(0, 99,sd->account_id);
|
set_char_online(-1, 99,sd->account_id);
|
||||||
|
|
||||||
found_num = 0;
|
found_num = 0;
|
||||||
for(i = 0; i < char_num; i++) {
|
for(i = 0; i < char_num; i++) {
|
||||||
|
@ -222,8 +222,12 @@ void set_char_online(int map_id, int char_id, int account_id) {
|
|||||||
character = idb_ensure(online_char_db, account_id, create_online_char_data);
|
character = idb_ensure(online_char_db, account_id, create_online_char_data);
|
||||||
if (online_check && character->char_id != -1 && character->server > -1 && character->server != map_id)
|
if (online_check && character->char_id != -1 && character->server > -1 && character->server != map_id)
|
||||||
{
|
{
|
||||||
ShowNotice("set_char_online: Character %d:%d marked in map server %d, but map server %d claims to have (%d:%d) online!\n",
|
//char == 99 <- Character logging in, so someone has logged in while one
|
||||||
character->account_id, character->char_id, character->server, map_id, account_id, char_id);
|
//char is still on map-server, so kick him out, but don't print "error"
|
||||||
|
//as this is normal behaviour. [Skotlex]
|
||||||
|
if (char_id != 99)
|
||||||
|
ShowNotice("set_char_online: Character %d:%d marked in map server %d, but map server %d claims to have (%d:%d) online!\n",
|
||||||
|
character->account_id, character->char_id, character->server, map_id, account_id, char_id);
|
||||||
mapif_disconnectplayer(server_fd[character->server], character->account_id, character->char_id, 2);
|
mapif_disconnectplayer(server_fd[character->server], character->account_id, character->char_id, 2);
|
||||||
}
|
}
|
||||||
character->char_id = (char_id==99)?-1:char_id;
|
character->char_id = (char_id==99)?-1:char_id;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user