AOQML - Ein paar Fragen

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

Moderatoren: Kekse, A-Team

Re: AOQML - Ein paar Fragen

Beitragvon Trokhanor » Di 27 Sep, 2016 13:02

Danke. Hab noch ein bisschen getestet und es wird wohl wirklich das schnellste Verkehrsmittel genommen. Anscheinend war mein erster Testversuch (kurze Strecke) vor meinem Beitrag nicht gut (oder ich habe tatsächlich eine Reisezeitverlängerung übersehen).
Trokhanor
Feldwebel
Feldwebel
 
Beiträge: 533
Registriert: Mo 02 Mär, 2009 20:07
Heldenname: Lorenzo di Avarra

Re: Projekt: Kampf ZBs

Beitragvon SID » So 23 Okt, 2016 11:10

Also gut. Obwohl es für das obige zu spät ist, für weitere eingaben versuche ich jetzt mal zu lernen.
Da ich von den Dingen null Schimmer habe
Wie löse ich folgenden Dinge in der Programmiersprache:

if Probe()>= x+10 then 1
if x+10> Probe()>=x then 2
else 3
1 HANDLUNG A
2 HANDLUNG B
3 HANDLUNG C

Gepäckabfrage generell, ob jemand ein Item hat war das has()?
Besondere, wie etwa
Abfrage ob item A und B, ob item A oder itemB, oder ob keines davon alles in einer Abfrage
Abfrage nach einem Begleiter/Lasttier
Abfrage nach einem Begleiter/Hund der ausgebildeter Jagdhund ist.

Nur mal so aus dem Kopf.
SID
Leutnant
Leutnant
 
Beiträge: 863
Registriert: Di 08 Mär, 2011 16:01
Heldenname: Liam Sternentänzer

Re: Projekt: Kampf ZBs

Beitragvon SID » So 23 Okt, 2016 11:13

Achja und generelle Stufenabfrage des Helden wäre noch wichtig.
SID
Leutnant
Leutnant
 
Beiträge: 863
Registriert: Di 08 Mär, 2011 16:01
Heldenname: Liam Sternentänzer

Re: Projekt: Kampf ZBs

Beitragvon cvk » So 23 Okt, 2016 13:22

Stufenabfrage gibt es in dem Sinne nicht, das geht nach Erfahrung:

Code: Alles auswählen
<switch attribute="EP">
  <case min="10000">
    <!-- 10000 oder mehr -->
  </case>
  <else>
    <!-- Weniger als 10000 -->
  </else>
</switch>

<switch attribute="EP">
  <case max="10000">
    <!-- 10000 oder weniger -->
  </case>
  <else>
    <!-- Mehr als 10000 -->
  </else>
</switch>

<switch attribute="EP">
  <case min="10000" max="20000">
    <!-- Mindestens 10000 höchstens 20000 -->
  </case>
  <else>
    <!-- nicht in dem angegebenen Rahmen -->
  </else>
</switch>

<switch attribute="EP">
  <case val="10000">
    <!-- Genau 10000 EP. Ob man das jemals braucht? -->
  </case>
  <else>
    <!-- alle anderen möglichen Werte -->
  </else>
</switch>


Ginge natürlich auch mit has. Ich bevorzuge switch, da man selten will, dass der Spieler die Abfrage sieht und switch ist immer unsichtbar.

Falls ich das mit der Probe richtig verstehe:

Code: Alles auswählen
<challenge talent="Name" mod="35">
  <success double="double">
    <!-- Doppel 1 -->
  </success>
  <success min="10">
    <!-- Probe mit mindestens 10 Fep -->
  </success>
  <success>
    <!-- Bestanden mit weniger als 10 Fep -->
  </success>
  <failure double="double">
    <!-- Doppel 20 -->
  </failure>
  <failure>
    <!-- Normaler Fehlschlag -->
  </failure>
</challenge>


Man kann also variieren, wie gut oder schlecht eine Probe ausging. Wichtig ist nur, dass von oben nach unten ausgewertet wird und der erste passende Zweig gewählt wird, man muss also gewichten. Von besser nach schlechter im Positiven und von richtig mies nach nicht ganz so mies im Negativen.

Soweit erstmal. Und ja, Gegenstände per has. Wenn es mehr als ein gegenstand sein muss, werden sie mit + verknüpft, wenn es einer von mehreren sein darf, mit |
"[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

Re: Projekt: Kampf ZBs

Beitragvon Hagen vH » So 23 Okt, 2016 13:27

SID hat geschrieben:Also gut. Obwohl es für das obige zu spät ist, für weitere eingaben versuche ich jetzt mal zu lernen.


Danke für deine Ideen, SID.

Mittlerweile ist AOQML die Standardsprache für Antamar, die auch viel Intuitiver ist. Ich würde die ZB entsprechend in AOQML umschreiben, damit wir auch das up to date haben. Soll ich deine Ideen einbringen, oder willst du es selbst versuchen?
Kanzler der Charukin, aktuell aktiv für Alt-Korumand.
Hagen vH
Ritter
Ritter
 
Beiträge: 764
Registriert: Di 04 Feb, 2014 19:50
Heldenname: Paquadea

Re: Projekt: Kampf ZBs

Beitragvon SID » So 23 Okt, 2016 14:38

Nein, das dauert dann zu lange. Schreibe aber gerade an dem ersten Teil einer Questreihe (nur wenn der erste Teil gefällt gehts weiter) "Dämonen über Antamar".
Idee: Dämonen unterwerfen Tiere ihrem Willen um so Zugriff auf die Welt zu bekommen.
Dazu soll es Startquesten in verschiedenen Teile Antamars geben, an deren Ende es jeweils die Info gibt, das noch weitere Stellen infiziert sind.
Planung ist, dass Geger stufenabhängig sind und, da der Char bei der ersten dieser Questen die Aufmerksamkeit der Dämonen auf sich gezogen hat, es von Quest 1 bis Quest 3 immer schwerer wird (alles potentielle Startquesten, aber wenn Du schon eine davon hattest wird es schwerer und wenn Du schon 2 hattest dann noch schwerer).
Hast Du alle 3 bist Du freigeschaltet für 4+ aber schaffen kann man die eigendlich nur als Gruppe.
Sollte dann Hinweis geben, dss nur Gruppe Erfolgsaussichten hat, aber man darf auch alleine weitermachen.
Naja, da wollte ich das dann mal versuchen zumindest Teile davon selbst zu erstellen und dabei zu lernen.
Daher die allgemeinen Fragen, auch wenn einige sich spziell mit den Problemen hier beschäftigen.
Zuletzt geändert von SID am So 23 Okt, 2016 14:47, insgesamt 1-mal geändert.
SID
Leutnant
Leutnant
 
Beiträge: 863
Registriert: Di 08 Mär, 2011 16:01
Heldenname: Liam Sternentänzer

Re: Projekt: Kampf ZBs

Beitragvon SID » So 23 Okt, 2016 14:42

Bin nicht sicher, dass Du das mit der Probe richtig verstehst.
Es sollen Bereiche abgesteckt werden.

Wenn die Probe wirklich richtig gut ist, also Probe+10 oder beser geschafft, dann passiert A
Wenn die Probe erfolgreich ist, aber nit richtig gut, dann passiert B
Wenn die Probe fehlschlägt, dann passiert C.
SID
Leutnant
Leutnant
 
Beiträge: 863
Registriert: Di 08 Mär, 2011 16:01
Heldenname: Liam Sternentänzer

Re: Projekt: Kampf ZBs

Beitragvon SID » So 23 Okt, 2016 14:46

Fürs lernen wäre es nicht Schlecht, wenn Du mir die Vorschläge, die ich gemacht habe in umgesetzter Form, sprich Programmiersprache zur Verfügung stellst. Das würde den Lernprozess beschleunigen.
SID
Leutnant
Leutnant
 
Beiträge: 863
Registriert: Di 08 Mär, 2011 16:01
Heldenname: Liam Sternentänzer

Re: Projekt: Kampf ZBs

Beitragvon cvk » So 23 Okt, 2016 15:33

Also ... Geprobt wird immer mit einer gewissen Erschwernis/Erleichterung. Standardmäßig 0. Wollte man in PHP verschiedene Zweige unterteilen, müsste man das Probenergebnis zwischenspeichern und dann die Variable abfragen. Die Funktion, die die Talentprobe ausführt gibt einfach nur eine Zahl zurück. Alles >= 0 ist bestanden, alles darunter misslungen.

Code: Alles auswählen
$helper = talent_probe('sinnenschaerfe', 5); // Probe mit Erschwernis 5

if($helper >= 10) {
  // Was soll passieren, wenn die Probe besonders gut war.
}
elseif ($helper >= 0) {
  // Was soll passieren, wenn die Probe einfach nur erfolgreich war.
}
else {
  // Was soll passieren, wenn die Probe fehlgeschlagen ist.
}


In AOQML wird einem das Zwischenspeichern abgenommen. Runtergebrochen auf dein Beispiel:

Code: Alles auswählen
    <challenge talent="Name" mod="X">
      <success min="10">
        <!-- Hier kommt alles hin, bei einem besonders guten Ergebnis. -->
      </success>
      <success>
        <!-- Hier kommt alles hin, was passiert, wenn man einfach nur besteht. -->
      </success>
      <failure>
        <!-- Hier kommt alles hin, was bei einem normalen Fehlschlag passiert. -->
      </failure>
    </challenge>


Wobei ich dein X nicht so recht verstehe. Ist das die geplante Erschwernis? Hab's hier mal so angenommen. Die Zahl, die beim ersten success-Zweig steht sind die FEP, also die Abweichung vom Würfelergebnis. Je höher die FEP, desto besser ging die Probe aus. Je niedriger, desto schlechter ging die Probe aus. Weiß nicht, ob dass hilft oder wir immernoch aneinander vorbeireden. ^^

Außerdem bietet AOQML noch die Möglichkeit, auch den Fall Doppel 1 und Doppel 20 gesondert zu betrachten, wenn man denn will.
"[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

Re: Projekt: Kampf ZBs

Beitragvon SID » So 23 Okt, 2016 17:06

Vergiss jetzt mal das x. Diese mathematische Formulierung scheint die Dinge nur unnötig zu verkomplizieren.

Probe +3 wird abgehalten.

Möglichkeit 1
Es bleiben 10 FeP oder mehr übrig. Jetzt will ich aber keine Komplettbeschreibung an dieser Stelle machen,
weil es wieder verschiedene Verzweigungen gibt.
Also will ich einen Nahmen festlegen, bei dem es dann weiter geht...bedingter Sprungbefehl.
Sagen wir Nahme A

Möglichkeit 2
Es bleiben 0 FeP übrig oder mehr, aber wniger als 10, also bestanden. jetzt geht es bei Nahme B weiter

Möglichkeit
Es wird vergeigt, jetzt weiter bei Nahme C

A
Text...es wird eine Probe abgelegt.
Bestanden=> es geht weiter bei Nahme A'
Nicht bestanden es geht weiter bei Nahme B'

B
Text es wird eine Probe abgelegt
Extrem Gut bestanden => es geht weiter bei Nahme A'
Bestanden es geht weiter bei Nahme B'
Nicht bestanden => es geht weiter bei Nahme C

Nahme A' Ergebnis 1
Nahme B' Ergebnis 2
Nahme C Ergebnis 3

Wenn ich dich Richtig verstanden habe ginge das vielleicht so(?):

<challenge talent="Name" mod="3">
<success min="10">
<!-- Probe mit mindestens 10 Fep --> Nahme A
</success>
<success>
<!-- Bestanden mit weniger als 10 Fep --> Nahme B
</success>
<failure>
<!-- Normaler Fehlschlag --> Nahme C
</failure>
</challenge>


Nahme A
<challenge talent="Name" mod="3">
<success>
<!--Normaler Erfolg --> Nahme A'
</success>
<failure>
<!-- Normaler Fehlschlag --> Nahme B'
</failure>
</challenge>

Nahme B
<challenge talent="Name" mod="3">
<success min="20">
<!-- Probe mit mindestens 20 Fep --> Nahme A'
</success>
<success>
<!-- Bestanden mit weniger als 10 Fep --> Nahme B'
</success>
<failure>
<!-- Normaler Fehlschlag --> Nahme C
</failure>
</challenge>

Nahme A' Ergebnis 1
Nahme B' Ergebnis 2
Nahme C Ergebnis 3

Weiß nicht wie ich es anders ausdrücken soll. Sonst muss ich mal rumprobieren.
Versuch macht bekanntlich kluch:-)

So sollte hier vielleicht nicht weiter Diskutiert werden. Kannst ja mal PM schicken.
Vielen Dank für die Hilfe.
SID
Leutnant
Leutnant
 
Beiträge: 863
Registriert: Di 08 Mär, 2011 16:01
Heldenname: Liam Sternentänzer

Re: Projekt: Kampf ZBs

Beitragvon Pergor » So 23 Okt, 2016 17:12

Aber haargenau das liefert dir doch der Code von cvk. Wo ist das Problem?

Code: Alles auswählen
 <challenge talent="Name" mod="X">
      <success min="10">
  <include target="Nahme A"/>
      </success>
      <success>
  <include target="Nahme B"/>
      </success>
      <failure>
  <include target="Nahme C"/>
      </failure>
    </challenge>

Der "include" leitet auf neue Szenen weiter und in diese kannst du dann weitere Proben einfügen. Könntest du auch direkt, aber der "include"-Befehl erlaubt, das Ganze deutlich übersichtlicher zu gestalten. Verschachtelte Proben sind umständlich in Wartung und Korrektur.

mod="X" bedeutet eben, dass die Probe um X erschwert ist.
Benutzeravatar
Pergor
Oberleutnant
Oberleutnant
 
Beiträge: 1113
Registriert: Do 07 Jun, 2007 18:45
Wohnort: Turm des Magiers
Heldenname: inaktiv

Re: AOQML - Ein paar Fragen

Beitragvon cvk » So 23 Okt, 2016 17:53

Ok ... Hier mal eine kleine ZB, die veranschaulicht, was passiert, wenn man sie auf dem Testserver durchlaufen lässt:

Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<scene xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://eisentrutz.antamar.eu/aoqml.xsd">

                        <challenge talent="Einschüchtern" result="20">
                          <success min="20">
                            <p>Woah! 20 FEP!!!</p>
                            <p>Ich frage mich, wie es hier wohl weitergeht? Also bei genau 20</p>
                          </success>
                          <success>
                            <p>Weniger als 20 FEP aber erfolgreich.</p>
                            <p>Ich frage mich, wie es hier wohl weitergeht? Also bei  kleiner 20.</p>
                          </success>
                          <failure>
                            <p>Leider fehlgeschlagen</p>
                            <p>Muss wohl Minus sein</p>
                          </failure>
                        </challenge>

                        <challenge talent="Sinnenschärfe" result="10">
                          <success min="20">
                            <p>Woah! 20 FEP!!!</p>
                            <p>Ich frage mich, wie es hier wohl weitergeht? Also bei genau 20</p>
                          </success>
                          <success>
                            <p>Weniger als 20 FEP aber erfolgreich.</p>
                            <p>Ich frage mich, wie es hier wohl weitergeht? Also bei  kleiner 20.</p>
                          </success>
                          <failure>
                            <p>Leider fehlgeschlagen</p>
                            <p>Muss wohl Minus sein</p>
                          </failure>
                        </challenge>
                       
                        <challenge talent="Schwimmen" result="-1">
                          <success min="20">
                            <p>Woah! 20 FEP!!!</p>
                            <p>Ich frage mich, wie es hier wohl weitergeht? Also bei genau 20</p>
                          </success>
                          <success>
                            <p>Weniger als 20 FEP aber erfolgreich.</p>
                            <p>Ich frage mich, wie es hier wohl weitergeht? Also bei  kleiner 20.</p>
                          </success>
                          <failure>
                            <p>Leider fehlgeschlagen</p>
                            <p>Muss wohl Minus sein</p>
                          </failure>
                        </challenge>
</scene>


Darauf achten, dass das <?xml und das <scene ohne Leerzeichen davor eingefügt werden, sonst kommt eine Fehlermeldung. Hier sind drei Proben, mit erzwungenen Resultaten. Ausgegeben wird bei jeder Probe nur genau das, was zwischen den entsprechenden Tags steht. Alles andere wird ignoriert. Das sind quasi Sprungmarker (die super gefährlich sind und heutzutage kaum noch eingesetzt werden). Wenn du jetzt etwas hast, ads an mehreren Stellen drankommen soll vom Ablauf wird es kompliziert. Da gäbe es einerseits die includes, die Pergor erwähnt, andererseits retain replay. Aber da bewegen wir uns in einem Bereich, den ich einem Einsteiger in unsere XML-Sprache nicht zumuten wollen würde.

Die Ausgabe der ZB oben lautet:

Probe Einschüchtern
Woah! 20 FEP!!!

Ich frage mich, wie es hier wohl weitergeht? Also bei genau 20


Probe Sinnenschärfe
Weniger als 20 FEP aber erfolgreich.

Ich frage mich, wie es hier wohl weitergeht? Also bei kleiner 20.


Probe Schwimmen
Leider fehlgeschlagen

Muss wohl Minus sein


PS.: Das result="" erzwingt auf dem Testserver ein definiertes Ergebnis.
"[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

Re: AOQML - Ein paar Fragen

Beitragvon Trokhanor » Di 08 Nov, 2016 21:56

Soweit ich das sehe, macht der Befehl travel bei Gruppen Probleme. Ein Beispiel ist die (sehr kleine Quest) Die_Große_Bibliothek_von_Hochquell_-_Die_Verbannung_von_der_Insel_Murgyp.

Neufluren: "Travel to '727' cannot be started as no way is known in /var/www/Antamar_quest/includes/classes/aoqml/quests/1542/nach_neufluren.xml//switch/else/travel/ (Zeile 31)"

Caerfurt: "Travel to '738' cannot be started as no way is known in /var/www/Antamar_quest/includes/classes/aoqml/quests/1542/nach_caerfurt.xml//switch/else/travel/ (Zeile 31)"


Die Strecken sind vorhanden. Für Solohelden geht travel einwandfrei. Am Schiff (obiges sind Seestrecken) liegt es nicht, passiert auch beim Landweg. Es sind alle Helden selektiert.
Trokhanor
Feldwebel
Feldwebel
 
Beiträge: 533
Registriert: Mo 02 Mär, 2009 20:07
Heldenname: Lorenzo di Avarra

Re: AOQML - Ein paar Fragen

Beitragvon Kekse » Do 02 Feb, 2017 01:09

Moin, ich bin mir unklar darüber, wie ich es am sinnvollsten mache, dann bei einer ortsfesten Quest, die EP für jeden Erfolg/Misserfolg nur einmal vergeben werden. Hätte jemand einen Vorschlag?
Zuständiger Helfer für (G)-ZB-Abnahme und Wochen-/Monatsprojekte

Ich helfe gerne bei der Erstellung von ZB und hinterlasse noch viel lieber meine Unterschrift zur Abnahme im Wiki
Benutzeravatar
Kekse
Ritter
Ritter
 
Beiträge: 763
Registriert: Mi 02 Sep, 2015 01:03
Heldenname: Iain Macfarland

Re: AOQML - Ein paar Fragen

Beitragvon cvk » Do 02 Feb, 2017 01:13

Restrict

Meinst du den hier?
"[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

VorherigeNächste

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



Wer ist online?

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

cron