WriteByte(MSG_ENTITY, welcome_msg_too);
// welcome message is sent here because it needs to know the gametype
if (welcome_msg_too)
- SendWelcomemessage_msg_type(to, false, MSG_ENTITY);
+ SendWelcomeMessage(to, MSG_ENTITY);
return true;
}
{
float c;
string s;
- float fullstatus;
entity winnerscorekeeper;
entity secondscorekeeper;
entity sk;
// so to match pure, match for :P0:
// to match full, match for :S0:
- fullstatus = autocvar_g_full_getstatus_responses;
-
- s = GetGametype();
- s = strcat(s, ":", autocvar_g_xonoticversion);
- s = strcat(s, ":P", ftos(cvar_purechanges_count));
- s = strcat(s, ":S", ftos(nJoinAllowed(this, NULL)));
- s = strcat(s, ":F", ftos(serverflags));
- s = strcat(s, ":T", sv_termsofservice_url_escaped);
- s = strcat(s, ":M", modname);
- s = strcat(s, "::", GetPlayerScoreString(NULL, (fullstatus ? 1 : 2)));
+ // NOTE can't use a single strcat because strcat concatenates max 8 strings
+ s = strcat(GetGametype(),
+ ":", autocvar_g_xonoticversion,
+ ":P", ftos(cvar_purechanges_count),
+ ":S", ftos(nJoinAllowed(this, NULL)));
+ s = strcat(s,
+ ":F", ftos(serverflags),
+ ":T", sv_termsofservice_url_escaped,
+ ":M", modname);
+ s = strcat(s,
+ "::", GetPlayerScoreString(NULL, (autocvar_g_full_getstatus_responses ? 1 : 2)));
if(teamscores_entities_count)
{
}
}
- strcpy(worldstatus, s);
+ if (s != worldstatus)
+ strcpy(worldstatus, s);
FOREACH_CLIENT(true, {
string s = "";
- if(fullstatus)
+ if(autocvar_g_full_getstatus_responses)
{
s = GetPlayerScoreString(it, 1);
s = strcat(s, IS_REAL_CLIENT(it) ? ":human" : ":bot");
s = "-666";
}
- strcpy(it.clientstatus, s);
+ if (s != it.clientstatus)
+ strcpy(it.clientstatus, s);
});
}
{
fl = teamscores_flags(i);
sc = sk.(teamscores(i));
- s = strcat(s, " ", Score_NicePrint_ItemColor(fl), ScoreString(fl, sc));
+ s = strcat(s, " ", Score_NicePrint_ItemColor(fl), ScoreString(fl, sc, 0));
}
}
else
{
fl = scores_flags(it);
sc = sk.(scores(it));
- s = strcat(s, " ", Score_NicePrint_ItemColor(fl), strpad(-w, ScoreString(fl, sc)));
+ s = strcat(s, " ", Score_NicePrint_ItemColor(fl), strpad(-w, ScoreString(fl, sc, 0)));
}
});