I'm no expert, but from what I can see, blocks is a hashtable (keys, values). It seems that you store multiple blocks of data in blocks, and you do this by having another hash with your flags and "payload" data, then using the flags hash as your key, and the block type as your value. It's kind of a hard structure to visualize, but if you use the template, you shouldn't have much trouble. Also, take a look at SLProxy's Analyzer. You can log and look at packets on the fly from the SL client. I'm going to fool around with it more once we come back up. --Jesse
On 7/26/06, Michael Kron (RIT Student) <[EMAIL PROTECTED]> wrote:
Hey guys, Started working on my animations project again, I hadn't touched it for a while. When I came back though, I was getting errors when I tried to compile anything. VisStudio kept saying that the libsecondlife.dll was in use. So I blew away the project, grabbed it again, now the library and the sample apps seem to work fine. I've been thinking I will go the route of modifying/ripping the Accountant example, to have it fire animation packets. But I was wondering if I might ask you some questions about the packets I need to send out? There are a few places in frmSLAccountant where it looks like communications occur( under all the button click callbacks more or less >_< ), and it looks like it happens a couple different ways: For connect and find, you build up the packets by filling out the hashtables "blocks" and "fields", then passing "blocks" onto BuildPacket(). I am a bit confused as to how these are built up. I haven't used hashtables in this way before. Particularly this -- blocks[fields] = "MoneyData"; -- sort of useage is new to me. The hastable "fields" is being used as the key, and a name string is the value? I'm guessing that "blocks" sort of a supertable, holding a number of sets of "fields", but I could use a couple pointers about what's going on there. Does each set of "fields" become a unique data packet, or is this done for a single packet which requires many groups of "fields"? Then for the actual money transfer call, you use the Avatar.GiveMoney(), which looks like it just wraps the proccess described above for ease of use. So, when I last spoke with John, he reccommended sending out an AgentAnimation packet. Is the type of the packet just determined by the string value in the "blocks" hashtable, at which "fields" is inserted? I tried to figure out how that string got used exactly, and I got rather lost. I assumed the packet name was parsed somewhere and converted to whatever bit value LL uses to denote various packet types, but I couldn't find where that happened. I also didn't see any usage of AgentAnimation in the project currently, is this something that is not yet in? Or is there a known value for these kind of packets, but just nothing yet to handle "fields" of that type yet? Would anyone care to give SL Packet 101 to a n00b, or direct me towards a good resource? Thanks very much, Mike Kron _______________________________________________ libsecondlife-dev mailing list libsecondlife-dev@gna.org https://mail.gna.org/listinfo/libsecondlife-dev
-- --Jesse _______________________________________________ libsecondlife-dev mailing list libsecondlife-dev@gna.org https://mail.gna.org/listinfo/libsecondlife-dev