if-de :: Forum Foren-Übersicht
Autor Nachricht
<  "deine Kleidung" im Inventar
Lukas
BeitragVerfasst am: Mo, 30 Mai 2011 - 10:23  Antworten mit Zitat
Wasserträger
Wasserträger


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.)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Oliver Berse
BeitragVerfasst am: So, 5 Jun 2011 - 21:56  Antworten mit Zitat
Wasserträger
Wasserträger


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.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 1 von 1
if-de :: Forum Foren-Übersicht  >  Floyd

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05