您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GetAuctionsMap函数代码示例

51自学网 2021-06-01 21:03:59
  C++
这篇教程C++ GetAuctionsMap函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GetAuctionsMap函数的典型用法代码示例。如果您正苦于以下问题:C++ GetAuctionsMap函数的具体用法?C++ GetAuctionsMap怎么用?C++ GetAuctionsMap使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GetAuctionsMap函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: getMSTime

void AuctionHouseMgr::LoadAuctions(){    uint32 oldMSTime = getMSTime();    PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_LOAD_AUCTIONS);    PreparedQueryResult result = CharacterDatabase.Query(stmt);    if (!result)    {        sLog->outString(">> Loaded 0 auctions. DB table `auctionhouse` is empty.");        sLog->outString();        return;    }    uint32 count = 0;    SQLTransaction trans = CharacterDatabase.BeginTransaction();    do    {        Field* fields = result->Fetch();        AuctionEntry *aItem = new AuctionEntry();        if (!aItem->LoadFromDB(fields))        {            aItem->DeleteFromDB(trans);            delete aItem;            continue;        }        GetAuctionsMap(aItem->factionTemplateId)->AddAuction(aItem);        count++;    } while (result->NextRow());    CharacterDatabase.CommitTransaction(trans);    sLog->outString(">> Loaded %u auctions in %u ms", count, GetMSTimeDiffToNow(oldMSTime));    sLog->outString();}
开发者ID:AlexTheBest,项目名称:ACore,代码行数:39,


示例2: COUNT

//.........这里部分代码省略.........        bar.step();        sLog.outString();        sLog.outString(">> Loaded 0 auctions. DB table `auction` is empty.");        return;    }    result = CharacterDatabase.Query("SELECT id,houseid,itemguid,item_template,itemowner,buyoutprice,time,moneyTime,buyguid,lastbid,startbid,deposit FROM auction");    if (!result)    {        BarGoLink bar(1);        bar.step();        sLog.outString();        sLog.outString(">> Loaded 0 auctions. DB table `auction` is empty.");        return;    }    BarGoLink bar(AuctionCount);    typedef std::map<uint32, std::wstring> PlayerNames;    PlayerNames playerNames;                                // caching for load time    do    {        fields = result->Fetch();        bar.step();        AuctionEntry *auction = new AuctionEntry;        auction->Id = fields[0].GetUInt32();        uint32 houseid  = fields[1].GetUInt32();        auction->itemGuidLow = fields[2].GetUInt32();        auction->itemTemplate = fields[3].GetUInt32();        auction->owner = fields[4].GetUInt32();        if (auction->owner)        {            std::wstring& plWName = playerNames[auction->owner];            if (plWName.empty())            {                std::string plName;                if (!sObjectMgr.GetPlayerNameByGUID(ObjectGuid(HIGHGUID_PLAYER, auction->owner), plName))                    plName = sObjectMgr.GetMangosStringForDBCLocale(LANG_UNKNOWN);                Utf8toWStr(plName, plWName);            }            auction->ownerName = plWName;        }        auction->buyout = fields[5].GetUInt32();        auction->expireTime = fields[6].GetUInt32();        auction->moneyDeliveryTime = fields[7].GetUInt32();        auction->bidder = fields[8].GetUInt32();        auction->bid = fields[9].GetUInt32();        auction->startbid = fields[10].GetUInt32();        auction->deposit = fields[11].GetUInt32();        auction->auctionHouseEntry = NULL;                  // init later        // check if sold item exists for guid        // and item_template in fact (GetAItem will fail if problematic in result check in AuctionHouseMgr::LoadAuctionItems)        Item* pItem = GetAItem(auction->itemGuidLow);        if (!pItem)        {            auction->DeleteFromDB();            sLog.outError("Auction %u has not a existing item : %u, deleted", auction->Id, auction->itemGuidLow);            delete auction;            continue;        }        auction->auctionHouseEntry = sAuctionHouseStore.LookupEntry(houseid);        if (!houseid)        {            // need for send mail, use goblin auctionhouse            auction->auctionHouseEntry = sAuctionHouseStore.LookupEntry(7);            // Attempt send item back to owner            std::ostringstream msgAuctionCanceledOwner;            msgAuctionCanceledOwner << auction->itemTemplate << ":0:" << AUCTION_CANCELED << ":0:0";            // item will deleted or added to received mail list            MailDraft(msgAuctionCanceledOwner.str(), "")    // TODO: fix body                .AddItem(pItem)                .SendMailTo(MailReceiver(ObjectGuid(HIGHGUID_PLAYER, auction->owner)), auction, MAIL_CHECK_MASK_COPIED);            RemoveAItem(auction->itemGuidLow);            auction->DeleteFromDB();            delete auction;            continue;        }        GetAuctionsMap(auction->auctionHouseEntry)->AddAuction(auction);    } while (result->NextRow());    delete result;    sLog.outString();    sLog.outString(">> Loaded %u auctions", AuctionCount);}
开发者ID:SparkFan,项目名称:mangos,代码行数:101,


示例3: getMSTime

void AuctionHouseMgr::DeleteExpiredAuctionsAtStartup(){    // Deletes expired auctions. Should be called at server start before loading auctions.    // DO NOT USE after auctions are already loaded since this deletes from the DB    //  and assumes the auctions HAVE NOT been loaded into a list or AuctionEntryMap yet    uint32 oldMSTime     = getMSTime();    uint32 expirecount   = 0;    time_t curTime       = sWorld->GetGameTime();    // Query the DB to see if there are any expired auctions    PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_LOAD_EXPIRED_AUCTIONS);    stmt->setUInt32(0, (uint32)curTime+60);    PreparedQueryResult expAuctions = CharacterDatabase.Query(stmt);    if (!expAuctions)    {        sLog->outString(">> No expired auctions to delete");        sLog->outString();        return;    }    do    {        Field* fields = expAuctions->Fetch();        AuctionEntry* auction = new AuctionEntry();         // Can't use LoadFromDB() because it assumes the auction map is loaded        if (!auction->LoadFromFieldList(fields))        {            // For some reason the record in the DB is broken (possibly corrupt            //  faction info). Delete the object and move on.            delete auction;            continue;        }        SQLTransaction trans = CharacterDatabase.BeginTransaction();        if (auction->bidder == 0)        {            // Cancel the auction, there was no bidder            sAuctionMgr->SendAuctionExpiredMail(auction, trans);        }        else        {            // Send the item to the winner and money to seller            sAuctionMgr->SendAuctionSuccessfulMail(auction, trans);            sAuctionMgr->SendAuctionWonMail(auction, trans);        }        // Call the appropriate AuctionHouseObject script        //  ** Do we need to do this while core is still loading? **        sScriptMgr->OnAuctionExpire(GetAuctionsMap(auction->factionTemplateId), auction);        // Delete the auction from the DB        auction->DeleteFromDB(trans);        CharacterDatabase.CommitTransaction(trans);        // Release memory        delete auction;        ++expirecount;    } while (expAuctions->NextRow());    sLog->outString(">> Deleted %u expired auctions in %u ms", expirecount, GetMSTimeDiffToNow(oldMSTime));    sLog->outString();}
开发者ID:AwkwardDev,项目名称:Darkcore-Rebase,代码行数:68,


示例4: COUNT

void AuctionHouseMgr::LoadAuctions(){    QueryResult *result = CharacterDatabase.Query("SELECT COUNT(*) FROM auctionhouse");    if( !result )    {        barGoLink bar(1);        bar.step();        sLog.outString();        sLog.outString(">> Loaded 0 auctions. DB table `auctionhouse` is empty.");        return;    }    Field *fields = result->Fetch();    uint32 AuctionCount=fields[0].GetUInt32();    delete result;    if(!AuctionCount)    {        barGoLink bar(1);        bar.step();        sLog.outString();        sLog.outString(">> Loaded 0 auctions. DB table `auctionhouse` is empty.");        return;    }    result = CharacterDatabase.Query( "SELECT id,auctioneerguid,itemguid,item_template,itemowner,buyoutprice,time,buyguid,lastbid,startbid,deposit FROM auctionhouse" );    if( !result )    {        barGoLink bar(1);        bar.step();        sLog.outString();        sLog.outString(">> Loaded 0 auctions. DB table `auctionhouse` is empty.");        return;    }    barGoLink bar( AuctionCount );    AuctionEntry *aItem;    do    {        fields = result->Fetch();        bar.step();        aItem = new AuctionEntry;        aItem->Id = fields[0].GetUInt32();        aItem->auctioneer = fields[1].GetUInt32();        aItem->item_guidlow = fields[2].GetUInt32();        aItem->item_template = fields[3].GetUInt32();        aItem->owner = fields[4].GetUInt32();        aItem->buyout = fields[5].GetUInt32();        aItem->expire_time = fields[6].GetUInt32();        aItem->bidder = fields[7].GetUInt32();        aItem->bid = fields[8].GetUInt32();        aItem->startbid = fields[9].GetUInt32();        aItem->deposit = fields[10].GetUInt32();        CreatureData const* auctioneerData = sObjectMgr.GetCreatureData(aItem->auctioneer);        if(!auctioneerData)        {            aItem->DeleteFromDB();            sLog.outError("Auction %u has not a existing auctioneer (GUID : %u)", aItem->Id, aItem->auctioneer);            delete aItem;            continue;        }        CreatureInfo const* auctioneerInfo = ObjectMgr::GetCreatureTemplate(auctioneerData->id);        if(!auctioneerInfo)        {            aItem->DeleteFromDB();            sLog.outError("Auction %u has not a existing auctioneer (GUID : %u Entry: %u)", aItem->Id, aItem->auctioneer,auctioneerData->id);            delete aItem;            continue;        }        aItem->auctionHouseEntry = AuctionHouseMgr::GetAuctionHouseEntry(auctioneerInfo->faction_A);        if(!aItem->auctionHouseEntry)        {            aItem->DeleteFromDB();            sLog.outError("Auction %u has auctioneer (GUID : %u Entry: %u) with wrong faction %u",                aItem->Id, aItem->auctioneer,auctioneerData->id,auctioneerInfo->faction_A);            delete aItem;            continue;        }        // check if sold item exists for guid        // and item_template in fact (GetAItem will fail if problematic in result check in AuctionHouseMgr::LoadAuctionItems)        if ( !GetAItem( aItem->item_guidlow ) )        {            aItem->DeleteFromDB();            sLog.outError("Auction %u has not a existing item : %u", aItem->Id, aItem->item_guidlow);            delete aItem;            continue;        }        GetAuctionsMap( auctioneerInfo->faction_A )->AddAuction(aItem);    } while (result->NextRow());    delete result;//.........这里部分代码省略.........
开发者ID:aresxii,项目名称:aresxii,代码行数:101,


示例5: COUNT

//.........这里部分代码省略.........    }    //                                       0  1       2        3             4          5                     6         7           8    9       10      11       12    result = CharacterDatabase.Query("SELECT id,houseid,itemguid,item_template,item_count,item_randompropertyid,itemowner,buyoutprice,time,buyguid,lastbid,startbid,deposit FROM auction");    if (!result)    {        BarGoLink bar(1);        bar.step();        sLog.outString();        sLog.outString(">> Loaded 0 auctions. DB table `auction` is empty.");        return;    }    BarGoLink bar(AuctionCount);    do    {        fields = result->Fetch();        bar.step();        AuctionEntry* auction = new AuctionEntry;        auction->Id = fields[0].GetUInt32();        uint32 houseid  = fields[1].GetUInt32();        auction->itemGuidLow = fields[2].GetUInt32();        auction->itemTemplate = fields[3].GetUInt32();        auction->itemCount = fields[4].GetUInt32();        auction->itemRandomPropertyId = fields[5].GetUInt32();        auction->owner = fields[6].GetUInt32();        auction->buyout = fields[7].GetUInt32();        auction->expireTime = time_t(fields[8].GetUInt64());        auction->bidder = fields[9].GetUInt32();        auction->bid = fields[10].GetUInt32();        auction->startbid = fields[11].GetUInt32();        auction->deposit = fields[12].GetUInt32();        auction->auctionHouseEntry = NULL;                  // init later        // check if sold item exists for guid        // and item_template in fact (GetAItem will fail if problematic in result check in AuctionHouseMgr::LoadAuctionItems)        Item* pItem = GetAItem(auction->itemGuidLow);        if (!pItem)        {            auction->DeleteFromDB();            sLog.outError("Auction %u has not a existing item : %u, deleted", auction->Id, auction->itemGuidLow);            delete auction;            continue;        }        // overwrite by real item data        if ((auction->itemTemplate != pItem->GetEntry()) ||                (auction->itemCount != pItem->GetCount()) ||                (auction->itemRandomPropertyId != pItem->GetItemRandomPropertyId()))        {            auction->itemTemplate = pItem->GetEntry();            auction->itemCount    = pItem->GetCount();            auction->itemRandomPropertyId = pItem->GetItemRandomPropertyId();            // No SQL injection (no strings)            CharacterDatabase.PExecute("UPDATE auction SET item_template = %u, item_count = %u, item_randompropertyid = %i WHERE itemguid = %u",                                       auction->itemTemplate, auction->itemCount, auction->itemRandomPropertyId, auction->itemGuidLow);        }        auction->auctionHouseEntry = sAuctionHouseStore.LookupEntry(houseid);        if (!auction->auctionHouseEntry)        {            // need for send mail, use goblin auctionhouse            auction->auctionHouseEntry = sAuctionHouseStore.LookupEntry(7);            // Attempt send item back to owner            std::ostringstream msgAuctionCanceledOwner;            msgAuctionCanceledOwner << auction->itemTemplate << ":" << auction->itemRandomPropertyId << ":" << AUCTION_CANCELED;            if (auction->itemGuidLow)            {                RemoveAItem(auction->itemGuidLow);                auction->itemGuidLow = 0;                // item will deleted or added to received mail list                MailDraft(msgAuctionCanceledOwner.str(), "")// TODO: fix body                .AddItem(pItem)                .SendMailTo(MailReceiver(ObjectGuid(HIGHGUID_PLAYER, auction->owner)), auction, MAIL_CHECK_MASK_COPIED);            }            auction->DeleteFromDB();            delete auction;            continue;        }        GetAuctionsMap(auction->auctionHouseEntry)->AddAuction(auction);    }    while (result->NextRow());    delete result;    sLog.outString();    sLog.outString(">> Loaded %u auctions", AuctionCount);}
开发者ID:MonstermoshCOM,项目名称:server,代码行数:101,


示例6: COUNT

void AuctionHouseMgr::LoadAuctions(){    QueryResult *result = CharacterDatabase.Query("SELECT COUNT(*) FROM auction");    if( !result )    {        barGoLink bar(1);        bar.step();        sLog.outString();        sLog.outString(">> Loaded 0 auctions. DB table `auction` is empty.");        return;    }    Field *fields = result->Fetch();    uint32 AuctionCount=fields[0].GetUInt32();    delete result;    if(!AuctionCount)    {        barGoLink bar(1);        bar.step();        sLog.outString();        sLog.outString(">> Loaded 0 auctions. DB table `auction` is empty.");        return;    }    result = CharacterDatabase.Query( "SELECT id,houseid,itemguid,item_template,itemowner,buyoutprice,time,buyguid,lastbid,startbid,deposit FROM auction" );    if( !result )    {        barGoLink bar(1);        bar.step();        sLog.outString();        sLog.outString(">> Loaded 0 auctions. DB table `auction` is empty.");        return;    }    barGoLink bar( AuctionCount );    AuctionEntry *auction;    do    {        fields = result->Fetch();        bar.step();        auction = new AuctionEntry;        auction->Id = fields[0].GetUInt32();        uint32 houseid  = fields[1].GetUInt32();        auction->item_guidlow = fields[2].GetUInt32();        auction->item_template = fields[3].GetUInt32();        auction->owner = fields[4].GetUInt32();        auction->buyout = fields[5].GetUInt32();        auction->expire_time = fields[6].GetUInt32();        auction->bidder = fields[7].GetUInt32();        auction->bid = fields[8].GetUInt32();        auction->startbid = fields[9].GetUInt32();        auction->deposit = fields[10].GetUInt32();        auction->auctionHouseEntry = NULL;                  // init later        // check if sold item exists for guid        // and item_template in fact (GetAItem will fail if problematic in result check in AuctionHouseMgr::LoadAuctionItems)        Item* pItem = GetAItem(auction->item_guidlow);        if (!pItem)        {            auction->DeleteFromDB();            sLog.outError("Auction %u has not a existing item : %u, deleted", auction->Id, auction->item_guidlow);            delete auction;            continue;        }        auction->auctionHouseEntry = sAuctionHouseStore.LookupEntry(houseid);        if (!houseid)        {            // need for send mail, use goblin auctionhouse            auction->auctionHouseEntry = sAuctionHouseStore.LookupEntry(7);            // Attempt send item back to owner            std::ostringstream msgAuctionCanceledOwner;            msgAuctionCanceledOwner << auction->item_template << ":0:" << AUCTION_CANCELED << ":0:0";            // item will deleted or added to received mail list            MailDraft(msgAuctionCanceledOwner.str(), "")    // TODO: fix body                .AddItem(pItem)                .SendMailTo(MailReceiver(auction->owner), auction, MAIL_CHECK_MASK_COPIED);            RemoveAItem(auction->item_guidlow);            auction->DeleteFromDB();            delete auction;            continue;        }        GetAuctionsMap(auction->auctionHouseEntry)->AddAuction(auction);    } while (result->NextRow());    delete result;    sLog.outString();    sLog.outString( ">> Loaded %u auctions", AuctionCount );//.........这里部分代码省略.........
开发者ID:kicho,项目名称:mangos,代码行数:101,



注:本文中的GetAuctionsMap函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GetAura函数代码示例
C++ GetAuctionOutBid函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。