diff options
author | Mnikolenko Productengine <mnikolenko@productengine.com> | 2024-08-30 14:48:36 +0300 |
---|---|---|
committer | Mnikolenko Productengine <mnikolenko@productengine.com> | 2024-08-30 14:48:36 +0300 |
commit | 4312a2b7703f6ba35a1cdcd1edc48dddfe084270 (patch) | |
tree | 8ed6d43d2c79e57edef5e1b92f19ca310eef2089 /indra/newview/scripts/lua/test_animation.lua | |
parent | 6e47dc1af90c242c792c90e93d013355c9a43b97 (diff) |
Add throttle for playing an animation; add demo script
Diffstat (limited to 'indra/newview/scripts/lua/test_animation.lua')
-rw-r--r-- | indra/newview/scripts/lua/test_animation.lua | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/indra/newview/scripts/lua/test_animation.lua b/indra/newview/scripts/lua/test_animation.lua new file mode 100644 index 0000000000..c16fef4918 --- /dev/null +++ b/indra/newview/scripts/lua/test_animation.lua @@ -0,0 +1,28 @@ +LLInventory = require 'LLInventory' +LLAgent = require 'LLAgent' + +-- Get 'Animations' folder id (you can see all folder types via LLInventory.getFolderTypeNames()) +animations_id = LLInventory.getBasicFolderID('animatn') +-- Get animations from the 'Animation' folder (you can see all folder types via LLInventory.getAssetTypeNames()) +anims = LLInventory.collectDescendentsIf{folder_id=animations_id, type="animatn"}.items + +local anim_ids = {} +for key in pairs(anims) do + table.insert(anim_ids, key) +end + +-- Start playing a random animation +math.randomseed(os.time()) +local random_id = anim_ids[math.random(#anim_ids)] +local anim_info = LLAgent.getAnimationInfo(random_id) + +print("Starting animation locally: " .. anims[random_id].name) +print("Loop: " .. anim_info.is_loop .. " Joints: " .. anim_info.num_joints .. " Duration " .. tonumber(string.format("%.2f", anim_info.duration))) +LLAgent.playAnimation{item_id=random_id} + +-- Stop animation after 3 sec if it's looped or longer than 3 sec +if anim_info.is_loop == 1 or anim_info.duration > 3 then + LL.sleep(3) + print("Stop animation.") + LLAgent.stopAnimation(random_id) +end |