// ギルドメンバ追加要求 int mapif_parse_GuildAddMember(int fd, int guild_id, struct guild_member *m) { struct guild *g; int i; g = idb_get(guild_db, guild_id); if (g == NULL) { mapif_guild_memberadded(fd, guild_id, m->account_id, m->char_id, 1); return 0; } for(i = 0; i < g->max_member; i++) { if (g->member[i].account_id == 0) { memcpy(&g->member[i], m, sizeof(struct guild_member)); mapif_guild_memberadded(fd, guild_id, m->account_id, m->char_id, 0); guild_calcinfo(g); mapif_guild_info(-1, g); return 0; } } mapif_guild_memberadded(fd, guild_id, m->account_id, m->char_id, 1); return 0; }
// ギルドメンバ追加要求 int mapif_parse_GuildAddMember(int fd, int guild_id, struct guild_member *m) { struct guild *g; int i; g = (struct guild*)idb_get(guild_db, guild_id); if (g == NULL) { mapif_guild_memberadded(fd, guild_id, m->account_id, m->char_id, 1); return 0; } ARR_FIND( 0, g->max_member, i, g->member[i].account_id == 0 ); if( i < g->max_member ) { memcpy(&g->member[i], m, sizeof(struct guild_member)); mapif_guild_memberadded(fd, guild_id, m->account_id, m->char_id, 0); guild_calcinfo(g); mapif_guild_info(-1, g); } else mapif_guild_memberadded(fd, guild_id, m->account_id, m->char_id, 1); return 0; }