diff options
author | UbitUmarov | 2014-09-09 13:54:00 +0100 |
---|---|---|
committer | UbitUmarov | 2014-09-09 13:54:00 +0100 |
commit | 46abe0c86d97363378dc86305818b59c262c39e1 (patch) | |
tree | e85b4211f7fc1e39df2a83c24039680b19337feb /OpenSim/Region/ScriptEngine | |
parent | only cancel attchment needed update type on sending sheduled updates. (diff) | |
parent | Add perms check (diff) | |
download | opensim-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.cs | 23 |
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); |