I also forgot to mention: the InstantMessage function in the Avatar.cs file curently generates a new UUID every time you send an IM. THis causes new IM windows to open in the recipient's client every time you IM the same person.

The fix is to generate and use the same UUID in your calling function. Since I'm tracking separate conversations in separate iterations of my ChatWindow
form, I create a UUID when I load the form (or get the UUID from the
incoming IM if the other person IM's me).

the fix in Avatar.cs is to change lines 269 and 279-280:



public void InstantMessage(LLUUID target, string message, LLUUID id)

Packet packet = PacketBuilder.InstantMessage(Client.Protocol, target,
Client.Network.AgentID, 0,

RegionID, Position, 0, 0, id, Now, Name, message, "");

it's probably also a good idea to check id for null and generate a new UUID. My thought on that was to make id an optional parameter and return the id back from the function. this way, you could call the function with no ID the
first time, then use that ID in future calls.
I updated svn just now with some fixes. There are two InstantMessage functions in Avatar that take a different amount of parameters, and BinaryBucket support has been added (for conference IMs). The PacketBuilder function has been renamed from InstantMessage to ImprovedInstantMessage to match the packet name, and the parameter string binaryBucket is now byte[] binaryBucket, and the Avatar InstantMessage function (the main one) takes an array of LLUUIDs to build the bucket if you want to start a conference.

John

_______________________________________________
libsecondlife-dev mailing list
libsecondlife-dev@gna.org
https://mail.gna.org/listinfo/libsecondlife-dev

Reply via email to