Punkt 1:
Das Datum beim Connecten eines Spielers für Alle nochmal anzeigen zu lassen, ist Schwachsinn.
TextDrawShowForAll(Jahr);
zu
TextDrawShowForPlayer(playerid, Jahr);
Punkt 2:
Beim Public Datum lässt du das Datum falsch herum ausgeben.
getdate(year, month, day);
format(string,sizeof(string),"%02d:%02d:%d",year,month,day);
TextDrawSetString(Jahr,string);
zu
getdate(year, month, day);
format(string,sizeof(string),"%02d:%02d:%d",day,month,year);
TextDrawSetString(Jahr,string);
Punkt 3:
Hast du im Script den Textdraw überhaupt definiert?
new Text:Jahr;