diff options
author | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2005-03-30 11:44:12 +0000 |
---|---|---|
committer | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2005-03-30 11:44:12 +0000 |
commit | c883ca205971275e576d34b54304c3c5c30f3580 (patch) | |
tree | 4d0a218a184099c61a311d65b50e93973c4c773a /src/map/guild.c | |
parent | 230ba4e3dd84a19f7dee67fdc97532e5869bef63 (diff) | |
download | hercules-c883ca205971275e576d34b54304c3c5c30f3580.tar.gz hercules-c883ca205971275e576d34b54304c3c5c30f3580.tar.bz2 hercules-c883ca205971275e576d34b54304c3c5c30f3580.tar.xz hercules-c883ca205971275e576d34b54304c3c5c30f3580.zip |
* updated map server to jA1137~1159
* Some tidying up in mob.c and skill.c
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1342 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/guild.c')
-rw-r--r-- | src/map/guild.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/map/guild.c b/src/map/guild.c index c65c3963c..935377e19 100644 --- a/src/map/guild.c +++ b/src/map/guild.c @@ -386,7 +386,7 @@ int guild_check_member(const struct guild *g) nullpo_retr(0, g); for(i=0;i<fd_max;i++){ - if(session[i] && (sd=(struct map_session_data *) session[i]->session_data) && sd->state.auth){ + if(session[i] && (sd=(struct map_session_data *) session[i]->session_data) && sd->state.auth && !sd->state.waitingdisconnect){ if(sd->status.guild_id==g->guild_id){ int j,f=1; for(j=0;j<MAX_GUILD;j++){ // データがあるか @@ -412,7 +412,7 @@ int guild_recv_noinfo(int guild_id) int i; struct map_session_data *sd; for(i=0;i<fd_max;i++){ - if(session[i] && (sd=(struct map_session_data *) session[i]->session_data) && sd->state.auth){ + if(session[i] && (sd=(struct map_session_data *) session[i]->session_data) && sd->state.auth && !sd->state.waitingdisconnect){ if(sd->status.guild_id==guild_id) sd->status.guild_id=0; } @@ -442,9 +442,11 @@ int guild_recv_info(struct guild *sg) for(i=bm=m=0;i<g->max_member;i++){ // sdの設定と人数の確認 if(g->member[i].account_id>0){ struct map_session_data *sd = map_id2sd(g->member[i].account_id); - g->member[i].sd=(sd!=NULL && - sd->status.char_id==g->member[i].char_id && - sd->status.guild_id==g->guild_id)? sd:NULL; + if (sd && sd->status.char_id == g->member[i].char_id && + sd->status.guild_id == g->guild_id && + !sd->state.waitingdisconnect) + g->member[i].sd = sd; + else sd = NULL; m++; }else g->member[i].sd=NULL; @@ -795,9 +797,11 @@ int guild_recv_memberinfoshort(int guild_id,int account_id,int char_id,int onlin for(i=0;i<g->max_member;i++){ // sd再設定 struct map_session_data *sd= map_id2sd(g->member[i].account_id); - g->member[i].sd=(sd!=NULL && - sd->status.char_id==g->member[i].char_id && - sd->status.guild_id==guild_id)?sd:NULL; + if (sd && sd->status.char_id == g->member[i].char_id && + sd->status.guild_id == g->guild_id && + !sd->state.waitingdisconnect) + g->member[i].sd = sd; + else sd = NULL; } // ここにクライアントに送信処理が必要 |