mirror of
https://github.com/JezuzLizard/Public-BO2-Mods.git
synced 2025-06-08 11:08:04 -05:00
organzied code and made the script map agnostic
This commit is contained in:
parent
0b2fcc2234
commit
bb8e4fddfb
@ -8,43 +8,34 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include maps/mp/_utility;
|
#include maps\mp\_utility;
|
||||||
#include common_scripts/utility;
|
#include common_scripts\utility;
|
||||||
#include maps/mp/gametypes_zm/_hud_util;
|
#include maps\mp\gametypes_zm\_hud_util;
|
||||||
#include maps/mp/gametypes_zm/_hud_message;
|
#include maps\mp\gametypes_zm\_hud_message;
|
||||||
#include maps/mp/zombies/_zm;
|
#include maps\mp\zombies\_zm;
|
||||||
#include maps/mp/zombies/_zm_utility;
|
#include maps\mp\zombies\_zm_utility;
|
||||||
#include maps/mp/zombies/_zm_perks;
|
#include maps\mp\zombies\_zm_perks;
|
||||||
|
#include maps\mp\zm_alcatraz_grief_cellblock;
|
||||||
|
#include maps\mp\zm_prison;
|
||||||
|
#include maps\mp\zm_highrise;
|
||||||
|
#include maps\mp\zm_transit;
|
||||||
|
#include maps\mp\zm_buried;
|
||||||
|
#include maps\mp\zm_tomb;
|
||||||
|
|
||||||
init()
|
init()
|
||||||
{
|
{
|
||||||
thread initialMapRestart();
|
thread griefFunctionsAndVars();
|
||||||
thread killAllPlayers();
|
gameDelayFunctionsAndVars()
|
||||||
gameSettings();
|
gameSettings();
|
||||||
randomizedSettings();
|
randomizedSettings();
|
||||||
|
thread setPlayersToSpectator();
|
||||||
thread gscRestart();
|
thread gscRestart();
|
||||||
thread emptyLobbyRestart();
|
thread emptyLobbyRestart();
|
||||||
thread gscMapChange();
|
thread gscMapChange();
|
||||||
level.round_prestart_func =::round_prestart_func; //delays the rounds from starting
|
|
||||||
SetDvar( "scr_zm_enable_bots", "1" ); //this is required for the mod to work
|
|
||||||
thread add_bots(); //this overrides the typical start time logic
|
|
||||||
level.default_solo_laststandpistol = "m1911_zm"; //prevents players from having the solo pistol when downed in grief
|
|
||||||
for(;;)
|
|
||||||
{
|
|
||||||
level waittill("connected", player);
|
|
||||||
player thread teamBalancing();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gameSettings()
|
gameSettings()
|
||||||
{
|
{
|
||||||
//game delay functions options
|
|
||||||
level.wait_time = 30; //change this to adjust the start time once the player quota is met
|
|
||||||
level.player_quota_active = 1; //set this to 0 to disable player quotas recommended to be 1 for grief
|
|
||||||
level.player_quota = 2; //number of players required before the game starts
|
|
||||||
level.waiting = 0; //don't change this
|
|
||||||
level.countdown_start = 0; //don't change this
|
|
||||||
|
|
||||||
//random game settings options set these to 0 to disable them happening
|
//random game settings options set these to 0 to disable them happening
|
||||||
level.random_game_settings = 1; //disable this to diable all random settings effects
|
level.random_game_settings = 1; //disable this to diable all random settings effects
|
||||||
level.hyper_speed_spawns_chance_active = 1; //this enables a chance that zombies will have max move speed, max spawnrate, no walkers, and 1 second between rounds
|
level.hyper_speed_spawns_chance_active = 1; //this enables a chance that zombies will have max move speed, max spawnrate, no walkers, and 1 second between rounds
|
||||||
@ -76,6 +67,35 @@ gameSettings()
|
|||||||
level.map_rotate = 1;
|
level.map_rotate = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gameDelayFunctionsAndVars()
|
||||||
|
{
|
||||||
|
//game delay functions options
|
||||||
|
level.wait_time = 30; //change this to adjust the start time once the player quota is met
|
||||||
|
level.player_quota_active = 1; //set this to 0 to disable player quotas recommended to be 1 for grief
|
||||||
|
level.player_quota = 2; //number of players required before the game starts
|
||||||
|
level.waiting = 0; //don't change this
|
||||||
|
level.countdown_start = 0; //don't change this
|
||||||
|
|
||||||
|
level.round_prestart_func =::round_prestart_func; //delays the rounds from starting
|
||||||
|
SetDvar( "scr_zm_enable_bots", "1" ); //this is required for the mod to work
|
||||||
|
thread add_bots(); //this overrides the typical start time logic
|
||||||
|
}
|
||||||
|
|
||||||
|
griefFunctionsAndVars()
|
||||||
|
{
|
||||||
|
if ( !level.scr_zm_ui_gametype_group == "zencounter" )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
level.default_solo_laststandpistol = "m1911_zm"; //prevents players from having the solo pistol when downed in grief
|
||||||
|
for(;;)
|
||||||
|
{
|
||||||
|
level waittill("connected", player);
|
||||||
|
player thread teamBalancing();
|
||||||
|
player thread give_team_characters();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
round_prestart_func()
|
round_prestart_func()
|
||||||
{
|
{
|
||||||
players = get_players();
|
players = get_players();
|
||||||
@ -447,9 +467,9 @@ walkersDisabledAndAllRunners()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
killAllPlayers()
|
setPlayersToSpectator()
|
||||||
{
|
{
|
||||||
level.zombie_vars["penalty_no_revive"] = 0;
|
level.no_end_game_check = 1;
|
||||||
wait 3;
|
wait 3;
|
||||||
players = get_players();
|
players = get_players();
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -459,26 +479,24 @@ killAllPlayers()
|
|||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
players[ i ] kill();
|
players[ i ] setToSpectator();
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
wait 10;
|
wait 10;
|
||||||
spawnAllPlayers();
|
spawnAllPlayers();
|
||||||
}
|
}
|
||||||
|
|
||||||
kill()
|
setToSpectator()
|
||||||
{
|
{
|
||||||
self.maxhealth = 100;
|
self.sessionstate = "spectator";
|
||||||
self.health = self.maxhealth;
|
if (isDefined(self.is_playing))
|
||||||
self disableInvulnerability();
|
{
|
||||||
direction = (randomfloatrange(-20, 20), randomfloatrange(-20, 20), randomfloatrange(-20, 20));
|
self.is_playing = false;
|
||||||
self dodamage(self.health * 2, self.origin + direction);
|
}
|
||||||
self.bleedout_time = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
spawnAllPlayers()
|
spawnAllPlayers()
|
||||||
{
|
{
|
||||||
level.zombie_vars["penalty_no_revive"] = 0.1;
|
|
||||||
players = get_players();
|
players = get_players();
|
||||||
i = 0;
|
i = 0;
|
||||||
while ( i < players.size )
|
while ( i < players.size )
|
||||||
@ -487,22 +505,13 @@ spawnAllPlayers()
|
|||||||
{
|
{
|
||||||
players[ i ] [[ level.spawnplayer ]]();
|
players[ i ] [[ level.spawnplayer ]]();
|
||||||
thread refresh_player_navcard_hud();
|
thread refresh_player_navcard_hud();
|
||||||
players[ i ].score = 500;
|
|
||||||
players[ i ].downs = 0;
|
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
initialMapRestart()
|
|
||||||
{
|
|
||||||
if ( getDvarIntDefault( "initial_restart", "1" ) )
|
|
||||||
{
|
|
||||||
wait 15;
|
|
||||||
setDvar( "initial_restart", "0" );
|
|
||||||
map_restart( false );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,3 +69,13 @@ Player downs are reset after players respawn
|
|||||||
The map can rotate between 3 locations
|
The map can rotate between 3 locations
|
||||||
|
|
||||||
Town, Farm and Bus Depot //requires one of these maps to be loaded initially and only works on tranzit
|
Town, Farm and Bus Depot //requires one of these maps to be loaded initially and only works on tranzit
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
Grief requires gts teamCount "2" to work properly in the server config turn it off when loading non-grief maps
|
||||||
|
|
||||||
|
### Changelog
|
||||||
|
Players are set to spectator state directly instead of being killed
|
||||||
|
|
||||||
|
InitialMapRestart() replaced with give_team_characters
|
||||||
|
|
||||||
|
Made the script map agnostic allowing it to be loaded on non-grief maps and
|
||||||
|
Loading…
x
Reference in New Issue
Block a user