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

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

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

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

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

示例1: prepareItems

void MailDraft::SendMailTo(SQLTransaction& trans, MailReceiver const& receiver, MailSender const& sender, MailCheckMask checked, uint32 deliver_delay){    Player* pReceiver = receiver.GetPlayer();               // can be NULL    Player* pSender = sObjectMgr->GetPlayerByLowGUID(sender.GetSenderId());    if (pReceiver)        prepareItems(pReceiver, trans);                            // generate mail template items    uint32 mailId = sObjectMgr->GenerateMailID();    time_t deliver_time = time(NULL) + deliver_delay;    //expire time if COD 3 days, if no COD 30 days, if auction sale pending 1 hour    uint32 expire_delay;    // auction mail without any items and money    if (sender.GetMailMessageType() == MAIL_AUCTION && m_items.empty() && !m_money)        expire_delay = sWorld->getIntConfig(CONFIG_MAIL_DELIVERY_DELAY);    // mail from battlemaster (rewardmarks) should last only one day    else if (sender.GetMailMessageType() == MAIL_CREATURE && sBattlegroundMgr->GetBattleMasterBG(sender.GetSenderId()) != BATTLEGROUND_TYPE_NONE)        expire_delay = DAY;     // default case: expire time if COD 3 days, if no COD 30 days (or 90 days if sender is a game master)    else    {        if (m_COD)            expire_delay = 3 * DAY;        else            expire_delay = pSender && pSender->IsGameMaster() ? 90 * DAY : 30 * DAY;    }    time_t expire_time = deliver_time + expire_delay;    // Add to DB    uint8 index = 0;    PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_MAIL);    stmt->setUInt32(  index, mailId);    stmt->setUInt8 (++index, uint8(sender.GetMailMessageType()));    stmt->setInt8  (++index, int8(sender.GetStationery()));    stmt->setUInt16(++index, GetMailTemplateId());    stmt->setUInt32(++index, sender.GetSenderId());    stmt->setUInt32(++index, receiver.GetPlayerGUIDLow());    stmt->setString(++index, GetSubject());    stmt->setString(++index, GetBody());    stmt->setBool  (++index, !m_items.empty());    stmt->setUInt64(++index, uint64(expire_time));    stmt->setUInt64(++index, uint64(deliver_time));    stmt->setUInt32(++index, m_money);    stmt->setUInt32(++index, m_COD);    stmt->setUInt8 (++index, uint8(checked));    trans->Append(stmt);    for (MailItemMap::const_iterator mailItemIter = m_items.begin(); mailItemIter != m_items.end(); ++mailItemIter)    {        Item* pItem = mailItemIter->second;        stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_MAIL_ITEM);        stmt->setUInt32(0, mailId);        stmt->setUInt32(1, pItem->GetGUID().GetCounter());        stmt->setUInt32(2, receiver.GetPlayerGUIDLow());        trans->Append(stmt);    }    // For online receiver update in game mail status and data    if (pReceiver)    {        pReceiver->AddNewMailDeliverTime(deliver_time);        if (pReceiver->IsMailsLoaded())        {            Mail* m = new Mail;            m->messageID = mailId;            m->mailTemplateId = GetMailTemplateId();            m->subject = GetSubject();            m->body = GetBody();            m->money = GetMoney();            m->COD = GetCOD();            for (MailItemMap::const_iterator mailItemIter = m_items.begin(); mailItemIter != m_items.end(); ++mailItemIter)            {                Item* item = mailItemIter->second;                m->AddItem(item->GetGUID().GetCounter(), item->GetEntry());            }            m->messageType = sender.GetMailMessageType();            m->stationery = sender.GetStationery();            m->sender = sender.GetSenderId();            m->receiver = receiver.GetPlayerGUIDLow();            m->expire_time = expire_time;            m->deliver_time = deliver_time;            m->checked = checked;            m->state = MAIL_STATE_UNCHANGED;            pReceiver->AddMail(m);                           // to insert new mail to beginning of maillist            if (!m_items.empty())            {                for (MailItemMap::iterator mailItemIter = m_items.begin(); mailItemIter != m_items.end(); ++mailItemIter)                    pReceiver->AddMItem(mailItemIter->second);            }        }        else if (!m_items.empty())//.........这里部分代码省略.........
开发者ID:AwkwardDev,项目名称:RE,代码行数:101,


示例2: deleteIncludedItems

/** * Sends a mail. * * @param receiver             The MailReceiver to which this mail is sent. * @param sender               The MailSender from which this mail is originated. * @param checked              The mask used to specify the mail. * @param deliver_delay        The delay after which the mail is delivered in seconds */void MailDraft::SendMailTo(MailReceiver const& receiver, MailSender const& sender, MailCheckMask checked, uint32 deliver_delay){    Player* pReceiver = receiver.GetPlayer();               // can be NULL    uint32 pReceiverAccount = 0;    if (!pReceiver)        pReceiverAccount = sObjectMgr.GetPlayerAccountIdByGUID(receiver.GetPlayerGuid());    if (!pReceiver && !pReceiverAccount)                    // receiver not exist    {        deleteIncludedItems(true);        return;    }    bool has_items = !m_items.empty();    // generate mail template items for online player, for offline player items will generated at open    if (pReceiver)    {        if (prepareItems(pReceiver))            has_items = true;    }    uint32 mailId = sObjectMgr.GenerateMailID();    time_t deliver_time = time(NULL) + deliver_delay;    uint32 expire_delay;    // auction mail without any items and money (auction sale note) pending 1 hour    if (sender.GetMailMessageType() == MAIL_AUCTION && m_items.empty() && !m_money)        expire_delay = HOUR;    // default case: expire time if COD 3 days, if no COD 30 days    else        expire_delay = (m_COD > 0) ? 3 * DAY : 30 * DAY;    time_t expire_time = deliver_time + expire_delay;    // Add to DB    std::string safe_subject = GetSubject();    CharacterDatabase.escape_string(safe_subject);    std::string safe_body = GetBody();    CharacterDatabase.escape_string(safe_body);    CharacterDatabase.BeginTransaction();    CharacterDatabase.PExecute("INSERT INTO mail (id,messageType,stationery,mailTemplateId,sender,receiver,subject,body,has_items,expire_time,deliver_time,money,cod,checked) "        "VALUES ('%u', '%u', '%u', '%u', '%u', '%u', '%s', '%s', '%u', '" UI64FMTD "','" UI64FMTD "', '%u', '%u', '%u')",        mailId, sender.GetMailMessageType(), sender.GetStationery(), GetMailTemplateId(), sender.GetSenderId(), receiver.GetPlayerGuid().GetCounter(), safe_subject.c_str(), safe_body.c_str(), (has_items ? 1 : 0), (uint64)expire_time, (uint64)deliver_time, m_money, m_COD, checked);    for(MailItemMap::const_iterator mailItemIter = m_items.begin(); mailItemIter != m_items.end(); ++mailItemIter)    {        Item* item = mailItemIter->second;        CharacterDatabase.PExecute("INSERT INTO mail_items (mail_id,item_guid,item_template,receiver) VALUES ('%u', '%u', '%u','%u')",            mailId, item->GetGUIDLow(), item->GetEntry(), receiver.GetPlayerGuid().GetCounter());    }    CharacterDatabase.CommitTransaction();    // For online receiver update in game mail status and data    if (pReceiver)    {        pReceiver->AddNewMailDeliverTime(deliver_time);        Mail *m = new Mail;        m->messageID = mailId;        m->mailTemplateId = GetMailTemplateId();        m->subject = GetSubject();        m->body = GetBody();        m->money = GetMoney();        m->COD = GetCOD();        for(MailItemMap::const_iterator mailItemIter = m_items.begin(); mailItemIter != m_items.end(); ++mailItemIter)        {            Item* item = mailItemIter->second;            m->AddItem(item->GetGUIDLow(), item->GetEntry());        }        m->messageType = sender.GetMailMessageType();        m->stationery = sender.GetStationery();        m->sender = sender.GetSenderId();        m->receiverGuid = receiver.GetPlayerGuid();        m->expire_time = expire_time;        m->deliver_time = deliver_time;        m->checked = checked;        m->state = MAIL_STATE_UNCHANGED;        pReceiver->AddMail(m);                           // to insert new mail to beginning of maillist        if (!m_items.empty())        {            for(MailItemMap::iterator mailItemIter = m_items.begin(); mailItemIter != m_items.end(); ++mailItemIter)                pReceiver->AddMItem(mailItemIter->second);//.........这里部分代码省略.........
开发者ID:BACKUPLIB,项目名称:Darkportalwow,代码行数:101,


示例3: prepareItems

void MailDraft::SendMailTo(MailReceiver const& receiver, MailSender const& sender, MailCheckMask checked, uint32 deliver_delay){    Player* pReceiver = receiver.GetPlayer();               // can be NULL        if (pReceiver)        prepareItems(pReceiver);                            // generate mail template items    uint32 mailId = objmgr.GenerateMailID();    time_t deliver_time = time(NULL) + deliver_delay;    uint32 expire_delay;    // auction mail without any items and money (auction sale note) pending 1 hour    if (sender.GetMailMessageType() == MAIL_AUCTION && m_items.empty() && !m_money)        expire_delay = HOUR;    // mail from battlemaster (rewardmarks) should last only one day    else if (sender.GetMailMessageType() == MAIL_CREATURE && sBattleGroundMgr.GetBattleMasterBG(sender.GetSenderId()) != BATTLEGROUND_TYPE_NONE)        expire_delay = DAY;    // default case: expire time if COD 3 days, if no COD 30 days    else        expire_delay = (m_COD > 0) ? 3 * DAY : 30 * DAY;    time_t expire_time = deliver_time + expire_delay;    // Add to DB    std::string safe_subject = GetSubject();    CharacterDatabase.BeginTransaction();    CharacterDatabase.escape_string(safe_subject);    CharacterDatabase.PExecute("INSERT INTO mail (id,messageType,stationery,mailTemplateId,sender,receiver,subject,itemTextId,has_items,expire_time,deliver_time,money,cod,checked) "        "VALUES ('%u', '%u', '%u', '%u', '%u', '%u', '%s', '%u', '%u', '" UI64FMTD "','" UI64FMTD "', '%u', '%u', '%d')",        mailId, sender.GetMailMessageType(), sender.GetStationery(), GetMailTemplateId(), sender.GetSenderId(), receiver.GetPlayerGUIDLow(), safe_subject.c_str(), GetBodyId(), (m_items.empty() ? 0 : 1), (uint64)expire_time, (uint64)deliver_time, m_money, m_COD, checked);    for(MailItemMap::const_iterator mailItemIter = m_items.begin(); mailItemIter != m_items.end(); ++mailItemIter)    {        Item* item = mailItemIter->second;        CharacterDatabase.PExecute("INSERT INTO mail_items (mail_id,item_guid,item_template,receiver) VALUES ('%u', '%u', '%u','%u')", mailId, item->GetGUIDLow(), item->GetEntry(), receiver.GetPlayerGUIDLow());    }    CharacterDatabase.CommitTransaction();    // For online receiver update in game mail status and data    if (pReceiver)    {        pReceiver->AddNewMailDeliverTime(deliver_time);        if (pReceiver->IsMailsLoaded())        {            Mail *m = new Mail;            m->messageID = mailId;            m->mailTemplateId = GetMailTemplateId();            m->subject = GetSubject();            m->itemTextId = GetBodyId();            m->money = GetMoney();            m->COD = GetCOD();            for(MailItemMap::const_iterator mailItemIter = m_items.begin(); mailItemIter != m_items.end(); ++mailItemIter)            {                Item* item = mailItemIter->second;                m->AddItem(item->GetGUIDLow(), item->GetEntry());            }            m->messageType = sender.GetMailMessageType();            m->stationery = sender.GetStationery();            m->sender = sender.GetSenderId();            m->receiver = receiver.GetPlayerGUIDLow();            m->expire_time = expire_time;            m->deliver_time = deliver_time;            m->checked = checked;            m->state = MAIL_STATE_UNCHANGED;            pReceiver->AddMail(m);                           // to insert new mail to beginning of maillist            if (!m_items.empty())            {                for(MailItemMap::iterator mailItemIter = m_items.begin(); mailItemIter != m_items.end(); ++mailItemIter)                    pReceiver->AddMItem(mailItemIter->second);            }        }        else if (!m_items.empty())            deleteIncludedItems();    }    else if (!m_items.empty())        deleteIncludedItems();}
开发者ID:krik05,项目名称:mangos,代码行数:85,



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


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