покажите пожалуйста что там должно быть написано в RealmList.cpp? Я хочу сделать чтобы базы не конфликтовали... P.S Мне не надо показывать у кого flag, мне надо показать у кого color P.S.S Покажите мне ещё и RealmList.h P.S.S.S Конечно за + =) P.S.S.S.S Этот файл находится в Ваш диск:\Папка с исходниками\src\server\authserver\Realms Добавлено (05.10.2012, 15:53) --------------------------------------------- Или как исправить:
/* * Copyright © 2008-2012 TrinityCore <http://www.trinitycore.org/> * Copyright © 2005-2009 MaNGOS <http://getmangos.com/> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "Common.h" #include "RealmList.h" #include "Database/DatabaseEnv.h" RealmList::RealmList() : m_UpdateInterval(0), m_NextUpdateTime(time(NULL)) { } // Load the realm list from the database void RealmList::Initialize(uint32 updateInterval) { m_UpdateInterval = updateInterval; // Get the content of the realmlist table in the database UpdateRealms(true); } void RealmList::UpdateRealm(uint32 ID, const std::string& name, const std::string& address, uint16 port, uint8 icon, RealmFlags flag, uint8 timezone, AccountTypes allowedSecurityLevel, float popu, uint32 build) { // Create new if not exist or update existed Realm& realm = m_realms[name]; realm.m_ID = ID; realm.name = name; realm.icon = icon; realm.flag = flag; realm.timezone = timezone; realm.allowedSecurityLevel = allowedSecurityLevel; realm.populationLevel = popu; // Append port to IP address. std::ostringstream ss; ss << address << ':' << port; realm.address = ss.str(); realm.gamebuild = build; } void RealmList::UpdateIfNeed() { // maybe disabled or updated recently if (!m_UpdateInterval || m_NextUpdateTime > time(NULL)) return; m_NextUpdateTime = time(NULL) + m_UpdateInterval; // Clears Realm list m_realms.clear(); // Get the content of the realmlist table in the database UpdateRealms(); } void RealmList::UpdateRealms(bool init) { sLog->outDetail("Updating Realm List..."); PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_REALMLIST); PreparedQueryResult result = LoginDatabase.Query(stmt); // Circle through results and add them to the realm map if (result) { do { Field* fields = result->Fetch(); uint32 realmId = fields[0].GetUInt32(); const std::string& name = fields[1].GetString(); const std::string& address = fields[2].GetString(); uint16 port = fields[3].GetUInt16(); uint8 icon = fields[4].GetUInt8(); RealmFlags flag = RealmFlags(fields[5].GetUInt8()); uint8 timezone = fields[6].GetUInt8(); uint8 allowedSecurityLevel = fields[7].GetUInt8(); float pop = fields[8].GetFloat(); uint32 build = fields[9].GetUInt32(); UpdateRealm(realmId, name, address, port, icon, flag, timezone, (allowedSecurityLevel <= SEC_ADMINISTRATOR ? AccountTypes(allowedSecurityLevel) : SEC_ADMINISTRATOR), pop, build); if (init) sLog->outString("Added realm \"%s\".", fields[1].GetCString()); } while (result->NextRow()); } }
/* * Copyright © 2008-2012 TrinityCore <http://www.trinitycore.org/> * Copyright © 2005-2009 MaNGOS <http://getmangos.com/> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _REALMLIST_H #define _REALMLIST_H #include <ace/Singleton.h> #include <ace/Null_Mutex.h> #include "Common.h" enum RealmFlags { REALM_FLAG_NONE = 0x00, REALM_FLAG_INVALID = 0x01, REALM_FLAG_OFFLINE = 0x02, REALM_FLAG_SPECIFYBUILD = 0x04, REALM_FLAG_UNK1 = 0x08, REALM_FLAG_UNK2 = 0x10, REALM_FLAG_RECOMMENDED = 0x20, REALM_FLAG_NEW = 0x40, REALM_FLAG_FULL = 0x80 }; // Storage object for a realm struct Realm { std::string address; std::string name; uint8 icon; RealmFlags flag; uint8 timezone; uint32 m_ID; AccountTypes allowedSecurityLevel; float populationLevel; uint32 gamebuild; }; /// Storage object for the list of realms on the server class RealmList { public: typedef std::map<std::string, Realm> RealmMap; RealmList(); ~RealmList() {} void Initialize(uint32 updateInterval); void UpdateIfNeed(); void AddRealm(Realm NewRealm) {m_realms[NewRealm.name] = NewRealm;} RealmMap::const_iterator begin() const { return m_realms.begin(); } RealmMap::const_iterator end() const { return m_realms.end(); } uint32 size() const { return m_realms.size(); } private: void UpdateRealms(bool init=false); void UpdateRealm(uint32 ID, const std::string& name, const std::string& address, uint16 port, uint8 icon, RealmFlags flag, uint8 timezone, AccountTypes allowedSecurityLevel, float popu, uint32 build); RealmMap m_realms; uint32 m_UpdateInterval; time_t m_NextUpdateTime; }; #define sRealmList ACE_Singleton<RealmList, ACE_Null_Mutex>::instance() #endif
Нужно исправить чтоб color был и всё работало при компиляции... Добавлено (05.10.2012, 17:57) --------------------------------------------- Пожалуйста помогите =)
Сообщение #
1 написано 05.10.2012 в 18:07
Более подробно опиши что тебе надо
Сообщение #
2 написано 05.10.2012 в 21:28
а более подробно: мне нужно чтобы в ядре где flag стояло color... у меня на 2 сборке в таблице realmlist стоит color а в моей сборке, в которой у меня есть исходники там должно стоять flag ну и я хочу чтобы можно было поставить не flag, а color и серв при этом загружался а так он не в какую не хочет.... и вот хочу объеденить базы, чтобы они запускались через одну auth вот собственно и более подробно =)
Сообщение #
3 написано 06.10.2012 в 05:20