<challenge> mit id= vs. name= und <hero> mit by-challenge

XML-Variante AOQML, ihre Möglichkeiten, Ergänzungen und Entwicklung...

Moderatoren: Kekse, A-Team

<challenge> mit id= vs. name= und <hero> mit by-challenge

Beitragvon Lowlander » Mo 28 Sep, 2020 09:11

Moin allerseits,

in https://forum.antamar-community.de/viewtopic.php?f=77&t=9662&p=333227#p333225 kam hervor, dass wir das Ergebnis einer <challenge ...> sowohl in name=... als normale Variable als auch unter id=... mit erweiterten Informationen zur Verwendung in <held by-challenge=...> abspeichern. Das finde ich unlogisch und fehleranfällig. Zudem ist eine id auf XML-Ebene eigentlich eine in einem Dokument eindeutige ID, also ein vordefiniertes XML-Attribut, dass hier missbraucht wurde. (Die id=... meint <retain> tatsächlich die XML-id, um nämlich mit Dateiname+id eine eindeutige Stelle zu finden.)

Ich würde das daher gerne aufräumen und folgendes umbauen:
  1. AOQML-Engine: falls in einer <challenge> keine id= aber ein name= angegeben wird, wird der Ausdruck unter name= auch als id für <hero challenge-by="...> verwendet.
  2. aoqml.xsd: als nächstes entferne ich aus dem challenge-tag in der aoqml.xsd die das id-Attribut, darauf reagieren dann auch automatisch neuere Versionen des AOQML-Editors.
  3. Doku: dann passe ich die Doku im Wiki an und kündige die Änderung als AOQML-Änderung im Forum an.
  4. Antamar/Queste+ZBs: zuletzt stelle ich alle ZB's und Queste, die sich im Antamar-git befinden so um, dass nur in <challenge> nur noch name= verwendet wird.

Wir müssten nur bei neu ins Spiel kommenden Questen+ZBs dann darauf achten, dass das auch richtig gemacht wird, wobei der Editor ja ein <hero by-challenge=...> ohne eine <challenge name=...> als Fehler erkennen wird - eigentlich sogar jetzt schon, auch wenn das derzeit eigentlich noch eine Falschmeldung ist.

Ihr könnt jetzt schon einfach auch name= ZUSÄTZLICH in der <challenge> mit gleichen Wert wie id=... verwenden, das wäre dann zu beiden Varianten kompatibel:

Code: Alles auswählen
<challenge talent="Programmieren" name="ProgrammierenErgebnis" id="ProgrammierenErgebnis">
<success>...


Falls ihr den Wert nur in derselben Laufzeit-Szene (also inkl. replays und includes) verwendet, könnt ihr auch scope="scene" dazu schreiben, um die Datenbank sauber zu halten.

Je weniger seltsame Unterschiede es gibt, desto weniger fehleranfällig ist die Engine und sind Quests+ZBs, daher plädiere ich dafür, das umzustellen. Gegenrede?
[/code]

Grüße
... Lowlander
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: <challenge> mit id= vs. name= und <hero> mit by-challeng

Beitragvon Lowlander » Mo 05 Okt, 2020 16:29

Die Umstellung ist erfolgt.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: <challenge> mit id= vs. name= und <hero> mit by-challeng

Beitragvon Kuo » Mo 05 Okt, 2020 22:39

Ist das richtig so, dass name und scope zweifach angegeben werden müssen oder ist das im Wiki einfach falsch hinterleg? Siehe: https://wiki.antamar.eu/index.php/Hero#by-challenge
Kuo
Herold
Herold
 
Beiträge: 145
Registriert: Mo 18 Mai, 2020 17:16
Heldenname: Kuo

Re: <challenge> mit id= vs. name= und <hero> mit by-challeng

Beitragvon cvk » Mo 05 Okt, 2020 22:42

Nein, das ist vermutlich nur ein Copy & Paste-Fehler. Kannst du gerne korrigieren.
"[T]he Land of Antamar, where freedom reigns for all."
Beatty, Susi; Gunter, Kery: Angie the Ant and the Bumblebee Tree. O.O., o.V., 2005.
Benutzeravatar
cvk
Oberst
Oberst
 
Beiträge: 3088
Registriert: Fr 13 Jul, 2012 16:10
Heldenname: Lunarias Mondenweh


Zurück zu Questen, Abenteuer und Zufallsbegegnungen (inkl. AOQML)



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron