
#include common_scripts/utility;
#include maps/mp/_utility;
#include maps/mp/zombies/_zm_utility;
//Place call to your main function here.
init()
{
thread onPlayerConnect();
}
onPlayerConnect()
{
for (;;)
{
level waittill("connected", player);
player thread onPlayerSpawned();
}
}
onPlayerSpawned()
{
for (;;)
{
self waittill("spawned_player");
wait 10;
self thread give_piece();
self thread toggle_ammo();
}
}
toggle_ammo()
{
while ( isDefined( self ) )
{
weapon = self getcurrentweapon();
if ( weapon != "none" )
{
self setweaponoverheating( 0, 0 );
max = weaponmaxammo( weapon );
if ( isDefined( max ) )
{
self setweaponammostock( weapon, max );
}
if ( isDefined( self get_player_tactical_grenade() ) )
{
self givemaxammo( self get_player_tactical_grenade() );
}
if ( isDefined( self get_player_lethal_grenade() ) )
{
self givemaxammo( self get_player_lethal_grenade() );
}
}
wait 1;
}
}
give_piece()
{
candidate_list = [];
foreach (zone in level.zones)
{
if ( isDefined( zone.unitrigger_stubs ) )
{
candidate_list = arraycombine( candidate_list, zone.unitrigger_stubs, 1, 0 );
}
}
foreach (stub in candidate_list)
{
if ( isDefined( stub.piece ) && isDefined( stub.piece.buildable_slot ) )
{
if ( !isDefined( self maps/mp/zombies/_zm_buildables::player_get_buildable_piece( stub.piece.buildable_slot ) ) )
{
self thread maps/mp/zombies/_zm_buildables::player_take_piece( stub.piece );
}
}
}
}