aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs41
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs3
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs16
3 files changed, 59 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index fe94b79..890115d 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -2531,6 +2531,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2531 2531
2532 public void osNpcSay(LSL_Key npc, string message) 2532 public void osNpcSay(LSL_Key npc, string message)
2533 { 2533 {
2534 osNpcSay(npc, 0, message);
2535 }
2536
2537 public void osNpcSay(LSL_Key npc, int channel, string message)
2538 {
2534 CheckThreatLevel(ThreatLevel.High, "osNpcSay"); 2539 CheckThreatLevel(ThreatLevel.High, "osNpcSay");
2535 m_host.AddScriptLPS(1); 2540 m_host.AddScriptLPS(1);
2536 2541
@@ -2542,7 +2547,24 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2542 if (!module.CheckPermissions(npcId, m_host.OwnerID)) 2547 if (!module.CheckPermissions(npcId, m_host.OwnerID))
2543 return; 2548 return;
2544 2549
2545 module.Say(npcId, World, message); 2550 module.Say(npcId, World, message, channel);
2551 }
2552 }
2553
2554 public void osNpcShout(LSL_Key npc, int channel, string message)
2555 {
2556 CheckThreatLevel(ThreatLevel.High, "osNpcShout");
2557 m_host.AddScriptLPS(1);
2558
2559 INPCModule module = World.RequestModuleInterface<INPCModule>();
2560 if (module != null)
2561 {
2562 UUID npcId = new UUID(npc.m_string);
2563
2564 if (!module.CheckPermissions(npcId, m_host.OwnerID))
2565 return;
2566
2567 module.Shout(npcId, World, message, channel);
2546 } 2568 }
2547 } 2569 }
2548 2570
@@ -2627,6 +2649,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2627 } 2649 }
2628 } 2650 }
2629 2651
2652 public void osNpcWhisper(LSL_Key npc, int channel, string message)
2653 {
2654 CheckThreatLevel(ThreatLevel.High, "osNpcWhisper");
2655 m_host.AddScriptLPS(1);
2656
2657 INPCModule module = World.RequestModuleInterface<INPCModule>();
2658 if (module != null)
2659 {
2660 UUID npcId = new UUID(npc.m_string);
2661
2662 if (!module.CheckPermissions(npcId, m_host.OwnerID))
2663 return;
2664
2665 module.Whisper(npcId, World, message, channel);
2666 }
2667 }
2668
2630 /// <summary> 2669 /// <summary>
2631 /// Save the current appearance of the script owner permanently to the named notecard. 2670 /// Save the current appearance of the script owner permanently to the named notecard.
2632 /// </summary> 2671 /// </summary>
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
index 545bbee..2d3e8e8 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
@@ -203,11 +203,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
203 void osNpcSetRot(LSL_Key npc, rotation rot); 203 void osNpcSetRot(LSL_Key npc, rotation rot);
204 void osNpcStopMoveToTarget(LSL_Key npc); 204 void osNpcStopMoveToTarget(LSL_Key npc);
205 void osNpcSay(key npc, string message); 205 void osNpcSay(key npc, string message);
206 void osNpcSay(key npc, int channel, string message);
207 void osNpcShout(key npc, int channel, string message);
206 void osNpcSit(key npc, key target, int options); 208 void osNpcSit(key npc, key target, int options);
207 void osNpcStand(LSL_Key npc); 209 void osNpcStand(LSL_Key npc);
208 void osNpcRemove(key npc); 210 void osNpcRemove(key npc);
209 void osNpcPlayAnimation(LSL_Key npc, string animation); 211 void osNpcPlayAnimation(LSL_Key npc, string animation);
210 void osNpcStopAnimation(LSL_Key npc, string animation); 212 void osNpcStopAnimation(LSL_Key npc, string animation);
213 void osNpcWhisper(key npc, int channel, string message);
211 214
212 LSL_Key osOwnerSaveAppearance(string notecard); 215 LSL_Key osOwnerSaveAppearance(string notecard);
213 LSL_Key osAgentSaveAppearance(key agentId, string notecard); 216 LSL_Key osAgentSaveAppearance(key agentId, string notecard);
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
index b94b9bf..e836959 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
@@ -569,6 +569,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
569 m_OSSL_Functions.osNpcSay(npc, message); 569 m_OSSL_Functions.osNpcSay(npc, message);
570 } 570 }
571 571
572 public void osNpcSay(key npc, int channel, string message)
573 {
574 m_OSSL_Functions.osNpcSay(npc, channel, message);
575 }
576
577
578 public void osNpcShout(key npc, int channel, string message)
579 {
580 m_OSSL_Functions.osNpcShout(npc, channel, message);
581 }
582
572 public void osNpcSit(LSL_Key npc, LSL_Key target, int options) 583 public void osNpcSit(LSL_Key npc, LSL_Key target, int options)
573 { 584 {
574 m_OSSL_Functions.osNpcSit(npc, target, options); 585 m_OSSL_Functions.osNpcSit(npc, target, options);
@@ -594,6 +605,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
594 m_OSSL_Functions.osNpcStopAnimation(npc, animation); 605 m_OSSL_Functions.osNpcStopAnimation(npc, animation);
595 } 606 }
596 607
608 public void osNpcWhisper(key npc, int channel, string message)
609 {
610 m_OSSL_Functions.osNpcWhisper(npc, channel, message);
611 }
612
597 public LSL_Key osOwnerSaveAppearance(string notecard) 613 public LSL_Key osOwnerSaveAppearance(string notecard)
598 { 614 {
599 return m_OSSL_Functions.osOwnerSaveAppearance(notecard); 615 return m_OSSL_Functions.osOwnerSaveAppearance(notecard);