1
0
mirror of https://github.com/Paintball/BO2-GSC-Releases.git synced 2025-06-09 22:38:06 -05:00

Compare commits

31 Commits
1.2 ... master

Author SHA1 Message Date
c5976bbc10 Add files via upload 2025-06-05 20:22:17 -08:00
a14eae9269 Update README.md 2025-06-05 20:21:27 -08:00
e80bd7a4a6 Update README.md 2025-06-05 20:17:16 -08:00
14cea9e700 Add files via upload 2025-06-05 20:16:49 -08:00
6219b71a40 Add files via upload 2025-06-05 20:12:35 -08:00
7b3b6378ff Delete README.md 2021-10-27 17:07:37 -07:00
f65778c1f3 Delete _clientids.gsc 2021-10-27 17:07:30 -07:00
212e290fc9 Delete _clientids.gsc 2021-10-27 17:07:22 -07:00
174b02faef Add files via upload 2021-08-02 08:00:44 -07:00
4cae325157 Add files via upload 2021-08-02 07:55:10 -07:00
27d103daf9 Add files via upload 2021-08-02 07:50:39 -07:00
f96a2ced1a Update README.md 2021-06-14 06:19:37 -07:00
4e3cf30970 Update README.md 2021-06-14 06:19:17 -07:00
89ad6833b9 Update README.md 2021-06-14 06:19:02 -07:00
fc41704d15 Add files via upload 2021-06-14 06:17:38 -07:00
d85df5fed9 Update _zm_nightmode.gsc 2021-06-14 05:15:32 -07:00
d8a0ed3627 Update _zm_nightmode.gsc 2021-06-14 05:12:39 -07:00
74df3b1543 Add files via upload 2021-06-14 04:51:55 -07:00
2bd5951cd5 Delete _zm_nightmode.gsc 2021-06-14 04:51:35 -07:00
e418f7bb3a Add files via upload 2021-06-14 04:42:33 -07:00
00b4f148cd fixed scripts that broke with an update 2021-06-10 16:11:07 -07:00
7e93bc0924 Delete Zombies Mods/Zombies++ v1.2 directory 2021-06-10 16:10:06 -07:00
23cfc59314 Update README.md 2021-06-10 16:04:37 -07:00
80a2b0cd1b Delete README.md 2021-06-10 15:59:02 -07:00
34f7c29579 Delete _clientids.gsc 2021-06-10 15:58:54 -07:00
3731a3504f Add files via upload 2021-06-10 14:32:46 -07:00
80ca3a62d9 added recompileable gsc 2021-06-10 14:27:43 -07:00
26206c76c8 Added to github 2021-04-05 16:00:26 -07:00
050da2ba5a Added MP Mapvote 2021-04-05 15:58:36 -07:00
187f4c200f Update README.md 2021-03-22 10:58:01 -07:00
f1cd1a67fc Update _clientids.gsc 2021-03-22 10:56:05 -07:00
27 changed files with 5072 additions and 57 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,4 @@
# BETTER ZOMBIES COUNTER
## NOTES
- Take the precompiled version and place it inside %localappdata%/Plutonium/storage/t6/scripts/zm/ or use the source code for your own GSC

View File

@ -0,0 +1,56 @@
init()
{
level thread onPlayerConnect();
}
onPlayerConnect()
{
for(;;)
{
level waittill("connected", player);
player thread drawZombiesCounter();
}
}
drawZombiesCounter()
{
self endon( "disconnect" );
level endon( "end_game" );
level waittill( "start_of_round" );
self.zombiesCounter = maps/mp/gametypes_zm/_hud_util::createFontString( "hudsmall" , 1.9 );
self.zombiesCounter maps/mp/gametypes_zm/_hud_util::setPoint( "CENTER", "CENTER", "CENTER", 190 );
self.zombiesCounter.alpha = 0;
while( 1 )
{
self.zombiesCounter setValue( ( maps/mp/zombies/_zm_utility::get_round_enemy_array().size + level.zombie_total ) );
if( ( maps/mp/zombies/_zm_utility::get_round_enemy_array().size + level.zombie_total ) != 0 )
{
self.zombiesCounter.label = &"Zombies: ^1";
if( self.zombiesCounter.alpha != 1 )
{
self.zombiesCounter fadeovertime( 0.5 );
self.zombiesCounter.alpha = 1;
}
}
else
{
self.zombiesCounter.label = &"Zombies: ^6";
for( i = 0; i < 15; i++ )
{
if( self.zombiesCounter.alpha == 1 )
{
self.zombiesCounter fadeovertime( 0.5 );
self.zombiesCounter.alpha = 0;
}
else
{
self.zombiesCounter fadeovertime( 0.5 );
self.zombiesCounter.alpha = 1;
}
wait 0.5;
}
level waittill( "start_of_round" );
}
wait 0.05;
}
}

View File

@ -0,0 +1,16 @@
## BO2 GSC RELEASES
BO2 Bonus Survival Map - Cabin
This is ported from the Plutonium release for Console
To Launch this mod:
1. Inject the main.gsc file using your injector of choice
2. Load up default Tranzit
3. Enjoy
Known Bugs:
- Bowie Knife is free rather than 6000 points & trigger hintstring is not visible
- Sometimes the fx for box sharing can glitch out but whatever
Might fix the bugs at some point
**@ItsCahz**

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 MiB

View File

@ -0,0 +1,8 @@
# GIVE POINTS
## NOTES
###### COMMAND: /give playerName amount
- THIS WILL ONLY WORK ON DEDICATED SEVERS - PLUGINS ARE NOT LOADED IN CUSTOM GAMES
- Download @fed's t6-gsc-utils plugin and place the .dll file inside gameserver/t6r/data/plugins https://github.com/fedddddd/t6-gsc-utils
- Take the precompiled version and place it inside %localappdata%/Plutonium/storage/t6/scripts/zm/ or use the source code for your own GSC

View File

@ -0,0 +1,73 @@
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes_zm\_hud_util;
#include maps\mp\gametypes_zm\_hud_message;
init()
{
level thread onPlayerConnect();
}
onPlayerConnect()
{
for(;;)
{
level waittill("connected", player);
player thread onPlayerMessage();
}
}
onPlayerMessage()
{
level endon( "game_ended" );
for (;;)
{
level waittill("say", player, message );
message_strings = strToK( message, " " );
for( i = 0; i < level.players.size; i++ )
{
if( tolower( message_strings[ 0 ] ) == "/give" && isSubStr( tolower( getPlayerName( level.players[ i ] )), message_strings[ 1 ] ) )
{
value = int( message_strings[ ( message_strings.size - 1 ) ] );
if( value < 0 )
value = ( value * -1 );
player give_points( level.players[ i ], int( value ));
}
}
}
}
give_points( player, var )
{
if( !isDefined( self.giving_points ) )
{
self.giving_points = true;
if ( player.score == 1000000 )
self tell( getPlayerName( player ) + " already has ^51000000 ^7points" );
else if( self.score >= var )
{
self maps/mp/zombies/_zm_score::minus_to_player_score( var, 1 );
self tell( "^1Gave ^7" + getPlayerName( player ) + " ^1" + var + " ^7points" );
player maps/mp/zombies/_zm_score::add_to_player_score( var, 1 );
player tell( "^2" + getPlayerName( self ) + " ^7gave you ^2" + var + " ^7points" );
}
else
self tell( "^1You don't have enough points for that" );
wait 1;
self.giving_points = undefined;
}
}
getPlayerName( player )
{
playerName = getSubStr( player.name, 0, player.name.size );
for( i = 0; i < playerName.size; i++ )
{
if( playerName[ i ] == "]" )
break;
}
if( playerName.size != i )
playerName = getSubStr( playerName, i + 1, playerName.size );
return playerName;
}

View File

@ -6,25 +6,8 @@
- Copy the scripts and place them in your **_clientids.gsc** file
- Add **thread high_round_tracker();** into your **init()** function
- Add **player thread high_round_info();** into your **onPlayerConnect()** function
###### IF YOU NEED TO RESET YOUR SERVER AND WANT TO KEEP RECORDS
- Logs by default are kept in your game folder **/t6r/data/logs/games_zm.log**
- Open your log and check for any new records *(you can ctrl+f and search for "set by")*
- Add the record into your **dedicated_zm.cfg** file *(high round number & players)*
- When the server restarts, it will check the **dedicated_zm.cfg** file for any manually written records
###### EXAMPLES FOR ALL MAPS
```
set BuriedHighRound 1
set BuriedPlayers "Player1, Player2"
set DieRiseHighRound 1
set DieRisePlayers "Player1, Player2"
set MotdHighRound 1
set MotdPlayers "Player1, Player2"
set OriginsHighRound 1
set OriginsPlayers "Player1, Player2"
set NuketownHighRound 1
set NuketownPlayers "Player1, Player2"
set TransitHighRound 1
set TransitPlayers "Player1, Player2"
set TownHighRound 1
set TownPlayers "Player1, Player2"
```
- Download @fed's t6-gsc-utils plugin and place the .dll file inside gameserver/t6r/data/plugins
https://github.com/fedddddd/t6-gsc-utils
Using these steps will allow the server to track the highest round achieved on the server, and the players who were in the lobby at the time.
All high round records will be recorded in .txt files inside gameserver/t6r/data/logs and they will be updated automatically.

View File

@ -1,61 +1,134 @@
high_round_tracker()
{
level.HighRound = getDvarIntDefault( mapName( level.script ) + "HighRound", 1 );
level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" );
if ( level.HighRoundPlayers == "" )
{
level.HighRoundPlayers = "UnNamed Players";
}
thread high_round_info_giver();
gamemode = gamemodeName( getDvar( "ui_gametype" ) );
map = mapName( level.script );
if( level.script == "zm_transit" && getDvar( "ui_gametype" ) == "zsurvival" )
map = startLocationName( getDvar( "ui_zm_mapstartlocation" ) );
//file handling//
level.basepath = getDvar("fs_basepath") + "/" + getDvar("fs_basegame") + "/";
path = level.basepath + "/logs/" + map + gamemode + "HighRound.txt";
file = fopen(path, "r");
text = fread(file);
fclose(file);
//end file handling//
highroundinfo = strToK( text, ";" );
level.HighRound = int( highroundinfo[ 0 ] );
level.HighRoundPlayers = highroundinfo[ 1 ];
for ( ;; )
{
level waittill ( "end_game" );
if ( level.round_number > level.HighRound )
{
setDvar( mapName( level.script ) + "HighRound", level.round_number );
setDvar( mapName( level.script ) + "Players", "" );
level.HighRound = getDvarIntDefault( mapName( level.script ) + "HighRound", 1 );
level.HighRoundPlayers = "";
players = get_players();
for ( i = 0; i < players.size; i++ )
{
if ( getDvar( mapName( level.script ) + "Players" ) == "" )
if( level.HighRoundPlayers == "" )
{
setDvar( mapName( level.script ) + "Players", players[i].name );
level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" );
level.HighRoundPlayers = players[i].name;
}
else
{
setDvar( mapName( level.script ) + "Players", level.HighRoundPlayers + ", " + players[i].name );
level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" );
level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
}
}
iprintln ( "New Record: ^1" + level.HighRound );
iprintln ( "Set by: ^1" + level.HighRoundPlayers );
logprint( "Map: " + mapName( level.script ) + " Record: " + level.HighRound + " Set by: " + level.HighRoundPlayers );
foreach( player in level.players )
{
player tell( "New Record: ^1" + level.round_number );
player tell( "Set by: ^1" + level.HighRoundPlayers );
}
log_highround_record( level.round_number + ";" + level.HighRoundPlayers );
}
}
}
mapName( name )
log_highround_record( newRecord )
{
if( name == "zm_highrise" )
return "DieRise";
else if( name == "zm_buried" )
return "Buried";
else if( name == "zm_prison" )
return "Motd";
else if( name == "zm_tomb" )
return "Origins";
else if( name == "zm_nuked" )
return "Nuketown";
else if( name == "zm_transit" && level.scr_zm_map_start_location == "transit" )
return "Transit";
else if( name == "zm_transit" && level.scr_zm_map_start_location == "town" )
gamemode = gamemodeName( getDvar( "ui_gametype" ) );
map = mapName( level.script );
if( level.script == "zm_transit" && getDvar( "ui_gametype" ) == "zsurvival" )
map = startLocationName( getDvar( "ui_zm_mapstartlocation" ) );
level.basepath = getDvar("fs_basepath") + "/" + getDvar("fs_basegame") + "/";
path = level.basepath + "/logs/" + map + gamemode + "HighRound.txt";
file = fopen( path, "w" );
fputs( newRecord, file );
fclose( file );
}
startLocationName( location )
{
if( location == "cornfield" )
return "Cornfield";
else if( location == "diner" )
return "Diner";
else if( location == "farm" )
return "Farm";
else if( location == "power" )
return "Power";
else if( location == "town" )
return "Town";
else if( location == "transit" )
return "BusDepot";
else if( location == "tunnel" )
return "Tunnel";
}
mapName( map )
{
if( map == "zm_buried" )
return "Buried";
else if( map == "zm_highrise" )
return "DieRise";
else if( map == "zm_prison" )
return "Motd";
else if( map == "zm_nuked" )
return "Nuketown";
else if( map == "zm_tomb" )
return "Origins";
else if( map == "zm_transit" )
return "Tranzit";
return "NA";
}
gamemodeName( gamemode )
{
if( gamemode == "zstandard" )
return "Standard";
else if( gamemode == "zclassic" )
return "Classic";
else if( gamemode == "zsurvival" )
return "Survival";
else if( gamemode == "zgrief" )
return "Grief";
else if( gamemode == "zcleansed" )
return "Turned";
return "NA";
}
high_round_info_giver()
{
highroundinfo = 1;
roundmultiplier = 5;
level endon( "end_game" );
while( 1 )
{
level waittill( "start_of_round" );
if( level.round_number == ( highroundinfo * roundmultiplier ))
{
highroundinfo++;
foreach( player in level.players )
{
player tell( "High Round Record for this map: ^1" + level.HighRound );
player tell( "Record set by: ^1" + level.HighRoundPlayers );
}
}
}
}
high_round_info()
{
wait 5;
self iprintln ( "Highest Round for this Map: ^1" + level.HighRound );
self iprintln ( "Record set by: ^1" + level.HighRoundPlayers );
}
wait 6;
self tell( "High Round Record for this map: ^1" + level.HighRound );
self tell( "Record set by: ^1" + level.HighRoundPlayers );
}

View File

@ -0,0 +1,4 @@
# ZOMBIES HITMARKERS
## NOTES
- Take the precompiled version and place it inside %localappdata%/Plutonium/storage/t6/scripts/zm/ or use the source code for your own GSC

Binary file not shown.

View File

@ -0,0 +1,88 @@
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\gametypes_zm\_hud_util;
#include maps\mp\gametypes_zm\_hud_message;
init()
{
level thread init_hitmarkers();
}
init_hitmarkers()
{
precacheshader( "damage_feedback" );
maps/mp/zombies/_zm_spawner::register_zombie_damage_callback(::do_hitmarker);
maps/mp/zombies/_zm_spawner::register_zombie_death_event_callback(::do_hitmarker_death);
for( ;; )
{
level waittill( "connected", player );
player.hud_damagefeedback = newdamageindicatorhudelem( player );
player.hud_damagefeedback.horzalign = "center";
player.hud_damagefeedback.vertalign = "middle";
player.hud_damagefeedback.x = -12;
player.hud_damagefeedback.y = -12;
player.hud_damagefeedback.alpha = 0;
player.hud_damagefeedback.archived = 1;
player.hud_damagefeedback.color = ( 1, 1, 1 );
player.hud_damagefeedback setshader( "damage_feedback", 24, 48 );
player.hud_damagefeedback_red = newdamageindicatorhudelem( player );
player.hud_damagefeedback_red.horzalign = "center";
player.hud_damagefeedback_red.vertalign = "middle";
player.hud_damagefeedback_red.x = -12;
player.hud_damagefeedback_red.y = -12;
player.hud_damagefeedback_red.alpha = 0;
player.hud_damagefeedback_red.archived = 1;
player.hud_damagefeedback_red.color = ( 1, 0, 0 );
player.hud_damagefeedback_red setshader( "damage_feedback", 24, 48 );
}
}
updatedamagefeedback( mod, inflictor, death ) //checked matches cerberus output
{
if ( !isplayer( self ) || isDefined( self.disable_hitmarkers ))
{
return;
}
if ( isDefined( mod ) && mod != "MOD_CRUSH" && mod != "MOD_GRENADE_SPLASH" && mod != "MOD_HIT_BY_OBJECT" )
{
if ( isDefined( inflictor ))
{
self playlocalsound( "mpl_hit_alert" );
}
if( death && getdvarintdefault( "redhitmarkers", 1 ))
{
self.hud_damagefeedback_red setshader( "damage_feedback", 24, 48 );
self.hud_damagefeedback_red.alpha = 1;
self.hud_damagefeedback_red fadeovertime( 1 );
self.hud_damagefeedback_red.alpha = 0;
}
else
{
self.hud_damagefeedback setshader( "damage_feedback", 24, 48 );
self.hud_damagefeedback.alpha = 1;
self.hud_damagefeedback fadeovertime( 1 );
self.hud_damagefeedback.alpha = 0;
}
}
return 0;
}
do_hitmarker_death()
{
if( isDefined( self.attacker ) && isplayer( self.attacker ) && self.attacker != self )
{
self.attacker thread updatedamagefeedback( self.damagemod, self.attacker, 1 );
}
return 0;
}
do_hitmarker(mod, hitloc, hitorig, player, damage)
{
if( isDefined( player ) && isplayer( player ) && player != self )
{
player thread updatedamagefeedback( mod, player, 0 );
}
return 0;
}

Binary file not shown.

View File

@ -0,0 +1,4 @@
# Nightmode
## NOTES
- Take the precompiled version and place it inside %localappdata%/Plutonium/storage/t6/scripts/zm/ or use the source code for your own GSC

View File

@ -0,0 +1,106 @@
#include common_scripts/utility;
#include maps/mp/zombies/_zm_utility;
init()
{
level thread night_mode();
}
night_mode()
{
for( ;; )
{
level waittill( "connected", player );
player setclientdvar( "r_dof_enable", 0 );
player setclientdvar( "r_lodBiasRigid", -1000 );
player setclientdvar( "r_lodBiasSkinned", -1000 );
player setclientdvar( "r_enablePlayerShadow", 1 );
player setclientdvar( "r_skyTransition", 1 );
player setclientdvar( "sm_sunquality", 2 );
player setclientdvar( "vc_fbm", "0 0 0 0" );
player setclientdvar( "vc_fsm", "1 1 1 1" );
player thread visual_fix();
player thread enable_night_mode();
}
}
enable_night_mode()
{
if( !isDefined( level.default_r_exposureValue ) )
level.default_r_exposureValue = getDvar( "r_exposureValue" );
if( !isDefined( level.default_r_lightTweakSunLight ) )
level.default_r_lightTweakSunLight = getDvar( "r_lightTweakSunLight" );
if( !isDefined( level.default_r_sky_intensity_factor0 ) )
level.default_r_sky_intensity_factor0 = getDvar( "r_sky_intensity_factor0" );
self setclientdvar( "r_filmUseTweaks", 1 );
self setclientdvar( "r_bloomTweaks", 1 );
self setclientdvar( "r_exposureTweak", 1 );
self setclientdvar( "vc_rgbh", "0.1 0 0.3 0" );
self setclientdvar( "vc_yl", "0 0 0.25 0" );
self setclientdvar( "vc_yh", "0.02 0 0.1 0" );
self setclientdvar( "vc_rgbl", "0.02 0 0.1 0" );
self setclientdvar( "r_exposureValue", 3.9 );
self setclientdvar( "r_lightTweakSunLight", 1 );
self setclientdvar( "r_sky_intensity_factor0", 0 );
if( level.script == "zm_buried" )
{
self setclientdvar( "r_exposureValue", 3.5 );
}
else if( level.script == "zm_tomb" )
{
self setclientdvar( "r_exposureValue", 4 );
}
else if( level.script == "zm_nuked" )
{
self setclientdvar( "r_exposureValue", 5.6 );
}
else if( level.script == "zm_highrise" )
{
self setclientdvar( "r_exposureValue", 3.9 );
}
}
disable_night_mode()
{
self notify( "disable_nightmode" );
self setclientdvar( "r_filmUseTweaks", 0 );
self setclientdvar( "r_bloomTweaks", 0 );
self setclientdvar( "r_exposureTweak", 0 );
self setclientdvar( "vc_rgbh", "0 0 0 0" );
self setclientdvar( "vc_yl", "0 0 0 0" );
self setclientdvar( "vc_yh", "0 0 0 0" );
self setclientdvar( "vc_rgbl", "0 0 0 0" );
self setclientdvar( "r_exposureValue", int( level.default_r_exposureValue ) );
self setclientdvar( "r_lightTweakSunLight", int( level.default_r_lightTweakSunLight ) );
self setclientdvar( "r_sky_intensity_factor0", int( level.default_r_sky_intensity_factor0 ) );
}
visual_fix()
{
level endon( "game_ended" );
self endon( "disconnect" );
self endon( "disable_nightmode" );
if( level.script == "zm_buried" )
{
while( getDvar( "r_sky_intensity_factor0" ) != 0 )
{
self setclientdvar( "r_lightTweakSunLight", 1 );
self setclientdvar( "r_sky_intensity_factor0", 0 );
wait 0.05;
}
}
else if( level.script == "zm_prison" || level.script == "zm_tomb" )
{
while( getDvar( "r_lightTweakSunLight" ) != 0 )
{
for( i = getDvar( "r_lightTweakSunLight" ); i >= 0; i = ( i - 0.05 ) )
{
self setclientdvar( "r_lightTweakSunLight", i );
wait 0.05;
}
wait 0.05;
}
}
else return;
}