Quantcast
Download
(7 Kb)
Download
Updated: 06/01/21 05:31 PM
Pictures
File Info
Compatibility:
Blackwood (7.0.5)
Updated:06/01/21 05:31 PM
Created:03/28/15 10:06 AM
Monthly downloads:466
Total downloads:46,219
Favorites:118
MD5:
Categories:RolePlay, Character Advancement
Custom Idle Animation  Popular! (More than 5000 hits)
Version: 1.6.6
by: Xerrok [More]
With this addon you are able to replace the default idle animation with any ingame emotes.
You can use idle sets to totally customize your idle animation with all available emotes. Every emote can be given a minimum play time and a priority for more customization. Feel free to make idle sets for several "moods" of your characters.

The emotes will play almost immediately after your character's idle starts and the defined delay has passed. After that, the emotes will refresh everytime when the defined minimum time has passed. The same emote can be executed more than once, which can result in a longer time a certain emote is being played.

With the chat command /cia or Escape->Settings->Addons->Custom Idle Animations you will get into the settings.
If you hover with the cursor over the single settings, a tooltip will pop up with helpful informations.

You can assign keys to easily switch between the idle sets and a key to activate/deactivate the addon in the controls settings of ESO.


Known Bug:
  • When trying to sit on chairs, benches and such, the emotes will interupt it. Deactivate the addon with the assigned key, so the character will keep sitting.
  • Having any UI window active and the game not in focus, results in getting messages, that the action couldn't be executed.


Source on GitHub
1.6.5
- Updated to newest API version 100034

1.6.4
- Introduced a separate public method for deactivating the active idle set. This change will allow other addon authors to use the mentioned method. This change was requested by ShinyBones for his lovely addon LovelyEmotes. Make sure to have a look at this fantastic addon!

1.6.3
- Updated to newest API version 100032 and 100033

1.6.2
- Updated to newest API version 100031

1.6.1.2
- Fixed a bug where the delay couldn't be set, when there was only one IdleSet

1.6.1.1
- Fixed a bug where the SavedVariables of an older version wasn't migrated correctly

1.6.1
- After any action (running, crouching, fighting, etc.), a new emotes will be chosen
- Added a settable delay, which will be applied before playing the first emote after any action
- Every emote can now be played more than once
- Fixed a bug, where some settings wouldn't be saved

1.6
- Rewrote the addon from scratch

1.5.5
- Updated to newest API version 100029

1.5.4
- Fixed an error which occurred when CIA was disabled and no emotes were set

1.5.3
- Updated to newest API version 100027

1.5.2
- Updated to newest API version 100026

1.5.1
- Fixed a bug where the Custom Idle Animation overrode manual emtoes or interaction with world objects like chairs. Thanks "Holl Hears-In-Dusk" for the bug report.

1.5
- Increased emotes per set from 10 to 30
- The character shouldn't do his/her idle animations, when his/her weapons are drawn

1.4.4
- Updated to newest API version 100025

1.4.3
- Updated to newest API version 100023

1.4.2
- Updated to newest API version 100021

1.4.1
- Fixed the conditions for playing emotes (emotes were playing while digging a treasure chest)

1.4
- Updated to newest API version 100021
- Hopefully got rid of the error message in menus
- Increased idle delay maximum to 15000 ms
- Increased minimum emote time maximum to 30000 ms

1.3.8
- Updated to newest API version 100020

1.3.7
- Updated to newest API version 100019

1.3.6
- Updated to newest API version 100018

1.3.5
- Updated to newest API version 100017

1.3.4
- Updated to newest API version 100016

1.3.3
- Added some cases where no idles should be played

1.3.2
- Updated to newest API version 100014

1.3.1.1
- Hopefully fixed a bug where a "main:chunk" error occurs during start

1.3.1
- Embedded LibAddonMenu 2.0

1.3
- Added GUI settings
- Limited the count of emotes per set to 10
- Removed chat commands

1.2.2:
- Added function to list all emotes of the game

1.2.1:
- Updated to newest API version 100013

1.2:
- Added support for up to 10 individual idle sets
- Fixed the break of other looped emotes
- Fixed some minor bugs

1.1:
- Added support for multiple emotes as idle animation with weightings
- Added key binding for activating/deactivating the addon
- Modified parameter inputs
- Stealth won't be interupted now
- Fixed some minor bugs
Optional Files (0)


Archived Files (33)
File Name
Version
Size
Uploader
Date
1.6.5
7kB
Xerrok
03/20/21 08:53 PM
1.6.4
7kB
Xerrok
10/26/20 09:58 AM
1.6.3
7kB
Xerrok
09/05/20 04:10 AM
1.6.2
7kB
Xerrok
05/26/20 10:45 AM
1.6.1.2
7kB
Xerrok
03/29/20 06:40 AM
1.6.1.1
7kB
Xerrok
03/07/20 09:41 AM
1.6
7kB
Xerrok
02/28/20 02:13 PM
1.5.5
40kB
Xerrok
12/12/19 09:50 AM
1.5.4
39kB
Xerrok
06/05/19 11:24 AM
1.5.3
39kB
Xerrok
05/20/19 03:30 PM
1.5.2
39kB
Xerrok
02/25/19 01:24 PM
1.5.1
39kB
Xerrok
01/06/19 07:16 AM
1.5
39kB
Xerrok
12/26/18 06:47 AM
1.4.4
40kB
Xerrok
11/03/18 07:08 PM
1.4.3
40kB
Xerrok
05/22/18 09:06 AM
1.4.2
40kB
Xerrok
10/23/17 11:32 AM
1.4.1
40kB
Xerrok
09/28/17 08:33 AM
1.4
40kB
Xerrok
09/28/17 06:47 AM
1.3.8
41kB
Xerrok
08/25/17 03:58 AM
1.3.7
41kB
Xerrok
05/25/17 01:15 PM
1.3.6
41kB
Xerrok
02/06/17 04:38 PM
1.3.5
41kB
Xerrok
10/06/16 02:35 PM
1.3.4
41kB
Xerrok
08/04/16 01:37 PM
1.3.3
41kB
Xerrok
03/10/16 07:28 AM
1.3.2
41kB
Xerrok
03/07/16 12:36 PM
1.3.1.1
41kB
Xerrok
03/02/16 09:06 AM
1.3.1
41kB
Xerrok
02/29/16 09:42 AM
1.3
6kB
Xerrok
02/26/16 05:04 PM
1.2.2
5kB
Xerrok
02/25/16 07:21 PM
1.2.1
5kB
Xerrok
02/25/16 07:26 AM
1.2
5kB
Xerrok
09/15/15 09:26 AM
1.1
4kB
Xerrok
09/10/15 07:29 AM
1.0
2kB
Xerrok
03/28/15 12:51 PM


Post A Reply Comment Options
Unread 08/12/21, 01:35 AM  
Ligands

Forum posts: 0
File comments: 4
Uploads: 0
Re: Re: Fix for the delay bug

Originally Posted by Xerrok
Thank you very much for your detailed explanation of the problem in your previous post and the fix in this post. I will look into the problem and your solution as soon as I can spare some time.
Hey, thank you for making & sharing the addon! And for not getting mad at me for publicly bootlegging your source code, haha. It's absolutely not the most polished solution, infinite loops of any kind rarely are- but I figured re-checking the idle status once a second wouldn't be the worst performance hit in the world...

It was just bugging me (far more than it should've), to the point where I figured "hey I can code and Lua's simple enough to read, I could at least try to look into this..."
Report comment to moderator  
Reply With Quote
Unread 07/25/21, 09:03 PM  
Xerrok
 
Xerrok's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5
File comments: 36
Uploads: 1
Thumbs up Re: Fix for the delay bug

Originally Posted by Ligands
I've made a fix for the bug that causes custom idle animations to often play immediately after taking a step!
(As mentioned in my previous comment, this basically just makes it so the global 'Delay' timer actually resets itself if you stop idling.)

Edit IdleSet.lua, replace line 77 with this:
Lua Code:
  1. EVENT_MANAGER:RegisterForUpdate("IdleSetCheckIdleDelay", 1000, function() self:CheckIdleDelay(self.delay) end)

And then copy+paste this block of code into line 67:
Lua Code:
  1. function IdleSet:CheckIdleDelay(remainingDelay)
  2.     EVENT_MANAGER:UnregisterForUpdate("IdleSetCheckIdleDelay")
  3.     if (IsBusy()) then
  4.         EVENT_MANAGER:RegisterForUpdate("IdleSetCheckIdleDelay", 1000, function() self:CheckIdleDelay(self.delay) end)
  5.         return
  6.     end
  7.     if(remainingDelay > 0) then
  8.         EVENT_MANAGER:RegisterForUpdate("IdleSetCheckIdleDelay", 1000, function() self:CheckIdleDelay(remainingDelay - 1) end)
  9.     else
  10.         self:SetActiveIdle(true)
  11.     end
  12. end

(Disclaimer: I've only tested it enough to see that it works- there's still technically a small chance this won't detect that you stopped idling, since it only checks once every second to see if you're busy. There's naturally always a chance of introducing other unforseen bugs when changing someone else's code, so please don't ask Xerrok for help if you've applied this fix and something stops working)
Thank you very much for your detailed explanation of the problem in your previous post and the fix in this post. I will look into the problem and your solution as soon as I can spare some time.
Report comment to moderator  
Reply With Quote
Unread 07/15/21, 09:43 PM  
Ligands

Forum posts: 0
File comments: 4
Uploads: 0
Fix for the delay bug

I've made a fix for the bug that causes custom idle animations to often play immediately after taking a step!
(As mentioned in my previous comment, this basically just makes it so the global 'Delay' timer actually resets itself if you stop idling.)

Edit IdleSet.lua, replace line 77 with this:
Lua Code:
  1. EVENT_MANAGER:RegisterForUpdate("IdleSetCheckIdleDelay", 1000, function() self:CheckIdleDelay(self.delay) end)

And then copy+paste this block of code into line 67:
Lua Code:
  1. function IdleSet:CheckIdleDelay(remainingDelay)
  2.     EVENT_MANAGER:UnregisterForUpdate("IdleSetCheckIdleDelay")
  3.     if (IsBusy()) then
  4.         EVENT_MANAGER:RegisterForUpdate("IdleSetCheckIdleDelay", 1000, function() self:CheckIdleDelay(self.delay) end)
  5.         return
  6.     end
  7.     if(remainingDelay > 0) then
  8.         EVENT_MANAGER:RegisterForUpdate("IdleSetCheckIdleDelay", 1000, function() self:CheckIdleDelay(remainingDelay - 1) end)
  9.     else
  10.         self:SetActiveIdle(true)
  11.     end
  12. end

(Disclaimer: I've only tested it enough to see that it works- there's still technically a small chance this won't detect that you stopped idling, since it only checks once every second to see if you're busy. There's naturally always a chance of introducing other unforseen bugs when changing someone else's code, so please don't ask Xerrok for help if you've applied this fix and something stops working)
Last edited by Ligands : 07/15/21 at 10:01 PM.
Report comment to moderator  
Reply With Quote
Unread 07/15/21, 08:03 PM  
Ligands

Forum posts: 0
File comments: 4
Uploads: 0
Explanation of why the delay doesn't work like expected

Originally Posted by Xerrok
There is no option for a delay between emotes. Please see my answer to Katnipthief above, for how the 'Minimum Time' setting works. What you're asking for is the 'Delay' setting on top of the emotes list. In seconds, you can define a delay which should pass, before an emote is being played after you stopped moving or took an action.
The delay definitely doesn't work like you'd expect it to though; even though my Delay is set to 30, the animation often plays immediately after walking, closing a crafting table, etc. I've looked into it, the problem is with the way the addon schedules the delayed idle animation- it's not checking whether the player is actually idling during the defined 'delay' time.


For example, in IdleSet.lua if you want to follow along:
  • My 'Delay' is set to '30', which schedules the 'IdleSet:SetActiveIdle' function to run in 30*1000 milliseconds (line 77)
  • When 30 seconds elapses, the function is recursively called but with the 'ignoreDelay' flag set to true (the inline function at the end of line 77);
    • If the player is busy at that moment only, the function is recursively scheduled in 500ms, with the same flag, until they are not busy (line 72)
    • Once the player is not busy, the idle animation attempts to play (line 83)
Please do correct me if I'm wrong, but as far as I can tell there's nothing actually telling the addon to reset the idle timer when the player starts moving or taking any action. Which is why the custom idle animations often just end up playing immediately after you take a step or close a crafting station, because the scheduled event just happened to elapse recently.

There's surely a smarter solution, but a fix would be to add an intermediary recursive function to handle the delay- checking every 1000ms whether the player is busy, resetting its own delay parameter to the 'full' configured one if so, or recursively calling itself & decrementing the recursive parameter by 1000 if not, until the delay has fully elapsed.
Last edited by Ligands : 07/15/21 at 09:05 PM.
Report comment to moderator  
Reply With Quote
Unread 05/19/21, 05:31 PM  
Xerrok
 
Xerrok's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5
File comments: 36
Uploads: 1
Re: Crown store emotes

Originally Posted by FromTheWoods
Hey so can you use this addon with emotes you get from the crowncrates?
Hi there, yes you can use emotes from crown crates with this addon. If you just got it, make sure to reload the UI or restart the game first, so the addon recognizes the new ones and add them to the list.

Originally Posted by ViraDoll
Is it possible to add memento execution into the idle animations? I'd love to randomly execute the psijic scrying memento.

Thanks for the lovely addon
This would be indeed a neat feature and you're not the first one asking me this, but I need some time to implement that. It's on my bucketlist tho

Originally Posted by Katnipthief
No matter what i try, it seems this addon ignores the timer variables, and does the emotes whenever it wants, even back to back. When I have it set to 600 seconds even. Is that miliseconds? idk. its a cool idea, but the timer settings doesnt seem to work right.

Also, it doesn't recognize when I'm in any screens like bank or inventory. I see the message up top saying I cant use an emote right now.
The 'Minimum Time' field on each emote is the minimum time in seconds this specific emote should be played. It will belooped through this whole time. After the time is passed, the addon will randomly play another emote you've added to your idle set, this could be even the same one. I just tested it again and it works as intended.
If you're not sure what setting does what, hover over it and there will be a tooltip with a description.

That the game is showing messages saying that emotes can't be used right now in UI windows is a known bug, because the last time I checked, there is no way to check that through the API.

PS. Please don't steal my catnip

Originally Posted by ViraDoll
I have this issue, as well. I also don't want a delay *between* emotes. I just want a delay after I stop moving. Like, after I stop moving, it waits 60 seconds before starting the emote animations.
There is no option for a delay between emotes. Please see my answer to Katnipthief above, for how the 'Minimum Time' setting works. What you're asking for is the 'Delay' setting on top of the emotes list. In seconds, you can define a delay which should pass, before an emote is being played after you stopped moving or took an action.
Report comment to moderator  
Reply With Quote
Unread 05/05/21, 12:29 PM  
ViraDoll

Forum posts: 0
File comments: 3
Uploads: 0
Originally Posted by Katnipthief
No matter what i try, it seems this addon ignores the timer variables, and does the emotes whenever it wants, even back to back. When I have it set to 600 seconds even. Is that miliseconds? idk. its a cool idea, but the timer settings doesnt seem to work right.

Also, it doesn't recognize when I'm in any screens like bank or inventory. I see the message up top saying I cant use an emote right now.
I have this issue, as well. I also don't want a delay *between* emotes. I just want a delay after I stop moving. Like, after I stop moving, it waits 60 seconds before starting the emote animations.
Report comment to moderator  
Reply With Quote
Unread 05/02/21, 07:13 AM  
Katnipthief

Forum posts: 0
File comments: 20
Uploads: 0
No matter what i try, it seems this addon ignores the timer variables, and does the emotes whenever it wants, even back to back. When I have it set to 600 seconds even. Is that miliseconds? idk. its a cool idea, but the timer settings doesnt seem to work right.

Also, it doesn't recognize when I'm in any screens like bank or inventory. I see the message up top saying I cant use an emote right now.
Last edited by Katnipthief : 05/02/21 at 07:14 AM.
Report comment to moderator  
Reply With Quote
Unread 04/24/21, 11:43 PM  
ViraDoll

Forum posts: 0
File comments: 3
Uploads: 0
Question mementos

Is it possible to add memento execution into the idle animations? I'd love to randomly execute the psijic scrying memento.

Thanks for the lovely addon
Report comment to moderator  
Reply With Quote
Unread 04/01/21, 01:51 PM  
FromTheWoods

Forum posts: 0
File comments: 2
Uploads: 0
Crown store emotes

Hey so can you use this addon with emotes you get from the crowncrates?
Report comment to moderator  
Reply With Quote
Unread 03/20/21, 08:45 PM  
Xerrok
 
Xerrok's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5
File comments: 36
Uploads: 1
Originally Posted by Penrutet
Ever since the latest update I can no longer choose emotes from "Lovely Emote"'s radial wheel without them being interrupted by custom idle animations. Anyone else experience this?
I saw, that the creator of the Lovely Emotes addon fixed this.

Originally Posted by shortfatsteve
Just gathered all the Psijic Glowglobe elements and got the /glowglobe emote, but now I can't find it in any of the categories. Did I miss it (which has been known to happen) or is it missing from the list?
Thanks for answering Sunegami's question. I don't have the Psijic Glowglobe unlocked, so I can't really test that. But usually after acquiring new emotes, you unfortunately have to reload the UI or simply restart ESO for it to show up in the list of emotes. I think it should be under the Entertainment category, but I'm really not sure, sorry.
Report comment to moderator  
Reply With Quote
Unread 12/20/20, 01:49 PM  
shortfatsteve

Forum posts: 0
File comments: 5
Uploads: 0
Just gathered all the Psijic Glowglobe elements and got the /glowglobe emote, but now I can't find it in any of the categories. Did I miss it (which has been known to happen) or is it missing from the list?
Report comment to moderator  
Reply With Quote
Unread 12/20/20, 01:46 PM  
shortfatsteve

Forum posts: 0
File comments: 5
Uploads: 0
Originally Posted by Sunegami
Is there a way to set a delay start timer of some kind? I really like the idles, but I don't want them to play immediately after I stop moving.
At the top, right under Active Idle Set, there's a Delay slider.
Report comment to moderator  
Reply With Quote
Unread 12/10/20, 05:00 PM  
Sunegami

Forum posts: 0
File comments: 7
Uploads: 0
Is there a way to set a delay start timer of some kind? I really like the idles, but I don't want them to play immediately after I stop moving.
Last edited by Sunegami : 12/11/20 at 12:32 PM.
Report comment to moderator  
Reply With Quote
Unread 09/26/20, 03:12 PM  
Penrutet

Forum posts: 0
File comments: 6
Uploads: 0
Ever since the latest update I can no longer choose emotes from "Lovely Emote"'s radial wheel without them being interrupted by custom idle animations. Anyone else experience this?
Report comment to moderator  
Reply With Quote
Unread 09/06/20, 04:23 AM  
Illutian

Forum posts: 0
File comments: 41
Uploads: 0
Originally Posted by Xulionter
For anyone getting this error message:

Code:
user:/AddOns/CustomIdleAnimation/CustomIdleAnimation.lua:9: function expected instead of nil
stack traceback:
user:/AddOns/CustomIdleAnimation/CustomIdleAnimation.lua:9: in function '(main chunk)'
What fixed it for me is installing both LibAddonMenu-2.0 AND LibStub separately.

LibStub was removed from LibAddonMenu but Custom Idle Animation seems to still be calling for it.
Also have load out of date.

Seems Zenny just loves to uncheck that every majro patch. :|
Last edited by Illutian : 09/06/20 at 04:26 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: