
AssocMember()


FUNKTION:
        int AssocMember(object npc)

DEFINIERT IN:
        /std/living/team.c

ARGUMENTE:
        Der zuzuordnende NPC.

BESCHREIBUNG:
        Ordnet einen NPC einem Spieler zu. Dieser ist dann
        immer im Team des Spielers, moeglichst in der gleichen Reihe.

RUECKGABEWERT:
        1, falls Zuordnung erfolgreich, sonst 0.

BEISPIEL:
        void fun(object pl)
        {
          if ( pl && pl->AssocMember(this_object()) )
            tell_object(pl,break_string(
              "Ich kaempfe nun auf Deiner Seite!\n",78,"Ein Feuerteufel "
              "teilt Dir mit:");
         ...
        }

BEMERKUNGEN:
        1. Kann nur von Gilden, Spellbooks, vom Objekt selber und vom
           zuzuordnenden NPC aufgerufen werden.
        2. Einem NPC, der selber einem Spieler zugeordnet ist, kann kein
           NPC zugeordnet werden.

SIEHE AUCH:
        Uebersicht: teamkampf
        Properties: P_TEAM, P_TEAM_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
                    P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_LEADER,
                    P_TEAM_NEWMEMBER, P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
        Bewegung:   IsTeamMove, TeamFlee
        Mitglieder: IsTeamLeader, TeamMembers
        Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
                    SelectFarEnemy
        Positionen: PresentPosition, PresentRows, PresentEnemyRows,
                    PresentTeamPosition, SwapRows
        Sonstiges:  TeamPrefix, teamkampf_intern

----------------------------------------------------------------------------
Last modified: 04.10.2011, Zesstra

