
HasMiniQuest()
**************


FUNKTION
========

   int HasMiniQuest(mixed pl, mixed name)


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

   /secure/questmaster


ARGUMENTE
=========

   pl
     Name des Spielers oder das Spielerobjekt
   name
     Filename des Objekts oder das Objekt selbst, welches die Miniquest
     im Spieler eintragen darf, oder die Nummer (int) der Miniquest


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

    1 : Der Spieler hat die MiniQuest
    0 : Der Spieler hat die MiniQuest noch nicht
   -2 : angegebene Miniquest existiert nicht
   -3 : falsche Datentypen fuer pl oder name uebergeben


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

   Mit dieser Funktion kann getestet werden, ob ein Spieler eine
   MiniQuest bereits geloest hat. Dabei ist entweder der Filename des
   Objektes anzugeben, das die Quest im Spieler eintragen darf oder
   das Objekt selbst.


BEISPIEL
========

   if( QM->HasMiniQuest(getuid(this_player()), this_object())!=1 )
     tell_object(this_player(), "Du bist noch nicht reif genug.\n");


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

   GiveMiniQuest(L)
   /secure/questmaster.h, /secure/questmaster.c

Zuletzt geaendert: 2014-Feb-03, Arathorn.
