Download
(8 Kb)
Download
Updated: 06/18/23 07:19 PM
Pictures
File Info
Compatibility:
Necrom (9.0.0)
Updated:06/18/23 07:19 PM
Created:07/04/21 10:09 PM
Monthly downloads:81
Total downloads:4,527
Favorites:11
MD5:
Categories:Utility Mods, Game Controller
IsJusta Disable Actions While Moving
Version: 2.1.1
by: IsJustaGhost [More]
Requires LibAddonMenu-2.0
Requires LibInteractionHook

Works in Gamepad Mode and Keyboard/Mouse Mode

This is mostly made for Gamepad mode but, can be used for Keyboard/mouse too.

Are you tired of trying to jump and your companion gets in the way?
Or tired of not being able to keep up with your group while mounted because, you try to jump over a river but stop to harvest a Torchbug?

This addon lets you disable specific interactions while moving and, during the cooldown set in the settings for the specific action.
Have you stolen the item behind that quest giver too many times when you have just ran up to talk to them?
How about setting "Steal" to 10 seconds. After stoping, you have 10 seconds to click around to interact with that quest giver without the risk of being attacked for stealing.
Need a moment to interact with world objects without talking to your companion?
You can set the cooldown just high enough to give you a little time.

All cooldowns can be set from 0.1 to 10 seconds in 0.1 seconds increments.

The options are:
  1. disable for companion.
  2. disable for "Other" selectable actions:
    • Search
    • Talk
    • Mine
    • Collect
    • Disarm
    • Use
    • Read
    • Take
    • Unlock
    • Open
    • Examine
    • Fish
    • Steal
    • Hide
    • Excavate
Selected actions are disabled for a set cooldown after the character has stopped moving.
The cooldowns are set by sliders for each selectable action.
Cooldowns are active only for the time set for the currently targeted action. (if the target action changes to another selected action, the cooldown does to. But, does not reset.)
Can be any combinations of selectable actions.

Optional Features:
  • Turn the reticle red while delay is active for current target.
  • Disable selected actions while in a dungeon or trial.
  • Disable selected actions while in a PVP zone.
  • Disable selected actions while crouching.
  • Hide interactions on cooldown.


May add other actions to disable, upon requests.
- - - 2.1.1
○ fixed error "IsJustaDIWM.lua:151: function expected instead of nil"
○ fixed the lib name in the addon description on esoui
○ fixed some translations with google
○ add optional feature to hide interaction

- - - 2.1
○ Updated for updated LibInteractionHook

- - - 2
○ now uses LibInteractionHook to disable actions

- - - 1.5
○ fixed options error on adjusting "Other interactions"
○ the setting, optional subcategory, state now reflects "Other interactions" state

- - - 1.4.2
○ compatibility update.
removed requirement for the experimental library

- - - 1.4.1
○ compatibility update.

- - - 1.4
○ updated for API 101034.
○ implemented support for LibHaF
○ fixed OnLoaded

- - - 1.3
○ updated options to only show 1 decimal for the sliders. (1.1,3.9) instead of the default long numbers.

- - - 1.2.3
○ commented out "show name and version" on load
○ updated api version

- - - 1.2.2
○ added option to set delay for companion

- - - 1.2.1
○ api update

- - - 1.2
○ added optional features

- - - 1.1.2
○ fixed error cause by moving sv version out of default and not removing the comma

- - - 1.1.1
○ fixed error

- - - 1.1
○ fixed delay. delay is now constant while character is moving, not just active if character was moving while looking at an action.
○ added individual sliders to set the delay for "Other" actions.
○ reticle turns red while delay is active for current target.

- - - 1.0.5
○ fixed saving issue

- - - 1.04
○ fixed on oversight

- - - 1.0.3
○ attempt to fix some language issues
○ dynamically generate companion names from collection list

- - - 1.0.2
○ fixed not saving settings

- - - 1.0.1
○ added translations for actions and names
○ fixed check that returns a selected action as disabled
Optional Files (0)


Archived Files (21)
File Name
Version
Size
Uploader
Date
2.1
7kB
IsJustaGhost
06/18/23 12:58 AM
2
12kB
IsJustaGhost
06/05/23 12:17 PM
1.4.2
10kB
IsJustaGhost
03/17/22 06:50 PM
1.4.1
16kB
IsJustaGhost
03/17/22 05:45 AM
1.4
15kB
IsJustaGhost
03/16/22 10:48 PM
1.3
9kB
IsJustaGhost
01/26/22 02:18 AM
1.2.3
9kB
IsJustaGhost
12/08/21 03:39 PM
1.2.3
4kB
IsJustaGhost
12/08/21 03:28 PM
1.2.2
9kB
IsJustaGhost
10/01/21 06:21 PM
1.2.1
9kB
IsJustaGhost
08/25/21 12:46 PM
1.2
9kB
IsJustaGhost
07/10/21 11:54 PM
1.1.2
8kB
IsJustaGhost
07/10/21 05:03 PM
1.1.2
8kB
IsJustaGhost
07/10/21 05:02 PM
1.1.1
8kB
IsJustaGhost
07/10/21 03:50 PM
1.1
8kB
IsJustaGhost
07/10/21 03:29 PM
1.0.5
8kB
IsJustaGhost
07/05/21 08:14 PM
1.0.3
8kB
IsJustaGhost
07/05/21 08:00 PM
1.0.2
8kB
IsJustaGhost
07/05/21 02:35 PM
1.0.1
8kB
IsJustaGhost
07/05/21 02:25 PM
1.0.1
8kB
IsJustaGhost
07/05/21 02:21 PM
1
4kB
IsJustaGhost
07/04/21 10:09 PM


Post A Reply Comment Options
Unread 07/05/21, 02:02 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4964
File comments: 6032
Uploads: 78
Thanks for the addon.
A hint: You should not only use ZO_CreateStringId to create the string Ids for your translations, but also use SafeAddVersion to add the version e.g. 1 forr the en strings.
If other language files are added later just use SafeAddString(id, text version 1 or higher) to "override" them. Using ZO_CreateStringId there AGAIN is the wrong way to do it as the ID was already created and just needs the same or a new higher version.


e.g. within en.lua
Lua Code:
  1. local enStrings = {
  2.   myStringId = "Text",
  3. }
  4. for stringId, stringValue in pairs(enStrings) do
  5.     local stringIdWithPrefix = "MYADDONNAME_" .. stringId
  6.     ZO_CreateStringId(stringIdWithPrefix, stringValue)
  7.     SafeAddVersion(stringIdWithPrefix, 1)
  8. end

Within e.g. de.lua
Lua Code:
  1. local deStrings = {
  2.   myStringId = "Text in German",
  3. }
  4. for stringId, stringValue in pairs(deStrings) do
  5.     local stringIdWithPrefix = "MYADDONNAME_" .. stringId
  6.     SafeAddString(_G[stringIdWithPrefix], 2) --use the same version as in the primary lang file (in your case 1) or increase it
  7. end

Btw: You should move the table
Lua Code:
  1. local gameCameraActions = {
  2.     ["Search"]      = 1,
  3.     ["Talk"]        = 2,
  4.     ["Mine"]        = 3,
  5.     ["Collect"]     = 3,
  6.     ["Disarm"]      = 4,
  7.     ["Use"]         = 5,
  8.     ["Read"]        = 6,
  9.     ["Take"]        = 7,
  10.     ["Unlock"]      = 13,
  11.     ["Open"]        = 15,
  12.     ["Examine"]     = 16,
  13.     ["Fish"]        = 19,
  14.     ["Steal"]       = 20,
  15.     ["Hide"]        = 24,
  16.     ["Excavate"]    = 27,
  17. }
to the tarnslations so one would be able to provide the DE Strings as well. Currently your addon is hiding the interaction text, but it is NOT blocking the interaction if one is not using the en client Maybe add this to the description

You are able to change the client language to find out the texts used:
Code:
/script SetCVar("language.2", "de")
"de" can also be "fr", "en", "ru", "jp" (only with the special JP client!).
All other languages are custom languages.
Last edited by Baertram : 07/05/21 at 02:12 AM.
Report comment to moderator  
Reply With Quote
Unread 07/05/21, 09:28 AM  
IsJustaGhost
AddOn Author - Click to view AddOns

Forum posts: 38
File comments: 278
Uploads: 23
Originally Posted by Baertram
Thanks for the addon.
A hint: You should not only use ZO_CreateStringId to create the string Ids for your translations, but also
...
You are able to change the client language to find out the texts used:
Code:
/script SetCVar("language.2", "de")
"de" can also be "fr", "en", "ru", "jp" (only with the special JP client!).
All other languages are custom languages.
Thank you for the advice. Changes have been made, subject to test and upload.
Report comment to moderator  
Reply With Quote
Unread 07/05/21, 04:19 PM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4964
File comments: 6032
Uploads: 78
IMPORTANT
Make sure your txt file ALWAYS loads the en.lua as fallback once!
Else it does not work properly!
You have changed the way the stringIds are created to ONLY once within the en.lua file! So how should they get created within the de or fr.lua now? The de and fr and other languages are not created properly atm and missing. You do not seem to understand the way it is working

Code:
i18n\en.lua
i18n\$(language).lua
Always load 1 file as a default and in there use ZO_CreateStringId.
In all other loaded via $(language).lua just add those translations which were not loaded dynamically already within the en.lua.
if you can use GetString constants: USE THEM but only within the en.lua as they will have the correct language content there already.
No need to re-translate them: See below...


1)
The names for the companions are stored by the server as well, no need to re-translate them within your table IJA_DAWM_COMPANION_NAMES.
Just store them once in your en.lua file and do not overwrit them, except for non-supported vanilla languages.

You can get them via the collectible ids of the companions:

Lua Code:
  1. ZO_CachedStrFormat("<<C:1>>", GetCollectibleName(collectibleId))

Collectible Ids:
Bastian: 9245
Mirri: 9353

2)
And why do you manually re-translate translations for the de.lua etc. if you can just use the string constants given already?
Your own script shows how: GetString("SI_GAMECAMERAACTIONTYPE", i)
Just build the table IJA_DAWM_ACTIONS_TABLE once in the en.lua file and use the GetString(SI_GAMECAMERAACTIONTYPE, <number>) there.
Do not overrride in de and fr and ru or jp anymore! And you are set.
Only need to translate them for non official languages then.

3)
German strings:
Code:
local strings = {
	-- need translations
	SI_IJA_DAWM_Title				= "|cFF00FFIsJusta|r |cffffffVerhindere Aktionen beim Bewegen|r",

	SI_IJA_DAWM_DISABLEINTERACT		= "Interaktion mit Gefährten",
	SI_IJA_DAWM_DISABLEINTERACT_TIP	= "Deaktiviert die Interaktion mit deinem Gefährten während du dich bewegst.",

	SI_IJA_DAWM_DISABLEMORE			= "Andere Interaktionen",
	SI_IJA_DAWM_DISABLEMORE_TIP		= "Deaktiviert andere Aktionen während du dich bewegst.",
	SI_IJA_DAWM_DISABLEMORE_HEADER	= "Wähle zu deakt. Aktionen aus",
}
Last edited by Baertram : 07/05/21 at 04:59 PM.
Report comment to moderator  
Reply With Quote
Unread 07/05/21, 07:07 PM  
IsJustaGhost
AddOn Author - Click to view AddOns

Forum posts: 38
File comments: 278
Uploads: 23
Again, thank you so much.

This is the first time I actually implemented other translations.

I'm going to try this. SI_IJA_DAWM_ACTIONTYPE# will be declared in each language's strings for Chop, Mine, Collect.

There is a problem with this method. ZOS messed up a bit with translations for actions. for en, fr, ru the action "Take" is used for flying insects. For de it is used for harvesting plants, rune stones, flying insects besides Butterflies. Butterflies is "Einfangen" (Capture).

For now, Butterflies will be excluded from the filtering for de. Ideas are appreciated.

Lua Code:
  1. [GetString("SI_GAMECAMERAACTIONTYPE", 1)]   = 1,
  2. [GetString("SI_GAMECAMERAACTIONTYPE", 2)]   = 2,
  3.    
  4. [GetString("SI_IJA_DAWM_ACTIONTYPE", 1)]    = 3,
  5. [GetString("SI_IJA_DAWM_ACTIONTYPE", 2)]    = 3,
  6. [GetString("SI_IJA_DAWM_ACTIONTYPE", 3)]    = 3,
  7.    
  8. GetString("SI_GAMECAMERAACTIONTYPE", 4)]    = 4,
Report comment to moderator  
Reply With Quote
Unread 07/05/21, 07:31 PM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4964
File comments: 6032
Uploads: 78
I'd keep it as generic as possibl and only re-translate/overwite the ones that are special, like for de overwrite the "take" constants with the appropriate harvesting plants, rune stones etc., and butterflies with the "Einfangen".

Bzw: Try to avoid to use GetString for the same constants several times. If you need "Take" like 5 times cache it once in a local and re-use the local variable.

Originally Posted by IsJustaGhost
Again, thank you so much.

This is the first time I actually implemented other translations.

I'm going to try this. SI_IJA_DAWM_ACTIONTYPE# will be declared in each language's strings for Chop, Mine, Collect.

There is a problem with this method. ZOS messed up a bit with translations for actions. for en, fr, ru the action "Take" is used for flying insects. For de it is used for harvesting plants, rune stones, flying insects besides Butterflies. Butterflies is "Einfangen" (Capture).

For now, Butterflies will be excluded from the filtering for de. Ideas are appreciated.

Lua Code:
  1. [GetString("SI_GAMECAMERAACTIONTYPE", 1)]   = 1,
  2. [GetString("SI_GAMECAMERAACTIONTYPE", 2)]   = 2,
  3.    
  4. [GetString("SI_IJA_DAWM_ACTIONTYPE", 1)]    = 3,
  5. [GetString("SI_IJA_DAWM_ACTIONTYPE", 2)]    = 3,
  6. [GetString("SI_IJA_DAWM_ACTIONTYPE", 3)]    = 3,
  7.    
  8. GetString("SI_GAMECAMERAACTIONTYPE", 4)]    = 4,
Report comment to moderator  
Reply With Quote
Unread 07/10/21, 09:03 PM  
czer323

Forum posts: 0
File comments: 6
Uploads: 0
Feature Request: Optional Red Reticle

Hey IsJustaGhost,
As a player who prefers to use Gamepad Mode exclusively, I appreciate all the extra attention you give to making your addons work with controllers.

I had a small suggestion after updating recently. As a user, I would like the option to toggle the reticle to not change to red therefore giving myself more freedom over my graphical experience. Personally, I don't mind just waiting for the button to return. That's enough of a visual indicator for me.

I checked over the code, and found this:
Line 275: RETICLE.hitIndicatorTimeline:PlayFromStart()

Removing it seems to stop it from changing to red, but I'm unsure if there are any unintended consequences.

Thanks again for all you do.
Report comment to moderator  
Reply With Quote
Unread 07/10/21, 09:37 PM  
IsJustaGhost
AddOn Author - Click to view AddOns

Forum posts: 38
File comments: 278
Uploads: 23
Re: Feature Request: Optional Red Reticle

That is the correct function. you can just -- in front of it to disable it.
I'll add an option to enable that feature. Am also going to add the option to disable "Other" actions in pvp and dungeons.
Just got done in a trial and had to have it turned off in options.


Also, I play in gamepad mode. Gamepad players need some love from the addon community.. This is why all my addons start off for gamepad mode. If it is something that could be used in both modes, I make it for both from the start.
Last edited by IsJustaGhost : 07/10/21 at 09:39 PM.
Report comment to moderator  
Reply With Quote
Unread 07/10/21, 10:18 PM  
czer323

Forum posts: 0
File comments: 6
Uploads: 0
Re: Re: Feature Request: Optional Red Reticle

Thanks for the tip with --. I've been meaning to get into LUA scripting. I can read it just fine, but something about writing code has always seemed daunting. Any suggestions for getting started?

Also, looking forward to the update.
Report comment to moderator  
Reply With Quote
Unread 08/04/21, 04:36 PM  
Natakiro

Forum posts: 0
File comments: 38
Uploads: 0
Saved my sanity

Simply wanted to let you know how much this is appreciated, especially for gamepad! I was going insane from trying to jump while mounted just to, instead, start to mine ore or pick a flower.

edited to add: And this is an ultra nitpick, but is there an option to disable the message that appears in the chat area at login? I try to keep my message area clean. Never mind, I commented it out ^^
Last edited by Natakiro : 08/04/21 at 08:41 PM.
Report comment to moderator  
Reply With Quote
Unread 08/06/21, 03:00 AM  
IsJustaGhost
AddOn Author - Click to view AddOns

Forum posts: 38
File comments: 278
Uploads: 23
Re: Saved my sanity

Originally Posted by Natakiro
Simply wanted to let you know how much this is appreciated, especially for gamepad! I was going insane from trying to jump while mounted just to, instead, start to mine ore or pick a flower.

edited to add: And this is an ultra nitpick, but is there an option to disable the message that appears in the chat area at login? I try to keep my message area clean. Never mind, I commented it out ^^
Thank you for such positive comment. It is much appreciated.
Gamepad mode does not get enough love from addon developers.

I'm working on updating Easy Alchemy. It too is fully gamepad compatible. Craft any alchemy item by just selecting from the same type of lists used in the smithing stations. Update 2.0.5 will have fully automated selection of type, solvent, and traits, for daily and master writs. Even when switching between the 2 writs, if you have both active.

Also working on my complete rewrite of my writ helper. Full gamepad support, and fully automated writ crafting.
Report comment to moderator  
Reply With Quote
Unread 12/07/21, 02:27 AM  
DerMatse
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 4
Uploads: 2
Smile Thanks a lot!

IsJustaGhost,

I found your addon(s) by travelling through official ESO forum and wanted to drop a big "Thank you". Your stuff really improves QoL, especially for us gamepad mode users. Keep on the good work!

Cheers, Matse
Report comment to moderator  
Reply With Quote
Unread 12/08/21, 03:55 PM  
InsaneShad0w92

Forum posts: 0
File comments: 40
Uploads: 0
Update

I see it is pending on here, got it on minion but I think it's the wrong file, got Disable Input Switching version 1 instead of Disable Actions While Moving 1.2.3
Report comment to moderator  
Reply With Quote
Unread 12/08/21, 04:00 PM  
IsJustaGhost
AddOn Author - Click to view AddOns

Forum posts: 38
File comments: 278
Uploads: 23
Re: Update

Originally Posted by InsaneShad0w92
I see it is pending on here, got it on minion but I think it's the wrong file, got Disable Input Switching version 1 instead of Disable Actions While Moving 1.2.3
I originally updated the wrong zip. this one fixes that. I was working thru several of my addons to update for the new api version (Out of date) and removing the name - version in chat.
Report comment to moderator  
Reply With Quote
Unread 12/08/21, 04:01 PM  
IsJustaGhost
AddOn Author - Click to view AddOns

Forum posts: 38
File comments: 278
Uploads: 23
Re: Update

No longer pending. Minion should get the correct one now, if not just grab it from here.
Report comment to moderator  
Reply With Quote
Unread 01/25/22, 05:46 AM  
MarcusUK

Forum posts: 15
File comments: 162
Uploads: 0
Will give this a go, I do hate how easily companions are interacted with anytime. Tried binding "Hold A" in all the various gamepad settings yesterday but nothing worked, it would be so much easier if ZoS allowed such a bind. Wish they'd remove also companion clipping so they can't run through you in fights then be right in the bloody way when you want to loot.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: