# TrackMania Nations callbacks

# Available callbacks:

- TrackMania.PlayerConnect(string Login, bool IsSpectator);
- TrackMania.PlayerDisconnect(string Login);
- TrackMania.PlayerChat(int PlayerUid, string Login, string Text, bool IsRegistredCmd);
- TrackMania.PlayerServerMessageAnswer(int PlayerUid, string Login, int Answer);
  Answer: 0 -> no answer (timeout...), 1 or 2 -> answer from the player
- TrackMania.ServerStart();
- TrackMania.ServerStop();
- TrackMania.BeginRace(SChallengeInfo Challenge);

      	struct SChallengeInfo
      	{
      		string Name;
      		string FileName;
      		string Author;
      		string Environnement;
      		string Mood;
      		int BronzeTime;
      		int SilverTime;
      		int GoldTime;
      		int AuthorTime;
      		int CopperPrice;
      		bool LapRace;
      	}

- TrackMania.EndRace(SPlayerRanking Rankings[], SChallengeInfo Challenge);

      	struct SPlayerRanking {
      		string Login;
      		string NickName;
      		int PlayerId;
      		int Rank;
      		int BestTime;
      		int[] BestCheckpoints;
      		int Score;
      		int NbrLapsFinished;
      		double LadderScore;
      	}

- TrackMania.BeginRound();
- TrackMania.StatusChanged(int StatusCode, string StatusName);
- TrackMania.PlayerCheckpoint(int PlayerUid, string Login, int Time, int Score, int CheckpointIndex);
- TrackMania.PlayerFinish(int PlayerUid, string Login, int TimeOrScore);