Komplexe Queste: Einbruch.

Re: Komplexe Queste: Einbruch.

Beitragvon cvk » So 29 Jul, 2012 14:18

Gaddezwerch hat geschrieben:
cvk hat geschrieben:Die Quest wird auf männliche Menschen/Elfen/Halborks begrenzt werden, da mir eine Umsetzung multibler Romanzenstränge zu kompliziert wird.


Naja, kannst du es nicht so machen, dass die Romanzenoption erst zu einem bestimmten Zeitpunkt nur für Menschen/Elfen/Halborks zur Verfügung steht - die Diebestour an sich aber für alle Charaktere (m/w) möglich ist? Sodass die Romanze modular ist. Wenn das nicht zu viel Aufwand bedeutet, wäre das ganz gut. Ansonsten bleib bei deiner Einschränkung.

P.S.: Bitte keine Umlaute oder Sonderzeichen (wie Slash) in den Dateinamen verwenden.


Jetzt erst entdeckt, den Beitrag. Zur Romanzenoption. Es wäre denkbar, dass ich bei den Gesprächen einfach etwas in der Form einbaue:

Code: Alles auswählen
<has attribute="gender" val="male">
  <success>
     <switch attribute="race">
          <case val="Menschen">
             <!-- Auswahlsatz 1, Flirtoption -->
          </case>
          <case val="Elfen">
             <!-- Auswahlsatz 1, Flirtoption -->
          </case>
          <case val="Halborks">
              <!-- Auswahlsatz 1, Flirtoption -->
          </case>   
   
      <else>
        <!-- Auswahlsatz 2, keine Flirtoption -->
      </else>
    </switch>
  </success>
  <failure>
     <!-- Auswahlsatz 2, keine Flirtoption -->
  </failure>
</has>


Der Ursprüngliche Plan sah ohnehin vor für weibliche Charaktere eine "gute Freundin"-Option zu basteln, daraus könnte auch eine Freundin/Freund-Option werden.

Jetzt zum PS: Umlaute sind in der Form ae/oe/ue ausgedrückt. Die Slashs sind keine Zeichen in den Dateinamen, sondern stellen die Ordnerstruktur dar und das einzige Zeichen, das ich benutze, ist der Unterstrich, der meines Wissens standartmäßig in vielen Dateistrukturen das Leerzeichen ersetzt. Und ich meine im Wiki gelesen zu haben, dass genau das die Standarts sind: keine umlaute, nur Buchstaben und Zahlen sowie Unterstrich und bei größeren Questen Ordner, wenn's geht.

Der Buchstabe am Anfang ist im Grunde eine laufende "Nummer", um zu kennzeichnen, in welchem Abschnitt man sich befindet, dann folgt der Kurzname des Abschnitts. Innerhalb der Ordner kommt dann wieder die laufende "Nummer" um die Abläufe auch auf Dateiebene strukturiert darzustellen.

Hier kurz anhand des inzwischen fertigen Gesprächsblocks (Grafik siehe unten):

start - Zwei Arten des Gesprächsbeginns, je nachdem wie klug man die Queste begonnen hat.
a - der eigentliche Anfang
b - verschiedene Optionen ausformuliert
c - verschiedene Optionen ausformuliert
d - Einschlagen oder lassen
e - Sicherheitsabfrage (Einschlagen oder lassen)
f - Laufender Monolog der Diebin, aber alles eine Ebene
g - Man kann nochmal optional über was meckern ;)

Nach rechts geht es dann weiter zu Ordner c_besorgung und da geht es intern wieder mit a,b,c los.
"[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: Komplexe Queste: Einbruch.

Beitragvon cvk » So 29 Jul, 2012 15:49

Code: Alles auswählen
<has attribute="gender" val="male">
  <success>
     <store name="istmann" scope="quest">true</store>
      <switch attribute="race">
        <case val="Menschen|Elfen|Halborks">
          <store name="romaoptio" scope="quest">true</store>
        </case>
      <else>
          <store name="romaoptio" scope="quest">false</store>
      </else>
    </switch>
  </success>
  <failure>
    <store name="istmann" scope="quest">false</store>
    <store name="romaoptio" scope="quest">false</store>
  </failure>
</has>


Die Abfrage steht jetzt am Questanfang. Sollte klappen. Die Variablen, weil ichs immer wieder mal brauche.
"[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: Komplexe Queste: Einbruch.

Beitragvon cvk » So 29 Jul, 2012 17:09

Habe gerade meinen ersten externen Variablenspeicher gebaut, und wollte mal fragen, ob das so grundsätzlich funktioniert. Geht darum an einigen Stellen jahreszeitengerechte Beschreibungen zu bekommen und darum, nicht jedesmal die Abfrage installieren zu müssen. Ich setze die Variable "jahresz" auf einen Zahlenwert und rufe den dann per Switch ab und habe dort die einzelnen Texte gespeichert, die von der Abfrage im Replay dann aufgerufen werden. Und da die Beschreibung wohl keiner verstehen kann. (Ich zumindest nicht :D) Hier der Code:

[Datei eins mit Abruf]

Code: Alles auswählen
<p>Offensichtlich werden sie für Hundekämpfe abgerichtet und ihre Hinterlassenschaften machen den Ort auch nicht eben angenehmer, zumal niemand sich genötigt zu fühlen scheint, sie zu beseitigen. <set name="jahresz" val="1"/><include target="../z_var/jahresz"/> Hier und da meinst du sogar ... </p>


[Datei jahresz]

Code: Alles auswählen
<retain name="abfragejz" id="abjz1">
  <switch attribute="monat">
    <case value="Herdfeuermond|Maskenmond|Lichtmond"> <!-- Winter -->
      <fetch name="win"/>
    </case>
    <case value="Ehrenmond|Hoffnungsmond|Wassermond"> <!-- Frühling -->
      <fetch name="fru"/>
    </case>
    <case value="Liebesmond|Weisheitsmond|Erdmond"> <!-- Sommer -->
      <fetch name="som"/>
    </case>
    <else> <!-- Herbst -->
      <fetch name="her"/>
    </else>
  </switch>
</retain>

  <switch name="jahresz">
     <null>
       <p>ACHTUNG, HIER LIEGT EIN VARIABLENFEHLER VOR!</p> <!-- fliegt nach Debugging raus -->
     </null>
    <case val="1">
      <store name="win" scope="quest">Zum Glück ist ja gerade Winter, sodass du von dem Gestank nicht das meiste mitbekommst.</store>
      <store name="fru" scope="quest">Dank eines leichten, frühlingshaften Schauers, riechst du von den Hinterlassenschaften jedoch nicht das meiste.</store>
      <store name="som" scope="quest">Was natürlich gerade jetzt im Sommer zu bestialischem Gestank führt.</store>
      <store name="her" scope="quest">Da es gerade allerdings regnet, bekommst du von dem Gestank nicht so viel ab, allerdings ist der Boden aufgrund des herbstlichen Wetters ganz schön aufgeweicht.</store>
      <replay name="abfragejz"/>
    </case>
    <case val="2">
      <!-- folgt, gleiche Struktur wie bei 1 -->
    </case>
    <else>
      <!-- bleibt leer -->
    </else>
  </switch>


Ich frage nach weil ich das gleiche nochmal für Zufallsabfragen bauen möchte und ich würde ungern zwei falsche Auslagerungsdateien bauen. :)
"[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: Komplexe Queste: Einbruch.

Beitragvon Gaddezwerch » So 29 Jul, 2012 19:29

Das sollte funktionieren.
:meidetdasorkland: <-- Das meine ich ernst! Wirklich!
Gaddezwerch
Programmierer
Programmierer
 
Beiträge: 4848
Registriert: Fr 18 Mai, 2007 00:04
Heldenname: Alos Traken

Re: Komplexe Queste: Einbruch.

Beitragvon cvk » Sa 04 Aug, 2012 13:05

Und nochmal ein ähnlich gelagerter Fall. Hier möchte ich den Sympathiecounter variabel erhöhen, wenn bestimmte Rahmenbedingungen zutreffen. Genauer: für professionelles Auftreten gewinnt man bei ihr Sympathie in Form von Respekt, aber nur bis zu einer gewissen Schwelle, ab da setzt sie dieses Verhalten voraus:

Code: Alles auswählen
<!-- Initialisierung der Variable in start.xml -->
<store name="sympathie" scope="quest">0</store>

<!-- Abfrage und variable Erhöhung des Sympathiezählers extern über sympathie_zuwachs -->
<switch name="sympathie">
  <null>
     <p>Fehler!</p>
  </null>

  <case min="-20" max="0">
     <set name="sympathie" inc="1" show="none"/> <!-- Gering, weil sie dich nicht mag -->
  </case>

  <case min="0" max="20">
     <set name="sympathie" inc="2" show="none"/> <!-- Höher, weil sie neutral zu dir steht und beeindruckt ist von Fähigkeiten -->
  </case>

  <case min="20" max="50">
     <set name="sympathie" inc="1" show="none"/> <!-- Sie hat gewissen Respekt und erwartet von dir Leistung -->
  </case>
 
  <case min="50" max="100"> <!-- Von Popelkram lässt sie sich nicht mehr beeindrucken -->
  </case>

<!-- Mehr als 100 Punkte werden nicht vergeben, daher bei allen anderen Werten (Also ein Kippen unter -20): -->
  <else>
     <store name="ende" scope="quest">Verkackt... Sie hasst dich. Wenn das mal keine Konsequenzen hat.</store> <!-- Nein, das wird da nicht stehen ;) -->
     <include target="../ende"/>
     <quest status="continue"/>
  </else>
</switch>

<!-- Abruf dann an den entsprechenden Stellen: -->

<include target="../z_var/sympathie_zuwachs"/>


Ich bin der festen Überzeugung, dass das funktionieren müsste, aber da ich das erst seit kurzem mache, wollte ich mal nachfragen. Vor allem wegen der Minuswerte und weil ich die gleiche Variable im Switch erst auslese und dann erhöhe. Die leere Klammer bei 50-100 ist in Ordnung? Wollte da erst
Code: Alles auswählen
<set name="sympathie" inc="0"/>
eintragen, habe mir dann aber gedacht, dass das Unsinn ist.
"[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: Komplexe Queste: Einbruch.

Beitragvon Gaddezwerch » Sa 04 Aug, 2012 13:19

Das müsste so funktionieren, leere Zweige sind kein Problem. Wenn du dir unsicher bist, kannst du immer ein Minimalbeispiel bauen und das aufm Testserver testen. var-dump hilft auch dabei.
:meidetdasorkland: <-- Das meine ich ernst! Wirklich!
Gaddezwerch
Programmierer
Programmierer
 
Beiträge: 4848
Registriert: Fr 18 Mai, 2007 00:04
Heldenname: Alos Traken

Re: Komplexe Queste: Einbruch.

Beitragvon cvk » Sa 04 Aug, 2012 16:21

Ok, danke. Inzwischen scheine ich das ja halbwegs hinzukriegen. Zumindest innerhalb eines extrem konventionellen Spektrums an Anwendungsmöglichkeiten. Aber gut, vielmehr verlangt die Quest auch nicht. Ein bisschen Zufall, ein wenig Jahreszeitenanpassung, Textsetzung, Links und nen Haufen von ausgegliederten Variablen und Funktionen.

Weitere Möglichkeiten lerne ich hauptsächlich beim Korrekturlesen - learning by copying. ;)

Dank auch für var-dump. Ungeheuer praktisch beim Debugging.
"[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: Komplexe Queste: Einbruch.

Beitragvon cvk » Fr 10 Aug, 2012 18:13

Ich habe ja vor, nur sehr selten echte Abbruchpunkte zu setzen, wenn Proben fehlschlagen oder ähnliches. Bisher habe ich meist Absicherung über mehrere Proben betrieben, probiere aber gerade noch etwas anderes aus:

Code: Alles auswählen
<retain name="kraemerweg" id="kraemw">
<q>Halt!</q>, <if name="wahl" equals="1" then="zischst du Mira" else="zischt Mira dir"/> zu. <q>Ich glaube, ich habe etwas gehört.</q> Ihr bleibt stehen und lauscht aufmerksam in die Nacht hinein. <q>Dort hinten, in der Seitengasse. Sieht mir verdächtig nach einem Nachtwächter aus!</q> – <q>Ja, ich sehe ihn</q>, <if name="wahl" equals="1" then="antwortet sie" else="antwortest du"/>. <q>Ich könnte ihn von hier problemlos mit einem schnellen Schuss erledigen,</q>, flüstert sie dir zu, <q>wenn Ihr keine bessere Idee habt.</q>
</retain>

<p>In den frühesten Morgenstunden macht ihr Euch auf den Weg zu Eurem heutigen Ziel. <set name="jahresz" val="3"/><include target="../z_var/jahresz"/><br/>

<challenge talent="Sinnenschärfe" mod="5" show="none">
  <success>
    <store name="wahl" scope="scene">1</store>
    <replay name="kraemerweg"/>
    <include target="../z_var/sympathie_zuwachs"/>
  </success>
  <failure>
    <store name="wahl" scope="scene">2</store>
    <replay name="kraemerweg"/>
  </failure>
</challenge>
</p>

<ul>
  <li><choice target="a_der_kraemer2_1"><q>Nein, keine Toten! Lasst uns lieber an ihm vorbeischleichen, schließlich steht er mit dem Rücken zu uns.</q></choice></li>
  <li><choice target="a_der_kraemer2_2"><q>Nein, keine Toten! Lasst uns hier einen Moment verstecken, er wird bestimmt bald vorübergehen.</q></choice></li>
  <li><choice target="a_der_kraemer2_3"><q>Lasst das mal meine Sorge sein.</q> Du holst deine bevorzugte Fernkampfwaffe hervor.</choice></li>
  <li><choice target="a_der_kraemer2_4"><q>Klingt nach einem guten Plan.</q> Du lässt sie den Nachtwächter erschießen.</choice></li>
</ul>


Ich nehme an, dass das grundsätzlich in Ordnung geht? (Also die Art des Aufbaus, beim Code gehe ich davon aus, dass er geht) Der gleiche Text unabhängig davon, ob die Probe gelingt oder fehlschlägt. Man ist ja nicht allein unterwegs ... Und ich kann schlecht nen NPC proben (glaube ich zumindest ;)). Änderungen nur damit klar ist, wer etwas bemerkt hat, und ein kleiner Sympathiegewinn, wenn der Held derjenige ist, welcher.
"[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: Komplexe Queste: Einbruch.

Beitragvon cvk » Sa 11 Aug, 2012 11:43

Existiert ein Gegenstand "Blendpulver"? Könnte man als alchimistisches Rezept integrieren und bei Schwarzmarkthändlern im Direktverkauf, falls es das noch nicht gibt. Fände ich jedenfalls für die Quest hier praktisch. ;) Habe in der "aktuellen" Warenliste im Wiki nichts gefunden.

Damit es auch einen sonstigen Nutzen hat, könnte man eine verbesserte Ausweichquote für Passierschläge bei einer Flucht einbauen, wenn man welches dabei hat. (Wodurch man natürlich welches verliert)

Optional nehme ich Chilipulver und erzähle, dass sie daraus entsprechendes basteln.
"[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: Komplexe Queste: Einbruch.

Beitragvon Aidan » Sa 11 Aug, 2012 14:20

Das wird aber nichts bringen, da es innerhalb der Funktion "Fight" und den damit verbundenen Passierschlägen keinerlei Möglichkeit gibt, Gegenstandsboni zu erfassen.
Gamedesigner
Verantwortlicher für Itemerstellung, Waren-/Handelssystem und NPC-Verwaltung
Systemintegration neuer Reiche und Gebiete

Bild
Benutzeravatar
Aidan
Game Designer
Game Designer
 
Beiträge: 6616
Registriert: Mo 11 Feb, 2008 17:40
Wohnort: Hansestadt Wismar
Heldenname: Jupp
Mitglied bei: mir selbst

Re: Komplexe Queste: Einbruch.

Beitragvon cvk » Sa 11 Aug, 2012 14:52

Aktuell brauche ich das Blendpulver nicht für Kämpfe, sondern eher zur Verhinderung solcher. Ich wollte nur gleich mal eine Idee formuliere, wie man einem solchen Item vielleicht direkt eine Funktion geben kann. Wenn das nicht geht, ist das zwar schade, aber nicht zu ändern.

Gut, in einem verbreiteten Onlinerollenspiel wurde das Blendpulver irgendwann mal abgeschafft, mit dem Hinweis darauf, dass eine Hand voll Dreck es auch tue, aber das halte ich insgesamt dann doch eher für ein Gerücht. ;)

Ich könnte die Charaktere natürlich auch Unbeteiligten Säure ins Gesicht kippen lassen, wollte solche Radikallösungen aber nach Möglichkeit nicht verwenden. Und in der Praxis finde ich die Chilipulver + Mehl-Lösung zwar akzeptabel, aber suboptimal.

Insgesamt könnte Blendpulver an vielen Stellen zum Einsatz kommen. Auch als eine prima Möglichkeit in Questen/ZBen eine Flucht zu erleichtern oder zu ermöglichen. Bzw. ohne Kampf Situationen zu überstehen.

Kurz: Ich mag Blendpulver haben! ;) (Falls es das noch nich in irgendeiner Form gibt - und ich äußere den Wunsch gerne nochmal an der richtigen Stelle, falls es eine gibt.)
"[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: Komplexe Queste: Einbruch.

Beitragvon Sandy » So 12 Aug, 2012 19:55

Wenn gewuenscht, kann ich ein Rezept fuer Blendpulver schreiben.

Im Kampf selber kann es, wie Aidan schon geschrieben hat, allerdings nichts bewirken, der Besitz desselbigen koennte aber von Questschreibern vor dem Kampf abgefragt werden, um lichtscheuem Gesindel :wink: die Moeglichkeit zu geben sich ohne Kampf aus der Affaere zu ziehen.
Benutzeravatar
Sandy
Ordenskrieger
Ordenskrieger
 
Beiträge: 273
Registriert: So 11 Mär, 2012 03:55
Heldenname: Chiara Tebaldeo
Mitglied bei: Drachenatem

Re: Komplexe Queste: Einbruch.

Beitragvon Provokateur » So 12 Aug, 2012 19:59

http://www.kampfkunst-board.info/forum/ ... tsu-24399/

Sowas sollte doch ausreichen, vielleicht noch für alchemiekundige Chars mit einem Zusatz aus der antamarischen Pflanzenwelt, um dem Feind nicht nur die Sicht kurzzeitig zu nehmen, sondern ihn auch schlafen zu schicken.
Mein Name ist Hose!

Wer anderen eine Grube gräbt, der ... ist ein Zwerg.
Benutzeravatar
Provokateur
Major
Major
 
Beiträge: 2651
Registriert: Do 13 Nov, 2008 12:21
Heldenname: Gureld Hjallssen Feuerbart

Vorherige

Zurück zu Antamar®-Archiv



Wer ist online?

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