diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-12-09 15:46:44 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-12-09 15:46:44 +0000 |
| commit | fd1435a10da6f65463affaf61d6f687f65a07e5b (patch) | |
| tree | 2e8a412103344e9b7bfb0d1cd1e8b15b228fd769 /src | |
| parent | d029e67223a1a4afa74375e81c82f1f5266bcff0 (diff) | |
| download | zcatch-fd1435a10da6f65463affaf61d6f687f65a07e5b.tar.gz zcatch-fd1435a10da6f65463affaf61d6f687f65a07e5b.zip | |
fixed has left messages when connecting with wrong password. fixed correct name when leaving the server. removed the physics when a client disconnects
Diffstat (limited to 'src')
| -rw-r--r-- | src/engine/server/server.c | 8 | ||||
| -rw-r--r-- | src/game/server/game_server.cpp | 1 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/engine/server/server.c b/src/engine/server/server.c index ef4c9b04..319ac363 100644 --- a/src/engine/server/server.c +++ b/src/engine/server/server.c @@ -388,7 +388,13 @@ static int new_client_callback(int cid, void *user) static int del_client_callback(int cid, void *user) { - mods_client_drop(cid); + /* notify the mod about the drop */ + if(clients[cid].state == SRVCLIENT_STATE_READY || + clients[cid].state == SRVCLIENT_STATE_INGAME) + { + mods_client_drop(cid); + } + clients[cid].state = SRVCLIENT_STATE_EMPTY; clients[cid].name[0] = 0; clients[cid].clan[0] = 0; diff --git a/src/game/server/game_server.cpp b/src/game/server/game_server.cpp index aaabdbc3..2d3d02b0 100644 --- a/src/game/server/game_server.cpp +++ b/src/game/server/game_server.cpp @@ -1601,6 +1601,7 @@ void mods_client_drop(int client_id) gameobj->on_player_death(&players[client_id], 0, -1); world->remove_entity(&players[client_id]); + world->core.players[client_id] = 0x0; players[client_id].client_id = -1; } |