Ham Use Function:
Code:
public HamUse(this, idcaller, idactivator, use_type, Float:value)
{
if( is_user_alive(idcaller) )
{
if( value == 1.0 )
{
if( cs_get_hostage_foll(this) == idcaller )
{
cs_set_hostage_foll(this, 0);
}
else
{
new hostage_sound[64];
formatex(hostage_sound, charsmax(hostage_sound), "hostage/hos%d.wav", random_num(1,5));
emit_sound(this, CHAN_VOICE, hostage_sound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
cs_set_hostage_foll(this, idcaller);
}
cs_set_hostage_nextuse(this, get_gametime()+1.0);
}
return HAM_SUPERCEDE;
}
return HAM_IGNORED;
}
Hostage rescue zone:
Code:
#define MIN_ADD -100.0
#define MAX_ADD 100.0
CreateHostageRescue( Float:origin[3] )
{
new ent = fm_create_entity("func_hostage_rescue");
fm_entity_set_origin( ent, origin );
set_pev( ent, pev_solid, SOLID_TRIGGER );
SetBrushSize(ent, origin);
}
SetBrushSize(ent, Float:origin[3])
{
new i, Float:mins[3], Float:maxs[3];
for( i=0; i<3; i++ )
{
mins[i] = origin[i] + MIN_ADD;
maxs[i] = origin[i] + MAX_ADD;
}
set_pev( ent, pev_absmin, mins );
set_pev( ent, pev_absmax, maxs );
for( i=0; i<3; i++ )
{
mins[i] += 1.0;
maxs[i] -= 1.0;
}
set_pev( ent, pev_mins, mins );
set_pev( ent, pev_maxs, maxs );
engfunc(EngFunc_SetSize, ent, mins, maxs);
dllfunc(DLLFunc_Spawn, ent);
for( i=0; i<3; i++ )
{
mins[i] = origin[i] + MIN_ADD;
maxs[i] = origin[i] + MAX_ADD;
}
set_pev( ent, pev_absmin, mins );
set_pev( ent, pev_absmax, maxs );
for( i=0; i<3; i++ )
{
mins[i] += 1.0;
maxs[i] -= 1.0;
}
set_pev( ent, pev_mins, mins );
set_pev( ent, pev_maxs, maxs );
}