View Single Post
  #6  
Old 09-18-2015, 10:39 AM
image
Demi-God
 
Join Date: Jan 2002
Posts: 1,290
Default

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);
__________________
www.eq2emu.com
EQ2Emu Developer
Former EQEMu Developer / GuildWars / Zek Seasons Servers
Member of the "I hate devn00b" club.
Reply With Quote