// removes the need to bound()
string doublehex = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFFFF";
-float RADAR_WIDTH_MAX = 2048;
-float RADAR_HEIGHT_MAX = 2048;
+float RADAR_WIDTH_MAX = 512;
+float RADAR_HEIGHT_MAX = 512;
float sharpen_buffer[RADAR_WIDTH_MAX * 3];
void sharpen_set(float x, float v)
return;
}
- cvar_set("timelimit", ftos(new));
+ cvar_set("timelimit", ftos(new / 60));
+}
+
+float g_clientmodel_genericsendentity (entity to, float sf);
+void modelbug_make_svqc();
+void modelbug_make_csqc()
+{
+ Net_LinkEntity(self, TRUE, 0, g_clientmodel_genericsendentity);
+ self.think = modelbug_make_svqc;
+ self.nextthink = time + 1;
+ setorigin(self, self.origin - '0 0 8');
+}
+void modelbug_make_svqc()
+{
+ self.SendEntity = func_null;
+ self.think = modelbug_make_csqc;
+ self.nextthink = time + 1;
+ setorigin(self, self.origin + '0 0 8');
+}
+
+void modelbug()
+{
+ entity e;
+ e = spawn();
+ setorigin(e, nextent(world).origin);
+ precache_model("models/portal.md3");
+ setmodel(e, "models/portal.md3");
+ e.think = modelbug_make_svqc;
+ e.nextthink = time + 1;
}
void GameCommand(string command)
if(argv(0) == "help" || argc == 0)
{
print("Usage: sv_cmd COMMAND..., where possible commands are:\n");
- print(" adminmsg clientnumber \"message\"\n");
+ print(" adminmsg clientnumber \"message\" [infobartime]\n");
print(" teamstatus\n");
print(" printstats\n");
print(" make_mapinfo\n");
}
if(argv(0) == "adminmsg")
- if(argc == 3)
+ if(argc >= 3 && argc <= 4)
{
entno = stof(argv(1));
- if((entno < 1) | (entno > maxclients)) {
+ if((entno < 0) | (entno > maxclients)) {
print("Player ", argv(1), " doesn't exist\n");
return;
}
- client = edict_num(entno);
-
- if(client.flags & FL_CLIENT)
+ n = 0;
+ for(i = (entno ? entno : 1); i <= (entno ? entno : maxclients); ++i)
{
- centerprint_atprio(client, CENTERPRIO_ADMIN, strcat("^3", admin_name(), ":\n\n^7", argv(2)));
- sprint(client, strcat("\{1}\{13}^3", admin_name(), "^7: ", argv(2), "\n"));
- print("Message sent to ", client.netname, "\n");
+ client = edict_num(i);
+ if(client.flags & FL_CLIENT)
+ {
+ if(argc == 4)
+ {
+ s = argv(2);
+ s = strreplace("\n", "", s);
+ s = strreplace("\\", "\\\\", s);
+ s = strreplace("$", "$$", s);
+ s = strreplace("\"", "\\\"", s);
+ stuffcmd(client, sprintf("\ninfobar %f \"%s\"\n", stof(argv(3)), s));
+ }
+ else
+ {
+ centerprint(client, strcat("^3", admin_name(), ":\n\n^7", argv(2)));
+ sprint(client, strcat("\{1}\{13}^3", admin_name(), "^7: ", argv(2), "\n"));
+ }
+ print("Message sent to ", client.netname, "\n");
+ ++n;
+ }
}
- else
+ if(!n)
print("Client not found\n");
return;
if (argv(0) == "lockteams")
{
- if(teams_matter)
+ if(teamplay)
{
lockteams = 1;
bprint("^1The teams are now locked.\n");
if (argv(0) == "unlockteams")
{
- if(teams_matter)
+ if(teamplay)
{
lockteams = 0;
bprint("^1The teams are now unlocked.\n");
// 2 (10) no centerprint, admin message
// 3 (11) no centerprint, no admin message
- if(!teams_matter) { // death match
+ if(!teamplay) { // death match
print("Currently not playing a team game\n");
return;
}
return;
}
+ if(argv(0) == "modelbug")
+ {
+ modelbug();
+ return;
+ }
+
print("Invalid command. For a list of supported commands, try sv_cmd help.\n");
}