mirror of
https://github.com/Paintball/BO2-GSC-Releases.git
synced 2025-06-08 05:48:21 -05:00
Compare commits
31 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
c5976bbc10 | ||
|
a14eae9269 | ||
|
e80bd7a4a6 | ||
|
14cea9e700 | ||
|
6219b71a40 | ||
|
7b3b6378ff | ||
|
f65778c1f3 | ||
|
212e290fc9 | ||
|
174b02faef | ||
|
4cae325157 | ||
|
27d103daf9 | ||
|
f96a2ced1a | ||
|
4e3cf30970 | ||
|
89ad6833b9 | ||
|
fc41704d15 | ||
|
d85df5fed9 | ||
|
d8a0ed3627 | ||
|
74df3b1543 | ||
|
2bd5951cd5 | ||
|
e418f7bb3a | ||
|
00b4f148cd | ||
|
7e93bc0924 | ||
|
23cfc59314 | ||
|
80a2b0cd1b | ||
|
34f7c29579 | ||
|
3731a3504f | ||
|
80ca3a62d9 | ||
|
26206c76c8 | ||
|
050da2ba5a | ||
|
187f4c200f | ||
|
f1cd1a67fc |
1444
Multiplayer Mods/MP Mapvote/_killcam.gsc
Normal file
1444
Multiplayer Mods/MP Mapvote/_killcam.gsc
Normal file
File diff suppressed because it is too large
Load Diff
4
Zombies Mods/Better Zombie Counter/README.md
Normal file
4
Zombies Mods/Better Zombie Counter/README.md
Normal 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
|
BIN
Zombies Mods/Better Zombie Counter/zm_counter-compiled.gsc
Normal file
BIN
Zombies Mods/Better Zombie Counter/zm_counter-compiled.gsc
Normal file
Binary file not shown.
56
Zombies Mods/Better Zombie Counter/zm_counter-source.gsc
Normal file
56
Zombies Mods/Better Zombie Counter/zm_counter-source.gsc
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
16
Zombies Mods/Cabin Custom Map [CONSOLE VERSION]/README.md
Normal file
16
Zombies Mods/Cabin Custom Map [CONSOLE VERSION]/README.md
Normal 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**
|
3156
Zombies Mods/Cabin Custom Map [CONSOLE VERSION]/main.gsc
Normal file
3156
Zombies Mods/Cabin Custom Map [CONSOLE VERSION]/main.gsc
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Zombies Mods/Cabin Custom Map [CONSOLE VERSION]/screenshot 1.jpg
Normal file
BIN
Zombies Mods/Cabin Custom Map [CONSOLE VERSION]/screenshot 1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.9 MiB |
BIN
Zombies Mods/Cabin Custom Map [CONSOLE VERSION]/screenshot 2.jpg
Normal file
BIN
Zombies Mods/Cabin Custom Map [CONSOLE VERSION]/screenshot 2.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.9 MiB |
BIN
Zombies Mods/Give Points Command/Precompiled/_zm_givepoints.gsc
Normal file
BIN
Zombies Mods/Give Points Command/Precompiled/_zm_givepoints.gsc
Normal file
Binary file not shown.
8
Zombies Mods/Give Points Command/README.md
Normal file
8
Zombies Mods/Give Points Command/README.md
Normal 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
|
@ -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;
|
||||||
|
}
|
@ -6,25 +6,8 @@
|
|||||||
- Copy the scripts and place them in your **_clientids.gsc** file
|
- Copy the scripts and place them in your **_clientids.gsc** file
|
||||||
- Add **thread high_round_tracker();** into your **init()** function
|
- Add **thread high_round_tracker();** into your **init()** function
|
||||||
- Add **player thread high_round_info();** into your **onPlayerConnect()** function
|
- Add **player thread high_round_info();** into your **onPlayerConnect()** function
|
||||||
###### IF YOU NEED TO RESET YOUR SERVER AND WANT TO KEEP RECORDS
|
- Download @fed's t6-gsc-utils plugin and place the .dll file inside gameserver/t6r/data/plugins
|
||||||
- Logs by default are kept in your game folder **/t6r/data/logs/games_zm.log**
|
https://github.com/fedddddd/t6-gsc-utils
|
||||||
- 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)*
|
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.
|
||||||
- When the server restarts, it will check the **dedicated_zm.cfg** file for any manually written records
|
All high round records will be recorded in .txt files inside gameserver/t6r/data/logs and they will be updated automatically.
|
||||||
###### 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"
|
|
||||||
```
|
|
||||||
|
@ -1,61 +1,134 @@
|
|||||||
high_round_tracker()
|
high_round_tracker()
|
||||||
{
|
{
|
||||||
level.HighRound = getDvarIntDefault( mapName( level.script ) + "HighRound", 1 );
|
thread high_round_info_giver();
|
||||||
level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" );
|
gamemode = gamemodeName( getDvar( "ui_gametype" ) );
|
||||||
if ( level.HighRoundPlayers == "" )
|
map = mapName( level.script );
|
||||||
{
|
if( level.script == "zm_transit" && getDvar( "ui_gametype" ) == "zsurvival" )
|
||||||
level.HighRoundPlayers = "UnNamed Players";
|
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 ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
level waittill ( "end_game" );
|
level waittill ( "end_game" );
|
||||||
if ( level.round_number > level.HighRound )
|
if ( level.round_number > level.HighRound )
|
||||||
{
|
{
|
||||||
setDvar( mapName( level.script ) + "HighRound", level.round_number );
|
level.HighRoundPlayers = "";
|
||||||
setDvar( mapName( level.script ) + "Players", "" );
|
|
||||||
level.HighRound = getDvarIntDefault( mapName( level.script ) + "HighRound", 1 );
|
|
||||||
players = get_players();
|
players = get_players();
|
||||||
for ( i = 0; i < players.size; i++ )
|
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 = players[i].name;
|
||||||
level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" );
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setDvar( mapName( level.script ) + "Players", level.HighRoundPlayers + ", " + players[i].name );
|
level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
|
||||||
level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
iprintln ( "New Record: ^1" + level.HighRound );
|
foreach( player in level.players )
|
||||||
iprintln ( "Set by: ^1" + level.HighRoundPlayers );
|
{
|
||||||
logprint( "Map: " + mapName( level.script ) + " Record: " + level.HighRound + " Set by: " + level.HighRoundPlayers );
|
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" )
|
gamemode = gamemodeName( getDvar( "ui_gametype" ) );
|
||||||
return "DieRise";
|
map = mapName( level.script );
|
||||||
else if( name == "zm_buried" )
|
if( level.script == "zm_transit" && getDvar( "ui_gametype" ) == "zsurvival" )
|
||||||
return "Buried";
|
map = startLocationName( getDvar( "ui_zm_mapstartlocation" ) );
|
||||||
else if( name == "zm_prison" )
|
level.basepath = getDvar("fs_basepath") + "/" + getDvar("fs_basegame") + "/";
|
||||||
return "Motd";
|
path = level.basepath + "/logs/" + map + gamemode + "HighRound.txt";
|
||||||
else if( name == "zm_tomb" )
|
file = fopen( path, "w" );
|
||||||
return "Origins";
|
fputs( newRecord, file );
|
||||||
else if( name == "zm_nuked" )
|
fclose( file );
|
||||||
return "Nuketown";
|
}
|
||||||
else if( name == "zm_transit" && level.scr_zm_map_start_location == "transit" )
|
|
||||||
return "Transit";
|
startLocationName( location )
|
||||||
else if( name == "zm_transit" && level.scr_zm_map_start_location == "town" )
|
{
|
||||||
|
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";
|
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()
|
high_round_info()
|
||||||
{
|
{
|
||||||
wait 5;
|
wait 6;
|
||||||
self iprintln ( "Highest Round for this Map: ^1" + level.HighRound );
|
self tell( "High Round Record for this map: ^1" + level.HighRound );
|
||||||
self iprintln ( "Record set by: ^1" + level.HighRoundPlayers );
|
self tell( "Record set by: ^1" + level.HighRoundPlayers );
|
||||||
}
|
}
|
4
Zombies Mods/Hitmarkers/README.md
Normal file
4
Zombies Mods/Hitmarkers/README.md
Normal 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
|
BIN
Zombies Mods/Hitmarkers/zm_hitmarkers-compiled.gsc
Normal file
BIN
Zombies Mods/Hitmarkers/zm_hitmarkers-compiled.gsc
Normal file
Binary file not shown.
88
Zombies Mods/Hitmarkers/zm_hitmarkers-source.gsc
Normal file
88
Zombies Mods/Hitmarkers/zm_hitmarkers-source.gsc
Normal 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;
|
||||||
|
}
|
BIN
Zombies Mods/Nightmode/Precompiled/_zm_nightmode.gsc
Normal file
BIN
Zombies Mods/Nightmode/Precompiled/_zm_nightmode.gsc
Normal file
Binary file not shown.
4
Zombies Mods/Nightmode/README.md
Normal file
4
Zombies Mods/Nightmode/README.md
Normal 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
|
106
Zombies Mods/Nightmode/Source Code/_zm_nightmode.gsc
Normal file
106
Zombies Mods/Nightmode/Source Code/_zm_nightmode.gsc
Normal 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;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user