//////////////////////////////////////////////////////////
// Reputation Protector
//////////////////////////////////////////////////////////
// Set reputation of your team to friendly... helps fix problems caused
// by accidentally attacking your own team members
object fnFindFactionMember(string sID);

void main()
{
    object oPC=GetFirstPC();
    string sID;
    object oTarget;
    while(oPC!=OBJECT_INVALID)
    { // !OI
      sID=GetLocalString(oPC,"sTeamID");
      oTarget=fnFindFactionMember(sID);
      if (oTarget!=OBJECT_INVALID)
      { // !OI2
        AdjustReputation(oPC,oTarget,100);
      } // !OI2
      oPC=GetNextPC();
    } // !OI
    DelayCommand(15.0,ExecuteScript("rts_rep_fix",GetModule()));
}

object fnFindFactionMember(string sID)
{ // find a member of the faction
  object oRet=OBJECT_INVALID;
  int nN=0;
  while(oRet==OBJECT_INVALID&&nN<30)
  { // look for member
    oRet=GetObjectByTag(sID+IntToString(nN));
    nN++;
  } // look for member
  return oRet;
} // fnFindFactionMember()