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

Updated Github

This commit is contained in:
Cahz 2020-08-08 10:56:34 -07:00 committed by GitHub
parent 5ef4f751e5
commit 4c4f3efb61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 339 additions and 0 deletions

View File

@ -0,0 +1,4 @@
# WEAPON SWAP MOD
This mod is just a meme. Works best with even number of players. Had to make instances where players would refuse trades in order to prevent the loss of weapons.
## DIRECTIONS
- Compile _**_clientids.gsc**_ as _**_clientids.gsc**_ and place it in the directory _**maps/mp/gametypes_zm/_clientids.gsc**_

View File

@ -0,0 +1,335 @@
#include maps/mp/_utility;
#include common_scripts/utility;
#include maps/mp/gametypes_zm/_hud_util;
#include maps/mp/zombies/_zm;
#include maps/mp/zombies/_zm_utility;
#include maps/mp/zombies/_zm_weapons;
#include maps/mp/zombies/_zm_stats;
#include maps/mp/gametypes_zm/_hud_message;
init()
{
level thread onPlayerConnect();
level thread SwapWeapon_Level_Threads();
}
onPlayerConnect()
{
for(;;)
{
level waittill("connected", player);
player thread SwapWeapon_Player_Threads();
}
}
SwapWeapon_Level_Threads()
{
level thread SwapTimer_HUD();
level thread SwapTimer_Level_Monitor();
}
SwapTimer_Start()
{
if(!isDefined(level.swaptimer_started))
{
level.swaptimer_started = true;
level thread SwapTimer_Activate();
}
}
SwapTimer_Stop()
{
if(isDefined(level.swaptimer_started))
{
level.swaptimer_started = undefined;
level notify("reset_time");
}
}
SwapTimer_Activate()
{
level endon("end_game");
level endon("reset_time");
level.swaptime_min = 1;
level.swaptime_sec = 0;
wait 1;
for(;;)
{
if(level.swaptime_sec == 0)
{
level.swaptime_sec = 59;
level.swaptime_min -= 1;
}
else
level.swaptime_sec -= 1;
if(level.swaptime_min == 0 && level.swaptime_sec == 0)
{
wait 1;
foreach(player in level.players)
{
level.currently_switching = true;
player.Times_Attempted = undefined;
player.switched = undefined;
player.playerSwitchedWith = undefined;
player.old_i = undefined;
player.i = undefined;
if(level.players_ready > 1)
player thread Swap_Weapons();
}
level.swaptime_min = 1;
level.swaptime_sec = 0;
wait .25;
for ( i = 0; i < 5; i++ )
{
level notify("swap_weapons");
wait .25;
}
wait 1;
level.currently_switching = undefined;
}
wait 1;
}
}
SwapTimer_HUD()
{
level endon("end_game");
level.swapHUD = createServerFontString("hudsmall" , 1.25);
level.swapHUD setPoint("CENTER", "CENTER", "CENTER", 173);
while(true)
{
level.swapHUD setValue(level.swaptime_sec);
if(isDefined(level.swaptimer_started) && level.players_ready > 1)
level.swapHUD.alpha = 1;
else
level.swapHUD.alpha = 0;
if(level.swaptime_min == 0 && level.swaptime_sec == 0 && isDefined(level.swaptimer_started))
level.swapHUD Blinking_Timer();
if(level.swaptime_min == 0)
{
if(level.swaptime_sec < 10)
level.swapHUD.label = &"^1Swap Time : ^70:0";
else
level.swapHUD.label = &"^1Swap Time : ^70:";
}
else if(level.swaptime_min == 1)
{
if(level.swaptime_sec < 10)
level.swapHUD.label = &"^1Swap Time : ^71:0";
else
level.swapHUD.label = &"^1Swap Time : ^71:";
}
else if(level.swaptime_min == 2)
{
if(level.swaptime_sec < 10)
level.swapHUD.label = &"^1Swap Time : ^72:0";
else
level.swapHUD.label = &"^1Swap Time : ^72:";
}
else if(level.swaptime_min == 3)
{
if(level.swaptime_sec < 10)
level.swapHUD.label = &"^1Swap Time : ^73:0";
else
level.swapHUD.label = &"^1Swap Time : ^73:";
}
else if(level.swaptime_min == 4)
{
if(level.swaptime_sec < 10)
level.swapHUD.label = &"^1Swap Time : ^74:0";
else
level.swapHUD.label = &"^1Swap Time : ^74:";
}
else if(level.swaptime_min == 5)
{
if(level.swaptime_sec < 10)
self.swapHUD.label = &"^1Swap Time : ^75:0";
else
self.swapHUD.label = &"^1Swap Time : ^75:";
}
wait 0.05;
}
}
Blinking_Timer()
{
wait 0.5;
self fadeovertime(0.5);
self.alpha = 0;
wait 0.5;
self fadeovertime(0.5);
self.alpha = 1;
wait 0.5;
self fadeovertime(0.5);
self.alpha = 0;
wait 0.5;
self fadeovertime(0.5);
self.alpha = 1;
wait 0.5;
self fadeovertime(0.5);
self.alpha = 0;
wait 0.5;
self fadeovertime(0.5);
self.alpha = 1;
}
SwapTimer_Level_Monitor()
{
level endon("end_game");
level.players_ready = 0;
for( ;; )
{
foreach ( player in level.players )
{
if ( maps/mp/zombies/_zm_utility::is_player_valid( player ) && !isDefined(player.cantSwitch) )
level.players_ready++;
}
level notify("counting_done");
if( level.players_ready == 1 && isDefined(level.swaptimer_started) )
level thread SwapTimer_Stop();
if( level.players_ready > 1 && !isDefined(level.swaptimer_started) )
level thread SwapTimer_Start();
wait 0.05;
level.players_ready = 0;
}
}
Swap_Weapons()
{
self endon("disconnect");
level endon("end_game");
if(isDefined(self.i))
self.old_i = self.i;
self.i = RandomIntRange(0,level.players.size);
player = level.players[self.i];
if(self.old_i == self.i)
return Swap_Weapons();
if( !isDefined(self.Times_Attempted) )
self.Times_Attempted = 1;
else
self.Times_Attempted++;
if( self.Times_Attempted > 15 )
{
self.cantSwitch = true;
self iprintln("^1Couldn't swap with any players!");
wait 2;
self.cantSwitch = undefined;
return;
}
if( !maps/mp/zombies/_zm_utility::is_player_valid( self ) && !isDefined(level.currently_switching) || isDefined(self.downed) )
return;
if ( !maps/mp/zombies/_zm_utility::is_player_valid( player ) || player == self || isDefined(player.cantSwitch) || isDefined(player.downed) )
return Swap_Weapons();
if ( isinarray( self getweaponslistprimaries(), player.WeaponToSwitch ) && self.WeaponToSwitch != player.WeaponToSwitch )
{
self.cantSwitch = true;
self iprintln("^1Didn't Swap to prevent loss of your Secondary Weapon!");
wait 2;
self.cantSwitch = undefined;
return;
}
else
self.cantSwitch = undefined;
wait 0.05;
level waittill("counting_done");
if ( maps/mp/zombies/_zm_utility::is_player_valid( player ) && isDefined(player.WeaponToSwitch) && !isDefined(player.switched))
{
if ( level.players_ready == 3 || level.players_ready == 5 || level.players_ready == 7)
{
if ( self.name != player.playerSwitchedWith )
{}
else
return Swap_Weapons();
}
player.switched = true;
self.playerSwitchedWith = player.name;
level waittill("swap_weapons");
self takeWeapon(self.WeaponToSwitch);
self giveWeapon(player.WeaponToSwitch);
self SwitchToWeapon(player.WeaponToSwitch);
self setweaponammostock( player.WeaponToSwitch, player.oldammo );
self setweaponammoclip( player.WeaponToSwitch, player.oldclip );
self iprintln("You got ^2"+player.name+"'s ^7gun!");
player iprintln("^1"+self.name+" ^7took your gun!");
return;
}
else
return Swap_Weapons();
}
SwapWeapon_Player_Threads()
{
self endon("disconnect");
level endon("end_game");
for(;;)
{
self waittill( "spawned_player" );
self.downed = undefined;
self.cantSwitch = undefined;
self thread SwapWeapon_Player_Downed();
self thread SwapWeapon_Player_Revived();
self thread SwapWeapon_Weapon_Monitor();
}
}
SwapWeapon_Player_Downed()
{
self endon("disconnect");
self endon("death");
level endon("end_game");
for(;;)
{
self waittill( "player_downed" );
self.downed = true;
self.cantSwitch = true;
}
}
SwapWeapon_Player_Revived()
{
self endon("disconnect");
self endon("death");
level endon("end_game");
for(;;)
{
self waittill( "player_revived" );
self.downed = undefined;
self.cantSwitch = undefined;
}
}
SwapWeapon_Weapon_Monitor()
{
self endon("disconnect");
self endon("death");
level endon("end_game");
for(;;)
{
if(!isDefined(level.currently_switching) && maps/mp/zombies/_zm_utility::is_player_valid( self ))
{
if ( isinarray( self getweaponslistprimaries(), self getcurrentweapon() ) )
self.WeaponToSwitch = self getcurrentweapon();
self.oldammo = self getweaponammostock(self.WeaponToSwitch);
self.oldclip = self getweaponammoclip(self.WeaponToSwitch);
}
wait 0.05;
}
}