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