the art of aoqml

the art of aoqml

Beitragvon Enno » So 26 Apr, 2009 17:54

Provokateur hat in einem Nachbarthread eine Frage zu der Umsetzung einer "Zufallskiste gestellt". Das nehme ich glatt mal zum Anlass um einen neuen Thread mit Lösungen zu euch unter den Fingernägeln brennenden Fragen AOQML betreffend aufzumachen.

Zuerst nochmal zum Fund eines zufälligen Gegenstandes. Man muss nicht nur auf den völligen Zufall bauen. Mit einfachen Sprachmitteln ist es auch möglich, eine Vorauswahl zu treffen:

Code: Alles auswählen
<random>
  <case>
    <store name="reward">Alraune</store>
  </case>
  <case>
    <store name="reward">Spieluhr</store>
  </case>
  <case>
    <store name="reward">Sonnenuhr</store>
  </case>
</random>


Dann irgendwann gibt man dem Charakter den in der Variable gespeicherten Gegenstand mittels "take":
Code: Alles auswählen
    <take item="${reward}"/>


Viele Grüße,
Enno
"Es genügt nicht, nur fleißig zu sein - das sind die Ameisen. Die Frage ist vielmehr: wofür sind wir fleißig?"
Henry David Thoreau
Benutzeravatar
Enno
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 925
Registriert: Sa 13 Dez, 2008 11:58
Heldenname: Rauert Huisdorn/ Theresa Meistersinger

Re: the art of aoqml

Beitragvon qapla » So 26 Apr, 2009 18:17

Seht schöne Idee! Die wichtigsten Sachen sollte man mMn auch ins Wiki übernehmen. Praktische Code-Snipptes, Do's&Dont's, kleine Anleitungen usw...
Benutzeravatar
qapla
Marschall
Marschall
 
Beiträge: 4008
Registriert: Mi 07 Mai, 2008 11:47
Heldenname: Tjelvar Vagnsson

Re: the art of aoqml

Beitragvon Fury » So 26 Apr, 2009 20:20

Find ich gut. So lerne ich womöglich auch noch mal wie dieses Dingens funktioniert (so im Laufe der nächsten Jahrzehnte z.B.) ;)

Ich hätte dazu noch eine Anmerkung. Solche Sammelthreads neigen leider dazu irgendwann einmal recht unübersichtlich zu werden. Daher frage ich mich ob es möglich wäre eine Art Inhaltsverzeichnis im Startpost zu erstellen, dass auf jeden "Tipp" verweist und dieses dann (halbwegs) aktuell zu halten.
Benutzeravatar
Fury
Oberleutnant
Oberleutnant
 
Beiträge: 1141
Registriert: Mi 09 Mai, 2007 14:57
Heldenname: Mira Starfire
Mitglied bei: KOBRA

Re: the art of aoqml

Beitragvon Athuran » Mo 27 Apr, 2009 00:25

Nutzt lieber das Wiki, da findet man sich schneller zurecht.
Ich glaube, ich habe schon mal sowas wie eine snippet-Sammlung angefangen.


EDIT\ hier: [AOMantis]CodeSnippets[/AOMantis]
+++ Wiki-Informationsportal: ANTAMAR IST ANDERS - MACH MIT! (Anleitungen und Links) +++
Benutzeravatar
Athuran
Game Designer
Game Designer
 
Beiträge: 6311
Registriert: Do 18 Mai, 2006 16:23
Wohnort: Hansestadt Rostock
Heldenname: οΰδείζ

Re: the art of aoqml

Beitragvon Fury » Mo 27 Apr, 2009 00:26

Oder so :)
Benutzeravatar
Fury
Oberleutnant
Oberleutnant
 
Beiträge: 1141
Registriert: Mi 09 Mai, 2007 14:57
Heldenname: Mira Starfire
Mitglied bei: KOBRA

Re: the art of aoqml

Beitragvon olcapone » Mo 27 Apr, 2009 08:49

CodeSnippets

So was hat Athuran wahrscheinlich gemeint ;)

/edit:

Zur Gegenstandsvergabe: Die Variante von Enno ist zwar schon ganz praktikabel, aber ich bevorzuge eine andere Lösung.

Code: Alles auswählen
<item freq="oft" must="wertgegenstand" mustnot="magisch|daemon|geweiht|exotisch" cost_max="5000" name="zufallsding"/>
<take item="${zufallsding}"/>


So muss man sich nicht um Namen kümmern (hat auch den Vorteil, dass bei einer Änderung in der DB die Quest trotzdem weiterhin funktioniert) und überlässt die Auswahl dem System.
Discussion groups are like uranium: a little pile gives off a nice, warm glow, but if the pile gets bigger, it hits critical mass and starts a deadly meltdown.

Spoiler:
Ich bin ein Stern am Firmament,
Der die Welt betrachtet, die Welt verachtet,
Und in der eignen Glut verbrennt.

Ich bin das Meer, das nächtens stürmt,
Das klagende Meer, das opferschwer
zu alten Sünden neue türmt.

Ich bin von Eurer Welt verbannt
Vom Stolz erzogen, vom Stolz belogen,
Ich bin ein König ohne Land.

Ich bin die stumme Leidenschaft,
Im Haus ohne Herd, im Krieg ohne Schwert,
Und krank an meiner eignen Kraft.
Hermann Hesse
Benutzeravatar
olcapone
Major
Major
 
Beiträge: 2574
Registriert: Di 10 Jul, 2007 19:47
Wohnort: Biel / Schweiz
Heldenname: Die Nachfahren Hjalls
Mitglied bei: - Sjólfur Drakarskapar Isbrotsos -

Re: the art of aoqml

Beitragvon Lowlander » Mo 27 Apr, 2009 09:05

olcapone hat geschrieben:
Code: Alles auswählen
<item freq="oft" must="wertgegenstand" mustnot="magisch|daemon|geweiht|exotisch" cost_max="5000" name="zufallsding"/>
<take item="${zufallsding}"/>


name= bei item macht aber eine Query nach dem Namen. Im Sinne von AOQML wäre es so:

Code: Alles auswählen
<store name="zufallsding"><item freq="oft" must="wertgegenstand" mustnot="magisch|daemon|geweiht|exotisch" cost_max="5000"/></store>
<take item="${zufallsding}"/>


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

Re: the art of aoqml

Beitragvon olcapone » Mo 27 Apr, 2009 09:15

Was? Bist du sicher? Ich habe genau dieses Snippet aber schon im Leuchtturm verwendet und es hat ja funktioniert....

...oder kommt es daher, dass er in der DB kein 'Zufallsding' gefunden hat und so auf etwa ausgewichen ist?

/edit: Wobei, die Variablen-Zuweisung hat ja funktioniert, sonst würde der Take-Block ja nicht funktionieren. Oder mache ich da einen Denkfehler?
Discussion groups are like uranium: a little pile gives off a nice, warm glow, but if the pile gets bigger, it hits critical mass and starts a deadly meltdown.

Spoiler:
Ich bin ein Stern am Firmament,
Der die Welt betrachtet, die Welt verachtet,
Und in der eignen Glut verbrennt.

Ich bin das Meer, das nächtens stürmt,
Das klagende Meer, das opferschwer
zu alten Sünden neue türmt.

Ich bin von Eurer Welt verbannt
Vom Stolz erzogen, vom Stolz belogen,
Ich bin ein König ohne Land.

Ich bin die stumme Leidenschaft,
Im Haus ohne Herd, im Krieg ohne Schwert,
Und krank an meiner eignen Kraft.
Hermann Hesse
Benutzeravatar
olcapone
Major
Major
 
Beiträge: 2574
Registriert: Di 10 Jul, 2007 19:47
Wohnort: Biel / Schweiz
Heldenname: Die Nachfahren Hjalls
Mitglied bei: - Sjólfur Drakarskapar Isbrotsos -

Re: the art of aoqml

Beitragvon Lowlander » Mo 27 Apr, 2009 09:42

olcapone hat geschrieben:Was? Bist du sicher? Ich habe genau dieses Snippet aber schon im Leuchtturm verwendet und es hat ja funktioniert....

...oder kommt es daher, dass er in der DB kein 'Zufallsding' gefunden hat und so auf etwa ausgewichen ist?

/edit: Wobei, die Variablen-Zuweisung hat ja funktioniert, sonst würde der Take-Block ja nicht funktionieren. Oder mache ich da einen Denkfehler?


Selbst wenn es funktioniert hat, wäre es ein Bug, weil es der Logik von name= in <item> völlig verquer geht.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2274
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: the art of aoqml

Beitragvon olcapone » Mo 27 Apr, 2009 09:45

Schau mal im Trunk unter quests/deralteleuchttumr/ruine3.xml.

Hat IG sauber funktioniert. Scheint also ein Käferchen zu sein...

/edit

..btw, das habe ich so aus dem Wiki. Wenn ich die Seite wieder finde, werde ich darauf verweisen.
Discussion groups are like uranium: a little pile gives off a nice, warm glow, but if the pile gets bigger, it hits critical mass and starts a deadly meltdown.

Spoiler:
Ich bin ein Stern am Firmament,
Der die Welt betrachtet, die Welt verachtet,
Und in der eignen Glut verbrennt.

Ich bin das Meer, das nächtens stürmt,
Das klagende Meer, das opferschwer
zu alten Sünden neue türmt.

Ich bin von Eurer Welt verbannt
Vom Stolz erzogen, vom Stolz belogen,
Ich bin ein König ohne Land.

Ich bin die stumme Leidenschaft,
Im Haus ohne Herd, im Krieg ohne Schwert,
Und krank an meiner eignen Kraft.
Hermann Hesse
Benutzeravatar
olcapone
Major
Major
 
Beiträge: 2574
Registriert: Di 10 Jul, 2007 19:47
Wohnort: Biel / Schweiz
Heldenname: Die Nachfahren Hjalls
Mitglied bei: - Sjólfur Drakarskapar Isbrotsos -

Re: the art of aoqml

Beitragvon proser » Mo 27 Apr, 2009 12:08

olcapone hat geschrieben:..btw, das habe ich so aus dem Wiki. Wenn ich die Seite wieder finde, werde ich darauf verweisen.

AOQML:item
0===[:::::::::::::::::::::::::::::::::><:::::::::::::::::::::::::::::::::]===0
Benutzeravatar
proser
Marschall
Marschall
 
Beiträge: 4145
Registriert: Do 14 Dez, 2006 13:33
Wohnort: Hamburch
Heldenname: Streifer

Re: the art of aoqml

Beitragvon Lowlander » Mo 27 Apr, 2009 12:32

proser hat geschrieben:AOQML:item


Ich habe das da mal angemerkt. Die <store><item .../></store> Variante funktioniert ja auf jeden Fall.

Nachtrag: Evlt. bleibt es doch so, ich würde da gerne nur nochmal in RUHE drüber nachdenken. Ich glaube, die idee von <item> stammt aus einer zeit, als mir noch nicht klar war, das man in Antamar leider keine Gengenstände "on the fly" erzeugen kann.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2274
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hage/Ostfriesland
Heldenname: Markorka Faargh


Zurück zu Antamar®-Archiv



Wer ist online?

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