Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc//wiz/potionmaster

Der Potionmaster (/secure/potionmaster)
=======================================

BESCHREIBUNG

    Funktion: Verwaltung der Zaubertraenke, die Spieler finden koennen.

    Zaubertraenke koennen von beliebigen Objekten im Spiel vergeben werden.
    Jeder Spruch ist in einer eigenen Datei in /secure/ARCH/ZT hinterlegt,
    wobei der Dateiname das allgemeine Format .zt haben muss. 
    entspricht hierbei der ZT-Nummer.

    Die Tips zu den Traenken werden vom Orakel /room/orakel ausgegeben,
    sofern der Spieler genug Stufenpunkte fuer einen neuen Spruch erspielt
    hat (siehe hierzu "hilfe zt"). Die Tips werden dabei aus den o.g. Dateien
    eingelesen. Der ZT wird von dem vergebenden Objekt durch Aufruf von
    FindPotion(string msg) im Spielerobjekt gutgeschrieben.

    In dieser Datei sind die Funktionen des Potionmasters dokumentiert.
    Inhalt:

    1. Zaubertraenke eintragen und aktivieren/deaktivieren
    2. Zaubertraenke in eine Liste einsortieren
    3. Zaubertraenke verlegen
    4. Daten zu Zaubertraenken abfragen
    5. Ein neuer ZT: Was tun?
    6. Format der Zaubertrank-Tips
    7. Wo finde ich eigentlich?
    8. Verschiedenes


FUNKTIONEN

1. Zaubertraenke eintragen und aktivieren/deaktivieren

   int AddPotionroom(string room, int list)
      Der Raum  wird als neuer ZT-Fundort eingetragen und in die Liste
      mit der Nummer  eingefuegt. room muss hierbei der load_name() 
      des Objekts sein, unt  darf Werte von 0 bis 7 haben. Der ZT
      wird dabei aktiviert.
      
      Rueckgabewerte:
       Nummer des naechsten neuen ZTs,  ist die Nummer des
            neu eingetragenen ZTs.
      -1    Zugriff verweigert
      -2     kein String,  ist nicht im Bereich 0-7
      -3     ist nicht ladbar
      -4     vergibt schon einen (anderen) ZT
      -6    Datei mit ZT-Spruch (/secure/ARCH/ZT/.zt) existiert nicht.

   int ActivateRoom(string room)
      Der ZT im Raum  wird aktiviert, d.h. er kann aktiv von dem Raum
      vergeben werden. Technisch wird er aus der Liste der inaktiven ZTs
      ausgetragen.  muss hierbei der load_name() des Raumes sein.

      Rueckgabewerte:
        Nummer des aktivierten ZTs
      -1     Zugriff verweigert
      -5     ungueltiger ZT (Raum ist nicht als ZT-Objekt eingetragen)
      -8      ist bereits aktiviert

   int DeactivateRoom(string room)
      Der ZT im Objekt  wird deaktiviert, d.h. er kann nicht mehr
      von dem Objekt vergeben werden. Technisch wird er in die Liste der
      inaktiven ZTs eingetragen.  muss hierbei der load_name() des
      Raumes sein.

      Rueckgabewerte:
        Nummer des geaenderten ZTs
      -1     Zugriff verweigert
      -5     ungueltiger ZT
      -9      ist bereits inaktiv

2. Zaubertraenke in eine Liste einsortieren

   int SetListNr(string room, int list)
      Traegt den Zaubertrank in Raum  in die Liste  ein. 
       muss hierbei der load_name() des Objekts sein.

      Rueckgabewerte:
        Nummer des geaenderten ZTs
      -1     Zugriff verweigert
      -5     ungueltiger ZT
      -7      ausserhalb der zugelassenen Werte, d.h. <0 oder >7

3. Zaubertraenke verlegen

   int ChangeRoomPath(string old, string new)
      Der Zaubertrank in Raum  wird in den Raum  umgetragen.

      Rueckgabewerte:
       Nummer des erfolgreich geaenderten Zaubertranks
      -1    Zugriff verweigert
      -2     oder  oder beide sind keine Strings
      -3     vergibt keinen ZT, es gibt also nichts zu verlegen, oder
             ist nicht ladbar, dorthin kann also nicht verlegt werden
      -4     hat schon einen Zaubertrank

4. Daten zu Zaubertraenken abfragen

   mixed QueryPotionData(int num)
      Abfrage der Daten zu dem ZT mit der Nummer . Ausgegeben wird ein
      Mapping der Form ([ num : Raumpfad; Listennummer ])

   int QueryInactivePotions()
      Liefert ein Array mit den Nummern der aktuell deaktivierten ZTs zurueck.

   int QueryActive(mixed potion)
      Gibt zu einer ZT-Nummer oder einem Raumpfad an, ob der betreffende ZT
      aktiv ist oder nicht. Wenn ja, wird die entsprechende ZT-Nummer
      zurueckgegeben.
      
      Rueckgabewerte:
       Nummer des abgefragten ZTs
      -1    Zugriff verweigert
      -5    ungueltiger ZT
      -11   ZT ist nicht aktiv
   
   string GetFilenameByNumber(int nr)
      Abfrage des Dateinamens zu Zaubertrank Nummer .
      
      Rueckgabewerte:
       Nummer des abgefragten ZTs
      -1    Zugriff verweigert
      -5    ungueltiger ZT

   int HasPotion(object obj)
      Abfrage der Zaubertranknummer, die von dem Objekt  vergeben wird.
      
      Rueckgabewerte:
       Nummer des abgefragten ZTs
      -1    Zugriff verweigert
      -3    Raum vergibt keinen ZT

   int GetListByNumber(int nr)
      Abfrage der Liste aktiver ZTs, in der der ZT mit der Nummer 
      eingetragen ist.
      Rueckgabe: Nummer der Liste, in der der ZT enthalten ist, sonst -5.

   int GetInactListByNumber(int nr)
      Abfrage der Liste inaktiver ZTs, in der der ZT mit der Nummer 
      eingetragen ist.
      Rueckgabe: Nummer der Liste, in der der ZT enthalten ist, sonst -10.

5. Ein neuer ZT: Was tun?

   AddPotionRoom(newroom, liste) aufrufen. Wenn ein Fehler auftritt, muss
   noch der ZT-Tip in dem unter 6. beschriebenen Format hinterlegt werden.
   Der zu verwendende Dateiname ist in der Fehlermeldung angegeben.

6. Format der Zaubertrank-Tips

   Ein Beispiel mit zwei Tips fuer denselben Zaubertrank:

   Die Zaubermaus wollts wohl verstecken,
   Im Buecherwald sollst nichts entdecken,
   Denn Trinkgenuss ist dort verpoent,
   So ist mans auch RL gewoehnt.
   XXXXX
   Der Raum ist prall und star gefuellt,
   Mit viel Papier, das gern verhuellt
   In Zauberbuchform manches Od,
   Das hilft Dir dann aus Deiner Not.
   %%%%%

   Die Prozentzeichen sind das Endezeichen, danach koennen eventuelle
   Kommentare stehen. XXXXX ist das Trennzeichen zwischen zwei Tips
   zum selben ZT. Auswirkung ist, dass der Spieler bei jedem Aufruf
   seiner Zaubertrank-Liste zufaellig einen Spruch aus der Liste 
   angezeigt bekommt.

7. Wo finde ich eigentlich?

   - die Zaubertrank-Tips:           /secure/ARCH/ZT/*.zt
   - die Gesamtliste der ZTs:        /secure/ARCH/POTIONS.dump
   - das Savefile des Potionmasters: /secure/ARCH/potions.o
   - das Logfile fuer Aenderungen:   /log/ARCH/POTIONS_MOD.log

8. Verschiedenes

   mixed TipLesen(int nr)
      Das Orakel auf der Hochebene ruft die Zaubertrank-Tipps ab, diese
      werden von der Platte gelesen und als String an das Orakel 
      zurueckgeliefert.
   int DumpList()
      Die Komplettliste der ZTs in das Dumpfile /secure/ARCH/POTIONS.dump
      schreiben.

SIEHE AUCH:
   Spielerbefehle: zaubertraenke
   Magierbefehle:  traenke
   Properties:     P_POTIONROOMS, P_KNOWN_POTIONROOMS
   Anleitung:      wiz/zaubertraenke
   ZT finden:      FindPotion(L)


2013-Mai-30 Arathorn


zurück zur Übersicht

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.