Go to Page... |
Compatibility: | Scions of Ithelia (9.3.0) |
Updated: | 03/11/24 01:58 PM |
Created: | 01/14/18 12:05 PM |
Monthly downloads: | 296 |
Total downloads: | 29,845 |
Favorites: | 65 |
MD5: | |
Categories: | Graphic UI Mods, Group, Guild & Friends, Info, Plug-in Bars, PvP, ToolTip |
Comment Options |
01/15/18, 06:50 AM | |
|
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 |
Mouton |
View Public Profile |
Send a private message to Mouton |
Find More Posts by Mouton |
Add Mouton to Your Buddy List |
01/15/18, 07:41 AM | |
|
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 |
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 |
01/15/18, 01:26 PM | ||
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 |
01/15/18, 03:54 PM | |||
|
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 |
01/15/18, 04:54 PM | |
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 |
01/18/18, 02:08 PM | ||
|
Ah I think it's becasue your main file is called en.lua which is a language file which will be loaded twice if you use the english client! First because you have specified it in the manifest txt to load, and then load it again via the $(language).lua directive.
Change the name to strings.lua and make an empty en.lua file so the strings.lua contain the english translations and get loaded each time fixed. This is how Dustman e.g. does it and should fix the SaveAddString(constant, "text", 1) problem for other languages. Dustman is a good example how to do it and how it works!
|
|
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
01/21/18, 01:35 PM | |
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 |
02/06/18, 04:14 AM | |
|
btw: There is a changelog panel if you update your addon and this is shown in another tab then. Raises visibility of your changes and you do not need to add it to the addon description text.
|
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
02/06/18, 04:47 AM | ||
|
||
|
Mouton |
View Public Profile |
Send a private message to Mouton |
Find More Posts by Mouton |
Add Mouton to Your Buddy List |
08/10/18, 09:44 PM | |
Addition
Could you possibly add another color option to show people in your guild(s)? That would be awesome! Maybe Blue?
Last edited by Lakashi : 08/10/18 at 09:52 PM.
|
|
|
Lakashi |
View Public Profile |
Send a private message to Lakashi |
Find More Posts by Lakashi |
Add Lakashi to Your Buddy List |
08/11/18, 01:03 AM | |
Forum posts: 21
File comments: 80
Uploads: 0
|
This looks useful! Have you considered adding an on/off option for the function pertaining to friends? I'd prefer to only identify ignored players in this manner.
|
|
ovinnik |
View Public Profile |
Send a private message to ovinnik |
Find More Posts by ovinnik |
Add ovinnik to Your Buddy List |
08/15/18, 07:15 AM | ||
Re: Addition
(Maybe with some next version of ESO it would be possible.) |
||
|
Mouton |
View Public Profile |
Send a private message to Mouton |
Find More Posts by Mouton |
Add Mouton to Your Buddy List |