Go to Page... |
Compatibility: | Endless Archive (9.2.5) |
Updated: | 11/05/23 04:18 PM |
Created: | 01/14/18 12:05 PM |
Monthly downloads: | 1,088 |
Total downloads: | 25,196 |
Favorites: | 64 |
MD5: | |
Categories: | Graphic UI Mods, Group, Guild & Friends, Info, Plug-in Bars, PvP, ToolTip |
![]() |
Comment Options |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
![]() |
|
Ok, i see better with these examples. It's now fixed then
![]() |
|
![]() |
![]() |
Mouton |
View Public Profile |
Send a private message to Mouton |
Find More Posts by Mouton |
Add Mouton to Your Buddy List |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
![]() |
|
Many thank for all this information again.
- I could not make the SafeAddString function work properly, only EN is loaded (that was still using ZO_CreateStringId as i understood), i'll check some addons how they're doing. - I added your better German translation - / are fixed, was from a copy paste somewhere. - The addon variables are now loaded with ZO_SavedVars:NewCharacterIdSettings - Did not had time to benchmark the execution time yet to check what's better, postponing this. - Added some key binding features
Last edited by Mouton : 01/17/18 at 12:03 PM.
|
|
![]() |
![]() |
Mouton |
View Public Profile |
Send a private message to Mouton |
Find More Posts by Mouton |
Add Mouton to Your Buddy List |
![]() |
|||
|
Sure, thanks for implementing it.
You shouldn't use "ZO_CreateStringId" within the other language files too as this might get you in trouble with them only using the first ones loaded (so from the en.lua file). Better use "SafeAddString(constant, "Text", 1)" instead in each later dynamically loaded language file de.lua, fr.lua etc. Inside the en.lua you can use ZO_CreateStringId to build the constant values like TOXICPLAYERS_IGNORED and later on in the other files you just redefine them for other languages with new content by the help of SafeAddString. Here is an example containing some better German translations: Code:
SafeAddString("TOXICPLAYERS_IGNORED", "Ignoriert", 1) SafeAddString("TOXICPLAYERS_MUTED", "Stumm", 1) SafeAddString("TOXICPLAYERS_FRIEND", "Freund", 1) SafeAddString("TOXICPLAYERS_OPTION_DESCRITPION", "ToxicPlayers zeigt bei deinem Fadenkreuz visuell Spieler von deiner Freundesliste, oder auch ignorierte Spieler, an.", 1) SafeAddString("TOXICPLAYERS_OPTION_RETICLE_TEXT_DESCRIPTION", "Zeige Status Text am Fadenkreuz", 1) SafeAddString("TOXICPLAYERS_OPTION_RETICLE_TEXT_TOOLTIP", "Ist diese Option aktivier, dann wird ToxicPlayers wird dir den Status des anvisierten Spielers an deinem Fadenkreuz anzeigen (Verstummt, ignoriert or Freund)", 1) SafeAddString("TOXICPLAYERS_OPTION_RETICLE_ICON_DESCRIPTION", "Zeige Symbol am Fadenkreuz", 1) SafeAddString("TOXICPLAYERS_OPTION_RETICLE_ICON_TOOLTIP", "Ist diese Option aktivier, dann wird ToxicPlayers ein Symbol zum anvisierten Spieler an deinem Fadenkreuz anzeigen (verstummt, ignoriert or Freund)", 1) I'd rather use the / then the \ char for the libraries as well. Sometimes they make trouble. But it should work fine this way too. SavedVars Please do not use ZO_SavedVars:New anymore but :NewCharacterId instead. :New will use the name of the char to save the data in the local lua savedvars files. If you change the name of a char the settings are lost. So better do it like this as you build new addons: Lua Code:
Speeding up some values used during reticle over functions Data inside arrays/tables need some time to get fetched. If you have a function like a reticle change which can fire every second about 10 times if you are in areas with many players you should try to speed up the data selection. Like defining a local variable which "points" to the array stuff you need more than once. And maybe move data from other addons, which you only need if the addon is active, in a else where it is only called then (including needed variables and function calls). This will bring a bit of performance, maybe not measurable, but if someone uses a lot of addons with reticle stuff it could be the "tick" needed ![]() Example: Your function Lua Code:
My idea (untested!) Please check if it works as intended and maybe put some debug messages in like this --function starts local start = GetGameTimeMilliseconds() d("Start: " .. start ): --In between local end = GetGameTimeMilliseconds() d("End: " .. end): to check if the general speed of crosshair changes /reticleovers is better than before. Lua Code:
The same applies to multiple used "TP.settings.x", "TP.settings.y" -> local settings = TP.settings settings.x, settings.y This is faster as the array/table TP must not be searched for settings first each time. And as arrays/tables that you reference (point to) are pointers, so your changes to local settings will change the reference table contents too! --TP.settings.x == true local settings = TP.settings --settings.x == true settings.x = false --settings.x == false --TP.settings.x == false
Last edited by Baertram : 01/15/18 at 04:26 PM.
|
||
![]() |
![]() |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
![]() |
||
If for any reason you have a loot at the code, i'm interested in having good advises, as you seem to have a great experience in writing addons ! ![]()
Last edited by Mouton : 01/15/18 at 03:48 PM.
|
||
![]() |
![]() |
Mouton |
View Public Profile |
Send a private message to Mouton |
Find More Posts by Mouton |
Add Mouton to Your Buddy List |
![]() |
||
|
If they tend to kill ONLY these enemies on their list then, it's up to them. As long as they do not build groups to gank single players, which should be brought to ZOs attention then. |
|
![]() |
![]() |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
![]() |
|
I was thinking of having a different list than ignored, bit this was much more work, and i wanted to keep this addons simple. That's why I made it compatible with MuteList (this solution is not optimal, indeed, as you cannot talk to your ennemies anymore).
I initially created this addon to spot raging people i already ignored or T-baggers that i don't need to talk to anyway. If you know another social list manager, i would be happy to see how to integrate with it, or embed the feature if the addon creator agrees. |
|
![]() |
![]() |
Mouton |
View Public Profile |
Send a private message to Mouton |
Find More Posts by Mouton |
Add Mouton to Your Buddy List |
![]() |
|
|
The addon myght lead people to abuse the ignore function for filtering enemies that have killed them, if they want revenge.
|
![]() |
![]() |
Letho |
View Public Profile |
Send a private message to Letho |
Find More Posts by Letho |
Add Letho to Your Buddy List |
![]() |
|
Definitely planned (and i'm gonna fix my English spelling mistakes)
I was searching this week-end about some good resources for multilanguages support as i'm very new to addons and lua. Many thanks for the tips, will definitely help ! |
|
![]() |
![]() |
Mouton |
View Public Profile |
Send a private message to Mouton |
Find More Posts by Mouton |
Add Mouton to Your Buddy List |
![]() |
|
|
Thank you, very appreciated.
Any chance to add multi language support? Check the addon "Dustman" for a good and easy multilanguage support. 1. Add a folder "lang" and in there create files for the supported languages, with the 2 character lenght that ESO uses for the language, like "en", "de", "fr" .lua Add 1 file that is named strings.lua and will be the "base" for the language strings (English texts e.g.). 2. Add the /lang/strings.lua and the dynamic langauge of your client file too /lang/$(language).lua Check this thread for a good explanation: http://www.esoui.com/forums/showthread.php?t=2136 3. Then specify the language constants like "TOXIC_PLAYER_IGNORED", "TOXIC_PLAYER_MUTED" etc. to the strings.lua file and to the other files like "de.lua" too -> Check the format from Dustman files. 4. In your addon where the static strings like "Ignored" are used replace them with GetString(TOXIC_PLAYER_IGNORED) etc. then. If you got questions, just ask. |
![]() |
![]() |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
![]() |