LearnSpell()
************


FUNKTION
========

   varargs int LearnSpell(string spell, object pl)


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

   /std/gilden_ob.c


ARGUMENTE
=========

   string spell     Der zu lernende Spell
   object pl        lernender Spieler, wenn 0, wird this_player() genommen


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

   Diese Funktion ueberprueft den Spieler auf Gildenzugehoerigkeit
   und ruft, falls kein 'spell' angegeben ist die SkillListe()
   fuer Spells auf.

   Falls ein Argument angegeben wird, wird bei dem Spieler dieser Spell
   initialisiert, sofern er die notwendigen Anforderungen erfuellt hat.


RUECKGABEWERT
=============

   0 bei Fehler, 1 bei Erfolg.


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

   GObj Lernen:    LearnSkill, InitialSkillAbility
   * Anzeigen:     SkillListe
   * Verwalten:    AddSpell (gilde), AddSkill, QuerySpell, QuerySkill
   * Nutzen:       UseSpell (gilde)
   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
   Gildenfkt.:     GuildRating
   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten

3. Okt 2011 Gloinson
