1. Code:
    private Timer[] PlayerTimer;void OnPlayerInit(BasePlayer player)
    {
     PlayerTimer[player.userID] = timer.Repeat(60*10, 0, () = > {
      PrintToChat(player, "Test");
     }
    }
    
    I get an NRE error.
    How to properlycreate a variable?
     
  2. private Timer[] PlayerTimer = new Timer[size of array];
    Also you can use a List<Timer> timers = new List<Timer>(); and then timers.Add(your timer);
     
  3. Error:
    Code:
    IndexOutOfRangeException: Array index is out of range.
     
  4. Obviously.
    PlayerTimer is zero-sized array.
    And you're passing userID (Steam ID) to array indexer.

    You need a dictionary here.