Queste mit AOQML - crash Tutorial (Der Auftrag)

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon Lowlander » Mi 19 Mär, 2008 20:26

neonix hat geschrieben:Auf die Gefahr hin doch noch ein wenig zu nerven... :roll:


( lol - jetzt schloss ich das oben schon mit (/queste) statt (/quote) ;-) )

Nein, gar nicht, ich freu mich schon auf die Abenteuer.

neonix hat geschrieben:- wie endet ein erfolgreiches Quest (oder geht das auch mit <quest status="failed"/> )?


Code: Alles auswählen
<quote status="finished"/>


- wie kann ich Geld verteilen?


Solche Werte werden alle einheitlich als Attributwert behandelt. In diesem Fall heisst das Attribut "Gold":

Code: Alles auswählen
<set attribute="Gold" increase="450"/>


Das wären also 5 Gold 5 Silber und 0 Kreuzer.

- wie kann ich SC beklauen (Geld = 0, Geld = -X Heller, Waffe weg, Rucksackschwund...)?

Geld, wie jedes Attribut kann man auch auf einen absoluten Wert setzen:

Code: Alles auswählen
<set attribute="Gold" value="0"/>


Will man nur einen bestimmten Betrag nehmen, man vorher prüfen, ob er genug hat:

Code: Alles auswählen
<has attribute="Gold" minimum="150">
    <success>
        <set attribute="Gold" value="0"/>
    </success>
    <failure>
         <p>Als der Dieb deinen dünnen Geldbeutel sieht, schenkt er dir vor Mitleid seine Beute des Tages:</p>
         <set attribute "Gold" increase="50...1500"/>
    </failure>
</has>


50...1500 wirft den Zufallsgenerator an, und liefert irgendwas zwischen 50 und 1500. Das nur, um das Feature mal zu zeigen.

Gegenstände klauen mit:

Code: Alles auswählen
<drop item="Degen"/>


Falls man einem NPC aus der Datenbank diese Gegenstände oder das Gold geben will, muss man natürlich dort das Gegenteil coden:

Code: Alles auswählen
<take char="Wegelagerer 123" item="Degen"/>


Es gibt noch keine Implementation für zufälliges Wegnehmen oder das Wegnehmen z.B. der Hauptwaffe. Aber ich würde das so spezifizieren:

Code: Alles auswählen
    <drop item="${Waffe}"/>
    <drop count="50%"/>


Dabei ist dann ${Waffe} dasselbe wie <get item="Waffe"/>, nur die Darstellung muss anders, weil man in XML keine Tags in Attributwerten haben darf.

D.h. obiges nimmt dem Helden die Waffe und 50% seiner Ausrüstung weg.

Wie gesagt, das ist noch nicht so implementiert, würde ich aber so machen.

- wie kann ich mehrere Gegenstände verteilen (einfach mehrere <take item="XYZ"/> hintereinander)?

ja, genau, für jede Gegenstand ein <take .../> - oder, wenn es mehrere von demselben sind, dann so:

<take item="Perle" count="4"/>

- wie kann ich Zufallsgeneratoren benutzen (Geldmenge, Gegenstände, weiteres Event...)?

Geldmenge hatten wir schon. Gegenstände sind praktisch weitere Aktionen und Events auch (eben dann über include oder choice) oder auch einfach Ausgabe-Texte:

Code: Alles auswählen
        <p>Du siehst
          <random>
            <case>Mäuse</case>
            <case>Ratten</case>
            <case>Kaninchen</case>
          </random>.
        </p>


Statt "Mäuse" etc. kannst du auch <take .../> schreiben.

- wie kann ich direkt Schaden anrichten (Fallen etc.), mit und ohne Rüstung, Trefferzonen, Wunden... Ja, ich weiß, dürfte etwas komplizierter werden...

Schaden ist ein Abzug an Lebenspunkten, also einfach so:

Code: Alles auswählen
<set atttribute="LP" decrement="10"/>


Wenn man decrement mit negativem Wert macht, dann wird es ignoriert. Damit kann man dann sowas machen (RS=Rüstungsschutz):

Code: Alles auswählen
<set atttribute="LP" decrement="10-${RS.Arme}"/>


Wobei das Rechnen dort zwar so gedacht ist, aber noch nicht implementiert ist. Kannst du aber ruhig schon verwenden.

Wunden sind noch so neu in Antamar, dass ich mir darüber noch kein Gedanken gemacht habe.

- Wie kann ich heilen (LP + X, LP voll, Wunde geheilt...)?

Wunden gibts wie gesagt noch nicht, ist zu neu in Antamar. Kommt natürlich noch in AOQML.

Für einige Attribute, die Eigenschaften, gibt es den temporären und den dauerhaften Wert. I.d.R. wird bei diesen nur der temporäre manipuliert, wie oben auch. So könnte auch eine Tinktur z.B. temporär Charisma verleihen:

Code: Alles auswählen
<set attribute="CH" increase="4"/>


Um wieder auf den Normalwert zu kommen, oder auch LP auf den Normalwert zu setzen (heilen), gibt es noch keine Funktion. Daher lege ich das jetzt mal so fest:

Code: Alles auswählen
<reset attribute="LP"/>[code]

- Wie kann ich Rasse, Volk und Geschlecht abfragen?

Auch das sind Attribute:

[code]<p><q>Hey, du <get attribute="Rasse"/>, was suchst du hier?</q> sagt ein plötzlich auftauchender Ork zu dir in einem groben Garathi.</p>[/code]

wobei da dann schon "Norbardin" stehen würde, wenn es eine Frau ist.

oder eben "Kultur", "Variante" und  "Geschlecht" (ergibt "Mann" oder "Frau")

Wir sind auch am überlegen und haben es teilweise schon implementiert, wie wir auf Geschlecht etc. bei den Worten reagieren. Das ist aber noch nicht ausgereift. Wird in etwa so aussehen (eine Norbardin soll einen Norbarden treffen, ein Halbork eine Halborkin etc.):

[code]Du triffst <get attribute="Rasse" gender="other" prefix="ein"/>.


Puuh, das war eine Menge auf einmal.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon neonix » Mi 19 Mär, 2008 21:54

Allerbesten Dank! :D

Das werde ich mir in Ruhe zu Gemüte führen und dann mal einige kleine Questen basteln. Und noch mal sorry für die Arbeitsbelastung, aber vielleicht bin ich ja nicht der einzige, der sich zum Nachwuchsprogrammierer berufen fühlt. Der Thread hat jedenfalls mehr Informationswert als 90% der anderen im Forum!
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: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon zolthan » Do 20 Mär, 2008 09:03

Hi neonix,

mal ein Tip: Mach das nicht alles manuell!

Es gibt hervorragende XML-Editoren:
XMLmind XML Editor: http://www.xmlmind.com/xmleditor - FREE
Altova XMLSpy XML Editor: http://www.altova.com/products/xmlspy/xml_editor.html - COMMERCIAL
Oxygen: http://www.oxygenxml.com/
Eclipse kann es auch

http://www.dmoz.org/Computers/Data_Form ... s/Editors/
http://www.drweb.de/xml/xml-editoren.shtml

@Lowlander:
Wie siehts mit nem XML-Schema aus? Entwickelst du eins nebenher?
Benutzeravatar
zolthan
Programmierer
Programmierer
 
Beiträge: 1659
Registriert: Mo 24 Jul, 2006 18:14
Wohnort: http://antamar.myminicity.com/
Heldenname: Karinis Adomeit (ehem. Chaled al'ghanyi ibn Ruban)
Mitglied bei: Hände Saerons

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon Lowlander » Do 20 Mär, 2008 10:50

zolthan hat geschrieben:Wie siehts mit nem XML-Schema aus? Entwickelst du eins nebenher?


Es wird eines geben, wer auch immer es erstellt, aber erst müssen ein paar Syntax-Teile noch stabiler werden, weil das auch immer eine Menge Arbeit ist, ein Schema zu erstellen.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon Lowlander » Fr 21 Mär, 2008 13:29

So, das Quest von Neonix ist nun mit korrektem XML im SVN. Das mit dem XML-Editor ist natürlich ein guter Tipp, dann wären die meisten Fehler gar nicht möglich gewesen. Und wenn es ein Schema gibt, dann noch weniger (Vertipper bei Talentnamen etc. leider immer noch).

(Der einschleichen-Zweig endet allerdings noch im Nirgendwo, wenn man die Proben erfolgreich besteht!)

Aber mir ist mit dem Quest auch noch ein Problem aufgefallen, mit dem ich ein weiteres Feature vorstellen kann: Wenn es eine Heldin ist, müsste der Aufschlag auf die Betören-Probe wohl größer sein, oder ist Bisexualität in Aventurien eher üblich als selten? Bei Halborks etc. sollte sich das wohl schon durch einen niedrigen Betören-TaW ausdrücken. Ok, also müssen wir hier entweder eine Erschwernis bei gleichen Geschlechtern einbauen oder Fallweise aus der Dienstmagt einen Hausdiener machen. Ich mache mal letzteres:

einschleichen.xml:
Code: Alles auswählen
<has attribute="gender" value="male">
    <success>
        <store name="eineDienstmagd">eine Dienstmagd</store>
        <store name="eineDienstmagd">die Dienstmagd</store>
        <store name="sie_Dienstmagd">sie</store>
    </success>
    <failure>
        <store name="eineDienstmagd">ein Hausdiener</store>
        <store name="eineDienstmagd">der Hausdiener</store>
        <store name="sie_Dienstmagd">er</store>
    </failure>
</has>

... und zu allem Unglück schaut auch noch <fetch name="eineDienstmagd"/> ...
... Aber ob <fetch name="sie_Dienstmagd"/> dir das abkauft? ...
... gescheitert, <fetch name="dieDienstmagd"/> kreischt lauthals ...


Gerade für solche Code-Stücke (alles von <has ...> bis </has>) kann man sich auch gut Bibliotheken anlegen und diese immer wieder verwenden.

Das <store ...> Tag speichert außerdem ganz einfach seinen ausgewerteten Inhalt unter dem angegebenen Namen, und der kann dann wieder mit <fetch ...> abgerufen werden.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon zolthan » Fr 21 Mär, 2008 14:44

Lowlander hat geschrieben:So, das Quest von Neonix ist nun mit korrektem XML im SVN. Das mit dem XML-Editor ist natürlich ein guter Tipp, dann wären die meisten Fehler gar nicht möglich gewesen. Und wenn es ein Schema gibt, dann noch weniger (Vertipper bei Talentnamen etc. leider immer noch).


Auch die Talentnamen kann man ins Schema mit aufnehmen.
Benutzeravatar
zolthan
Programmierer
Programmierer
 
Beiträge: 1659
Registriert: Mo 24 Jul, 2006 18:14
Wohnort: http://antamar.myminicity.com/
Heldenname: Karinis Adomeit (ehem. Chaled al'ghanyi ibn Ruban)
Mitglied bei: Hände Saerons

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon Lowlander » Fr 21 Mär, 2008 15:52

zolthan hat geschrieben:Auch die Talentnamen kann man ins Schema mit aufnehmen.


Mag sein, als ich mich mit XML befasste, waren Schemata gerade im Entstehen. Es gab nur DTDs. Und das ist jetzt das erste mal, dass ich damit wieder in Kontakt komme (außer als Anwender von XHTML und irgendelchen Config-Files).
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon Joschka » Fr 28 Mär, 2008 01:12

Interessant!
Also ich habe mich noch nicht sooo intensiv damit beschäftigt wie neonix.
Aber eine Frage habe ich noch:
Wie funktioniert das mit dem switchen zwischen den einzelnen xmls/events?
Reicht da einfach ein Link oder müsste man die anders benennen die einzelnen events und xmls wie zum Beispiel:
<event1.0>
führt dann zu <event1.1> oder <event1.2>
Gr?nder des Ordens "DIE ORKENSPALTER"

Bild
Joschka
Feldwebel
Feldwebel
 
Beiträge: 534
Registriert: Do 24 Aug, 2006 23:21

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon Lowlander » Fr 28 Mär, 2008 01:49

Joschka hat geschrieben:Wie funktioniert das mit dem switchen zwischen den einzelnen xmls/events?
Reicht da einfach ein Link oder müsste man die anders benennen die einzelnen events und xmls wie zum Beispiel:
<event1.0>
führt dann zu <event1.1> oder <event1.2>


Such mal in dem Thread nach <choice ...>...</choice>. Daraus werden praktisch Links, aber welche, die man nicht direkt anspringen werden kann. Wobei der Anti-Cheat-Mechanismus noch nicht implementiert ist, das ist Teil der Integration in Antamar, die noch in Arbeit ist.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon Joschka » Fr 28 Mär, 2008 11:57

Ist eine Nummerierung der Übersicht halber trotzdem möglich? Und wenn ja notwendig?
Gr?nder des Ordens "DIE ORKENSPALTER"

Bild
Joschka
Feldwebel
Feldwebel
 
Beiträge: 534
Registriert: Do 24 Aug, 2006 23:21

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon Lowlander » Fr 28 Mär, 2008 13:47

Joschka hat geschrieben:Ist eine Nummerierung der Übersicht halber trotzdem möglich? Und wenn ja notwendig?


Nummerierung in der Ausgabe wie in HTML mit <ol><li>...</li>...</ol> - ich habe bisher meist eine unnummerierte Liste mit Strichpunkten verwendet, also <ul><li>...</li>...</ul>.

Oder nummerierung der Dateinamen? Die kannst du vergeben, wie du es gerne hast, hauptsache das Target-Attribut heisst genau wie die Zielatei, nur ohne ".xml".
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon Joschka » Fr 28 Mär, 2008 19:49

aber icht event1.0; event 1.1. etc.?
Gr?nder des Ordens "DIE ORKENSPALTER"

Bild
Joschka
Feldwebel
Feldwebel
 
Beiträge: 534
Registriert: Do 24 Aug, 2006 23:21

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon Lowlander » Fr 28 Mär, 2008 19:53

Joschka hat geschrieben:aber icht event1.0; event 1.1. etc.?


Keine Ahnung, da ich nicht weiss, was "event1.0" etc. bedeuten soll. Die XML-Dateien kannst du so nenne, wenn du willst und dann z.B. <choice target="event1.0">...</choice> schreiben, wobei ich sprechendere Namen bevorzugen würde.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon Joschka » Sa 29 Mär, 2008 14:47

Hmm. Ist unwichtig^^ Meine Frage hat es noch nicht beantwortet.
Wenn wir jetzt Questen so bearbeiten, können wir dann damit rechnen, dass die dann so eingebaut werden?
Wie funktioniert das denn, dass erst eine Aufgabe erfüllt werden muss, bis man wieder zurückkommen darf?
Gr?nder des Ordens "DIE ORKENSPALTER"

Bild
Joschka
Feldwebel
Feldwebel
 
Beiträge: 534
Registriert: Do 24 Aug, 2006 23:21

Re: Queste mit AOQML - crash Tutorial (Der Auftrag)

Beitragvon Lowlander » Sa 29 Mär, 2008 14:53

Joschka hat geschrieben:Wenn wir jetzt Questen so bearbeiten, können wir dann damit rechnen, dass die dann so eingebaut werden?


Wenn sie funktionieren, denke ich schon. Wie gesagt, die Integration des AOQLM-Abspielers in Antamar ist noch nicht fertig.

Joschka hat geschrieben:Wie funktioniert das denn, dass erst eine Aufgabe erfüllt werden muss, bis man wieder zurückkommen darf?


Das ist bisher nur grob angedacht, kann dazu noch nichts konkretes sagen. Erstmal wird es nur Mini-Queste geben, die geschlossen ablaufen.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2276
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

VorherigeNächste

Zurück zu Antamar®-Archiv



Wer ist online?

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