本文整理汇总了C++中Guild::GetGuildBankMoney方法的典型用法代码示例。如果您正苦于以下问题:C++ Guild::GetGuildBankMoney方法的具体用法?C++ Guild::GetGuildBankMoney怎么用?C++ Guild::GetGuildBankMoney使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Guild
的用法示例。
在下文中一共展示了Guild::GetGuildBankMoney方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HandleGuildBankWithdrawMoney
void WorldSession::HandleGuildBankWithdrawMoney(WorldPacket& recv_data)
{
DEBUG_LOG("WORLD: Received (CMSG_GUILD_BANK_WITHDRAW_MONEY)");
ObjectGuid goGuid;
uint64 money;
recv_data >> goGuid >> money;
if (!money)
return;
if (!GetPlayer()->GetGameObjectIfCanInteractWith(goGuid, GAMEOBJECT_TYPE_GUILD_BANK))
return;
uint32 GuildId = GetPlayer()->GetGuildId();
if (GuildId == 0)
return;
Guild* pGuild = sGuildMgr.GetGuildById(GuildId);
if (!pGuild)
return;
if (!pGuild->IsGuildBankLoaded() || !pGuild->GetPurchasedTabs())
return;
if (pGuild->GetGuildBankMoney() < money) // not enough money in bank
return;
if (!pGuild->HasRankRight(GetPlayer()->GetRank(), GR_RIGHT_WITHDRAW_GOLD))
return;
CharacterDatabase.BeginTransaction();
if (!pGuild->MemberMoneyWithdraw(money, GetPlayer()->GetGUIDLow()))
{
CharacterDatabase.RollbackTransaction();
return;
}
GetPlayer()->ModifyMoney(money);
GetPlayer()->SaveGoldToDB();
CharacterDatabase.CommitTransaction();
// Log
pGuild->LogBankEvent(GUILD_BANK_LOG_WITHDRAW_MONEY, uint8(0), GetPlayer()->GetGUIDLow(), money);
pGuild->SendMoneyInfo(this, GetPlayer()->GetGUIDLow());
pGuild->DisplayGuildBankTabsInfo(this);
pGuild->DisplayGuildBankContent(this, 0);
pGuild->DisplayGuildBankMoneyUpdate(this);
}
示例2: HandleGuildBankDepositMoney
void WorldSession::HandleGuildBankDepositMoney(WorldPacket& recv_data)
{
DEBUG_LOG("WORLD: Received (CMSG_GUILD_BANK_DEPOSIT_MONEY)");
ObjectGuid goGuid;
uint64 money;
recv_data >> goGuid >> money;
if (!money)
return;
if (!GetPlayer()->GetGameObjectIfCanInteractWith(goGuid, GAMEOBJECT_TYPE_GUILD_BANK))
return;
if (GetPlayer()->GetMoney() < money)
return;
uint32 GuildId = GetPlayer()->GetGuildId();
if (!GuildId)
return;
Guild* pGuild = sGuildMgr.GetGuildById(GuildId);
if (!pGuild)
return;
if (!pGuild->IsGuildBankLoaded() || !pGuild->GetPurchasedTabs())
return;
CharacterDatabase.BeginTransaction();
pGuild->SetBankMoney(pGuild->GetGuildBankMoney() + money);
GetPlayer()->ModifyMoney(-int64(money));
GetPlayer()->SaveGoldToDB();
CharacterDatabase.CommitTransaction();
// logging money
if (_player->GetSession()->GetSecurity() > SEC_PLAYER && sWorld.getConfig(CONFIG_BOOL_GM_LOG_TRADE))
{
sLog.outCommand(_player->GetSession()->GetAccountId(), "GM %s (Account: %u) deposit money (Amount: %u) to guild bank (Guild ID %u)",
_player->GetName(), _player->GetSession()->GetAccountId(), money, GuildId);
}
// log
pGuild->LogBankEvent(GUILD_BANK_LOG_DEPOSIT_MONEY, uint8(0), GetPlayer()->GetGUIDLow(), money);
pGuild->DisplayGuildBankTabsInfo(this);
pGuild->DisplayGuildBankContent(this, 0);
pGuild->DisplayGuildBankMoneyUpdate(this);
}