Page 1 of 1

Bug 492: (zippyzee) When using the

Posted: Tue Apr 12, 2016 4:20 pm
by BugTracker
Bug ID       : 492 - When using the  
Bug Date     : 2016/04/12 11:11:03
Assigned To  : zippyzee
Priority     : Low

Category     : VGClient
Sub-Category : Gameplay: Inventory
Severity     : Minor (e.g. Cosmetic)
Reproducible : Every time
Details:
When using the "Loot All" button to loot an item that was added via Lua in a mob's death() function, do not get the "You have looted ..." message in chat. Right-clicking the item in the loot window does trigger the message as expected.
Originated From World: New Telon (1)
Chunk                : Lomshir (68)
Location             : -38657 9576 10689

Re: Bug 492: (zippyzee) When using the

Posted: Wed Apr 13, 2016 2:48 pm
by Xinux
You do get a link for the second item if there is more then one item in the loot window.

Re: Bug 492: (zippyzee) When using the

Posted: Wed Apr 13, 2016 3:14 pm
by zippyzee
Mental note to remember to look at this. I'm getting pretty scattered on Vanguard systems right now but will get to it.

Re: Bug 492: (zippyzee) When using the

Posted: Thu Apr 14, 2016 1:15 pm
by Xinux
This should be fixed in the next update.


In void Loot::ClientLootItem(shared_ptr<Client>& client, PacketStruct *packet, bool loot_all) I had to change the following.

Code: Select all

			if ((out = packet_struct_list.GetPacketStruct2Server("WS_ServerLootListUpdate")) == NULL){
				LogError(LOG_CHUNK, 0, "Loot::ClientLootItem: %s:%u", __FILE__, __LINE__);
				delete out;
				return;
			}
			LogDebug(LOG_ITEM, 0, "Loot::ClientLootItem: Removing unique id %u from loot window.", unique_id);
			out->SetUInt32("unique_id", unique_id);

			// This seems to always be set to 1
			out->SetUInt8("unknown1", 1);

			client->QueuePacket(out->Serialize());

			delete out;
To this cause on loot all we were not sending the unique_id when loot all button was used

Code: Select all

			if ((out = packet_struct_list.GetPacketStruct2Server("WS_ServerLootListUpdate")) == NULL){
				LogError(LOG_CHUNK, 0, "Loot::ClientLootItem: %s:%u", __FILE__, __LINE__);
				delete out;
				return;
			}
			LogDebug(LOG_ITEM, 0, "Loot::ClientLootItem: Removing unique id %u from loot window.", unique_id);

         if (unique_id != 0) {
			out->SetUInt32("unique_id", unique_id);
         {
         else {
         out->SetUInt32("unique_id", pawn_item->unique_id);
         }

			// This seems to always be set to 1
			out->SetUInt8("unknown1", 1);

			client->QueuePacket(out->Serialize());

			delete out;

Re: Bug 492: (zippyzee) When using the

Posted: Thu Apr 14, 2016 1:17 pm
by zippyzee
Thanks Xinux!