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

Compare commits

...

31 Commits
1.2 ... master

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