View Single Post
  #7  
Old 05-04-2009, 10:22 AM
Zeice
Sarnak
 
Join Date: Oct 2008
Location: USA
Posts: 92
Default

This is working for people in the titanium client, but not for the SoF client. Everytime I zone with an attuneable item equipped it loses it's no trade flag. I would assume that this has something to do with the titanium.cpp being edited for this but not the sof.cpp. I tried changing around closer to what was done with titanium, but I haven't had any luck so far. I'm by no means a coder so I was hoping someone could look into this?

What it looks like in titanium.
Code:
	MakeAnyLenString(&instance,
		"%i|%i|%i|%i|%i|%i|%i|%i|%i|%i|%i|",
		stackable ? charges : 0,
		0,
		(merchant_slot==0) ? slot_id : merchant_slot,
		inst->GetPrice(),
		(merchant_slot==0) ? 1 : inst->GetMerchantCount(),
		0,
		//merchant_slot,	//instance ID, bullshit for now
		(merchant_slot==0) ? inst->GetSerialNumber() : merchant_slot,
		0,
		(stackable ? ((inst->GetItem()->ItemType == ItemTypePotion) ? 1 : 0) : charges),
		inst->IsInstNoDrop() ? 1 : 0,
		0
	);

What I changed in SoF.cpp (not working)
Code:
	hdr.slot = (merchant_slot == 0) ? slot_id : merchant_slot;
	hdr.price = inst->GetPrice();
	hdr.merchant_slot = (merchant_slot == 0) ? 1 : inst->GetMerchantCount();
	hdr.unknown020 = 0;
	hdr.instance_id = (merchant_slot == 0) ? inst->GetSerialNumber() : merchant_slot;
	0,
	hdr.potion_type = (stackable ? ((inst->GetItem()->ItemType == ItemTypePotion) ? 1 : 0) : charges);
	hdr.inst_nodrop = inst->IsInstNoDrop() ? 1 : 0;
	hdr.charges = charges;
	hdr.unknown040 = 0;
	hdr.unknown044 = 0;
	hdr.unknown048 = 0;
	hdr.unknown052 = 0;
	hdr.unknown056 = 0;
	hdr.unknown060 = 0;
	hdr.unknown061 = 0;
	hdr.ItemClass = item->ItemClass;
Reply With Quote