From d6c9ddfdeebf8c18daacb421ab59a2bcd6481ab2 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 11 Dec 2018 18:23:26 +0000 Subject: cleanup last patch --- .../Shared/Api/Implementation/OSSL_Api.cs | 41 ++++++++++++---------- .../ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs | 2 +- .../ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | 6 ++-- 3 files changed, 28 insertions(+), 21 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 7c43b6a..3c824eb 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -3164,33 +3164,38 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api module.Say(npcId, World, message, channel); } } - - public void osNpcSayTo(LSL_Key npc, string target, int channel, string msg) + + public void osNpcSayTo(LSL_Key npc, LSL_Key target, int channel, string msg) { CheckThreatLevel(ThreatLevel.High, "osNpcSayTo"); INPCModule module = World.RequestModuleInterface(); - if (module != null) - { - UUID npcId = new UUID(npc.m_string); + if (module == null) + return; + + UUID npcId; + if (!UUID.TryParse(npc.m_string, out npcId)) + return; - if (!module.CheckPermissions(npcId, m_host.OwnerID)) - return; - - ScenePresence NPCpresence = World.GetScenePresence(npcId); - if (NPCpresence == null || NPCpresence.IsDeleted) - return; - - Vector3 npcPOS = NPCpresence.AbsolutePosition; - string npcNAME = NPCpresence.Name; UUID TargetID; - UUID.TryParse(target, out TargetID); - - IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface(); + if (!UUID.TryParse(target.m_string, out TargetID)) + return; + + if (!module.CheckPermissions(npcId, m_host.OwnerID)) + return; + + ScenePresence NPCpresence = World.GetScenePresence(npcId); + if (NPCpresence == null || NPCpresence.IsDeleted || !NPCpresence.IsNPC) + return; + + Vector3 npcPOS = NPCpresence.AbsolutePosition; + string npcNAME = NPCpresence.Name; + + IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface(); if (wComm != null) wComm.DeliverMessageTo(TargetID, channel, npcPOS, npcNAME, npcId, msg); - } } + public void osNpcShout(LSL_Key npc, int channel, string message) { CheckThreatLevel(ThreatLevel.High, "osNpcShout"); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index 2f800bc..12e8103 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs @@ -358,7 +358,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces void osNpcSetProfileImage(LSL_Key npc, string image); void osNpcSay(key npc, string message); void osNpcSay(key npc, int channel, string message); - void osNpcSayTo(LSL_Key npc, string target, int channel, string msg); + void osNpcSayTo(LSL_Key npc, LSL_Key target, int channel, string msg); void osNpcShout(key npc, int channel, string message); void osNpcSit(key npc, key target, int options); void osNpcStand(LSL_Key npc); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index ba899b0..94df1ea 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -682,10 +682,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase { m_OSSL_Functions.osNpcSay(npc, channel, message); } - public void osNpcSayTo(LSL_Key npc, string target, int channel, string msg) + + public void osNpcSayTo(LSL_Key npc, LSL_Key target, int channel, string msg) { m_OSSL_Functions.osNpcSayTo(npc, target, channel, msg); - } + } + public void osNpcShout(key npc, int channel, string message) { m_OSSL_Functions.osNpcShout(npc, channel, message); -- cgit v1.1