Tribes pre-dates C#, so no, they are not the same.
Notable differences include the use of % and $ to identify variables and their scopes, in Darkstar, while C# uses a classification system and the location of it's initialization to indicate scope...
In other words, in Tribes %clientId is a local variable that is forgotten outside of the function or file it was defined it, and it stores a string of characters that may contain numbers, letters or even special characters. Tribes performs mathmatical functions on strings, which is weird and buggy. Likewise, $MissionName contains a string that is remembered until the program is terminated, or until a script deletes it.
In most other programming languages (C# included), you must initialize your variables before you can define them. For example: int clientID; would allocate a block of memory for an integer... It can only contain an integer, and any other character would cause an error. Where that variable is initialized is it's scope...
Also, functions are initialized the same way, so the parser knows how much memory to allocate for the return value. If it's a bool, it only needs to allocate a single bit (two possibilities, true or false). If it's char, 8 bits (256 possibilities, letters, numerical digits, and special characters). Int, could be a whole number up to 32,000 +/- (I think), float = floating point (decimals), etc...
The point is, they are definitely different, and Darkstar is definitely a unique scripting language.