mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 16:51:29 +00:00
[Fix] Add crash checks for certain PlayerEventLogs (#4761)
This commit is contained in:
parent
7ab32af4dc
commit
9ee095b354
@ -16974,7 +16974,7 @@ void Client::Handle_OP_GuildTributeDonateItem(const EQApplicationPacket *app)
|
|||||||
|
|
||||||
SendGuildTributeDonateItemReply(in, favor);
|
SendGuildTributeDonateItemReply(in, favor);
|
||||||
|
|
||||||
if(player_event_logs.IsEventEnabled(PlayerEvent::GUILD_TRIBUTE_DONATE_ITEM)) {
|
if(inst && player_event_logs.IsEventEnabled(PlayerEvent::GUILD_TRIBUTE_DONATE_ITEM)) {
|
||||||
auto e = PlayerEvent::GuildTributeDonateItem{ .item_id = inst->GetID(),
|
auto e = PlayerEvent::GuildTributeDonateItem{ .item_id = inst->GetID(),
|
||||||
.augment_1_id = inst->GetAugmentItemID(0),
|
.augment_1_id = inst->GetAugmentItemID(0),
|
||||||
.augment_2_id = inst->GetAugmentItemID(1),
|
.augment_2_id = inst->GetAugmentItemID(1),
|
||||||
|
|||||||
@ -1569,7 +1569,7 @@ void Corpse::LootCorpseItem(Client *c, const EQApplicationPacket *app)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player_event_logs.IsEventEnabled(PlayerEvent::LOOT_ITEM) && !IsPlayerCorpse()) {
|
if (inst && player_event_logs.IsEventEnabled(PlayerEvent::LOOT_ITEM) && !IsPlayerCorpse()) {
|
||||||
auto e = PlayerEvent::LootItemEvent{
|
auto e = PlayerEvent::LootItemEvent{
|
||||||
.item_id = inst->GetItem()->ID,
|
.item_id = inst->GetItem()->ID,
|
||||||
.item_name = inst->GetItem()->Name,
|
.item_name = inst->GetItem()->Name,
|
||||||
|
|||||||
@ -197,7 +197,7 @@ void command_parcels(Client *c, const Seperator *sep)
|
|||||||
send_to_client.at(0).character_name.c_str()
|
send_to_client.at(0).character_name.c_str()
|
||||||
);
|
);
|
||||||
|
|
||||||
if (player_event_logs.IsEventEnabled(PlayerEvent::PARCEL_SEND)) {
|
if (inst && player_event_logs.IsEventEnabled(PlayerEvent::PARCEL_SEND)) {
|
||||||
PlayerEvent::ParcelSend e{};
|
PlayerEvent::ParcelSend e{};
|
||||||
e.from_player_name = parcel_out.from_name;
|
e.from_player_name = parcel_out.from_name;
|
||||||
e.to_player_name = send_to_client.at(0).character_name;
|
e.to_player_name = send_to_client.at(0).character_name;
|
||||||
@ -281,7 +281,7 @@ void command_parcels(Client *c, const Seperator *sep)
|
|||||||
send_to_client.at(0).character_name.c_str()
|
send_to_client.at(0).character_name.c_str()
|
||||||
);
|
);
|
||||||
|
|
||||||
if (player_event_logs.IsEventEnabled(PlayerEvent::PARCEL_SEND)) {
|
if (inst && player_event_logs.IsEventEnabled(PlayerEvent::PARCEL_SEND)) {
|
||||||
PlayerEvent::ParcelSend e{};
|
PlayerEvent::ParcelSend e{};
|
||||||
e.from_player_name = parcel_out.from_name;
|
e.from_player_name = parcel_out.from_name;
|
||||||
e.to_player_name = send_to_client.at(0).character_name;
|
e.to_player_name = send_to_client.at(0).character_name;
|
||||||
|
|||||||
@ -763,7 +763,7 @@ void Client::DropItem(int16 slot_id, bool recurse)
|
|||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
if (player_event_logs.IsEventEnabled(PlayerEvent::DROPPED_ITEM)) {
|
if (inst && player_event_logs.IsEventEnabled(PlayerEvent::DROPPED_ITEM)) {
|
||||||
auto e = PlayerEvent::DroppedItemEvent{
|
auto e = PlayerEvent::DroppedItemEvent{
|
||||||
.item_id = inst->GetID(),
|
.item_id = inst->GetID(),
|
||||||
.augment_1_id = inst->GetAugmentItemID(0),
|
.augment_1_id = inst->GetAugmentItemID(0),
|
||||||
@ -1655,7 +1655,7 @@ bool Client::SwapItem(MoveItem_Struct* move_in) {
|
|||||||
|
|
||||||
DeleteItemInInventory(EQ::invslot::slotCursor, 0, true);
|
DeleteItemInInventory(EQ::invslot::slotCursor, 0, true);
|
||||||
|
|
||||||
if (player_event_logs.IsEventEnabled(PlayerEvent::ITEM_DESTROY)) {
|
if (test_inst && player_event_logs.IsEventEnabled(PlayerEvent::ITEM_DESTROY)) {
|
||||||
auto e = PlayerEvent::DestroyItemEvent{
|
auto e = PlayerEvent::DestroyItemEvent{
|
||||||
.item_id = test_inst->GetItem()->ID,
|
.item_id = test_inst->GetItem()->ID,
|
||||||
.item_name = test_inst->GetItem()->Name,
|
.item_name = test_inst->GetItem()->Name,
|
||||||
|
|||||||
@ -1465,7 +1465,7 @@ void Client::BuyTraderItem(TraderBuy_Struct *tbs, Client *Trader, const EQApplic
|
|||||||
|
|
||||||
Trader->AddMoneyToPP(copper, silver, gold, platinum, true);
|
Trader->AddMoneyToPP(copper, silver, gold, platinum, true);
|
||||||
|
|
||||||
if (player_event_logs.IsEventEnabled(PlayerEvent::TRADER_PURCHASE)) {
|
if (buy_item && player_event_logs.IsEventEnabled(PlayerEvent::TRADER_PURCHASE)) {
|
||||||
auto e = PlayerEvent::TraderPurchaseEvent{
|
auto e = PlayerEvent::TraderPurchaseEvent{
|
||||||
.item_id = buy_item->GetID(),
|
.item_id = buy_item->GetID(),
|
||||||
.augment_1_id = buy_item->GetAugmentItemID(0),
|
.augment_1_id = buy_item->GetAugmentItemID(0),
|
||||||
@ -1487,7 +1487,7 @@ void Client::BuyTraderItem(TraderBuy_Struct *tbs, Client *Trader, const EQApplic
|
|||||||
RecordPlayerEventLog(PlayerEvent::TRADER_PURCHASE, e);
|
RecordPlayerEventLog(PlayerEvent::TRADER_PURCHASE, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player_event_logs.IsEventEnabled(PlayerEvent::TRADER_SELL)) {
|
if (buy_item && player_event_logs.IsEventEnabled(PlayerEvent::TRADER_SELL)) {
|
||||||
auto e = PlayerEvent::TraderSellEvent{
|
auto e = PlayerEvent::TraderSellEvent{
|
||||||
.item_id = buy_item->GetID(),
|
.item_id = buy_item->GetID(),
|
||||||
.augment_1_id = buy_item->GetAugmentItemID(0),
|
.augment_1_id = buy_item->GetAugmentItemID(0),
|
||||||
@ -2975,7 +2975,7 @@ void Client::BuyTraderItemOutsideBazaar(TraderBuy_Struct *tbs, const EQApplicati
|
|||||||
Message(Chat::Red, fmt::format("You paid {} for the parcel delivery.", DetermineMoneyString(fee)).c_str());
|
Message(Chat::Red, fmt::format("You paid {} for the parcel delivery.", DetermineMoneyString(fee)).c_str());
|
||||||
LogTrading("Customer <green>[{}] Paid: <green>[{}] in Copper", CharacterID(), total_cost);
|
LogTrading("Customer <green>[{}] Paid: <green>[{}] in Copper", CharacterID(), total_cost);
|
||||||
|
|
||||||
if (player_event_logs.IsEventEnabled(PlayerEvent::TRADER_PURCHASE)) {
|
if (buy_item && player_event_logs.IsEventEnabled(PlayerEvent::TRADER_PURCHASE)) {
|
||||||
auto e = PlayerEvent::TraderPurchaseEvent{
|
auto e = PlayerEvent::TraderPurchaseEvent{
|
||||||
.item_id = buy_item->GetID(),
|
.item_id = buy_item->GetID(),
|
||||||
.augment_1_id = buy_item->GetAugmentItemID(0),
|
.augment_1_id = buy_item->GetAugmentItemID(0),
|
||||||
|
|||||||
@ -3799,7 +3799,7 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
|
|||||||
|
|
||||||
auto item = trader_pc->FindTraderItemBySerialNumber(item_sn);
|
auto item = trader_pc->FindTraderItemBySerialNumber(item_sn);
|
||||||
|
|
||||||
if (player_event_logs.IsEventEnabled(PlayerEvent::TRADER_SELL)) {
|
if (item && player_event_logs.IsEventEnabled(PlayerEvent::TRADER_SELL)) {
|
||||||
auto e = PlayerEvent::TraderSellEvent{
|
auto e = PlayerEvent::TraderSellEvent{
|
||||||
.item_id = item ? item->GetID() : 0,
|
.item_id = item ? item->GetID() : 0,
|
||||||
.augment_1_id = item->GetAugmentItemID(0),
|
.augment_1_id = item->GetAugmentItemID(0),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user