В этой теме расскажу о том как сделать чтоб шпион возвращался на базу при помощи ультимэйта + предмет health ( т.е VENGEANCE_HEALTH + Предмет HEALTH). В обычном случае предмет health не работает.
1) Шаг :
Открываем файлrace_warden.inl и находим вот этот код
Code
// Spawn found!
else
{
new vOrigin[3], vNewOrigin[3], Float:fSpawnOrigin[3];
// Get the user's origin
get_user_origin( idUser, vOrigin );
// Get the origin of the spawn
entity_get_vector( ent, EV_VEC_origin, fSpawnOrigin );
// Convert float vector to int vector
FVecIVec( fSpawnOrigin, vNewOrigin );
// Move the user
set_user_origin( idUser, vNewOrigin );
// Play teleport animation at old location
Create_TE_TELEPORT( vOrigin );
// Play the Vengeance sound
emit_sound( idUser, CHAN_STATIC, g_szSounds[SOUND_VENGEANCE], 1.0, ATTN_NORM, 0, PITCH_NORM );
// Set up a new ultimate delay
ULT_ResetCooldown( idUser, get_pcvar_num( CVAR_wc3_ult_cooldown ) );
}
}
Вставляем наш код вот так: КОД:
Code
// Change user's health
if ( ITEM_Has( idUser, ITEM_HEALTH ) > ITEM_NONE )
set_user_health( idUser, VENGEANCE_HEALTH + get_pcvar_num( CVAR_wc3_health ))
Code
// Spawn found!
else
{
new vOrigin[3], vNewOrigin[3], Float:fSpawnOrigin[3];
// Get the user's origin
get_user_origin( idUser, vOrigin );
// Get the origin of the spawn
entity_get_vector( ent, EV_VEC_origin, fSpawnOrigin );
// Convert float vector to int vector
FVecIVec( fSpawnOrigin, vNewOrigin );
// Move the user
set_user_origin( idUser, vNewOrigin );
// Play teleport animation at old location
Create_TE_TELEPORT( vOrigin );
// Change user's health
if ( ITEM_Has( idUser, ITEM_HEALTH ) > ITEM_NONE )
set_user_health( idUser, VENGEANCE_HEALTH + get_pcvar_num( CVAR_wc3_health ))
// Play the Vengeance sound
emit_sound( idUser, CHAN_STATIC, g_szSounds[SOUND_VENGEANCE], 1.0, ATTN_NORM, 0, PITCH_NORM );
// Set up a new ultimate delay
ULT_ResetCooldown( idUser, get_pcvar_num( CVAR_wc3_ult_cooldown ) );
}
}