82 lines
12 KiB
Plaintext
82 lines
12 KiB
Plaintext
#using scripts\codescripts\struct;
|
|
|
|
#using scripts\shared\clientfield_shared;
|
|
#using scripts\shared\math_shared;
|
|
#using scripts\shared\system_shared;
|
|
#using scripts\shared\util_shared;
|
|
#using scripts\shared\vehicle_shared;
|
|
|
|
|
|
|
|
|
|
#using scripts\mp\_helicopter_sounds;
|
|
#using scripts\mp\_util;
|
|
|
|
|
|
|
|
#using scripts\shared\duplicaterender_mgr;
|
|
|
|
|
|
#namespace flak_drone;
|
|
|
|
|
|
|
|
function autoexec __init__sytem__() { system::register("flak_drone",&__init__,undefined,undefined); }
|
|
|
|
function __init__()
|
|
{
|
|
clientfield::register( "vehicle", "flak_drone_camo", 1, 3, "int", &active_camo_changed, !true, !true );
|
|
}
|
|
|
|
function active_camo_changed( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
|
|
{
|
|
flags_changed = self duplicate_render::set_dr_flag( "active_camo_flicker", newVal == ( 2 ) );
|
|
flags_changed = self duplicate_render::set_dr_flag( "active_camo_on", false ) || flags_changed;
|
|
flags_changed = self duplicate_render::set_dr_flag( "active_camo_reveal", true ) || flags_changed;
|
|
if ( flags_changed )
|
|
{
|
|
self duplicate_render::update_dr_filters(localClientNum);
|
|
}
|
|
|
|
self notify( "endtest" );
|
|
|
|
self thread doReveal( localClientNum, newVal != ( 0 ) );
|
|
}
|
|
|
|
function doReveal( localClientNum, direction )
|
|
{
|
|
self notify( "endtest" );
|
|
self endon( "endtest" );
|
|
|
|
self endon( "entityshutdown" );
|
|
|
|
if( direction )
|
|
{
|
|
startVal = 1;
|
|
}
|
|
else
|
|
{
|
|
startVal = 0;
|
|
}
|
|
|
|
while( ( startVal >= 0 ) && ( startVal <= 1 ) )
|
|
{
|
|
self MapShaderConstant( localClientNum, 0, "scriptVector0", startVal, 0, 0, 0 );
|
|
if( direction )
|
|
{
|
|
startVal -= .016 / 0.5;
|
|
}
|
|
else
|
|
{
|
|
startVal += .016 / 0.5;
|
|
}
|
|
wait( .016 );
|
|
}
|
|
|
|
flags_changed = self duplicate_render::set_dr_flag( "active_camo_reveal", false );
|
|
flags_changed = self duplicate_render::set_dr_flag( "active_camo_on", direction ) || flags_changed;
|
|
if ( flags_changed )
|
|
{
|
|
self duplicate_render::update_dr_filters(localClientNum);
|
|
}
|
|
} |