aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs33
1 files changed, 33 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 5ac7755..efe3365 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -3365,6 +3365,18 @@ Console.WriteLine("Scripted Sit ofset {0}", m_pos);
3365 cAgent.Attachments = attachs; 3365 cAgent.Attachments = attachs;
3366 } 3366 }
3367 3367
3368 lock (scriptedcontrols)
3369 {
3370 ControllerData[] controls = new ControllerData[scriptedcontrols.Count];
3371 int i = 0;
3372
3373 foreach (ScriptControllers c in scriptedcontrols.Values)
3374 {
3375 controls[i++] = new ControllerData(c.itemID, (uint)c.ignoreControls, (uint)c.eventControls);
3376 }
3377 cAgent.Controllers = controls;
3378 }
3379
3368 // Animations 3380 // Animations
3369 try 3381 try
3370 { 3382 {
@@ -3446,6 +3458,27 @@ Console.WriteLine("Scripted Sit ofset {0}", m_pos);
3446 } 3458 }
3447 catch { } 3459 catch { }
3448 3460
3461 try
3462 {
3463 lock (scriptedcontrols)
3464 {
3465 if (cAgent.Controllers != null)
3466 {
3467 scriptedcontrols.Clear();
3468
3469 foreach (ControllerData c in cAgent.Controllers)
3470 {
3471 ScriptControllers sc = new ScriptControllers();
3472 sc.itemID = c.ItemID;
3473 sc.ignoreControls = (ScriptControlled)c.IgnoreControls;
3474 sc.eventControls = (ScriptControlled)c.EventControls;
3475
3476 scriptedcontrols[sc.itemID] = sc;
3477 }
3478 }
3479 }
3480 }
3481 catch { }
3449 // Animations 3482 // Animations
3450 try 3483 try
3451 { 3484 {