
P_GUILD_RESTRICTIONS
********************


NAME
====

   P_GUILD_RESTRICTIONS        "guild_rest"


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

   /sys/new_skills.h


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

   Diese Gildenproperty enthaelt ein Mapping mit den
   Eintrittsbeschraenkungen fuer die jeweilige Gilde.


BEMERKUNGEN
===========

   Im allgemeinen sollte das Mapping mit den Eintrittsbeschraenkungen
   mit den Beschraenkungen fuer Level 1 im Mapping von P_GUILD_LEVELS
   uebereinstimmen.


BEISPIELE
=========

   Ein paar moegliche Abfragen waeren folgende:
   string check(object pl);

   SetProp(P_GUILD_RESTRICTIONS,
           ([P_LEVEL:3,
             P_QP:100,
             SR_FUN:#'check]));

   string check(object pl) {
     if(pl->QueryProp(P_MALE))
       return 0;
     return "Fuer Frauen ist das nichts!\n";
   }


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

   Gildenfkt.:
   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
   * Sonstiges:    P_GUILD_LEVELS
   Sonstiges:      /std/restriction_checker.c

3. Okt 2011 Gloinson
