/** * Request to save guild storage * @param account_id : account requesting the save * @param guild_id : guild to take the guild_storage * @param flag : 1 = Char quitting, close the storage * @return False : fail (no storage), True : success (requested) */ bool gstorage_storagesave(uint32 account_id, int guild_id, int flag) { struct guild_storage *stor = gstorage_get_storage(guild_id); if (stor) { if (flag) //Char quitting, close it stor->opened = 0; if (stor->dirty) intif_send_guild_storage(account_id, stor); return true; } return false; }
/*========================================== * Request to save guild storage * return * 0 : fail (no storage) * 1 : succes *------------------------------------------*/ int storage_guild_storagesave(int account_id, int guild_id, int flag) { struct guild_storage *stor = guild2storage2(guild_id); if(stor) { if (flag) //Char quitting, close it. stor->storage_status = 0; if (stor->dirty) intif_send_guild_storage(account_id,stor); return 1; } return 0; }
/*========================================== * ギルド倉庫の保存 *------------------------------------------ */ void storage_guild_storagesave(struct map_session_data *sd) { struct guild_storage *stor; nullpo_retv(sd); stor = (struct guild_storage *)numdb_search(guild_storage_db,sd->status.guild_id); if(stor && stor->dirty) { intif_send_guild_storage(sd->status.account_id,stor); stor->dirty = 0; } return; }
/** * Request to save guild storage * @param account_id : account requesting the save * @param guild_id : guild to take the guild_storage * @param flag : 1=char quitting, close the storage * @return False : fail (no storage), True : success (requested) */ bool storage_guild_storagesave(uint32 account_id, int guild_id, int flag) { struct s_storage *stor = guild2storage2(guild_id); if (stor) { if (flag) //Char quitting, close it. stor->status = false; if (stor->dirty) intif_send_guild_storage(account_id,stor); return true; } return false; }
/*========================================== * ギルド倉庫を閉じて保存 *------------------------------------------ */ void storage_guild_storageclose(struct map_session_data *sd) { struct guild_storage *stor; nullpo_retv(sd); nullpo_retv(stor = (struct guild_storage *)numdb_search(guild_storage_db,sd->status.guild_id)); if(stor->dirty) { storage_sortitem(stor->store_item, MAX_GUILD_STORAGE, &stor->sortkey, battle_config.guild_storage_sort); intif_send_guild_storage(sd->status.account_id,stor); if(battle_config.save_player_when_storage_closed) { chrif_save(sd,0); } stor->dirty = 0; } stor->storage_status = 0; sd->state.storage_flag = 0; clif_storageclose(sd); intif_unlock_guild_storage(sd->status.guild_id); return; }