本文整理汇总了C++中Charter::SaveToDB方法的典型用法代码示例。如果您正苦于以下问题:C++ Charter::SaveToDB方法的具体用法?C++ Charter::SaveToDB怎么用?C++ Charter::SaveToDB使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Charter
的用法示例。
在下文中一共展示了Charter::SaveToDB方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HandleCharterRename
void WorldSession::HandleCharterRename(WorldPacket & recv_data)
{
uint64 guid;
string name;
recv_data >> guid >> name;
Charter * pCharter = objmgr.GetCharterByItemGuid(guid);
if(pCharter == 0)
return;
Guild * g = objmgr.GetGuildByGuildName(name);
Charter * c = objmgr.GetCharterByName(name, (CharterTypes)pCharter->CharterType);
if(c || g)
{
SendNotification("That name is in use by another guild.");
return;
}
c = pCharter;
c->GuildName = name;
c->SaveToDB();
WorldPacket data(MSG_PETITION_RENAME, 100);
data << guid << name;
SendPacket(&data);
}
示例2: HandleCharterSign
void WorldSession::HandleCharterSign( WorldPacket & recv_data )
{
uint64 item_guid;
recv_data >> item_guid;
if( !_player->IsInWorld() )
return;
Charter * c = objmgr.GetCharterByItemGuid(item_guid);
if(c == 0)
return;
if( _player->m_playerInfo->charterId[c->CharterType] != 0 )
{
SendNotification("You cannot sign two charters of the same type.");
return;
}
for(uint32 i = 0; i < 9; ++i)
{
if(c->Signatures[i] == _player->GetGUID())
{
SendNotification("You have already signed that charter.");
return;
}
}
if(c->IsFull())
return;
c->AddSignature(_player->GetLowGUID());
c->SaveToDB();
_player->m_playerInfo->charterId[c->CharterType] = c->GetID();
_player->SaveToDB(false);
Player * l = _player->GetMapMgr()->GetPlayer(c->GetLeader());
if(l == 0)
return;
WorldPacket data(SMSG_PETITION_SIGN_RESULTS, 100);
data << item_guid << _player->GetGUID() << uint32(0);
l->GetSession()->SendPacket(&data);
data.clear();
data << item_guid << (uint64)c->GetLeader() << uint32(0);
SendPacket(&data);
}
示例3: HandleCharterSign
void WorldSession::HandleCharterSign( WorldPacket & recv_data )
{
uint64 item_guid;
recv_data >> item_guid;
Charter * c = objmgr.GetCharterByItemGuid(item_guid);
if( c == NULL )
return;
for(uint32 i = 0; i < c->SignatureCount; ++i)
{
if(c->Signatures[i] == _player->GetGUID())
{
SendNotification(_player->GetSession()->LocalizedWorldSrv(79));
return;
}
}
if(c->IsFull())
return;
c->AddSignature(_player->GetLowGUID());
c->SaveToDB();
_player->m_charters[c->CharterType] = c;
_player->SaveToDB(false);
Player * l = _player->GetMapMgr()->GetPlayer(c->GetLeader());
if(l == 0)
return;
WorldPacket data(SMSG_PETITION_SIGN_RESULTS, 100);
data << item_guid << _player->GetGUID() << uint32(0);
l->GetSession()->SendPacket(&data);
data.clear();
data << item_guid << (uint64)c->GetLeader() << uint32(0);
SendPacket(&data);
}
示例4: HandleCharterBuy
//.........这里部分代码省略.........
ItemPrototype * ip = ItemPrototypeStorage.LookupEntry(item_ids[arena_type]);
ASSERT(ip);
SlotResult res = _player->GetItemInterface()->FindFreeInventorySlot(ip);
if(res.Result == 0)
{
_player->GetItemInterface()->BuildInventoryChangeError(0, 0, INV_ERR_INVENTORY_FULL);
return;
}
error = _player->GetItemInterface()->CanReceiveItem(ip,1, NULL);
if(error)
{
_player->GetItemInterface()->BuildInventoryChangeError(NULL,NULL,error);
}
else
{
// Create the item and charter
Item * i = objmgr.CreateItem(item_ids[arena_type], _player);
Charter * c = objmgr.CreateCharter(_player->GetLowGUID(), (CharterTypes)arena_index);
c->GuildName = name;
c->ItemGuid = i->GetGUID();
i->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1);
i->SetUInt32Value(ITEM_FIELD_FLAGS, 1);
i->SetUInt32Value(ITEM_FIELD_ENCHANTMENT, c->GetID());
i->SetUInt32Value(ITEM_FIELD_PROPERTY_SEED, 57813883);
if( !_player->GetItemInterface()->AddItemToFreeSlot(i) )
{
c->Destroy();
delete i;
return;
}
c->SaveToDB();
/*WorldPacket data(45);
BuildItemPushResult(&data, _player->GetGUID(), ITEM_PUSH_TYPE_RECEIVE, 1, item_ids[arena_type], 0);
SendPacket(&data);*/
SendItemPushResult(i, false, true, false, true, _player->GetItemInterface()->LastSearchItemBagSlot(), _player->GetItemInterface()->LastSearchItemSlot(), 1);
if(!sWorld.free_arena_teams)
_player->ModUnsigned32Value(PLAYER_FIELD_COINAGE, -(int32)costs[arena_type]);
_player->m_playerInfo->charterId[arena_index] = c->GetID();
_player->SaveToDB(false);
}
}
else
{
if( _player->GetUInt32Value(PLAYER_FIELD_COINAGE) < 1000 && !sWorld.free_guild_charters )
{
SendNotification("You don't have enough money.");
return;
}
if(_player->m_playerInfo->charterId[CHARTER_TYPE_GUILD] != 0)
{
SendNotification("You already have a guild charter.");
return;
}
Guild * g = objmgr.GetGuildByGuildName(name);
Charter * c = objmgr.GetCharterByName(name, CHARTER_TYPE_GUILD);
if(g != 0 || c != 0)
{
SendNotification("A guild with that name already exists.");
return;
示例5: HandleCharterBuy
//.........这里部分代码省略.........
SlotResult res = _player->GetItemInterface()->FindFreeInventorySlot(ip);
if(res.Result == 0)
{
_player->GetItemInterface()->BuildInventoryChangeError(NULL, NULL, INV_ERR_INVENTORY_FULL);
return;
}
error = _player->GetItemInterface()->CanReceiveItem(ip,1, NULL);
if(error)
{
_player->GetItemInterface()->BuildInventoryChangeError(NULL,NULL,error);
}
else
{
// Create the item and charter
Item* i = objmgr.CreateItem(item_ids[arena_type], _player);
Charter * c = objmgr.CreateCharter(_player->GetLowGUID(), (CharterTypes)arena_index);
c->GuildName = name;
c->ItemGuid = i->GetGUID();
i->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1);
i->SetUInt32Value(ITEM_FIELD_FLAGS, 1);
i->SetUInt32Value(ITEM_FIELD_ENCHANTMENT_1_1, c->GetID());
i->SetUInt32Value(ITEM_FIELD_PROPERTY_SEED, 57813883);
if( !_player->GetItemInterface()->AddItemToFreeSlot(i) )
{
c->Destroy();
c = NULL;
i->Destructor();
i = NULL;
return;
}
c->SaveToDB();
SendItemPushResult(i, false, true, false, true, _player->GetItemInterface()->LastSearchItemBagSlot(), _player->GetItemInterface()->LastSearchItemSlot(), 1);
if(!sWorld.free_arena_teams)
_player->ModUnsigned32Value(PLAYER_FIELD_COINAGE, -(int32)costs[arena_type]);
_player->m_playerInfo->charterId[arena_index] = c->GetID();
_player->SaveToDB(false);
}
}
else
{
if( _player->GetUInt32Value(PLAYER_FIELD_COINAGE) < 1000 && !sWorld.free_guild_charters )
{
SendNotification("You don't have enough money.");
return;
}
if(_player->m_playerInfo->charterId[CHARTER_TYPE_GUILD] != 0)
{
SendNotification("You already have a guild charter.");
return;
}
Guild * g = objmgr.GetGuildByGuildName(name);
Charter * c = objmgr.GetCharterByName(name, CHARTER_TYPE_GUILD);
if(g != 0 || c != 0)
{
SendNotification("A guild with that name already exists.");
return;
}
ItemPrototype * ip = ItemPrototypeStorage.LookupEntry(ITEM_ENTRY_GUILD_CHARTER);