Untitled
unknown
plain_text
2 years ago
1.5 kB
12
Indexable
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();
}Editor is loading...