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

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

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

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

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

示例1: GetSlot

void Item::UpdateDuration(Player* owner, uint32 diff){    if (!GetUInt32Value(ITEM_FIELD_DURATION))        return;    //DEBUG_LOG("Item::UpdateDuration Item (Entry: %u Duration %u Diff %u)",GetEntry(),GetUInt32Value(ITEM_FIELD_DURATION),diff);    if (GetUInt32Value(ITEM_FIELD_DURATION)<=diff)    {        uint32 itemId = this->GetEntry();        owner->DestroyItem(GetBagSlot(), GetSlot(), true);        if (itemId == 39878) //Mysterious Egg        {            if (Item* Item = owner->StoreNewItemInInventorySlot(39883, 1))                owner->SendNewItem(Item, 1, true, false);        }        if (itemId == 44717) //Disgusting Jar        {            if (Item* Item = owner->StoreNewItemInInventorySlot(44718, 1))                owner->SendNewItem(Item, 1, true, false);        }        return;    }    SetUInt32Value(ITEM_FIELD_DURATION, GetUInt32Value(ITEM_FIELD_DURATION) - diff);    SetState(ITEM_CHANGED, owner);                          // save new time in database}
开发者ID:klaas-netherstorm,项目名称:Mangos,代码行数:30,


示例2: GetSlot

void Item::UpdateDuration(Player* owner, uint32 diff){    if (!GetUInt32Value(ITEM_FIELD_DURATION))        return;    //DEBUG_LOG("Item::UpdateDuration Item (Entry: %u Duration %u Diff %u)",GetEntry(),GetUInt32Value(ITEM_FIELD_DURATION),diff);    if (GetUInt32Value(ITEM_FIELD_DURATION)<=diff)    {        owner->DestroyItem(GetBagSlot(), GetSlot(), true);        //Some items with duration create new item after expire        if((GetProto()->ExtraFlags & ITEM_EXTRA_CREATE_ITEM_ON_EXPIRE) && !loot.empty())        {            for(LootItemList::iterator itr = loot.items.begin(); itr != loot.items.end(); ++itr)            {                if (Item* Item = owner->StoreNewItemInInventorySlot((*itr).itemid, (*itr).count))                    owner->SendNewItem(Item,(*itr).count, true, false);                           }        }        return;    }    SetUInt32Value(ITEM_FIELD_DURATION, GetUInt32Value(ITEM_FIELD_DURATION) - diff);    SetState(ITEM_CHANGED, owner);                          // save new time in database    //Remove refundable flag for next time if item is no logner refundable    if(HasFlag(ITEM_FIELD_FLAGS, ITEM_FLAGS_REFUNDABLE))        if(!GetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME) || (GetOwner() && GetOwner()->m_Played_time[0] > (GetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME) + 2*60*60)))            RemoveFlag(ITEM_FIELD_FLAGS, ITEM_FLAGS_REFUNDABLE);}
开发者ID:3raZar3,项目名称:Dark-Ice,代码行数:31,


示例3: GetSlot

void Item::UpdateDuration(Player* owner, uint32 diff){    if (!GetUInt32Value(ITEM_FIELD_DURATION))        return;    //DEBUG_LOG("Item::UpdateDuration Item (Entry: %u Duration %u Diff %u)",GetEntry(),GetUInt32Value(ITEM_FIELD_DURATION),diff);    if (GetUInt32Value(ITEM_FIELD_DURATION)<=diff)    {        owner->DestroyItem(GetBagSlot(), GetSlot(), true);        owner->HandleDestroyItemReplace(GetEntry(), GetBagSlot(), GetSlot(), GetPos());        return;    }    SetUInt32Value(ITEM_FIELD_DURATION, GetUInt32Value(ITEM_FIELD_DURATION) - diff);    SetState(ITEM_CHANGED, owner);                          // save new time in database}
开发者ID:SeTM,项目名称:mangos,代码行数:17,


示例4: GetOwnerGUID

std::string Item::GetDebugInfo() const{    std::stringstream sstr;    sstr << Object::GetDebugInfo() << "/n"        << std::boolalpha        << "Owner: " << GetOwnerGUID().ToString() << " Count: " << GetCount()        << " BagSlot: " << std::to_string(GetBagSlot()) << " Slot: " << std::to_string(GetSlot()) << " Equipped: " << IsEquipped();    return sstr.str();}
开发者ID:ElunaLuaEngine,项目名称:ElunaTrinityWotlk,代码行数:9,


示例5: GetEntry

Bag::~Bag() {	for (uint8 i = 0; i < MAX_BAG_SIZE; ++i)		if (Item *item = m_bagslot[i]) {			if (item->IsInWorld()) {				sLog->outCrash(						"Item %u (slot %u, bag slot %u) in bag %u (slot %u, bag slot %u, m_bagslot %u) is to be deleted but is still in world.",						item->GetEntry(), (uint32) item->GetSlot(),						(uint32) item->GetBagSlot(), GetEntry(),						(uint32) GetSlot(), (uint32) GetBagSlot(), (uint32) i);				item->RemoveFromWorld();			}			delete m_bagslot[i];		}}
开发者ID:Bootz,项目名称:DeepshjirRepack,代码行数:14,


示例6: TC_LOG_FATAL

Bag::~Bag(){    for (uint8 i = 0; i < MAX_BAG_SIZE; ++i)        if (Item* item = m_bagslot[i])        {            if (item->IsInWorld())            {                TC_LOG_FATAL("entities.player.items", "Item %u (slot %u, bag slot %u) in bag %u (slot %u, bag slot %u, m_bagslot %u) is to be deleted but is still in world.",                    item->GetEntry(), (uint32)item->GetSlot(), (uint32)item->GetBagSlot(),                    GetEntry(), (uint32)GetSlot(), (uint32)GetBagSlot(), (uint32)i);                item->RemoveFromWorld();            }            delete m_bagslot[i];        }}
开发者ID:Caydan,项目名称:WoWSCore548,代码行数:15,


示例7: Item

void Item::UpdateDuration(Player* owner, uint32 diff){    if (!GetUInt32Value(ITEM_FIELD_DURATION))        return;    sLog.outDebug("Item::UpdateDuration Item (Entry: %u Duration %u Diff %u)",GetEntry(),GetUInt32Value(ITEM_FIELD_DURATION),diff);    if (GetUInt32Value(ITEM_FIELD_DURATION)<=diff)    {        owner->DestroyItem(GetBagSlot(), GetSlot(), true);        return;    }    SetUInt32Value(ITEM_FIELD_DURATION, GetUInt32Value(ITEM_FIELD_DURATION) - diff);    SetState(ITEM_CHANGED);                                 // save new time in database}
开发者ID:Bootz,项目名称:TC-One,代码行数:16,


示例8: TC_LOG_DEBUG

void Item::UpdateDuration(Player* owner, uint32 diff){    if (!GetUInt32Value(ITEM_FIELD_DURATION))        return;    TC_LOG_DEBUG("entities.player.items", "Item::UpdateDuration Item (Entry: %u Duration %u Diff %u)", GetEntry(), GetUInt32Value(ITEM_FIELD_DURATION), diff);    if (GetUInt32Value(ITEM_FIELD_DURATION) <= diff)    {        sScriptMgr->OnItemExpire(owner, GetTemplate());        owner->DestroyItem(GetBagSlot(), GetSlot(), true);        return;    }    SetUInt32Value(ITEM_FIELD_DURATION, GetUInt32Value(ITEM_FIELD_DURATION) - diff);    SetState(ITEM_CHANGED, owner);                          // save new time in database}
开发者ID:ElunaLuaEngine,项目名称:ElunaTrinityWotlk,代码行数:17,


示例9: GetSlot

void Item::UpdateDuration(Player* owner, uint32 diff){    if (!GetUInt32Value(ITEM_FIELD_DURATION))        return;    // DEBUG_LOG("Item::UpdateDuration Item (Entry: %u Duration %u Diff %u)", GetEntry(), GetUInt32Value(ITEM_FIELD_DURATION), diff);    if (GetUInt32Value(ITEM_FIELD_DURATION) <= diff)    {        if (uint32 newItemId = sObjectMgr.GetItemExpireConvert(GetEntry()))            owner->ConvertItem(this, newItemId);        else            owner->DestroyItem(GetBagSlot(), GetSlot(), true);        return;    }    SetUInt32Value(ITEM_FIELD_DURATION, GetUInt32Value(ITEM_FIELD_DURATION) - diff);    SetState(ITEM_CHANGED, owner);                          // save new time in database}
开发者ID:Splash,项目名称:mangos,代码行数:19,


示例10: Item

void Item::UpdateDuration(Player* owner, uint32 diff){    if (!GetUInt32Value(ITEM_FIELD_DURATION))        return;    sLog.outDebug("Item::UpdateDuration Item (Entry: %u Duration %u Diff %u)",GetEntry(),GetUInt32Value(ITEM_FIELD_DURATION),diff);    if (GetUInt32Value(ITEM_FIELD_DURATION)<=diff)    {		uint32 itemId = this->GetEntry();		Script->ItemExpire(owner, GetProto());        owner->DestroyItem(GetBagSlot(), GetSlot(), true);           		ItemPosCountVec dest;		if (itemId == 39878) //Mysterious Egg        {            uint8 msg = owner->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, 39883, 1);            if (msg == EQUIP_ERR_OK)            {                Item* item = owner->StoreNewItem(dest,39883,true);                if (item)                    owner->SendNewItem(item,1,false,true);            }        }        if (itemId == 44717) //Disgusting Jar		{            uint8 msg = owner->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, 44718, 1);			if (msg == EQUIP_ERR_OK)			{                Item* item = owner->StoreNewItem(dest,44718,true);                if (item)                    owner->SendNewItem(item,1,false,true);            }        }        return;    }    SetUInt32Value(ITEM_FIELD_DURATION, GetUInt32Value(ITEM_FIELD_DURATION) - diff);    SetState(ITEM_CHANGED, owner);                          // save new time in database}
开发者ID:Sanzzes,项目名称:wopc-core,代码行数:41,


示例11: GetSlot

void Item::UpdateDuration(Player* owner, uint32 diff){    if (!GetUInt32Value(ITEM_FIELD_DURATION))        return;    //DEBUG_LOG("Item::UpdateDuration Item (Entry: %u Duration %u Diff %u)",GetEntry(),GetUInt32Value(ITEM_FIELD_DURATION),diff);    if (GetUInt32Value(ITEM_FIELD_DURATION)<=diff)    {        owner->DestroyItem(GetBagSlot(), GetSlot(), true);        return;    }    SetUInt32Value(ITEM_FIELD_DURATION, GetUInt32Value(ITEM_FIELD_DURATION) - diff);    SetState(ITEM_CHANGED, owner);                          // save new time in database    //Remove refundable flag for next time if item is no logner refundable    if(HasFlag(ITEM_FIELD_FLAGS, ITEM_FLAGS_REFUNDABLE))        if(!GetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME) || (GetOwner() && GetOwner()->m_Played_time[0] > (GetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME) + 2*60*60)))            RemoveFlag(ITEM_FIELD_FLAGS, ITEM_FLAGS_REFUNDABLE);}
开发者ID:Nny,项目名称:Core,代码行数:21,


示例12: GetGUID

bool Item::ItemContainerLoadLootFromDB(){    // Loads the money and item loot associated with an openable item from the DB    // Default. If there are no records for this item then it will be rolled for in Player::SendLoot()    m_lootGenerated = false;    ObjectGuid::LowType container_id = GetGUID().GetCounter();    // Save this for later use    loot.containerID = container_id;    // First, see if there was any money loot. This gets added directly to the container.    PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_ITEMCONTAINER_MONEY);    stmt->setUInt32(0, container_id);    PreparedQueryResult money_result = CharacterDatabase.Query(stmt);    if (money_result)    {        Field* fields = money_result->Fetch();        loot.gold = fields[0].GetUInt32();    }    // Next, load any items that were saved    stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_ITEMCONTAINER_ITEMS);    stmt->setUInt32(0, container_id);    PreparedQueryResult item_result = CharacterDatabase.Query(stmt);    if (item_result)    {        // Get a LootTemplate for the container item. This is where        //  the saved loot was originally rolled from, we will copy conditions from it        LootTemplate const* lt = LootTemplates_Item.GetLootFor(GetEntry());        if (lt)        {            do            {                // Create an empty LootItem                LootItem loot_item = LootItem();                // Fill in the rest of the LootItem from the DB                Field* fields = item_result->Fetch();                // item_id, itm_count, follow_rules, ffa, blocked, counted, under_threshold, needs_quest, rnd_prop, rnd_suffix                loot_item.itemid = fields[0].GetUInt32();                loot_item.count = fields[1].GetUInt32();                loot_item.follow_loot_rules = fields[2].GetBool();                loot_item.freeforall = fields[3].GetBool();                loot_item.is_blocked = fields[4].GetBool();                loot_item.is_counted = fields[5].GetBool();                loot_item.canSave = true;                loot_item.is_underthreshold = fields[6].GetBool();                loot_item.needs_quest = fields[7].GetBool();                loot_item.randomPropertyId = fields[8].GetInt32();                loot_item.randomSuffix = fields[9].GetUInt32();                // Copy the extra loot conditions from the item in the loot template                lt->CopyConditions(&loot_item);                // If container item is in a bag, add that player as an allowed looter                if (GetBagSlot())                    loot_item.allowedGUIDs.insert(GetOwner()->GetGUID().GetCounter());                // Finally add the LootItem to the container                loot.items.push_back(loot_item);                // Increment unlooted count                loot.unlootedCount++;            }            while (item_result->NextRow());        }    }    // Mark the item if it has loot so it won't be generated again on open    m_lootGenerated = !loot.isLooted();    return m_lootGenerated;}
开发者ID:winetaster,项目名称:InfinityCore,代码行数:78,



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


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