01-12-15, 03:15 PM | #1 |
Need help to integrate Addon-Options
Hi all,
I'm not really good in addon programming and I need some help from you guys. I maintain a very little milling addon called MillButton. Some users send me Mails with the idea to add some addon options to select the herbs (grouped by wow expansion) that the users want to mill when they use the addon. Phanx already tried to helo me on a WoWAce, but I don't understand his example code. If there was anyone who wants to help me, it would be very nice if he speaks german. In attached files you can see my Addon. |
|
01-12-15, 03:54 PM | #2 | |
For reference, here is what I posted on WowAce:
__________________
Retired author of too many addons. Message me if you're interested in taking over one of my addons. Don’t message me about addon bugs or programming questions. |
||
01-12-15, 11:52 PM | #3 | |
|
||
01-13-15, 02:38 AM | #4 |
Das funktioniert grundsätzlich eigentlich ganz einfach. Am Beispiel von Phanx-Code grob erklärt:
Zuerst erstellst Du einfach ein Frame das später in den Blizzard Interfaceoptionen eingeblendet wird wenn jemand die Optionen für Dein Addon aufruft. Lua Code:
Und dann fügst Du dieses Frame den Interfaceoptionen hinzu. Lua Code:
Lua Code:
Lua Code:
Ich hoffe das erhellt die Sache ein wenig. Ansonsten frag einfach noch mal nach. |
|
01-13-15, 12:33 PM | #5 |
Ok das hat schonmal ein klein wenig Licht in die große Dunkelkammer gebracht.
Ich glaube ich habe aber doch vorher noch ein gaaanz anderes Problem. Bevor ich mir gedanken mache wie ich die Optionen grafisch darstelle muss ich erst einmal hinbekommen meine künftigen Optionen zu speichern, oder? Ich habe mir gedacht dazu eine Tabelle "MillButton_Defaults", in der die Standardeinstellungen vorgegeben sind, anzulegen. In dieser Tabelle möchte ich je WoW Erweiterung eine Untertabelle haben in der dann per ItemID nur über true und false angegeben wird, ob man das Kraut zu dieser ItemID immer mahlen will oder nicht. Hier mal die Tabelle wie ich sie mir Momanten vorstelle (Damit es übersichtlich bleibt, nicht alle Kräuter): Lua Code:
Die den jeweiligen Namen der Erweiterungen wollte ich für die Titel der Tabs hernehmen. Bitte habt nachsicht mit mir Frischling Last edited by flow0284 : 01-13-15 at 02:12 PM. |
|
01-13-15, 05:44 PM | #6 | |
Die Tabelle für die Standardeinstellungen ist natürlich ok. Aber ich denke Du solltest Dir erstmal ein paar grundsätzliche Fragen dazu stellen wie Du die Einstellungen speicherst und das dann so weit implementieren das es funktioniert. Willst Du verschiedene Profile? Mit Einstellungen pro Char oder für alle gleich? Da ich nicht weiss wie weit Du mit dem Thema bist hilft Dir vielleicht diese Beschreibung: http://wow.gamepedia.com/Saving_vari..._game_sessions Ist leider wieder englisch. Erklärt aber wie das funktioniert. |
||
01-13-15, 05:55 PM | #7 |
Die Einstellungen sollten pro Char gespeichert werden. Damit habe ich auch vorhin schon mal recht Erfolgreich experimentiert.
Ich werfe aber später trotzdem einen Blick auf deinen Link. |
|
01-13-15, 09:31 PM | #8 |
Lua Code:
Normalerweise soll man diese Funktionen nicht definieren. Die Einstellungenfenster wird oft bei der ESC-Taste geschlossen, und dies ruft die "cancel"-Funktion anstelle der "okay"-Funktion, obwohl der Benutzer wahrscheinlich nicht beabsichtigt, um seine Änderungen abzubrechen.
__________________
Retired author of too many addons. Message me if you're interested in taking over one of my addons. Don’t message me about addon bugs or programming questions. |
|
01-14-15, 11:40 AM | #9 | |
In meiner .toc habe ich Code:
## SavedVariablesPerCharacter: MillButtonDB In meiner MillButton.lua habe ich das hier hinzugefügt: Lua Code:
Für den (sehr wahrscheinlichen) Fall das die Defaultsettings mal wegen einer neuen Erweiterung oder ähnlichem erweitert oder geändert werden, so muss ja dann auch die "Datenbank" MillButtonDB erweitert werden. Hier sollen aber die Benutzereinstellungen nicht geändert werden, sofern das möglich ist. Auf der Arbeit kam mir noch die Idee das Addon irgendwie in Abhängigkeit des vorhandenen Berufes nur zu aktivieren. Hier habe ich aber auch noch gar keine Ahnung wie das dann funktionieren könnte. Lieber eines nach dem anderen. |
||
01-16-15, 06:16 PM | #10 |
Mal ein Update meine Hilfegesuches:
Meine Variablen werden mittlerweile pro Char gespeichert. Im Blizzard OptionsFrame habe ich es geschafft mein Addon anzeigen zu lassen, das Umschalten zwischen "Extended" und "Normal" funktioniert und wird auch gespeichert. Unterhalb des Optioneneintrags meines Addons habe ich es auch geschafft pro WoW Erweiterung eine Sub-Kategorie anzulegen. Leider bekomme ich es nicht hin, jetzt noch diese Unterkategorien mit meinen restlichen Daten zu füllen. Aufbau der Tabelle mit den Default_Options: http://pastebin.com/kkJAzPRd Hier der Aufbau meines Optionframes: http://pastebin.com/uQm1tHT9 |
|
01-24-15, 10:33 AM | #11 |
Ich bekomms einfach nicht hin. Ich glaub ich lass es sein und lege zumindest diese Idee auf Eis.
Trotzdem Danke Euch beiden für die Hilfestellungen. |
|
02-23-15, 11:46 AM | #12 |
Ok ich versuche es nochmal. Leider komme ich partou nicht weiter. Ich bekomme es einfach nicht hin, den Inhalt meiner Datenbank in die Optionspanels zu packen.
Ich hoffe mir kann da echt einer weiterhelfen. |
|
02-23-15, 12:47 PM | #13 | |
Das ist leider eine echt magere Beschreibung des Problems. Du musst in den Panels doch nur passende Widgets zur Anzeige der Daten erstellen und dann bei OnShow über diese die jeweils passenden Daten anzeigen lassen. Wie hast Du das bisher probiert und was genau ist dabei schiefgelaufen oder unklar? |
||
02-23-15, 05:05 PM | #14 |
In Zeile 78 versuchte ich jetzt die letzten Tage die Kräuter anzeigen zu lassen. Entweder hab ich meine Tabelle nicht richtig aufgebaut, versuche es am falschen Ort oder keine Ahnung. Den Aufbau der Tabelle hatte ich vor einigen Wochen bereits kurz dargestellt.
Lua Code:
|
|
02-23-15, 05:08 PM | #15 |
Ja zeig her den code für die Kräuter!
Oder hast Du überhaupt gar keine Idee wie Du das machen sollst? Ich steh auf dem Schlauch. |
|
02-24-15, 03:12 AM | #16 |
Come mai tutti scrivono in tedesco ? :-)
__________________
This is Unix-Land. In quiet nights, you can hear the Windows machines reboot. |
|
02-24-15, 05:31 AM | #17 |
Perché qui a quanto pare solo tedeschi discutono.
|
|
02-24-15, 12:20 PM | #18 | |
Mittlerweile habe ich gar keine Idee mehr, zumal ich neuling bin. Ich erwarte keinen fertigen Code von jemand hier aber eine verständliche Hilfestellung wäre klasse. |
||
02-24-15, 01:33 PM | #19 |
Ah. Ok.
Also erstmal wäre die Frage wie Du die ganzen Kräuter anzeigen lassen willst. Am einfachsten wäre natürlich eine Checkbox für jedes Kraut zu machen. Allerdings sind das ja teilweise eine ganze Menge. Könnte also unübersichtlich werden. Was gäbs noch? Eine Scrollist, ein Dropdown, oder Buttons für jedes Kraut. Auf jeden Fall solltest Du vorher erstmal überlegen wie das Anzeigekonzept aussehen soll. Am einfachsten wäre wie gesagt, einfach für jedes Kraut in jedem Panel eine Checkbox zu erstellen. Das würde ich ungefähr so wie unten machen. Aber Vorsicht: das hab ich trocken runtergeschrieben und nicht ausprobiert. Muss also nicht direkt so ohne Fehler funktionieren. Nur um die Richtung aufzuzeigen. Lua Code:
Last edited by Duugu : 02-24-15 at 01:39 PM. |
|
02-24-15, 02:58 PM | #20 |
Baoh vielen vielen Dank!
WoW mochte das "each" in den beiden Schleifen nicht aber was ich jetzt noch nicht verstehe ist, was WoW gegen das "self." hier meckert WoW jetzt noch. /edit: Ja mit Checkboxen wollte ich das auch machen. /edit2: ich glaub ich sollte mal wieder richtig ausschalfen... ich muss aus Lua Code:
Lua Code:
ich denke mal das "Smoothe" Lua Code:
Last edited by flow0284 : 02-24-15 at 03:43 PM. |
|
WoWInterface » Developer Discussions » Lua/XML Help » Need help to integrate Addon-Options |
«
Previous Thread
|
Next Thread
»
|
Display Modes |
Linear Mode |
Switch to Hybrid Mode |
Switch to Threaded Mode |
|
|