Compare commits
2 Commits
c140ffe07d
...
6933e8bf68
Author | SHA1 | Date | |
---|---|---|---|
6933e8bf68 | |||
3d627c7530 |
|
@ -8,6 +8,10 @@ alias pronoun_xey "impulse 26"
|
||||||
alias pronoun_ze_hir "impulse 27"
|
alias pronoun_ze_hir "impulse 27"
|
||||||
alias pronoun_ze_zir "impulse 28"
|
alias pronoun_ze_zir "impulse 28"
|
||||||
|
|
||||||
|
set sc_cheats 0
|
||||||
|
set sc_lives 0
|
||||||
|
set sc_dist_ammo 0
|
||||||
|
|
||||||
echo "To change your pronouns in-game use one of the pronoun_ commands."
|
echo "To change your pronouns in-game use one of the pronoun_ commands."
|
||||||
echo "You can get a list by typing 'pronoun_' and pressing tab."
|
echo "You can get a list by typing 'pronoun_' and pressing tab."
|
||||||
|
|
||||||
|
|
|
@ -301,6 +301,9 @@ void() trigger_changelevel = {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void() become_spectator = {
|
void() become_spectator = {
|
||||||
|
float not_dead;
|
||||||
|
entity pl;
|
||||||
|
|
||||||
self.health = self.max_health;
|
self.health = self.max_health;
|
||||||
self.armortype = 0;
|
self.armortype = 0;
|
||||||
self.armorvalue = 0;
|
self.armorvalue = 0;
|
||||||
|
@ -319,6 +322,16 @@ void() become_spectator = {
|
||||||
self.frame = 0;
|
self.frame = 0;
|
||||||
self.modelindex = modelindex_eyes;
|
self.modelindex = modelindex_eyes;
|
||||||
W_SetCurrentAmmo();
|
W_SetCurrentAmmo();
|
||||||
|
|
||||||
|
pl = find(world, classname, "player");
|
||||||
|
while(pl != world) {
|
||||||
|
not_dead += pl.lives;
|
||||||
|
pl = find(pl, classname, "player");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!not_dead) {
|
||||||
|
all_players_are_dead = time;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void() respawn = {
|
void() respawn = {
|
||||||
|
@ -339,7 +352,7 @@ void() respawn = {
|
||||||
player_respawned = TRUE;
|
player_respawned = TRUE;
|
||||||
PutClientInServer();
|
PutClientInServer();
|
||||||
} else {
|
} else {
|
||||||
// restart the entire server
|
// restart the map
|
||||||
localcmd("restart\n");
|
localcmd("restart\n");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -269,6 +269,8 @@ string(string s) precache_file2 = #77; // registered version only
|
||||||
// set parm1... to the values at level start for coop respawn
|
// set parm1... to the values at level start for coop respawn
|
||||||
void(entity e) setspawnparms = #78;
|
void(entity e) setspawnparms = #78;
|
||||||
|
|
||||||
|
float(string s) checkextension = #99;
|
||||||
|
|
||||||
// constants -----------------------------------------------------------------|
|
// constants -----------------------------------------------------------------|
|
||||||
|
|
||||||
const vector VEC_ORIGIN = '0 0 0';
|
const vector VEC_ORIGIN = '0 0 0';
|
||||||
|
@ -630,6 +632,9 @@ float sf_lives;
|
||||||
float sf_dist_ammo;
|
float sf_dist_ammo;
|
||||||
|
|
||||||
float player_respawned;
|
float player_respawned;
|
||||||
|
float all_players_are_dead;
|
||||||
|
|
||||||
|
float ext_con_set;
|
||||||
|
|
||||||
// fields --------------------------------------------------------------------|
|
// fields --------------------------------------------------------------------|
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,12 @@ void() worldspawn = {
|
||||||
lastspawn = world;
|
lastspawn = world;
|
||||||
InitBodyQue();
|
InitBodyQue();
|
||||||
|
|
||||||
|
if(cvar("pr_checkextension")) {
|
||||||
|
if(checkextension("DP_CON_SET")) {
|
||||||
|
ext_con_set = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// custom map attributes
|
// custom map attributes
|
||||||
if(self.model == "maps/e1m8.bsp") {
|
if(self.model == "maps/e1m8.bsp") {
|
||||||
cvar_set("sv_gravity", "100");
|
cvar_set("sv_gravity", "100");
|
||||||
|
@ -179,16 +185,37 @@ void() worldspawn = {
|
||||||
};
|
};
|
||||||
|
|
||||||
void() StartFrame = {
|
void() StartFrame = {
|
||||||
float temp1flag;
|
entity pl;
|
||||||
|
float temp1flag, delta;
|
||||||
|
|
||||||
teamplay = cvar("teamplay");
|
teamplay = cvar("teamplay");
|
||||||
skill = cvar("skill");
|
skill = cvar("skill");
|
||||||
temp1flag = cvar("temp1");
|
|
||||||
framecount = framecount + 1;
|
framecount = framecount + 1;
|
||||||
|
|
||||||
|
if(ext_con_set) {
|
||||||
|
sf_cheats = cvar("sc_cheats");
|
||||||
|
sf_lives = cvar("sc_lives");
|
||||||
|
sf_dist_ammo = cvar("sc_dist_ammo");
|
||||||
|
} else {
|
||||||
|
temp1flag = cvar("temp1");
|
||||||
sf_cheats = (temp1flag & SF_CHEATS) != 0;
|
sf_cheats = (temp1flag & SF_CHEATS) != 0;
|
||||||
sf_lives = bit_shift_right(temp1flag & SF_LIVES_MSK, SF_LIVES_BEG);
|
sf_lives = bit_shift_right(temp1flag & SF_LIVES_MSK, SF_LIVES_BEG);
|
||||||
sf_dist_ammo = (temp1flag & SF_DIST_AMMO) != 0;
|
sf_dist_ammo = (temp1flag & SF_DIST_AMMO) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(all_players_are_dead) {
|
||||||
|
delta = time - all_players_are_dead;
|
||||||
|
if(delta >= 9.95) {
|
||||||
|
localcmd("restart\n");
|
||||||
|
} else if(rint(delta * 10) == rint(delta) * 10) {
|
||||||
|
pl = find(world, classname, "player");
|
||||||
|
while(pl != world) {
|
||||||
|
centerprint(pl, "Mission failed.\nRestarting in ",
|
||||||
|
ftos(10 - rint(delta)), " seconds");
|
||||||
|
pl = find(pl, classname, "player");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
6
todo
6
todo
|
@ -9,12 +9,12 @@ rename all functions to be lower_underscore
|
||||||
|
|
||||||
core features:
|
core features:
|
||||||
|
|
||||||
add registercvar support
|
all done
|
||||||
restart map after 10 seconds when everyone is dead
|
|
||||||
|
|
||||||
useful features:
|
useful features:
|
||||||
|
|
||||||
configurable enemy stats
|
configurable enemy stats
|
||||||
|
impulse command for spectating
|
||||||
indicators for where other players are
|
indicators for where other players are
|
||||||
users can cancel map ends ("<name> initiated travel to <mapname>")
|
users can cancel map ends ("<name> initiated travel to <mapname>")
|
||||||
|
|
||||||
|
@ -29,9 +29,11 @@ third person player weapon models
|
||||||
|
|
||||||
done:
|
done:
|
||||||
|
|
||||||
|
add registercvar support
|
||||||
corpse pickups have keys
|
corpse pickups have keys
|
||||||
custom pronouns
|
custom pronouns
|
||||||
distributed ammo
|
distributed ammo
|
||||||
enforcers are broken
|
enforcers are broken
|
||||||
lives counting
|
lives counting
|
||||||
no friendly fire
|
no friendly fire
|
||||||
|
restart map after 10 seconds when everyone is dead
|
||||||
|
|
Loading…
Reference in New Issue
Block a user