diff options
author | Charles Krinke | 2008-03-01 00:59:23 +0000 |
---|---|---|
committer | Charles Krinke | 2008-03-01 00:59:23 +0000 |
commit | 56697133d406fd7dea90e0cf4088dac611df2e6a (patch) | |
tree | e66a865be85be41be78ea8cf3d64b6b775ca66e6 /OpenSim/Region/ScriptEngine/Common/ScriptEngineBase | |
parent | From: Mike Pitman <pitman@us.ibm.com> (diff) | |
download | opensim-SC_OLD-56697133d406fd7dea90e0cf4088dac611df2e6a.zip opensim-SC_OLD-56697133d406fd7dea90e0cf4088dac611df2e6a.tar.gz opensim-SC_OLD-56697133d406fd7dea90e0cf4088dac611df2e6a.tar.bz2 opensim-SC_OLD-56697133d406fd7dea90e0cf4088dac611df2e6a.tar.xz |
Thank you very much, Kinoc for:
* Impelements llInstantMessage
* Reimplements llOwnerSay as llInstantMessage(llGetOWner(),msg).
* Try's to better identify the "True Name" of objects in llDetectedName
by checking for avatar name, scene Object Part name and entity name.
* Uses similar logic in the llSensor and llSensorRepeat functions.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Common/ScriptEngineBase')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/SensorRepeat.cs | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/SensorRepeat.cs index edf3fde..bff85af 100644 --- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/SensorRepeat.cs +++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncCommandPlugins/SensorRepeat.cs | |||
@@ -236,7 +236,7 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase.AsyncCommandPlugin | |||
236 | 236 | ||
237 | // Right type too, what about the other params , key and name ? | 237 | // Right type too, what about the other params , key and name ? |
238 | bool keep = true; | 238 | bool keep = true; |
239 | if (ts.arc != Math.PI) | 239 | if (ts.arc < Math.PI) |
240 | { | 240 | { |
241 | // not omni-directional. Can you see it ? | 241 | // not omni-directional. Can you see it ? |
242 | // vec forward_dir = llRot2Fwd(llGetRot()) | 242 | // vec forward_dir = llRot2Fwd(llGetRot()) |
@@ -261,15 +261,40 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase.AsyncCommandPlugin | |||
261 | if (ang_obj > ts.arc) keep = false; | 261 | if (ang_obj > ts.arc) keep = false; |
262 | } | 262 | } |
263 | 263 | ||
264 | if (keep && (ts.name.Length > 0) && (ts.name != ent.Name)) | 264 | |
265 | if (keep && (ts.keyID != null) && (ts.keyID != LLUUID.Zero) && (ts.keyID != ent.UUID)) | ||
265 | { | 266 | { |
266 | keep = false; | 267 | keep = false; |
267 | } | 268 | } |
268 | 269 | ||
269 | if (keep && (ts.keyID != null) && (ts.keyID != LLUUID.Zero) && (ts.keyID != ent.UUID)) | 270 | if (keep&& (ts.name.Length > 0)) |
270 | { | 271 | { |
271 | keep = false; | 272 | string avatarname=null; |
273 | string objectname=null; | ||
274 | string entname =ent.Name; | ||
275 | |||
276 | // try avatar username surname | ||
277 | UserProfileData profile = m_CmdManager.m_ScriptEngine.World.CommsManager.UserService.GetUserProfile(ent.UUID); | ||
278 | if (profile != null) | ||
279 | { | ||
280 | avatarname = profile.username + " " + profile.surname; | ||
281 | } | ||
282 | // try an scene object | ||
283 | SceneObjectPart SOP = m_CmdManager.m_ScriptEngine.World.GetSceneObjectPart(ent.UUID); | ||
284 | if (SOP != null) | ||
285 | { | ||
286 | objectname = SOP.Name; | ||
287 | } | ||
288 | |||
289 | |||
290 | if ((ts.name != entname) && (ts.name != avatarname) && (ts.name != objectname)) | ||
291 | { | ||
292 | keep = false; | ||
293 | } | ||
294 | |||
295 | |||
272 | } | 296 | } |
297 | |||
273 | if (keep == true) SensedObjects.Add(ent.UUID); | 298 | if (keep == true) SensedObjects.Add(ent.UUID); |
274 | } | 299 | } |
275 | } | 300 | } |