mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 10:27:55 -05:00
157 lines
3.6 KiB
Plaintext
157 lines
3.6 KiB
Plaintext
#include clientscripts\_utility;
|
||
weapon_box_callback(localClientNum, set, newEnt)
|
||
{
|
||
if(localClientNum != 0)
|
||
{
|
||
return;
|
||
}
|
||
if(set)
|
||
{
|
||
self thread weapon_floats_up();
|
||
}
|
||
else
|
||
{
|
||
self notify("end_float");
|
||
cleanup_weapon_models();
|
||
}
|
||
}
|
||
cleanup_weapon_models()
|
||
{
|
||
if(IsDefined(self.weapon_models))
|
||
{
|
||
players = getlocalplayers();
|
||
for( index = 0; index < players.size; index++)
|
||
{
|
||
player = players[index];
|
||
lcn = player getlocalclientnumber();
|
||
if(IsDefined(self.weapon_models[lcn]))
|
||
{
|
||
self.weapon_models[lcn].dw Delete();
|
||
self.weapon_models[lcn] Delete();
|
||
}
|
||
}
|
||
self.weapon_models = undefined;
|
||
}
|
||
}
|
||
weapon_is_dual_wield(name)
|
||
{
|
||
switch(name)
|
||
{
|
||
case "cz75dw_zm":
|
||
case "cz75dw_upgraded_zm":
|
||
case "m1911_upgraded_zm":
|
||
case "hs10_upgraded_zm":
|
||
case "pm63_upgraded_zm":
|
||
return true;
|
||
default:
|
||
return false;
|
||
}
|
||
}
|
||
weapon_floats_up()
|
||
{
|
||
self endon("end_float");
|
||
cleanup_weapon_models();
|
||
self.weapon_models = [];
|
||
number_cycles = 39;
|
||
floatHeight = 64;
|
||
rand = treasure_chest_ChooseRandomWeapon();
|
||
modelname = GetWeaponModel( rand );
|
||
players = getlocalplayers();
|
||
for( i = 0; i < players.size; i ++)
|
||
{
|
||
player = players[i];
|
||
lcn = player getlocalclientnumber();
|
||
self.weapon_models[lcn] = spawn(lcn, self.origin, "script_model");
|
||
self.weapon_models[lcn].angles = self.angles+( 0, 180, 0 );
|
||
self.weapon_models[lcn].dw = spawn(lcn, self.weapon_models[0].origin - ( 3, 3, 3 ), "script_model");
|
||
self.weapon_models[lcn].dw.angles = self.weapon_models[0].angles;
|
||
self.weapon_models[lcn].dw Hide();
|
||
self.weapon_models[lcn] SetModel( modelname );
|
||
self.weapon_models[lcn].dw SetModel(modelname);
|
||
self.weapon_models[lcn] useweaponhidetags( rand );
|
||
self.weapon_models[lcn] moveto( self.origin +( 0, 0, floatHeight ), 3, 2, 0.9 );
|
||
self.weapon_models[lcn].dw MoveTo(self.origin + (0,0,floatHeight) - ( 3, 3, 3 ), 3, 2, 0.9);
|
||
}
|
||
for( i = 0; i < number_cycles; i++ )
|
||
{
|
||
if( i < 20 )
|
||
{
|
||
wait( 0.05 );
|
||
}
|
||
else if( i < 30 )
|
||
{
|
||
wait( 0.1 );
|
||
}
|
||
else if( i < 35 )
|
||
{
|
||
wait( 0.2 );
|
||
}
|
||
else if( i < 38 )
|
||
{
|
||
wait( 0.3 );
|
||
}
|
||
rand = treasure_chest_ChooseRandomWeapon();
|
||
modelname = GetWeaponModel( rand );
|
||
players = getlocalplayers();
|
||
for( index = 0; index < players.size; index++)
|
||
{
|
||
player = players[index];
|
||
lcn = player getlocalclientnumber();
|
||
if(IsDefined(self.weapon_models[lcn]))
|
||
{
|
||
self.weapon_models[lcn] SetModel( modelname );
|
||
self.weapon_models[lcn] useweaponhidetags( rand );
|
||
if(weapon_is_dual_wield(rand))
|
||
{
|
||
self.weapon_models[lcn].dw SetModel(modelname);
|
||
self.weapon_models[lcn].dw useweaponhidetags(rand);
|
||
self.weapon_models[lcn].dw show();
|
||
}
|
||
else
|
||
{
|
||
self.weapon_models[lcn].dw Hide();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
cleanup_weapon_models();
|
||
}
|
||
is_weapon_included( weapon_name )
|
||
{
|
||
if( !IsDefined( level._box_weapons ) )
|
||
{
|
||
return false;
|
||
}
|
||
for ( i = 0; i < level._box_weapons.size; i++ )
|
||
{
|
||
if ( weapon_name == level._box_weapons[i] )
|
||
{
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
include_weapon(weapon, in_box, func)
|
||
{
|
||
if( !IsDefined( level._box_weapons ) )
|
||
{
|
||
level._box_weapons = [];
|
||
}
|
||
if(!IsDefined(in_box))
|
||
{
|
||
in_box = true;
|
||
}
|
||
if(!in_box)
|
||
{
|
||
return;
|
||
}
|
||
level._box_weapons[level._box_weapons.size] = weapon;
|
||
}
|
||
treasure_chest_ChooseRandomWeapon()
|
||
{
|
||
if(!IsDefined(level._box_weapons))
|
||
{
|
||
level._box_weapons = array("python_zm", "g11_lps_zm", "famas_zm");
|
||
}
|
||
return level._box_weapons[RandomInt(level._box_weapons.size)];
|
||
} |