public Drone_Hurt(const String:output[], caller, activator, Float:delay){
if(!IsValidEntity(caller)) return;
int healch = GetEntProp(caller, Prop_Data, "m_iHealth");
int killer = GetEntPropEnt(caller, Prop_Data, "m_hLastAttacker");
int client = GetEntPropEnt(caller, Prop_Send, "m_PredictableID");
int ID_anim = GetIndexAnimID(caller);
if(client > 0 && client <= MaxClients){
if(IsClientInGame(client)){
if (healch <= 50){ // При HP меньше или = 50 поджигаем и меняем скин модели на горелый
IgniteEntity(caller, 2.0 );
if (ID_anim !=0){
DispatchKeyValue(ID_anim, "skin", "2"); // устанавливаем модели горелый вид
}
}
if (healch <= 0){
if (camera[client] == true){
SetEntProp ( client, Prop_Send, "m_iObserverMode" , 0 ); // норм вид
SetEntProp ( client, Prop_Send, "m_iFOV" , 90 );
SetClientViewEntity(client, client);
SetEntityRenderMode(client, RENDER_TRANSCOLOR);
SetEntityRenderColor(client, 255, 255, 255, 255);
SetEntityMoveType(client, MOVETYPE_ISOMETRIC); // MOVETYPE_WALK
SetClientOverlay(client, "");
camera[client] = false;
}
if (TimerSpeedDrone[client] != INVALID_HANDLE){ // таймер убиваем
KillTimer(TimerSpeedDrone[client], false);
TimerSpeedDrone[client] = INVALID_HANDLE;
}
StopSound(caller, SNDCHAN_AUTO, DRON_FLY1_SOUND);
if (killer != -1){ // если Дрон разрушен как то по другому.
if (killer != client){
PrintCenterText(killer, "Ты сбил Дрона %N! %i", client, client);
PrintToChat (killer, "Ты сбил Дрона %N! %i", client, client);
PrintCenterText(client, "Твоего Дрона сбил %N!", killer);
PrintToChat (client, "Твоего Дрона сбил %N!", killer);
} else if (killer == client){
PrintCenterText(client, "Ты уничтожил своего Дрона!");
PrintToChat(client, "Ты уничтожил своего Дрона!");
}
} else {
PrintCenterText(client, "Твой Дрон разрушен!");
PrintToChat (client, "Твой Дрон разрушен!");
}
EmitSoundToAll(
DRONE_DEBRIS_SOUND,
caller,
SNDCHAN_AUTO,
SNDLEVEL_NORMAL,
SND_NOFLAGS,
SNDVOL_NORMAL,
125,
-1,
NULL_VECTOR,
NULL_VECTOR,
true,
0.0);
}
}
}
}