I hate to revive a dead topic, but in this case it seemed warranted I wanted to provide my analysis through assembly this morning of this opcode. This is based on the Titanium client.
Note: The 'Issued Sound' text is from issuing the # command, all the 'You receive..' comes from the OP_Sound packet, entity_id specifying the entity_id in the zone (client is building a list).
Code:
struct QuestSound_Struct {
int16 entity_id;
uint8 unknown[18]; // not sure what this is used for honestly, I could be wrong, but in assembly this data looks completely glossed over
uint32 copper;
uint32 silver;
uint32 gold;
uint32 platinum;
};
client.cpp:
// Updated 9/18/2015 with updated structure + discovered values
void Client::SendQuestSound(uint16 entity_id, uint32 copper, uint32 silver, uint32 gold, uint32 platinum){
EQApplicationPacket* outapp = new EQApplicationPacket(OP_Sound,sizeof(QuestSound_Struct));
QuestSound_Struct* qss=(QuestSound_Struct*)outapp->pBuffer;
qss->entity_id = entity_id;
qss->copper = copper;
qss->silver = silver;
qss->gold = gold;
qss->platinum = platinum;
QueuePacket(outapp);
DumpPacket(outapp);
safe_delete(outapp);
}
client.h:
void SendSound() { SendQuestSound(0,0,0,0,0); }
void SendQuestSound(uint16 entity_id, uint32 copper, uint32 silver, uint32 gold, uint32 platinum);