string admin_name(void)
{
- if(cvar_string("sv_adminnick") != "")
- return cvar_string("sv_adminnick");
+ if(autocvar_sv_adminnick != "")
+ return autocvar_sv_adminnick;
else
return "SERVER ADMIN";
}
else
strPlayerPingColor = "^2";
- if((cvar("sv_fragmessage_information_stats")) && (enPlayer.health >= 1))
+ if((autocvar_sv_fragmessage_information_stats) && (enPlayer.health >= 1))
strMessage = strcat(strMessage, "\n^7(Health ^1", ftos(nPlayerHealth), "^7 / Armor ^2", ftos(nPlayerArmor), "^7)");
- if(cvar("sv_fragmessage_information_ping")) {
+ if(autocvar_sv_fragmessage_information_ping) {
if(clienttype(enPlayer) == CLIENTTYPE_BOT) // Bots have no ping
strMessage = strcat(strMessage, " ^7(^2Bot");
else
strMessage = strcat(strMessage, " ^7(Ping ", strPlayerPingColor, ftos(nPlayerPing), "ms");
- if(cvar("sv_fragmessage_information_handicap"))
- if(cvar("sv_fragmessage_information_handicap") == 2)
+ if(autocvar_sv_fragmessage_information_handicap)
+ if(autocvar_sv_fragmessage_information_handicap == 2)
if(nPlayerHandicap <= 1)
strMessage = strcat(strMessage, "^7 / Handicap ^2Off^7)");
else
strMessage = strcat(strMessage, "^7 / Handicap ^2", ftos(nPlayerHandicap), "^7)");
else
strMessage = strcat(strMessage, "^7)");
- } else if(cvar("sv_fragmessage_information_handicap")) {
- if(cvar("sv_fragmessage_information_handicap") == 2)
+ } else if(autocvar_sv_fragmessage_information_handicap) {
+ if(autocvar_sv_fragmessage_information_handicap == 2)
if(nPlayerHandicap <= 1)
strMessage = strcat(strMessage, "\n^7(Handicap ^2Off^7)");
else
string fn;
float matches;
- if (cvar("sv_eventlog_files"))
+ if (autocvar_sv_eventlog_files)
{
if (!logfile_open)
{
logfile_open = TRUE;
- matches = cvar("sv_eventlog_files_counter") + 1;
+ matches = autocvar_sv_eventlog_files_counter + 1;
cvar_set("sv_eventlog_files_counter", ftos(matches));
fn = ftos(matches);
if (strlen(fn) < 8)
fn = strcat(substring("00000000", 0, 8 - strlen(fn)), fn);
- fn = strcat(cvar_string("sv_eventlog_files_nameprefix"), fn, cvar_string("sv_eventlog_files_namesuffix"));
+ fn = strcat(autocvar_sv_eventlog_files_nameprefix, fn, autocvar_sv_eventlog_files_namesuffix);
logfile = fopen(fn, FILE_APPEND);
fputs(logfile, ":logversion:3\n");
}
if (logfile >= 0)
{
- if (cvar("sv_eventlog_files_timestamps"))
+ if (autocvar_sv_eventlog_files_timestamps)
fputs(logfile, strcat(":time:", strftime(TRUE, "%Y-%m-%d %H:%M:%S", "\n", s, "\n")));
else
fputs(logfile, strcat(s, "\n"));
}
}
- if (cvar("sv_eventlog_console"))
+ if (autocvar_sv_eventlog_console)
{
print(s, "\n");
}
float spawnpoint_nag;
void relocate_spawnpoint()
{
- PL_VIEW_OFS = stov(cvar_string("sv_player_viewoffset"));
- PL_MIN = stov(cvar_string("sv_player_mins"));
- PL_MAX = stov(cvar_string("sv_player_maxs"));
- PL_HEAD = stov(cvar_string("sv_player_headsize"));
- PL_CROUCH_VIEW_OFS = stov(cvar_string("sv_player_crouch_viewoffset"));
- PL_CROUCH_MIN = stov(cvar_string("sv_player_crouch_mins"));
- PL_CROUCH_MAX = stov(cvar_string("sv_player_crouch_maxs"));
+ PL_VIEW_OFS = stov(autocvar_sv_player_viewoffset);
+ PL_MIN = stov(autocvar_sv_player_mins);
+ PL_MAX = stov(autocvar_sv_player_maxs);
+ PL_HEAD = stov(autocvar_sv_player_headsize);
+ PL_CROUCH_VIEW_OFS = stov(autocvar_sv_player_crouch_viewoffset);
+ PL_CROUCH_MIN = stov(autocvar_sv_player_crouch_mins);
+ PL_CROUCH_MAX = stov(autocvar_sv_player_crouch_maxs);
// nudge off the floor
setorigin(self, self.origin + '0 0 1');
print(" needs to be moved out of solid, e.g. by '", ftos(self.origin_x - o_x));
print(" ", ftos(self.origin_y - o_y));
print(" ", ftos(self.origin_z - o_z), "'\n");
- if (cvar("g_spawnpoints_auto_move_out_of_solid"))
+ if (autocvar_g_spawnpoints_auto_move_out_of_solid)
{
if (!spawnpoint_nag)
print("\{1}^1NOTE: this map needs FIXING (it contains spawnpoints in solid, see server log)\n");
if (self.team)
have_team_spawns = 1;
- if (cvar("r_showbboxes"))
+ if (autocvar_r_showbboxes)
{
// show where spawnpoints point at too
makevectors(self.angles);
replacement = ftos(vlen(self.velocity - self.velocity_z * '0 0 1'));
else if (escape == "S")
replacement = ftos(vlen(self.velocity));
- else if (escape == "v") {
- float weapon_number;
- local entity stats;
-
- if(self.classname == "spectator")
- stats = self.enemy;
- else
- stats = self;
-
- weapon_number = stats.weapon;
-
- if (!weapon_number)
- weapon_number = stats.switchweapon;
-
- if (!weapon_number)
- weapon_number = stats.cnt;
-
- if(stats.cvar_cl_accuracy_data_share && stats.stats_fired[weapon_number - 1])
- replacement = ftos(bound(0, floor(100 * stats.stats_hit[weapon_number - 1] / stats.stats_fired[weapon_number - 1]), 100));
- else
- replacement = "~"; // or something to indicate NULL, not available
- }
msg = strcat(substring(msg, 0, p), replacement, substring(msg, p+2, strlen(msg) - (p+2)));
p = p + strlen(replacement);
void backtrace(string msg)
{
float dev, war;
- dev = cvar("developer");
- war = cvar("prvm_backtraceforwarnings");
+ dev = autocvar_developer;
+ war = autocvar_prvm_backtraceforwarnings;
cvar_set("developer", "1");
cvar_set("prvm_backtraceforwarnings", "1");
print("\n");
return v;
};
+//#NO AUTOCVARS START
+
float g_pickup_shells;
float g_pickup_shells_max;
float g_pickup_nails;
t = (weaponinfo.spawnflags & WEP_FLAG_NORMAL);
else if(t < -1)
t = 0;
- else if (g_race || g_cts)
- t = (i == WEP_LASER);
+ else if (g_race)
+ t = (i == WEP_LASER || i == WEP_SHOTGUN);
+ else if (g_cts)
+ t = (i == WEP_SHOTGUN);
else if (g_nexball)
t = 0; // weapon is set a few lines later
else
float sv_pitch_max;
float sv_pitch_fixyaw;
-float sv_accuracy_data_share;
-
void readlevelcvars(void)
{
// first load all the mutators
if(cvar("g_vampire"))
MUTATOR_ADD(mutator_vampire);
- serverflags = 0;
if(cvar("sv_allow_fullbright"))
serverflags |= SERVERFLAG_ALLOW_FULLBRIGHT;
if (!g_weapon_stay && (cvar("deathmatch") == 2))
g_weapon_stay = 1;
+ if (!g_weapon_stay && g_cts)
+ g_weapon_stay = 1;
+
g_ghost_items = cvar("g_ghost_items");
if(g_ghost_items >= 1)
sv_pitch_max = cvar("sv_pitch_max");
sv_pitch_fixyaw = cvar("sv_pitch_fixyaw");
- sv_accuracy_data_share = boolean(cvar("sv_accuracy_data_share"));
-
readplayerstartcvars();
}
-/*
-// TODO sound pack system
-string soundpack;
-
-string precache_sound_builtin (string s) = #19;
-void(entity e, float chan, string samp, float vol, float atten) sound_builtin = #8;
-string precache_sound(string s)
-{
- return precache_sound_builtin(strcat(soundpack, s));
-}
-void play2(entity e, string filename)
-{
- stuffcmd(e, strcat("play2 ", soundpack, filename, "\n"));
-}
-void sound(entity e, float chan, string samp, float vol, float atten)
-{
- sound_builtin(e, chan, strcat(soundpack, samp), vol, atten);
-}
-*/
+//#NO AUTOCVARS END
// Sound functions
string precache_sound (string s) = #19;
if (e == msg_entity)
return TRUE;
// sounds by players can be removed
- if (cvar("bot_sound_monopoly"))
+ if (autocvar_bot_sound_monopoly)
if (clienttype(e) == CLIENTTYPE_REAL)
return FALSE;
// anything else may pass
{
local entity head;
- if (cvar("bot_sound_monopoly"))
+ if (autocvar_bot_sound_monopoly)
return;
FOR_EACH_REALPLAYER(head)
void play2all(string samp)
{
- if (cvar("bot_sound_monopoly"))
+ if (autocvar_bot_sound_monopoly)
return;
sound(world, CHAN_AUTO, samp, VOL_BASE, ATTN_NONE);
}
#ifdef TTURRETS_ENABLED
- if (cvar("g_turrets"))
+ if (autocvar_g_turrets)
turrets_precash();
#endif
// Precache all player models if desired
- if (cvar("sv_precacheplayermodels"))
+ if (autocvar_sv_precacheplayermodels)
{
PrecachePlayerSounds("sound/player/default.sounds");
precache_all_playermodels("models/player/*.zym");
precache_all_playermodels("models/player/*.iqm");
}
- if (cvar("sv_defaultcharacter"))
+ if (autocvar_sv_defaultcharacter)
{
string s;
- s = cvar_string("sv_defaultplayermodel_red");
+ s = autocvar_sv_defaultplayermodel_red;
if (s != "")
precache_playermodel(s);
- s = cvar_string("sv_defaultplayermodel_blue");
+ s = autocvar_sv_defaultplayermodel_blue;
if (s != "")
precache_playermodel(s);
- s = cvar_string("sv_defaultplayermodel_yellow");
+ s = autocvar_sv_defaultplayermodel_yellow;
if (s != "")
precache_playermodel(s);
- s = cvar_string("sv_defaultplayermodel_pink");
+ s = autocvar_sv_defaultplayermodel_pink;
if (s != "")
precache_playermodel(s);
- s = cvar_string("sv_defaultplayermodel");
+ s = autocvar_sv_defaultplayermodel;
if (s != "")
precache_playermodel(s);
}
precache_sound ("weapons/hook_impact.wav"); // hook
}
- if(cvar("sv_precacheweapons"))
+ if(autocvar_sv_precacheweapons)
{
//precache weapon models/sounds
local float wep;
objerror_builtin(s);
}
+.float remove_except_protected_forbidden;
+void remove_except_protected(entity e)
+{
+ if(e.remove_except_protected_forbidden)
+ error("not allowed to remove this at this point");
+ remove_builtin(e);
+}
+
void remove_unsafely(entity e)
{
remove_builtin(e);
entity startoflist;
startoflist = initialize_entity_first;
initialize_entity_first = world;
+ remove = remove_except_protected;
+ for (self = startoflist; self; self = self.initialize_entity_next)
+ {
+ self.remove_except_protected_forbidden = 1;
+ }
for (self = startoflist; self; )
{
entity e;
self.initialize_entity_order = 0;
self.initialize_entity = func_null;
self.initialize_entity_next = world;
+ self.remove_except_protected_forbidden = 0;
if (self.classname == "initialize_entity")
{
entity e_old;
self = e_old;
}
//dprint("Delayed initialization: ", self.classname, "\n");
- func();
+ if(func != func_null)
+ func();
+ else
+ {
+ eprint(self);
+ backtrace(strcat("Null function in: ", self.classname, "\n"));
+ }
self = e;
}
+ remove = remove_unsafely;
}
.float uncustomizeentityforclient_set;
}
#define PROJECTILE_TOUCH if(WarpZone_Projectile_Touch()) return
-float MAX_IPBAN_URIS = 16;
-
-float URI_GET_DISCARD = 0;
-float URI_GET_IPBAN = 1;
-float URI_GET_IPBAN_END = 16;
+float MAX_IPBAN_URIS = 16;
+
+float URI_GET_DISCARD = 0;
+float URI_GET_IPBAN = 1;
+float URI_GET_IPBAN_END = 16;
+float URI_GET_PLAYERSTATS_SENT = 17;
void URI_Get_Callback(float id, float status, string data)
{
// online ban list
OnlineBanList_URI_Get_Callback(id, status, data);
}
+ else if (id == URI_GET_PLAYERSTATS_SENT)
+ {
+ PlayerStats_Sent_URI_Get_Callback(id, status, data);
+ }
else
{
print("Received HTTP request data for an invalid id ", ftos(id), ".\n");
string s;
vector v;
- if (cvar("g_shootfromeye"))
+ if (autocvar_g_shootfromeye)
{
if (visual)
{
vecs_z = 0;
}
}
- else if (cvar("g_shootfromcenter"))
+ else if (autocvar_g_shootfromcenter)
{
if (visual)
{
vecs_z -= 2;
}
}
- else if ((s = cvar_string("g_shootfromfixedorigin")) != "")
+ else if ((s = autocvar_g_shootfromfixedorigin) != "")
{
v = stov(s);
if (y_is_right)
vecs_y = v_y;
vecs_z = v_z;
}
- else if (cvar("g_shootfromclient"))
+ else if (autocvar_g_shootfromclient)
{
- vecs = shotorg_adjustfromclient(vecs, y_is_right, (cvar("g_shootfromclient") >= 2), algn);
+ vecs = shotorg_adjustfromclient(vecs, y_is_right, (autocvar_g_shootfromclient >= 2), algn);
}
return vecs;
}