ModifyQuestTime()
*****************


FUNKTION
========

   int ModifyQuestTime(string questname, int zeit)


DEFINIERT IN
============

   /std/player/quests.c


ARGUMENTE
=========

   questname
     Questname, wie er im Questmaster eingetragen wurde.
   zeit
     Zeitpunkt, zu dem die Quest geloest wurde


RUeCKGABEWERT
=============

    1 : Questzeitpunkt erfolgreich nachgetragen
   -1 : keine Zugriffsrechte (nur EM+ und der Tagebuchmaster erlaubt)
   -2 : Questliste im Spielerobjekt ist unerwartet kein Mapping
   -3 : Spieler hat diese Quest noch nicht bestanden
   -4 : kein gueltiger Zeitpunkt uebergeben (kein Integer, Wert < -1
        oder Wert > time()).


BESCHREIBUNG
============

   Mit dieser Funktion kann der Zeitpunkt nachgetragen werden, zu
   dem ein Spieler eine bestimmte Quest bereits geloest hat.
   Als Questname wird dazu der Name angegeben, der im Questmaster
   eingetragen ist. Der Zeitpunkt ist als Integer-Wert im ueblichen
   time()-Format anzugeben. Uebergibt man -1 als <zeit>, dann wird
   der Tagebuchmaster erneut versuchen, das Logfile einzulesen,
   wenn der Spieler das naechste mal sein Abenteuertagebuch liest.


HINWEIS
=======

   Die Funktion mktime() ist nuetzlich, wenn der Zeitpunkt des
   Bestehens einer Quest manuell rekonstruiert werden muss, der
   Zeitpunkt aber nur als Datums-/Zeitangabe in Textform vorliegt
   (etwa aus einem Logfile oder aus der Quest-Feedbackmail).


SIEHE AUCH
==========

   /secure/questmaster.h, /obj/tools/questtool
   GiveQuest(L)
   mktime(E), dtime(SE)

Zuletzt geaendert: Mon, 27. Jan. 2015, Arathorn
