Excellent - that works. Thanks Justin. I won't be calling the full update often - just once on login of each AV if they don't already have the relevant attachment, fingers crossed I get no issues.
Neil On Wed, Nov 24, 2010 at 11:43 PM, Justin Clark-Casey < [email protected]> wrote: > On 24/11/10 19:01, Neil Canham wrote: > >> Hi >> I'm writing a region module for managing appearance / outfits. One >> issue I have is that attachments only appear >> after a relog. During the client login I'm using this to attach: >> >> m_scenes[0].RezSingleAttachment(client, item.ID, >> (uint)AttachmentPoint.HUDTop); >> >> in 0.6.9 - and I find I have to log out and then back in to see the >> attachment, I assume because the client didn't >> request the attachment it isn't looking out for it? Is there any way that >> I can force the attachment to happen (I tried >> a ScenePresence SendWearables() but that seemed to not know about the >> attachment) >> > > In 0.7 (I think) and later, it's possible to attach (and move) hud objects > with code like > > <paste> > IAttachmentsModule module = > client.Scene.RequestModuleInterface<IAttachmentsModule>(); > UUID sceneObjectId > = module.RezSingleAttachmentFromInventory(client, itemId, > (uint)AttachmentPoint.HUDTop); > SceneObjectGroup sog = scene.GetSceneObjectPart(sceneObjectId).ParentGroup; > > // Move HUD > > // A temporary messy solution to an occasional race where the attached hud > sometimes ends up positioned > // on the avatar itself and does not show up as attached within inventory. > Thread.Sleep(1000); > > Vector3 newPos = new Vector3(0, 0, -0.1f); > m_log.DebugFormat("[EXAMPLE]: Resetting HUD position to {0}", newPos); > module.UpdateAttachmentPosition(client, sog, newPos); > </paste> > > However, the attachment code has changed a lot since 0.6.9 (for starters, > it had no separate AttachmentsModule). You might want to try something like > > sog.HasGroupChanged = true; > sog.ScheduleGroupForFullUpdate(); > > to make sure the server sends an object notification to the viewer. > However, don't overuse this, since unnecessary multiple updates can > sometimes lead to race conditions and viewer update glitches. > > -- > Justin Clark-Casey (justincc) > http://justincc.org > http://twitter.com/justincc > _______________________________________________ > Opensim-dev mailing list > [email protected] > https://lists.berlios.de/mailman/listinfo/opensim-dev >
_______________________________________________ Opensim-dev mailing list [email protected] https://lists.berlios.de/mailman/listinfo/opensim-dev
