AOQML - Ein paar Fragen

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

Moderatoren: Kekse, A-Team

Re: AOQML - Ein paar Fragen

Beitragvon Xondorax » Sa 06 Nov, 2010 13:31

Kann ich eigentlich Pergamente mit einem Text alleine erstellen oder muss ich sowas vorher beantragen?
Ich möchte in einem Quest dem Held ein Pergament mit einem Text darauf geben und danach später fragen.
Benutzeravatar
Xondorax
Heiliger
Heiliger
 
Beiträge: 6520
Registriert: Fr 11 Apr, 2008 21:19
Heldenname: Lawister, der Windwolf

Re: AOQML - Ein paar Fragen

Beitragvon Edvard » Sa 06 Nov, 2010 14:04

Das kannst du doch mit einer Variable umgehen.
Z.B. einfach <hatPergament> nen Wert zuweisen und dann in den entsprechenden Szenen per <switch> abfragen/lesbar machen. Wenn du willst kannst du so auch bei jeder Szene ne Extra-Option einführen, in der der Spieler sich das Pergament nochmal durchlesen kann.

Das ist zwar etwas umständlich, aber ich denke, dass das, was dir vorschwebt, schon ziemlich extravagant ist. :wink:
Ist Unmögliches denkbar? Und wenn ja, warum Pfefferminztee?
Benutzeravatar
Edvard
Ritter
Ritter
 
Beiträge: 669
Registriert: Sa 12 Jul, 2008 21:40
Heldenname: Tutko Samthand
Mitglied bei: KOBRA

Re: AOQML - Ein paar Fragen

Beitragvon Xondorax » Sa 06 Nov, 2010 14:17

Danke Edvard, also ist das wohl doch nicht so einfach. :D

Eine neue Frage:
Kann man eine Aktion auch mehrmals machen lassen ohne das man eine neue Szene programmieren muss?

Code: Alles auswählen
[i]Szene: Öffnen[/i]
Fehlschlag ...
<choice target="Öffnen">Du versuchst es noch einmal.</choice>

Gelungen
<choice target="Weiter">Du hast es geschafft.</choice>
Benutzeravatar
Xondorax
Heiliger
Heiliger
 
Beiträge: 6520
Registriert: Fr 11 Apr, 2008 21:19
Heldenname: Lawister, der Windwolf

Re: AOQML - Ein paar Fragen

Beitragvon Xondorax » Sa 06 Nov, 2010 14:32

So stelle ich mir das vor.

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">

<p>Du ziehst deine Waffe und schaust dir das Schloß nochmal an. Mit all deiner Kraft schlägst du auf das Schloß ein.</p>

<store name="Versuch" scope="scene"></store>

<random>
    <case>
       <p>Deine Waffe rutscht am Schloß ab und du schlägst auf den Boden.</p>
       
       <set name="Versuch" inc="1" show="none"/>
       
       <ul>
         <li><choice target="Aufschlagen">Du versuchst es noch einmal.</choice></li>
         <li><choice target="Schlafen">Du lässt es und gehst schlafen.</choice></li>
       </ul>
              
    </case>
    <case>...</case>
</random>

</scene>


Oder wird die Variable dann immer wieder genullt? Ich wollte sie bis zum Wert X hochzählen lassen und dann eine Aktion starten.
Benutzeravatar
Xondorax
Heiliger
Heiliger
 
Beiträge: 6520
Registriert: Fr 11 Apr, 2008 21:19
Heldenname: Lawister, der Windwolf

Re: AOQML - Ein paar Fragen

Beitragvon Mitsune » Sa 06 Nov, 2010 14:40

Ja, wenn du nach einem Fehlversuch die gleiche Szene wieder aufrufst, dann sicherlich. Der Befehl wird ja erneut verarbeitet.
Das müsstest du aufteilen:
Szene 1 - Variable setzen
Szene 2 - Fehlversuch: Szene 2 wieder aufrufen und Variable erhöhen - Geglückter Versuch: weiter Szene 3 - Variable über maximalen Wert: Was auch immer.
Andererseits bin ich nicht sicher, ob man Variablen in AOQML überhaupt initialsieren muss. Es kann auch sein, das man sie gleichzeitig "erschafft", wenn man sie erhöht. Dann sollten sie mit NULL anfangen, also leer sein. In dem Fall kanst Du Dir den store-Befehl sparen und berschränkst dich einfach darauf, die Variable wenn gewünscht zu erhöhen.
lg Maikiko
Minoru Mitsune (実 三常)
"Die Großen hören auf zu herrschen, wenn die Kleinen aufhören zu kriechen"
Johann Christoph Friedrich von Schiller (1759 - 1805)
Bild
Benutzeravatar
Mitsune
Major
Major
 
Beiträge: 2340
Registriert: So 30 Nov, 2008 13:16
Wohnort: Myakô
Heldenname: Minoru Mitsune (実 三常)

Re: AOQML - Ein paar Fragen

Beitragvon Edvard » Sa 06 Nov, 2010 14:44

Also dass man ne Szene aus sich selbst heraus immer wieder starten kann, geht ohne Probleme. Ob die Variable genullt wird, bin ich mir gerade nicht absolut sicher, aber normalerweise sollte das nicht der Fall sein, sondern sie sollte gespeichert werden.

Um sicher zu gehen, kannst du allerdings das <store name="Versuch" scope="scene"></store> in die Start-Szene oder so packen. Wo du die Variable einführst ist ja egal. :wink:
(Und braucht die Variable keinen Wert am Anfang? Also z.B. <store name="Versuch" scope="scene">0</store>... :? )

Aber wieso verwendest du <random>? Hast du dich nur verklickt und meintest eigentlich <switch>?
...
...
...
Oh Mann, ich sollte lieber an meiner Quest schreiben und nicht hier Ratschläge erteilen. :lol:

EDIT @ Maikiko: Dass man ne Variable über <set> einführen kann, ist technisch möglich, allerdings meinte Gaddezwerch mal, dass es schöner ist, wenn man sie vorher per <store> festlegt.

Ansonsten bin ich mal gespannt, ob du recht hast, wenn du sagst, dass die Variable immer wieder genullt wird. :wink:
Zuletzt geändert von Edvard am Sa 06 Nov, 2010 14:48, insgesamt 1-mal geändert.
Ist Unmögliches denkbar? Und wenn ja, warum Pfefferminztee?
Benutzeravatar
Edvard
Ritter
Ritter
 
Beiträge: 669
Registriert: Sa 12 Jul, 2008 21:40
Heldenname: Tutko Samthand
Mitglied bei: KOBRA

Re: AOQML - Ein paar Fragen

Beitragvon Gaddezwerch » Sa 06 Nov, 2010 14:45

Um einen Code mehrmals ausführen zu lassen kann man ihn in ein retain packen und mit replay an den gewünschten Stellen einfach abspielen lassen (geht beliebig oft), siehe retain replay
:meidetdasorkland: <-- Das meine ich ernst! Wirklich!
Gaddezwerch
Programmierer
Programmierer
 
Beiträge: 4848
Registriert: Fr 18 Mai, 2007 00:04
Heldenname: Alos Traken

Re: AOQML - Ein paar Fragen

Beitragvon Xondorax » Sa 06 Nov, 2010 14:47

Ich wollte wirklich, das per Zufall ausgewählt wird, was passiert wenn der Held zuschlägt. Nenne es Schicksal. :D

Danke für den Tipp Maikiko und die anderen.

Ist mein erster Quest und da stosse ich schon an meine Grenzen. :D

Aber kann ich ein Replay starten in einem Retain? Das verstehe ich nicht ganz.

Code: Alles auswählen
Szene 1:
...
<store name="Versuch" scope="scene">0</store>
...

Szene 2:
<retain name="Schlag">
<p>Du ziehst deine Waffe und schaust dir das Schloß nochmal an. Mit all deiner Kraft schlägst du auf das Schloß ein.</p>

<random>
    <case>
       <p>Deine Waffe rutscht am Schloß ab und du schlägst auf den Boden.</p>
       
       <set name="Versuch" inc="1" show="none"/>
       
       <ul>
         <li><replay name="Schlag"></li>
         <li><choice target="Schlafen">Du lässt es und gehst schlafen.</choice></li>
       </ul>
             
    </case>
    <case>...</case>
</random>
</retain>

</scene>


Aber der Befehl Replay wird automatisch ausgeführt, oder?
Zuletzt geändert von Xondorax am Sa 06 Nov, 2010 14:54, insgesamt 2-mal geändert.
Benutzeravatar
Xondorax
Heiliger
Heiliger
 
Beiträge: 6520
Registriert: Fr 11 Apr, 2008 21:19
Heldenname: Lawister, der Windwolf

Re: AOQML - Ein paar Fragen

Beitragvon Edvard » Sa 06 Nov, 2010 14:53

Ach das wird schon. Ich hab mich bei meinen ersten Quest auch ziemlich blöd angestellt. Alles eine Frage der Übung. :)
Ist Unmögliches denkbar? Und wenn ja, warum Pfefferminztee?
Benutzeravatar
Edvard
Ritter
Ritter
 
Beiträge: 669
Registriert: Sa 12 Jul, 2008 21:40
Heldenname: Tutko Samthand
Mitglied bei: KOBRA

Re: AOQML - Ein paar Fragen

Beitragvon neonix » Sa 06 Nov, 2010 15:00

Ich würde das store mit scope quest machen und in die start.xml packen, dann einfach immer wieder auf die entsprechende Szene verweisen. Klappt bei mir auch gut.

Viel Spaß mit deiner Queste!
Zufallszauberer und Questenschmied.
Kanzler Westendar und Vizekanzler Flora & Fauna.
Ansonsten verantwortlich für Rastfunktion, Mietstall, Tempel, Gosse, Söldnerlager, Blutrabe, Kommandantur ET, Alte Kaserne, diverse Gegenstandsquesten und so weiter...
Benutzeravatar
neonix
Erzmarschall
Erzmarschall
 
Beiträge: 5077
Registriert: Di 11 Dez, 2007 11:33
Wohnort: Braunschweig
Heldenname: Marquez Santarosa
Mitglied bei: Helden Schurken Suchende

Re: AOQML - Ein paar Fragen

Beitragvon Edvard » Sa 06 Nov, 2010 15:10

Oh, das <scope="scene"> hab ich ja direkt überlesen...
Wie neonix gesagt hat, mach einfach ein <scope="quest" draus und speicher es in der start.xml ab.

Und ich würde dir noch empfehlen, den Namen der Variable eindeutiger zu machen, z.B. indem du deinen Namen und/oder den Namen der Quest mit anfügst (also z.B. Versuch_Xondorax_Einbruch oder abgekürzt Versuch_Xon_Ein o.ä.). Selbst wenn die Variable mit dem Beenden der Quest gelöscht wird, so kann es doch möglich sein, dass ne andere Quest (z.B. eine Quest der Auftragsbörse) noch aktiv ist oder dass es Variablen gibt, die beim Helden abgespeichert und nicht mit dem Beenden der Quest gelöscht werden und da die gleiche Variable verwendet wird.

Das ist zwar seeeeeeeeehr unwahrscheinlich, aber wieso soll man das herausfordern. :wink:
Ist Unmögliches denkbar? Und wenn ja, warum Pfefferminztee?
Benutzeravatar
Edvard
Ritter
Ritter
 
Beiträge: 669
Registriert: Sa 12 Jul, 2008 21:40
Heldenname: Tutko Samthand
Mitglied bei: KOBRA

Re: AOQML - Ein paar Fragen

Beitragvon Xondorax » Sa 06 Nov, 2010 15:11

Jetzt bin ich verwirrt. :(

Den Wert habe ich in den Start verlegt. Verstanden.

Funktioniert das was ich geschrieben habe?
Spoiler:
Code: Alles auswählen
<p>Du ziehst deine Waffe und schaust dir das Schloß nochmal an. Mit all deiner Kraft schlägst du auf das Schloß ein.</p>

<random>
    <case>
       <p>Deine Waffe rutscht am Schloß ab und du schlägst auf den Boden.</p>
       
       <set name="Versuch" inc="1" show="none"/>
       
       <ul>
         <li><choice target="Aufschlagen">Du versuchst es noch einmal.</choice></li>
         <li><choice target="Schlafen">Du lässt es und gehst schlafen.</choice></li>
       </ul>
              
    </case>
    <case>...</case>
</random>

Mit get kann ich ja den Wert abfragen, aber wie eine Bedingung daran knüpfen?
Und kann ich die Variable dann mit <set name="Versuch" val="0" show="none"/> wieder auf Null setzen?
Benutzeravatar
Xondorax
Heiliger
Heiliger
 
Beiträge: 6520
Registriert: Fr 11 Apr, 2008 21:19
Heldenname: Lawister, der Windwolf

Re: AOQML - Ein paar Fragen

Beitragvon Mitsune » Sa 06 Nov, 2010 15:17

@ Xondorax
Ich habe den Eindruck, Du willst eine while-Schleife bauen.
While Bedingung erfüllt, wiederhole die Schleife, sonst fahre mit etwas anderem fort. In dem Beispiel also vielleicht: solange Axt nicht zerstört, hacke auf das Schloss ein.
Ich würde das so umsetzen:
Szene 1: Bedingung formulieren, z.B.
Code: Alles auswählen
<store name="Max_Axthiebe" scope="quest">10</store>
<include="Szene_2" />


Szene_2:
Code: Alles auswählen
<switch name="Max_Axthiebe">
  <case min="1">
      <set name="Max_Axthiebe" dec="1" />
     challange/switch oder was auch immer -Schloss auf?
         ja => <include="Schloss_auf" />
         nein => <p>Das war nichts! <choice target="Szene_2">Nochmal!</choice>  <!-- Gleiche Szene erneut aufrufen-->
                          <choice target="aufgeben">Das wird nichts. du gibst lieber auf, bevor deine Axt kaputt geht.</choice> </p>
  </case>
  <else>
     <include="axt_kaputt" />
  </else>
</switch>
Minoru Mitsune (実 三常)
"Die Großen hören auf zu herrschen, wenn die Kleinen aufhören zu kriechen"
Johann Christoph Friedrich von Schiller (1759 - 1805)
Bild
Benutzeravatar
Mitsune
Major
Major
 
Beiträge: 2340
Registriert: So 30 Nov, 2008 13:16
Wohnort: Myakô
Heldenname: Minoru Mitsune (実 三常)

Re: AOQML - Ein paar Fragen

Beitragvon Xondorax » Sa 06 Nov, 2010 15:26

Ich glaube jetzt habe ich es verstanden, Maikiko. Dann müsste das wie folgt aussehen...

Spoiler:
Code: Alles auswählen
<p>Du ziehst deine Waffe und schaust dir das Schloß nochmal an. Mit all deiner Kraft schlägst du auf das Schloß ein.</p>

<switch name="Xon_Versuch">
  <case min="1">
     <random>
       <case>
          <p>Deine Waffe rutscht am Schloß ab und du schlägst auf den Boden.</p>
       
          <ul>
               <li><choice target="Aufschlagen">Du versuchst es noch einmal.</choice></li>
               <li><choice target="Schlafen">Du lässt es und gehst schlafen.</choice></li>
          </ul>
              
       </case>
       <case>
          <p>Statt das Schloß zu treffen, trifst du nur den Boden.</p>
          
          <ul>
               <li><choice target="Aufschlagen">Du versuchst es noch einmal.</choice></li>
               <li><choice target="Schlafen">Du lässt es und gehst schlafen.</choice></li>
          </ul>
          
       </case>
   </random>
 
  <else>
     <p>Du schaffst es einfach nicht das Schloß zu öffnen und gibst auf.</p>
     
     <li><choice target="Schlafen">Du gehst schlafen.</choice></li>
     
  </else>
</switch>
Benutzeravatar
Xondorax
Heiliger
Heiliger
 
Beiträge: 6520
Registriert: Fr 11 Apr, 2008 21:19
Heldenname: Lawister, der Windwolf

Re: AOQML - Ein paar Fragen

Beitragvon neonix » Sa 06 Nov, 2010 15:32

Sieht gut aus. Ich nehme mal an, da kommt noch eine Möglichkeit rein, es zu schaffen?
Zufallszauberer und Questenschmied.
Kanzler Westendar und Vizekanzler Flora & Fauna.
Ansonsten verantwortlich für Rastfunktion, Mietstall, Tempel, Gosse, Söldnerlager, Blutrabe, Kommandantur ET, Alte Kaserne, diverse Gegenstandsquesten und so weiter...
Benutzeravatar
neonix
Erzmarschall
Erzmarschall
 
Beiträge: 5077
Registriert: Di 11 Dez, 2007 11:33
Wohnort: Braunschweig
Heldenname: Marquez Santarosa
Mitglied bei: Helden Schurken Suchende

VorherigeNächste

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



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast