aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorUbitUmarov2014-09-09 13:54:00 +0100
committerUbitUmarov2014-09-09 13:54:00 +0100
commit46abe0c86d97363378dc86305818b59c262c39e1 (patch)
treee85b4211f7fc1e39df2a83c24039680b19337feb /OpenSim/Region/ScriptEngine
parent only cancel attchment needed update type on sending sheduled updates. (diff)
parentAdd perms check (diff)
downloadopensim-SC_OLD-46abe0c86d97363378dc86305818b59c262c39e1.zip
opensim-SC_OLD-46abe0c86d97363378dc86305818b59c262c39e1.tar.gz
opensim-SC_OLD-46abe0c86d97363378dc86305818b59c262c39e1.tar.bz2
opensim-SC_OLD-46abe0c86d97363378dc86305818b59c262c39e1.tar.xz
Merge branch 'master' into ubitworkmaster
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs23
1 files changed, 19 insertions, 4 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 1fb4c1b..ef8f0ed 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -13508,7 +13508,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
13508 } 13508 }
13509 13509
13510 if (m_item.PermsGranter == UUID.Zero) 13510 if (m_item.PermsGranter == UUID.Zero)
13511 {
13512 llShout(ScriptBaseClass.DEBUG_CHANNEL, "No permission to override animations");
13511 return; 13513 return;
13514 }
13512 13515
13513 if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_OVERRIDE_ANIMATIONS) == 0) 13516 if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_OVERRIDE_ANIMATIONS) == 0)
13514 { 13517 {
@@ -13521,11 +13524,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
13521 if (presence == null) 13524 if (presence == null)
13522 return; 13525 return;
13523 13526
13524 UUID animID = ScriptUtils.GetAssetIdFromItemName(m_host, anim, (int)AssetType.Animation); 13527 UUID animID;
13525 if (animID == UUID.Zero) 13528 if (animState == anim)
13526 { 13529 {
13527 llShout(ScriptBaseClass.DEBUG_CHANNEL, "Animation not found"); 13530 animID = UUID.Zero;
13528 return; 13531 }
13532 else if (MovementAnimationsForLSL.ContainsKey(anim))
13533 {
13534 animID = DefaultAvatarAnimations.AnimsUUID[MovementAnimationsForLSL[anim]];
13535 }
13536 else
13537 {
13538 animID = ScriptUtils.GetAssetIdFromItemName(m_host, anim, (int)AssetType.Animation);
13539 if (animID == UUID.Zero)
13540 {
13541 llShout(ScriptBaseClass.DEBUG_CHANNEL, "Animation not found");
13542 return;
13543 }
13529 } 13544 }
13530 13545
13531 presence.SetAnimationOverride(state, animID); 13546 presence.SetAnimationOverride(state, animID);