if (spot)
return spot;
- if(anypoint)
+ if(anypoint || autocvar_g_spawn_useallspawns)
teamcheck = -1;
else if(have_team_spawns > 0)
{
self.frags = FRAGS_SPECTATOR;
}
+.float model_randomizer;
void FixPlayermodel()
{
string defaultmodel;
- float defaultskin, chmdl, oldskin;
+ float defaultskin, chmdl, oldskin, n, i;
vector m1, m2;
defaultmodel = "";
- if(autocvar_sv_defaultcharacter == 1) {
+ if(autocvar_sv_defaultcharacter == 1)
+ {
defaultskin = 0;
if(teamplay)
defaultmodel = autocvar_sv_defaultplayermodel;
defaultskin = autocvar_sv_defaultplayerskin;
}
+
+ n = tokenize_console(defaultmodel);
+ if(n > 0)
+ defaultmodel = argv(floor(n * self.model_randomizer));
+
+ i = strstrofs(defaultmodel, ":", 0);
+ if(i >= 0)
+ {
+ defaultskin = stof(substring(defaultmodel, i+1, -1));
+ defaultmodel = substring(defaultmodel, 0, i);
+ }
}
if(self.modelindex == 0 && self.deadflag == DEAD_NO)
#else
CSQCModel_LinkEntity();
#endif
+
+ self.model_randomizer = random();
}
/*