IF-Forum

» IF-Forum - Autorencafé - Schreiben! - hilfe bei den ersten schritten
AntwortenNeues ThemaNeue Umfrage

hilfe bei den ersten schritten

Geschrieben um 17:37 am 07.10.2003 | Zitat | Editieren | Löschen
Gast
Gast

ich bin ein unwürdiges nichts ... das vorweg ...!

ich bin erst vor kurzem auf textadventures aufmerksam geworden und verleitet von blumigen und ermunternden Beschreibungen ein solches programmieren zu können sei möglich für mein unwissendes Köpfchen begann ich also das umfangreiche handbuch von martin oehm zu lesen... ich kann soweit auch alles nachvollziehen was dort so erklärt wird (bin zwar erst recht weit vorn find ich aber tierisch interressant) komme aber trotzdem wahrscheinlich an grundlagen nicht weiter.

ersteinmal ist es mir irgendwie nicht möglich eine textdatei zu erstellen mit der endung .adv (ich versuche gerade wie beschrieben das haus.adv zu kopieren und dann mit tag zu einer welt zu befördern) ich habe mir den editor context geladen...

außerdem weis ich nicht wie es mir möglich sein soll eine .adv datei zu einer .tag zu generieren...

ich weis ich bin erbärmlich aber was soll ich machen.?!

ihr müsst nicht antworten wenn es euch zu viel mühe macht aber ich würde mich trotzdem (auch über beschimpfungen wenn sie nicht ganz so hart sind ) freuen :cry:

Geschrieben um 19:28 am 07.10.2003 | Zitat | Editieren | Löschen
Tanan
Mitglied
Prof Gumby
Beiträge: 404

Hallo unbekannter Gast!

Schön, daß Du Dich an IF versuchst - wir können jede Verstärkung gebrauchen. Beschimpft wird man hier in der Regel nicht, also solange Du nett zu den anderen bist, hast Du nichts zu befürchten.

Statt des umfangreichen TAG-Handbuches hättest Du vielleicht erst einmal einen Blick auf das Tutorium werfen sollen:

http://www.martin-oehm.de/tagtut/index.html

Dort ist alles recht kleinschrittig erklärt. Antwort darauf, wie man ein aus einem adv-File ein tag-File generiert, findet sich z.B. hier:

http://www.martin-oehm.de/tagtut/tagtut01.htm#sect2

Zitat:

ersteinmal ist es mir irgendwie nicht möglich eine textdatei zu erstellen mit der endung .adv

Öffne ein neues Dokument mit Deinem Editor, schreibe etwas hinein, gehe auf "Speichern unter" ("Save as") und gebe im folgenden Dialog "haus.adv" ein. Fertig.

Viel Glück. Wenn Du weitere Hilfe oder ein paar Tips brauchst, komm doch mal im Chat vorbei:

http://www.ifzentrale.de/forum/viewtopic.php?t=39

Dort sind jede Woche mehrere IF-Autoren, die Dir gerne helfen werden.

Alternativ kannst Du natürlich auch wieder hier fragen. Anregungen massenhaft findest Du außerdem unter http://www.textfire.de

Geschrieben um 22:06 am 07.10.2003 | Zitat | Editieren | Löschen
Mo
Mitglied
Dr Gumby
Beiträge: 290

Tanan:

Öffne ein neues Dokument mit Deinem Editor, schreibe etwas hinein, gehe auf "Speichern unter" ("Save as") und gebe im folgenden Dialog "haus.adv" ein. Fertig.

Einige dumme Editoren hängen immer noch ihre eigene Endung wie z.B. ".txt" an den eingegebenen Dateinamen an. Dann änderst Du den Dateinamen einfach nach dem Speichern.

Geschrieben um 20:17 am 18.10.2003 | Zitat | Editieren | Löschen
cross
Mitglied
Pupil Gumby
Beiträge: 16

hallo gast ich hab mal ne frage an dich:

bist du das ephraim???

Geschrieben um 00:36 am 21.01.2004 | Zitat | Editieren | Löschen
Zensunni
Mitglied
Pupil Gumby
Beiträge: 12

Ich hab auch erst vor ein paar Tagen damit angefangen, das Tutorium zu lesen und hänge jetzt bei dem Pilz in Kapitel 5 (Frage 12 u. 13) fest.:

So wie ich das sehe braucht man 2x den Befehl vorAusf, einmal um den Spieler daran zu hindern den Pilz ohne gezücktes Taschenmesser zu pflücken und dann nochmal um ihn beim ersten Biß vor dem Tod zu bewahren. Allerdings krieg ich dann immer die Fehlermeldung 'vorausf' - Block doppelt definiert. Gibt es eine Möglichkeit das zu verhindern?

Geschrieben um 11:09 am 21.01.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Prof Gumby
Beiträge: 634

Jedes Objekt kann nur einen Namen, eine VorAusf und eine NachAusf haben. Die einzigen Ausnahmen sind hier die Angaben zum Vokabular, Vor, Adj und Subst, die mehrmals auftauchen können.

Innerhalb der VorAusf kann man jedoch mehrere Befehle abfangen, der Pilz müsste nach Aufgabe 13 also so aussehen:


ObjAttr probiert

Obj     Pilz

Name    'eigenartig^ Pilz' m

adj     'eigenartig' 'grün' 'weiß' 'giftig'

vor     'gift' 'knollenblätter'

subst   'pilz' m 'kappe' f 'hut' m 'punkte' p

Ort     Lichtung

Besch   'Der Pilz hat eine grüne Kappe mit

        kleinen, weißen Punkten.'

Erst    'Ein eigenartiger grüner Pilz wächst

        mitten auf der Lichtung.'

VorAusf

    (nehmen)

    Bed (Taschenmesser beiMir)

        'Der Pilz sitzt fest im Boden, du kannst

        ihn nicht einfach herausziehen.'

    Bed (Taschenmesser offen)

        'Gute Idee, aber das Messer ist noch zu.'

    (essen)

    Wenn (Pilz probiert) dann

        Text 'Du beißt herzhaft in den Pilz. Aber

            erstens schmeckt der rohe Pilz

            ziemlich bescheiden und zweitens ist

            er hochgiftig.'

        Gestorben

    sonst

        Text 'Du knabberst ein wenig an dem Pilz.

            Irgenwie schmeckt er eigenartig, aber

            du kannst nicht genau sagen, warum.'

        AttrHin Pilz probiert

    Ende

    Stop

EndeAusf

Im Download-Bereich von T.A.G. ist der Quelltext des fertigen Tutoriums-Adventures erhältlich. Dort kannst du auch nachschauen, wenn etwas nicht klappt.

Geschrieben um 23:05 am 21.01.2004 | Zitat | Editieren | Löschen
Zensunni
Mitglied
Pupil Gumby
Beiträge: 12

Danke für die Hilfe.

Ich hab das Tutorium jetzt durchgelesen und gleich angefangen mein eigenes Spiel zu machen, weil ich etwas Angst hatte das ich alles wieder vergesse wenn ich damit ein paar Tage warte:)

Leider bin ich sofort auf ein neues Problem gestoßen: gibt es eine Möglichkeit, ein Objekt so zu definieren, dass es in allen Räumen vorhanden ist ohne dass man sie alle einzeln bei ort aufzählen muss? (ich hoffe das wurde da nicht schon erklärt und ich habs übersehen)

Geschrieben um 23:55 am 21.01.2004 | Zitat | Editieren | Löschen
Paycheck
Mitglied
Baby Gumby
Beiträge: 8

Du könntest dem Objekt z.B. das Attribut überall oder so geben und es so einrichten das die Eigenschaft Ort bei Objekten mit dem Attribut immer auf den Aktuellen Ort eingestellt wird.

Ist nur ein kleiner Denkanstoss.

Bei Deko's ist es einfacher steht auch irgendwo beschrieben muß ich nur nochmal suchen ;)

Das hier ist evtl. interessant für dich

http://www.martin-oehm.de/tagman/kap_10.html#10.6

Geschrieben um 09:27 am 22.01.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Prof Gumby
Beiträge: 634

Zensunni:

...gibt es eine Möglichkeit, ein Objekt so zu definieren, dass es in allen Räumen vorhanden ist ohne dass man sie alle einzeln bei ort aufzählen muss?

Die einfachste Möglichkeit, ein Objekt in allen Räumen zu platzieren, wird ganz unten im Kleingedruckten des Abschnitts über Dekorationen im Tutorium beschrieben: Wenn die Ortsangabe einer Deko anstelle einer Liste von Räumen ein Attribut enthält, ist dieses Dekorationsobjekt in allen Räumen, die dieses Attribut enthält, vorhanden.

Um das Objekt überall zu platzieren, könntest du folgendes definieren:


Deko Staub

Name 'Staub' m

...

Attr besucht

Nach jedem Zug wird der Staub nun in den jetzigen Raum verschoben, da dieser ja besucht ist. Das erzeugt die Illusion, dass überall Staub zu finden ist.

Das Verwenden von besucht birgt - eventuell, hab's nicht ausprobiert - ein Problem: Eventuell werden die Dekos verschoben, bevor der Raum als besucht markiert wird. Dann kannst du die Möglichkeit das Attribut zu verneinen benutzen:


RaumAttr inexistent

| bei *keinem* Raum definieren

Deko Staub

Name 'Staub' m

...

Attr /inexistent

Paycheck:

Du könntest dem Objekt z.B. das Attribut überall oder so geben und es so einrichten das die Eigenschaft Ort bei Objekten mit dem Attribut immer auf den Aktuellen Ort eingestellt wird.

Genau, so macht es T.A.G. bei Objekten mit Attribut und nimmt damit dem Autoren einige Programmierarbeit ab. Das Verschieben der Dekos selbst zu programmieren lohnt sich nur, wenn dabei auch andere Dinge berücksichtigt werden sollen, wie im angegebenen Beispiel mit den Torbögen.

Geschrieben um 20:16 am 29.01.2004 | Zitat | Editieren | Löschen
Zensunni
Mitglied
Pupil Gumby
Beiträge: 12

Ich hatte gehofft, ich müsste euch erstmal eine zeitlang nicht mehr nerven, aber irgendwie habe ich irgendein Problem produziert ohne zu ahnen wodurch es ausgelöst wurde:

Wenn ich das Spiel starte, kommt statt dem Text in der Aktion 'Anfang' der Fehler 'Text nicht gefunden: 1:86' (die anderen Befehle in der Aktion werden aber anscheinend ausgeführt) Wenn ich Dekorationen untersuche, kommt statt der passenden Beschreibung die Beschreibung der Deko, die ich als nächstes definiert habe und wenn ich die letzte Deko untersuche, wird plötzlich der Text aus der Aktion 'Anfang' ausgegeben. Hat jemand eine Ahnung wo der Fehler liegt und wie man ihn beheben kann?

Geschrieben um 12:48 am 30.01.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Prof Gumby
Beiträge: 634

Zensunni:

Hat jemand eine Ahnung wo der Fehler liegt und wie man ihn beheben kann?

Der Fehler liegt vermutlich irgendwo im Code. Das kann ich sogar trotz der wenigen Informationen über das Problem sagen.

Naja, es sieht so aus, als ob sich die Texte verschoben haben. Und das, ohne dass der Generator das gemerkt hätte. Offenbar wurde hier ein Text "verschluckt", so dass der Text von Objekt/Deko x nun der Text von Objekt/Deko x+1 ist. Die Routine Anfang steht wohl (paradoxerweise) ziemlich am Schluss, nach den Objektdefinitionen, so dass ihr Text nun als Beschreibung der letzten Deko hergenommen wird.

Beheben kannst du das Problem, indem du versuchst, herauszufinden, ab wann das Problem auftritt, ab welchem Objekt also die Beschreibungen verschoben sind. Wenn du das weißt, siehst du (a) entweder schon, was falsch ist oder (b) postest den Code hier oder (c) schickst ihn mir mal per Mail.

Geschrieben um 18:19 am 31.01.2004 | Zitat | Editieren | Löschen
Zensunni
Mitglied
Pupil Gumby
Beiträge: 12

Danke für den Tip, jetzt funktioniert es wieder. Der Fehler war anscheinend, dass das '-Zeichen am Ende eines Textes in die nächste Zeile gerutscht war.

Geschrieben um 07:30 am 03.02.2004 | Zitat | Editieren | Löschen
binzl
Mitglied
Master Gumby
Beiträge: 98

Vielleicht sollte TAG doch wie in anderen Programmiersprachen üblich mit ";" das Ende der Zeile markieren um so minimalistische Fehler besser zu finden (nur ne Überlegung).

Geschrieben um 01:54 am 04.02.2004 | Zitat | Editieren | Löschen
alcyon
Mitglied
Student Gumby
Beiträge: 25

binzl:

Vielleicht sollte TAG doch wie in anderen Programmiersprachen üblich mit ";" das Ende der Zeile markieren um so minimalistische Fehler besser zu finden (nur ne Überlegung).

Halte ich für eine sehr gute Idee, allerdings würde das wohl Probleme mit der Konsistenz der bisherigen TAG-Spielen geben..

Nett wäre es, diese Möglichkeit als Option zu haben (per Parameter im Compiler), wobei dadurch aber eine parallele zweigleisige Art der Syntax zustande kommt, was auch nicht gerade wünschenswert wäre.

Gruß,

alcyon

Geschrieben um 09:21 am 04.02.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Prof Gumby
Beiträge: 634

binzl:

Vielleicht sollte TAG doch wie in anderen Programmiersprachen üblich mit ";" das Ende der Zeile markieren um so minimalistische Fehler besser zu finden (nur ne Überlegung).

Und dann? In diesem Fall hätte das nichts geändert. Der Fehler lag heir beim Ablegen der Textstrings in der T.A.G.-Datei.

Zugegeben, T.A.G. hat eine recht einfach strukturierte Syntax und Lexer/Parser spucken nicht immer passende Fehlermeldungen aus, in diesem Fall sogar gar keine, was eine fehlerhafte Spieldatei erzeugt. Aber mit ein bisschen Übung und wenn man weiß, worauf man achten muss, hat man solche Fehler schnell gefunden.

Und es gibt ja immer noch das Forum. Vielen Dank übrigens an die alten T.A.G.-Hasen, die hier Einsteigern hilfreich zur Seite stehen.

Geschrieben um 15:44 am 04.02.2004 | Zitat | Editieren | Löschen
binzl
Mitglied
Master Gumby
Beiträge: 98

Martin:

Und dann? In diesem Fall hätte das nichts geändert. Der Fehler lag heir beim Ablegen der Textstrings in der T.A.G.-Datei.

War auch nur ne Überlegung, wäre vielleicht auch etwas aufwendig umzuschreiben. Mit etwas Übung ist das aber auch kein Problem. Wenn man die TAG Syntax erst mal kennt findet man ja auch solche Fehler schneller.

AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz