// ギルドが空かどうか?ェック static bool guild_check_empty(struct guild *g) { int i; ARR_FIND( 0, g->max_member, i, g->member[i].account_id > 0 ); if( i < g->max_member) return false; // not empty // 誰もいないので解散 guild_db->foreach(guild_db, guild_break_sub, g->guild_id); inter_guild_storage_delete(g->guild_id); mapif_guild_broken(g->guild_id, 0); idb_remove(guild_db, g->guild_id); return true; }
// ギルドが空かどうかチェック int guild_check_empty(struct guild *g) { int i; for(i = 0; i < g->max_member; i++) { if (g->member[i].account_id > 0) { return 0; } } // 誰もいないので解散 guild_db->foreach(guild_db, guild_break_sub, g->guild_id); inter_guild_storage_delete(g->guild_id); mapif_guild_broken(g->guild_id, 0); idb_remove(guild_db, g->guild_id); return 1; }
// ギルド解散要求 int mapif_parse_BreakGuild(int fd, int guild_id) { struct guild *g; g = idb_get(guild_db, guild_id); if(g == NULL) return 0; guild_db->foreach(guild_db, guild_break_sub, guild_id); inter_guild_storage_delete(guild_id); mapif_guild_broken(guild_id, 0); if(log_inter) inter_log("guild %s (id=%d) broken" RETCODE, g->name, guild_id); idb_remove(guild_db, guild_id); return 0; }