Untitled
plain_text
2 months ago
1.5 kB
1
Indexable
Never
void World::SendAutoPickup(std::shared_ptr<NetAvatar> player, const int32_t& item_id, const CL_Vec2f& position) { auto* item = ItemManager::GetItem(item_id); if (!item) return; auto object_id = this->m_object_id++; { GameUpdatePacket packet{ .m_type = NET_GAME_PACKET_ITEM_CHANGE_OBJECT, .m_object_change_type = OBJECT_CHANGE_TYPE_ADD, .m_item_net_id = -1, .m_obj_alt_count = static_cast<float>(1), .m_item_id = item_id }; packet.m_pos_x = position.m_x, packet.m_pos_y = position.m_y; player->SendPacket(NET_MESSAGE_GAME_PACKET, &packet, sizeof(GameUpdatePacket)); } { GameUpdatePacket packet{ .m_type = NET_GAME_PACKET_ITEM_CHANGE_OBJECT, .m_object_change_type = OBJECT_CHANGE_TYPE_COLLECT, .m_item_net_id = -1, .m_obj_alt_count = static_cast<float>(1), .m_item_id = item_id }; packet.m_net_id = player->GetNetId(); packet.m_object_id = object_id; player->SendPacket(NET_MESSAGE_GAME_PACKET, &packet, sizeof(GameUpdatePacket)); } std::string msg{ fmt::format("Collected `w1 {}``.", item->Name) }; if (item->Rarity != 999) msg.append(fmt::format(" Rarity: `w{}``", item->Rarity)); player->varFunc.OnConsoleMessage(msg); player->Backpack.Send(); }