Quantcast Need help to integrate Addon-Options - Page 3 - WoWInterface
Thread Tools Display Modes
03-05-15, 05:37 PM   #41
flow0284
An Aku'mai Servant
Join Date: Jan 2015
Posts: 39
"Sichergehn" klingt doch schonmal gut

Aaaber XML...Skripten...
  Reply With Quote
03-06-15, 02:51 AM   #42
humfras
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Oct 2009
Posts: 131
Für die Lokalisierung bietet sich ein Grundgerüst mit ItemIDs/SpellIDs an, dass du dann lokalisiert in der SVar abspeicherst.

Für deine Optionen machst du es dir am einfachsten, wenn du das ganze über Ace3 (AceConfig etc.) aufbaust.
Dann sparst du dir die Gestaltung und kannst dich auf die Daten konzentrieren.
__________________
Author of VuhDo CursorCastBar OptiTaunt Poisoner RaidMobMarker
  Reply With Quote
03-06-15, 05:44 AM   #43
Duugu
Premium Member
 
Duugu's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2006
Posts: 851
Originally Posted by flow0284 View Post
"Sichergehn" klingt doch schonmal gut

Aaaber XML...Skripten...
Ich meinte, wowhead stellt alle Datenbankinfos auch als XML bereit. Beispiel:
http://en.wowhead.com/item=109125&xml
http://de.wowhead.com/item=109125&xml
http://fr.wowhead.com/item=109125&xml
http://ru.wowhead.com/item=109125&xml
usw

Du musst Dir also nur ein kleines Skript mit irgendeiner Lösung Deiner Wahl bauen, dass alle Item-IDs und Domains durchgeht und Dir den Namen aus dem XML holt. Das kannst Du in fast jeder Sprache/Umgebung machen die Dir genehm ist. Einfach mal nach "get XML script" oder so suchen. Da gibt's 1000 Möglichkeiten. Zum Beispiel per javascript:
Code:
<html>
<body>
<span id="demo">test</span>
<script>
var xmlhttp=false;
if (window.XMLHttpRequest)
   {// code for IE7+, Firefox, Chrome, Opera, Safari
   xmlhttp=new XMLHttpRequest();
   }
 else
   {// code for IE6, IE5
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
 xmlhttp.open("GET", "http://de.wowhead.com/item=109125&xml",true);
 xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4) {
  document.getElementById("demo").innerHTML = xmlhttp.responseXML.documentElement.getElementsByTagName("name").item(0).firstChild.nodeValue ;
  }
 }
 xmlhttp.send(null);
</script> 
</body>
</html>
Mehr dazu hier: http://www.w3schools.com/ajax/ajax_xmlfile.asp
Wenn Du auch nur halbwegs mit Javascript klarkommst solltest Du damit mit den ItemIDs eine Liste aller Namen bauen können. Du musst nur die ItemIDs und Domains in zwei arrays packen und durchgehen.

Last edited by Duugu : 03-06-15 at 06:11 AM.
  Reply With Quote
03-06-15, 06:00 AM   #44
Dorwido
A Wyrmkin Dreamwalker
AddOn Author - Click to view addons
Join Date: Apr 2006
Posts: 54
Originally Posted by Duugu View Post
Müsste btw eigentlich auch über Web-API von WoW gehen.
total vergessen das es ja die api gibt, darüber geht das auch.

Originally Posted by humfras View Post
Für deine Optionen machst du es dir am einfachsten, wenn du das ganze über Ace3 (AceConfig etc.) aufbaust.
Dann sparst du dir die Gestaltung und kannst dich auf die Daten konzentrieren.
frage mich wie das heut zu tage ist wollte vor zig jahren mal ace3 nutzen und die doku war einfach bescheiden, stand quasi überall nur man soll in andere addons schauen wie das genutzt wird, da war es defintiv schneller was eigenes zu schreiben als mit ace3 klar zu kommen.
__________________
Auction Analytics
http://www.wowauction.org/
  Reply With Quote
03-06-15, 06:44 AM   #45
Duugu
Premium Member
 
Duugu's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2006
Posts: 851
Hab Dir das Javascript-Beispiel unten mal etwas erweitert:

Code:
<html>
<body>
<span id="demo">test</span>
<script>
var xmlhttp=false;
if (window.XMLHttpRequest)
   {// code for IE7+, Firefox, Chrome, Opera, Safari
   xmlhttp=new XMLHttpRequest();
   }
 else
   {// code for IE6, IE5
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   
 
   var domains = ["fr", "de", "pt"];
   var items = [109125, 109126, 109127];
   var domCount = 0;
   var itemCount = 0;

 xmlhttp.open("GET", "http://" + domains[domCount] +".wowhead.com/item=" + items[itemCount] + "&xml",true);
xmlhttp.onreadystatechange=function() {
	if (xmlhttp.readyState==4) {
		document.getElementById("demo").innerHTML =  document.getElementById("demo").innerHTML + "<br/>"  + items[itemCount] + " " + domains[domCount] + " " + xmlhttp.responseXML.documentElement.getElementsByTagName("name").item(0).firstChild.nodeValue  ;
		itemCount = itemCount + 1;
		if(itemCount >= items.length){
			domCount++;
			itemCount = 0;
		}
		if(domCount < domains.length)
			{
			xmlhttp.open("GET", "http://" + domains[domCount] +".wowhead.com/item=" + items[itemCount] + "&xml",true);
			xmlhttp.send(null);
			}
}
}
 xmlhttp.send(null);
 
</script> 
</body>
</html>
[e]
Mit RU kommt mein Beispiel irgendwie nicht klar. Schätzungsweise ein Unicode-Problem. Musst Du rausfrickeln.

Last edited by Duugu : 03-06-15 at 06:49 AM.
  Reply With Quote
03-06-15, 06:47 AM   #46
Duugu
Premium Member
 
Duugu's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2006
Posts: 851
Originally Posted by Dorwido View Post
frage mich wie das heut zu tage ist wollte vor zig jahren mal ace3 nutzen und die doku war einfach bescheiden, stand quasi überall nur man soll in andere addons schauen wie das genutzt wird, da war es defintiv schneller was eigenes zu schreiben als mit ace3 klar zu kommen.
Sie ist immer noch bescheiden.

So geht's mir auch immer. Eigentlich kurz gedacht, weil man beim nächsten Projekt ja Zeit spart wenn man sich einmal in Ace einarbeitet. Aber ich bin nun mal ein Faultier und denke JEDES mal "ach, das dauert länger als selbst eben was zu schreiben".
  Reply With Quote
03-06-15, 09:33 AM   #47
flow0284
An Aku'mai Servant
Join Date: Jan 2015
Posts: 39
Originally Posted by Duugu View Post
Hab Dir das Javascript-Beispiel unten mal etwas erweitert:
.
.
.
[e]
Mit RU kommt mein Beispiel irgendwie nicht klar. Schätzungsweise ein Unicode-Problem. Musst Du rausfrickeln.
Danke dafür

Ich habe mir auch schon die Daten zusammengebaut.

Bsp:
Lua Code:
  1. L["109124"] = "Frostwurz"
  2. L["109125"] = "Feuerwurz"
  3. L["109126"] = "Gorgrondfliegenfalle"
  4. L["109127"] = "Sternenblume"
  5. L["109128"] = "Nagrandpfeilkelch"
  6. L["109129"] = "Taladororchidee"

Ich würde gerne die jeweilige itemID zum übersetzen nehmen. Und jetzt kommts (mal wieder), momentan stehe ich vor dem Problem das es noch nicht hinbekomme. Zu letzte habe ich es so versucht:
Lua Code:
  1. --alle kräuter der jeweiligen untertabelle durchgehen und jeweils eine checkbox erstellen
  2. for itemID, optionValue in pairs(MillButton_Herblist[expansion]) do
  3.     --name des krauts für das label der checkbox holen
  4.     itemName = L[itemID]
  5.     --checkbox erstellen (siehe helper function unten) und für späteren zugriff referenz auf checkbox-objekt mit itemid vom kraut als index in herbCheckboxes speichern
  6.     self.herbCheckboxes[itemID] = Addon:CreateOptionsCheckButton(self, itemName)
  7.     self.herbCheckboxes[itemID].itemID = itemID
  8.     --passend anordnen
  9.     self.herbCheckboxes[itemID]:SetPoint("TOPLEFT", self, "TOPLEFT", tAnchorPointX, tAnchorPointY)

Ich "google" dann man noch etwas weiter. Vllt. habe ich ja auch nur einen Denkfehler.
  Reply With Quote
03-06-15, 09:36 AM   #48
Dorwido
A Wyrmkin Dreamwalker
AddOn Author - Click to view addons
Join Date: Apr 2006
Posts: 54
da fehlt was
Addon:CreateOptionsCheckButton tut
__________________
Auction Analytics
http://www.wowauction.org/
  Reply With Quote
03-06-15, 09:42 AM   #49
Duugu
Premium Member
 
Duugu's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2006
Posts: 851
Originally Posted by flow0284 View Post
Ich "google" dann man noch etwas weiter. Vllt. habe ich ja auch nur einen Denkfehler.
Man müsste den gesamten Code inkl. aller Tabellen kennen um das beurteilen zu können.

So geraten würde ich sagen Du musst die Anführungszeichen um die ItemIDs wegnehmen:

L[109124] = "Frostwurz"

Last edited by Duugu : 03-06-15 at 09:44 AM.
  Reply With Quote
03-06-15, 09:50 AM   #50
flow0284
An Aku'mai Servant
Join Date: Jan 2015
Posts: 39
Ich hänge ma das komplette Projekt hier an.

Die Idee mit dem weglassen der Anführungszeichen habe ich eben auch schon gehabt. Leider hat das nichts gebracht.
Attached Files
File Type: zip MillButton.zip (19.5 KB, 65 views)
  Reply With Quote
03-06-15, 10:40 AM   #51
Dorwido
A Wyrmkin Dreamwalker
AddOn Author - Click to view addons
Join Date: Apr 2006
Posts: 54
Originally Posted by flow0284 View Post
Ich hänge ma das komplette Projekt hier an.

Die Idee mit dem weglassen der Anführungszeichen habe ich eben auch schon gehabt. Leider hat das nichts gebracht.
Also in der angehängten version fehlt das definieren von L in der options.lua ansonsten so geht es:

local itemName = L[tostring(itemID)]

du definierst die übersetzung halt als string und fragt mit ne integer ab.
__________________
Auction Analytics
http://www.wowauction.org/
  Reply With Quote
03-06-15, 05:40 PM   #52
humfras
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Oct 2009
Posts: 131
Originally Posted by Duugu View Post
Sie ist immer noch bescheiden.

So geht's mir auch immer. Eigentlich kurz gedacht, weil man beim nächsten Projekt ja Zeit spart wenn man sich einmal in Ace einarbeitet. Aber ich bin nun mal ein Faultier und denke JEDES mal "ach, das dauert länger als selbst eben was zu schreiben".
Woot?

Ich komm gleich mit dem Lineal und brat dir eins über!
__________________
Author of VuhDo CursorCastBar OptiTaunt Poisoner RaidMobMarker
  Reply With Quote
03-06-15, 06:58 PM   #53
Duugu
Premium Member
 
Duugu's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2006
Posts: 851
Originally Posted by humfras View Post
Woot?

Ich komm gleich mit dem Lineal und brat dir eins über!
Nicht das Lineal! NICHT DAS LINEAL!!! Lieber den Gürtel.

  Reply With Quote
03-06-15, 07:08 PM   #54
flow0284
An Aku'mai Servant
Join Date: Jan 2015
Posts: 39


Ich danke Euch für Eure bisherige Hilfe. Ein paar Sachen sind mir zwar noch unklar, aber da muss und werde ich noch ein wenig lesen.

Eine letzte Sache habe ich noch, kann es sein das unter (un)gewissen Umständen nicht richtig gelootet werden kann? Manchmal, wenn ich den Button für das Addon mehr oder weniger spamme dann kann es vorkommen, dass das Lootfenster sich nicht öffnet aber die Kräuter gemahlen wurden. Bis jetzt ist mir das nur mit dem automatischen Plündern passiert.
  Reply With Quote
03-07-15, 07:45 AM   #55
Duugu
Premium Member
 
Duugu's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2006
Posts: 851
Da bin ich überfragt. Um ehrliche zu sein ich weiß nicht mal genau was Dein Addon eigentlich macht.
  Reply With Quote
03-08-15, 07:24 AM   #56
flow0284
An Aku'mai Servant
Join Date: Jan 2015
Posts: 39
Originally Posted by Duugu View Post
Da bin ich überfragt. Um ehrliche zu sein ich weiß nicht mal genau was Dein Addon eigentlich macht.


Das Addon soll beim mahlen von Kräutern helfen. Man kann, dank Eurer Hilfe, auswählen welche Kräuter man mahlen lassen will ohne jedes mal ein ggf. vorhandenes "mahlen Makro" ändern zu müssen. Mehr macht das Addon nicht.
  Reply With Quote
03-10-15, 05:15 AM   #57
Dorwido
A Wyrmkin Dreamwalker
AddOn Author - Click to view addons
Join Date: Apr 2006
Posts: 54
Hab es mal benutzt und konnte das problem mit dem spam clicken nicht nachvollziehen und war erstmal am überlegen wie man es benutzt, hätte eigentlich erwartet man gibt ne command ein kriegt dann ne bar mit allen herbs die man in der tasche hat und kann dann klicken welche man mahlen will.
__________________
Auction Analytics
http://www.wowauction.org/
  Reply With Quote

WoWInterface » Developer Discussions » Lua/XML Help » Need help to integrate Addon-Options

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off