GetReputation()
***************


FUNKTION
========

   public int GetReputation(string repid)


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

   /std/player/reputation.c


ARGUMENTE
=========

   repid
     Eindeutige ID der angefragten Reputation.


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

   Liefert den aktuellen Wert der angegebenen Reputation <repid> zurueck.


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

   Zahlenwert, Integer.


BEISPIELE
=========

   s. reputation


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

   reputation
   ChangeReputation(), GetReputations()


ZULETZT GEAeNDERT
=================

06.04.2009, Zesstra
