Autor |
Nachricht |
< I6: Inventar anpassen |
|
Verfasst am:
Mi, 7 Aug 2013 - 21:36
|
|
|
Abenteurer
Anmeldungsdatum: 05.03.2008
Beiträge: 285
Wohnort: Wien
|
|
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. |
|
|
|
|
|
Verfasst am:
Mi, 7 Aug 2013 - 23:18
|
|
|
Experte
Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
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.
Code: | replace InvWideSub;
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. |
|
|
|
|
|
Verfasst am:
Do, 8 Aug 2013 - 19:32
|
|
|
Abenteurer
Anmeldungsdatum: 05.03.2008
Beiträge: 285
Wohnort: Wien
|
|
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? :-) |
|
|
|
|
|