Lpc Manpages

FUNKTION:
       public int check_timed_key(string key)
       
DEFINIERT IN:
       /std/living/life.c    

ARGUMENTE:
       string key : eindeutiger String

BESCHREIBUNG:
       Diese Funktion hat die Aufgabe, mittels update_timed_key() gespeicherte
       Zeitsperren zu pruefen, dabei aber nicht zu veraendern.

RUECKGABEWERT:
       0    Die Zeitsperre <key> ist abgelaufen.

       >0   <key> ist noch gesperrt.
            Der Rueckgabewert ist der Zeitpunkt, ab dem <key> wieder frei ist,

BEISPIEL:
       Eine Heilstelle soll jedem Spieler alle 30 Min zur Verfuegung stehen:

       #define TP this_player()

       AddCmd(({"trink","trinke"}),"cmd_drink");

       int cmd_drink(string str)
        {
         ...
         int zeit;

         // Eindeutigen Key waehlen, z.B.:
         string key = "torin_orklab_tanke#05";

         if ( !(zeit=TP->check_timed_key(key)) > 0 )
          {
           if ( zeit > 1400 )
            write("Die Mulde ist fast leer. Da musst Du wohl noch eine "
                  "recht lange Zeit warten, bis sich wieder genuegend "
                  "Wasser angesammelt hat.\n");
           else
            if ( zeit > 800 )
             write("In der Mulde hat sich schon etwas Wasser angesammelt. "
                   "Allerdings lohnt es noch nicht, daraus auch zu "
                   "trinken.\n");
            else
             write("Die Mulde ist nun fast voller Wasser, doch Du wartest "
                   "lieber noch ein wenig, damit es sich auch wirklich "
                   "lohnt, daraus zu trinken.\n");

           return 1;
          }

         // Trinken nun theoretisch moeglich!
         else
          {
           if ( !TP->drink_soft(5,"Selbst ein kleiner Schluck waere "
                                        "Dir momentan zuviel!") )
             // Bis hierhin wurden an der Tanke nichts geaendert, nur gecheckt!
            return 1;

           // ERFOLG! Nun MUSS update_timed_key() aufgerufen werden!
           TP->update_timed_key(1800,key);

           // Heilung aus Essen/Trinken vorzugsweise mit buffer_hp/sp !
           TP->buffer_hp(60,15);
           TP->buffer_sp(60,15);

           write("Du beugst Dich hinunter und nimmst einen kleinen Schluck "
                 "aus der Mulde. Deine Kraefte kehren langsam zurueck.\n");
           return 1;
          }
        }

SIEHE AUCH:
     Aehnlich:  update_timed_key
     Heilung:   consume, eat_food, drink_soft, drink_alcohol,
                restore_spell_points, restore_hit_points, 
                buffer_hp, buffer_sp, heal_self
     Enttanken: defuel_drink, defuel_food
     Props:     P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
                P_DEFUEL_TIME_DRINK
     Kneipen:   kneipe, AddToMenu, RemoveFromMenu
     Konzepte:  heilung, enttanken, food

----------------------------------------------------------------------------
01.10.17, Torin