Kann man eine Art Logbuch in AGS erstellen ?

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
Azrael
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 124
Registriert: 13.05.2003, 16:46
Kontaktdaten:

Kann man eine Art Logbuch in AGS erstellen ?

Beitrag von Azrael »

Ich arbeite schon seit langem an einem Adventure, das etwas anders abläuft, als "normale" Adventures. Normalerweise laufen Adventures ja in einer Linie. Das heißt: man findet Gegenstände, benutzt sie, kommt weiter ... usw. usw. und irgendwann ist das Spiel dann vorbei. Im Nachhinein betrachtet verlief alles in einer Linie.

Mein Adventure geht in eine andere Richtung: der Spieler hat mehrere Möglichkeiten und manche sind eine Sackgasse. Nur weil man vorwärts kommt, bedeutet das nicht, das es einen zum Ziel bringt. Mit anderen Worten: das Spiel wird sehr viel verworrener, als Standard-Adventures.

Das dumme ist nur: wie merkt sich ein Spieler wichtige Hinweise, die ihn z.B. auf den richtigen Weg führen sollen, falls er mal eine Woche lang nicht spielt ?
1. Er schreibt sichs auf (macht keiner)
2. Es gibt ein Logbuch, das das selbst erledigt

Darum meine Idee: an bestimmten Positionen im Spiel möchte ich, dass vorgefertigte Notizen in ein Logbuch hinzugefügt werden. Ich denke dabei z.B. an eine externe log-Datei, die mittels "append" (wie auch immer das zu realisiert geht) Einträge hinzufügt.

Und nun die 1.000.000 Frage:
Unterstützt AGS das Erstellen und Appenden (laufendes Hinzufügen von Text) in eine log-Datei ? Wie kann die log-Datei später wieder einlesen und den Text so formatieren, dass er im Spiel entsprechend angezeigt wird ?
Totoro
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 915
Registriert: 26.07.2003, 19:10
Wohnort: Osaka

Beitrag von Totoro »

Mit direktem log-anhängen weiß ich nicht, aber das würde sicher übers Scripten gehen, wenn es auch etwas umständlich wird.
Dafür müsste man ersteinmal verschiedene Events und die dazugehörigen Texte auflisten. z.B.

Event 145
Ich sprach mit Totoro über die Möglichkeiten, in meinem Adventure ein Tagebuch einzubauen, damit der Spieler sich jeder Zeit an alte Ereignisse erinnern kann. Die Methode, die mir Totoro empfahl, erscheint mir umständlich. Das ist einfach ein unangenehmer Kerl.

Event 146
War auf der Geburtstagsfeier meiner Mutter. Ich habe ihr die neue CD von DasJan geschenkt. Nun bin ich enterbt. Aber wer will schon so eine viktorianische Villa haben.

Im Tagebuch würde ich einzelne Seiten haben und für jeden Eintrag eine Seite benutzen. Und dann müsste es doch recht leicht über Variablen gehen. Wenn du z.B. zuerst mit mir sprichst und dann erst zum Feiern gehst, dann setzt du für Seite 1 einen Wert 145 und für Seite zwei einen Wert 146, oder umgekehrt. Wenn du nun Seite 1 aufschlägst lässt du den Wert abfragen und kannst dann den entsprechenden Text anzeigen lassen.
Hoffentlich hatte jetzt nicht jemand eine bessere Idee, während ich mich hier abstrample. :twisted:
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Totoro hat geschrieben:Hoffentlich hatte jetzt nicht jemand eine bessere Idee, während ich mich hier abstrample. :twisted:
Da ist dir Chris Jones ein paar Wochen zuvorgekommen... :wink:

helpfile -> Scripting -> File functions and properties

(Eigentlich sogar etliche Monate, da ältere AGS-Versionen das auch schon unterstützen. Bei 2.7 ist es aber komfortabler geworden.)

Kurzfassung:

Code: Alles auswählen

// Global script
File *log;
export log;

// Script header
import log;

//  neuer log-Eintrag
log = File.Open("log.dat", FILE_APPEND);
if (log==0)
  File.Open("log.dat", FILE_WRITE);
FileWrite(log, "Der Gärtner ist der Mörder.");
FileClose(log);

//  log anzeigen
string buffer;
int y=1;
log = File.Open("log.dat", FILE_READ);
if (log != 0) {
  while (FileIsEOF(log) == 0) {
    buffer = FileRead(log, buffer);
    y++;
    RawPrint(10, y*10, buffer);
  }
  FileClose (log);
}
Use gopher repellent on funny little man
Benutzeravatar
Azrael
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 124
Registriert: 13.05.2003, 16:46
Kontaktdaten:

Beitrag von Azrael »

Super, das sind ja gute Nachrichten :-)
DANKE !!!!
Antworten