Go to Page... |
Compatibility: | Stonethorn (6.1.5) |
Updated: | 09/02/20 02:55 PM |
Created: | 10/14/19 10:49 PM |
Monthly downloads: | 380 |
Total downloads: | 29,550 |
Favorites: | 33 |
MD5: |
File Name |
Version |
Size |
Uploader |
Date |
1.0.2 |
28kB |
XL_Olsen |
08/25/20 11:55 AM |
|
1.0.0 |
29kB |
XL_Olsen |
07/29/20 01:58 PM |
|
0.9.3 |
15kB |
XL_Olsen |
02/12/20 10:28 PM |
|
0.9.1 |
14kB |
XL_Olsen |
01/29/20 08:02 AM |
|
0.9 |
13kB |
XL_Olsen |
12/15/19 02:39 AM |
|
0.8 |
15kB |
XL_Olsen |
12/13/19 12:46 AM |
|
0.7.3.1 |
13kB |
XL_Olsen |
10/17/19 05:07 AM |
|
0.7 |
14kB |
XL_Olsen |
10/14/19 10:49 PM |
Comment Options |
XL_Olsen |
View Public Profile |
Send a private message to XL_Olsen |
Find More Posts by XL_Olsen |
Add XL_Olsen to Your Buddy List |
12/16/19, 03:33 AM | |
|
Many thanks for this great addon, again!
I'm using it to store my sets accross characters. And therefor I'd like to request another "comment" multiline editfield upon creation/changing of a set. Maybe a text editbox below the headline of your UI and above the + - buttons. It should be editable always as the set was created and selected in the UI. One can write the purpose/character names e.g. into it and directly sees which characters it was made for. Or can add other information like "use with chars abc for dungeons xyz". This would be awesome. And if you can manage to get it to work, maybe allow drag&drop items to your UI list to add/remove them from inventories. But this is just a nice 2 have
Last edited by Baertram : 12/16/19 at 03:36 AM.
|
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
10/24/19, 11:45 AM | |||
|
You could also use the LibAddonMenu-2.0 LAM library to create a settings panel for the overview of your sets in banks and handling them. It already provides standard controls and you can alsoa dd customd efined controls to the settings menu.
This library here is nice as it provides a listbox with 2 sides where you can drag&drop or move/add items to. It maybe good to e.g. show the different banks / storage chests on one side and the sets defined in another one so you can drag&drop them from one to another etc. https://www.esoui.com/downloads/info...hifterBox.html
|
||
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
10/17/19, 12:10 PM | ||
|
Thank you for your feedback! For sure I will look into adding multi-lang support, didn't think I'd get noticed this quick, so didn't think it'd be needed ! I'm also working on a UI module to give a better overview of saved sets and items, similar to e.g. Dressing Room (Distinguish between sets) or Inventory Insight (the way the items are listed), but I ran into problems here - Would be nice to have something other than the slash_commands but I guess they'll work while the addon is in its infant stages. Again - Thanks for the tips, translation and how to approach multi-lang support, it's appreciated! |
|
|
XL_Olsen |
View Public Profile |
Send a private message to XL_Olsen |
Find More Posts by XL_Olsen |
Add XL_Olsen to Your Buddy List |
10/17/19, 06:06 AM | |
|
This looks very prommissing, thanks!
Any chance you can add multi language support for the context menu? You can have a look at pChat, there is an easy way to support multiple language "files" dynamically. Just define in your addon's txt file an entry like Code:
/lang/lang_base.lua #Contains all the strings in EN e.g. /lang/lang_$(language).lua # Contains the translated strings in file lang_de.lua, or lang_fr.lua or lang_jp.lua etc. The constant $(language) will be replaced with the 2 character client language text, e.g. de, en, fr. If the file does not exists it will be just skipped. You can also define an empty en.lua e.g. so it will be found but nothing is loaded. The base strings should ALWAYS be loaded with e.g. english so having a base file or alwaysLoaded file as fallback is a best practice. Then check the pChat language folder files how to lpoad the base strings and then how to load the other strings in other language files. Define your own constants like SI_XLGB_CONTEXTMENU_ADD etc. And in your addon replace the static english texts with GetString(SI_XLGB_CONTEXTMENU_ADD) and the game will handle the correct translations from the files for you. For texts containing values (e.g. d("[XLGB] Item " .. itemLink .. " is already in " .. gearSetName) ) you can use string.format like this: Define a string constant SI_XLGB_PREFIX = "[XLGB] ". This will be reused for all your leading prefix texts. Define a string constant SI_XLGB_ALREADY_IN_SET = "Item %s is already in %s" Lua Code:
German translations: --> Ideas: As bank and storage chest messages are quite similar: You could even use a placeholder for "bank" or "storage" or "chest" in your messages and define texts where you can use string.format to dynamically replace the placeholder with "storage chest" or "bank" then. -----Strings----- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1st line English 2nd line German ... English ... German and so on... !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Code:
--Error mesages d("[XLGB_ERROR] GearSetNumber is invalid. Got:", gearSetNumber) d("[XLGB_FEHLER] GearSetNummmer ist ungültig: ", gearSetNumber) d("[XLGB_ERROR] Enter a name for the set.") d("[XLGB_FEHLER] Bitte gib einen Namen für das Set ein.") d("[XLGB_ERROR] A set named ".. gearSetName .." does already exist! Set names should be unique.") d("[XLGB_FEHLER] Ein Set mit Namen ".. gearSetName .." existiert bereits! Set Namen müssen eindeutig sein.") d("[XLGB_ERROR] Trying to move " .. numberOfItemsToMove/#itemsToMove.. "items into a bag with " .. #availableBagSpaces/numberOfAvailableSpaces .." empty slots.") d("[XLGB_FEHLER] Versuche " .. numberOfItemsToMove/#itemsToMove.. " Gegenstände in einen Beutel mit " .. #availableBagSpaces/numberOfAvailableSpaces .." freien Plätzen zu verschieben.") d("[XLGB_ERROR] Bank is not open, abort!") d("[XLGB_FEHLER] Bank ist nicht geöffnet, Abbruch!") d("[XLGB_ERROR] Cannot assign set to storage. Trying to assign " .. #itemsNotAlreadyAssigned .. " items when only " .. storageBag.slotsLeft .. " are open for assignment.") d("[XLGB_FEHLER] Kann Set nicht der Lagertruhe zuweisen. Versuche insgesamt " .. #itemsNotAlreadyAssigned .. " Gegenstände zuzuweisen, wobei nur " .. storageBag.slotsLeft .. " übrig sind für die Zuweisung.") d("[XLGB_ERROR] House storage chest not open, abort!") d("[XLGB_FEHLER] Haus Lagertruhe nicht geöffnet, Abbruch!") d("[XLGB_ERROR] Gearset already assigned to this storage chest.") d("[XLGB_FEHLER] Gearset ist bereits dieser Lagertruhe zugewiesen.") d("[XLGB_ERROR] Set \'" .. gearSet.name .. "\' is already not assigned to this chest.") d("[XLGB_FEHLER] Set \'" .. gearSet.name .. "\' ist noch nicht dieser Truhe zugewiesen.") d("[XLGB_ERROR] On item update: Couldn't reassign set \'".. gearSetAfter.name .."\' to storageBag with ID: " .. storageBagID) d("[XLGB_FEHLER] Bei Gegenstandsaktualisierung: Konnte das Set \'".. gearSetAfter.name .."\' nicht der Lagertruhe mit ID: " .. storageBagID .. " zuweisen.") --Texts chat output etc. d(Item " .. itemLink .. " is already in " .. gearSetName) d(Gegenstand " .. itemLink .. " ist bereits in " .. gearSetName) d("[XLGB] Assigned \'" .. gearSet.name .. "\' to chest.") d("[XLGB] \'" .. gearSet.name .. "\' wurde Truhe zugewiesen.") d("[XLGB] Depositing " .. gearSet.name) d("[XLGB] Einlagerung " .. gearSet.name) d("[XLGB] Set \'" .. gearSet.name .. "\' deposited!") d("[XLGB] Set \'" .. gearSet.name .. "\' eingelagert!") d("[XLGB] Withdrawing " .. gearSet.name) d("[XLGB] Auslagerung " .. gearSet.name) d("[XLGB] Set \'" .. gearSet.name .. "\' withdrawn!") d("[XLGB] Set \'" .. gearSet.name .. "\' ausgelagert!") d("[XLGB] Set \'" .. gearSet.name .. "\' is no longer assigned to this chest.") d("[XLGB] Set \'" .. gearSet.name .. "\' ist nicht länger dieser Lagertruhe zugewiesen.") d("[XLGB] Depositing assigned items from sets: ", storageBag.assignedSets) d("[XLGB] Lagere zugewiesene Gegenstände des Sets ein: ", storageBag.assignedSets) d("[XLGB] Assigned items deposited!") d("[XLGB] Zugewiesene Gegenstände eingelagert!") d("[XLGB] Withdrawing assigned items from sets", storageBag.assignedSets ) -->Here is missing the <space>: behind sets, or you should remove the : behind the sets: of "Depositing assigned items from sets: " d("[XLGB] Lagere zugewiesene Gegenstände des Sets aus: ", storageBag.assignedSets ) d("[XLGB] Assigned items withdrawn!") d("[XLGB] Zugewiesene Gegenstände ausgelagert!") d("[XLGB] Cleared storage chest assigned sets.") d("[XLGB] Zugeweisung der Sets zur Lagertruhe wurden aufgehoben.") d("[XLGB] Chest contains the following assigned sets:") d("[XLGB] Truhe beinhält die folgenden zugewiesenen Sets:") d("[XLGB] Total sets: " .. #storageBag.assignedSets/totalGearSets) d("[XLGB] Anzahl Sets: " .. #storageBag.assignedSets/totalGearSets) d("[XLGB] Total items: " .. #storageBag.assignedItems .. " out of " .. storageBag.size) d("[XLGB] Anzahl Gegenstände: " .. #storageBag.assignedItems .. " von " .. storageBag.size) d("[XLGB] Created new set: " .. gearSetName) d("[XLGB] Neues Set erstellt: " .. gearSetName) d("[XLGB] Removed set: " .. gearSet.name) d("[XLGB] Set entfernt: " .. gearSet.name) d("[XLGB] Added item " .. itemLink .. " to " .. gearSet.name) d("[XLGB] Gegenstand " .. itemLink .. " zu " .. gearSet.name .. " hinzugefügt") d("[XLGB] Removed item " .. itemLink .. " from " .. gearSetName) d("[XLGB] Gegenstand " .. itemLink .. " aus " .. gearSetName .. " entfernt") d("Set " .. i .. " = " .. gearSet.name) d("Set " .. i .. " = " .. gearSet.name) d("Set \'" .. gearSet.name .. "\' contains the following items:") d("Set \'" .. gearSet.name .. "\' beinhält die folgenden Gegenstände:") d("[XLGB] Total items = " .. #gearSet.items) d("[XLGB] Anzahl Gegenstände = " .. #gearSet.items) --Context menu entries self.ADD_ITEM_TO_GEARSET = "XLGB addItem" self.ADD_ITEM_TO_GEARSET = "XLGB Hinzufügen" self.REMOVE_ITEM_FROM_GEARSET = "XLGB removeItem" self.REMOVE_ITEM_FROM_GEARSET = "XLGB Entfernen" --Keybinds name = "Deposit Assigned", name = "Zugewiesene Einlagern", name = "Withdraw Assigned", name = "Zugewiesene Auslagern", "Deposit Gear Set <number 1 to 9>" "Lagere Gear Set <number 1 to 9> ein" "Withdraw Gear Set <number 1 to 9>" "Lagere Gear Set <number 1 to 9> aus" --Slash commands d("\'/xlgb_sets\': Prints out saved sets to chat.") d("\'/xlgb_sets\': Chat Ausgabe gespeicherter Sets.") d("\'/xlgb_items setNumber\': Prints out set #(setNumber)s items to chat.") d("\'/xlgb_items setNumber\': Chat Ausgabe der Gegenstände des Sets #(setNummer).") d("\'/xlgb_addset setName\': Creates a new set named (setName).") d("\'/xlgb_addset setName\': Erstellt ein neues Set mit Namen (setName).") d("\'/xlgb_removeset setNumber\': Removes set #(setNumber).") d("\'/xlgb_removeset setNumber\': Entfernt Set #(setNummer).") d("\'/xlgb_deposit setNumber\': Deposit all items from set #(setNumber) into the bank.") d("\'/xlgb_deposit setNumber\': Einlagern aller Gegenstände des Sets #(setNummer) in die Bank.") d("\'/xlgb_withdraw setNumber\': Withdraw all items from set #(setNumber) into the player inventory.") d("\'/xlgb_withdraw setNumber\': Auslagern aller Gegenstände des Sets #(setNummer) in das Inventar.") d("\'/xlgb_assign setNumber\': Assigns set #(setNumber) to opened chest.") d("\'/xlgb_assign setNumber\': Weist Set #(setNummer) der geöffneten Truhe zu.") d("\'/xlgb_unassign setNumber\': Unassigns set #(setNumber) from opened chest.") d("\'/xlgb_unassign setNumber\': Hebt Zuweisung des Sets #(setNummmer) zur geöffneten Truhe auf.") d("\'/xlgb_clearassigned\': Clears the list of sets assigned to opened chest.") d("\'/xlgb_clearassigned\': Leert die Liste der zugewiesenen Sets der geöffneten Truhe.") d("\'/xlgb_assignedsets\': Prints out the sets assigned to opened chest.") d("\'/xlgb_assignedsets\': Chat Ausgabe der Truhen zugewiesenen Sets.") d("\'/xlgb_debug\': Toggles debug mode. (Note: quite verbose)") d("\'/xlgb_debug\': Debug Modus umschalten. (Notiz: sehr wortreich)")
Last edited by Baertram : 10/17/19 at 07:10 AM.
|
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |