I was interested in setting the team score so I attempted to track down the cTeam::Set_Score() function in the Windows FDS with success.
I'm not sure about the side-effects my function has but if you want you can try using the following Set_Team_Score() function to set the team score for a team:
RENEGADE_FUNCTION
char *Find_Team(int team)
AT2(0x0041DA10,0x0041DA10);
void Set_Team_Score(int team, float score)
{
char* cTeam = Find_Team(team);
_asm
{
mov ecx, cTeam
push score
mov ebx, 0x41C900
call ebx
}
}
You'll have to call the function for both teams whenever a player joins, it doesn't set the proper score with this method until the score changes after the guy joins for some reason. You need to add the following in a player join hook:
void Toys::OnPlayerJoin(int PlayerID,const char *PlayerName)
{
Set_Team_Score(1, Get_Team_Score(1));
Set_Team_Score(0, Get_Team_Score(0));
}