In the interests of possibly a simpler solution than just updating the entire profile, what exactly are you trying to change?
I was under the impression (without confirmation, so I could be wrong) that the profile was basically sent during zone in, and then everything in the profile was just updated while in the zone on both the server & client sides using different packets. In other words, the profile is the starting values for everything in memory, and everything gets poked & prodded. This also explains why, if you change the profile while the character is logged in, it won't send to the client normally, it will be overwritten by whatever is in server memory for the client, but it works fine if you make the change when the character is offline.
Also, how are you trying to send the profile packet to the client (maybe a code snippet)? Maybe there's a Kick() function mixed somewhere in there (like when you change a class, race, etc, for it to take effect)?
|