Autor |
Nachricht |
< "deine Kleidung" im Inventar |
|
Verfasst am:
Mo, 30 Mai 2011 - 10:23
|
|
|
Wasserträger
![Wasserträger Wasserträger](images/ranks/rang2.gif)
Anmeldungsdatum: 21.05.2006
Beiträge: 42
|
|
Folgendes Problem: die Kleidungsstücke des Spielers sollen als "deine Kleidung" im Inventar erscheinen. Jetzt wird aber im Inventar davor immer ein unbestimmter Artikel gesetzt. Wie kann ich das verhindern? Meine erste Lösung war:
Code: | setShort("$deine Kleidung,$Kleidung"); |
... aber gibt es auch etwas Eleganteres? (Notfalls verweist mich einfach auf die Stelle im Handbuch, falls ich da etwas übersehen habe.) |
|
|
|
![](templates/NoseBleed/images/spacer.gif) |
|
Verfasst am:
So, 5 Jun 2011 - 21:56
|
|
|
Wasserträger
![Wasserträger Wasserträger](images/ranks/rang2.gif)
Anmeldungsdatum: 29.08.2002
Beiträge: 50
|
|
Wenn der Name nur im Inventar mit Pronomen erscheinen soll würde ich ihn auch nur hier anpassen:
Code: |
class spieler:stdcreature {
moveto(raum);
int onAction(int action) {
int result;
switch(action) {
case(A_INVENTORY);
kleidung.setShort("$deine Kleidung");
result = super.onAction(action);
kleidung.setShort("-Kleidung, $deine Kleidung");
return(result);
default;
return(super.onAction(action));
}
}
}
class kleidung:stditem {
setShort("-Kleidung, $deine Kleidung");
with(wearable, worn, takeable);
moveto(spieler);
}
|
Das gibt dann:
>i
Du trägst:
deine Kleidung (angezogen)
>x deine kleidung
Daran ist nichts Besonderes zu entdecken.
>ziehe die kleidung aus
Du hast die Kleidung jetzt ausgezogen.
>lege kleidung ab
Du legst die Kleidung ab.
>ziehe deine kleidung an
(Du nimmst erst die Kleidung.)
Du hast die Kleidung jetzt angezogen.
>l
Raum
Weiterhin siehst du hier eine Kleidung.
Um die Ausgabe auch an anderen Stellen zu ändern, sollte eine neue Klasse von der entsprechenden Standardklasse abgeleitet und der Name bei der gewünschten Aktion angepasst werden.
Ausprobiert habe ich es nicht, es sollte aber auch möglich sein, dem Namen in der beforeAction-Methode für bestimmte Aktionen das Pronomen zu geben und ihn nach allen Aktionen in einem Daemon wieder zu ändern.
Wenn das Pronomen aber wirklich überall erscheinen soll (und das bei den verschiedenen Listen keine Probleme macht) ist Deine Lösung aber wohl am einfachsten. |
|
|
|
![](templates/NoseBleed/images/spacer.gif) |
|