mirror of
https://github.com/Paintball/BO2-GSC-Releases.git
synced 2025-06-07 21:38:02 -05:00
Updated Github
This commit is contained in:
parent
5ef4f751e5
commit
4c4f3efb61
4
Zombies Mods/Weapon Swap Mod/README.md
Normal file
4
Zombies Mods/Weapon Swap Mod/README.md
Normal 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**_
|
335
Zombies Mods/Weapon Swap Mod/_clientids.gsc
Normal file
335
Zombies Mods/Weapon Swap Mod/_clientids.gsc
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user