IF-Forum

» IF-Forum - Autorencafé - Schreiben! - I6: Inventar anpassen
AntwortenNeues ThemaNeue Umfrage

I6: Inventar anpassen

Geschrieben um 22:36 am 07.08.2013 | Zitat | Editieren | Löschen
Mischa
Mitglied
Master Gumby
Beiträge: 107

Hmmm...

Ich habe dem Spieler ein wenig Gewand angezogen, dass aber eigentlich nicht im Inventar aufscheinen soll.

Wie könnte das gehen?

Im Objekt in invent ein rtrue; anzugeben verursacht leider eine zusätzliche Leerzeile.

Dem Objekt scenery und/oder concealed zu geben, ändert für das Inventar gar nix...

-]

Einzige Lösung (die mir aber nicht 100% gefällt) wäre die ScenicGer Erweiterung zu verwenden und keine echten Objekte dafür anzulegen. Aber eigentlich würde ich aber auch gern auf Ausziehen der Objekte reagieren, was mit ScenicGer, soweit ich weiß, nicht geht.

Geschrieben um 00:18 am 08.08.2013 | Zitat | Editieren | Löschen
ChristianB
Mitglied
Retired Gumby
Beiträge: 1062

Stimmt. Die Attribute concealed und scenery werden bei der Zusammenstellung der Liste fürs Inventar standardmäßig ignoriert. Der inventory_style bekommt nicht das COCEAL_BIT gesetzt, das dem Listenschreiber sagt, dass er auf scenery und concealed achten soll.

Du kannst die zwei Inventory-Routinen ersetzen und mit einem CONCEAL_BIT, das zur Variable inventory_style addiert wird, neu definieren. Die replace-Zeilen müssen irgendwo vor "Include VerbLib;" stehen, die neuen Routinen danach.



replace InvTallSub;

Include "VerbLib"; ! Diese Zeile sollte schon in Deinem Code stehen

[ InvWideSub;

    inventory_style = ENGLISH_BIT+RECURSE_BIT+FULLINV_BIT + CONCEAL_BIT;

    <Inv>;

];

[ InvTallSub;

    inventory_style = NEWLINE_BIT+RECURSE_BIT+INDENT_BIT+FULLINV_BIT + CONCEAL_BIT;

    <Inv>;

];```

Nun kannst du dem betreffenden Gewand das Attribut scenery (concealed besser nicht) geben, und es sollte im Inventar nicht mehr aufgelistet werden, für den Parser aber noch zu sehen sein.
Geschrieben um 20:32 am 08.08.2013 | Zitat | Editieren | Löschen
Mischa
Mitglied
Master Gumby
Beiträge: 107

Hmmm...

Dann muss ich andere Scenery oder concealed Objekte beim Aufheben aber bearbeiten, dass sie im Inv sichtbar sind (ihnen das entsprechende Attribut wegnehmen). Und bei Bedarf beim Ablegen wieder dazufügen.

Mit der Methode kann man nicht zwischen Scenery und concealed Objekten unterscheiden, oder? Beide haben das concealed Bit?

Ist für mein Spiel sicher machbar, aber es ist sicher keine Standardlösung. :-)

Bin ich etwa der erste, der solche Spezialwünsche hat? :-)

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