diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
3 files changed, 25 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 19f2d09..b101cf9 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -2999,6 +2999,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2999 | } | 2999 | } |
3000 | } | 3000 | } |
3001 | 3001 | ||
3002 | public void osNpcSetProfileAbout(LSL_Key npc, string about) | ||
3003 | { | ||
3004 | CheckThreatLevel(ThreatLevel.High, "osNpcCreate"); | ||
3005 | m_host.AddScriptLPS(1); | ||
3006 | |||
3007 | INPCModule module = World.RequestModuleInterface<INPCModule>(); | ||
3008 | if (module != null) | ||
3009 | { | ||
3010 | UUID npcId = new UUID(npc.m_string); | ||
3011 | |||
3012 | if (!module.CheckPermissions(npcId, m_host.OwnerID)) | ||
3013 | return; | ||
3014 | |||
3015 | ScenePresence sp = World.GetScenePresence(npcId); | ||
3016 | if (sp != null) | ||
3017 | ((INPC)(sp.ControllingClient)).profileAbout = about; | ||
3018 | } | ||
3019 | } | ||
3020 | |||
3002 | public void osNpcSay(LSL_Key npc, string message) | 3021 | public void osNpcSay(LSL_Key npc, string message) |
3003 | { | 3022 | { |
3004 | osNpcSay(npc, 0, message); | 3023 | osNpcSay(npc, 0, message); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index 5ce859e..87b0967 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs | |||
@@ -343,6 +343,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
343 | rotation osNpcGetRot(key npc); | 343 | rotation osNpcGetRot(key npc); |
344 | void osNpcSetRot(LSL_Key npc, rotation rot); | 344 | void osNpcSetRot(LSL_Key npc, rotation rot); |
345 | void osNpcStopMoveToTarget(LSL_Key npc); | 345 | void osNpcStopMoveToTarget(LSL_Key npc); |
346 | void osNpcSetProfileAbout(LSL_Key npc, string about); | ||
346 | void osNpcSay(key npc, string message); | 347 | void osNpcSay(key npc, string message); |
347 | void osNpcSay(key npc, int channel, string message); | 348 | void osNpcSay(key npc, int channel, string message); |
348 | void osNpcShout(key npc, int channel, string message); | 349 | void osNpcShout(key npc, int channel, string message); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index c5cb88e..5bc998e 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | |||
@@ -637,6 +637,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
637 | m_OSSL_Functions.osNpcStopMoveToTarget(npc); | 637 | m_OSSL_Functions.osNpcStopMoveToTarget(npc); |
638 | } | 638 | } |
639 | 639 | ||
640 | public void osNpcSetProfileAbout(LSL_Key npc, string about) | ||
641 | { | ||
642 | m_OSSL_Functions.osNpcSetProfileAbout(npc, about); | ||
643 | } | ||
644 | |||
640 | public void osNpcSay(key npc, string message) | 645 | public void osNpcSay(key npc, string message) |
641 | { | 646 | { |
642 | m_OSSL_Functions.osNpcSay(npc, message); | 647 | m_OSSL_Functions.osNpcSay(npc, message); |