Thank you, I will try to understand .. Yes here it is interesting, and how then in QuakeSounds all this is realized ? In the same way , too, there are all sorts of multikills .. by the way here found the piece of code from quake sound
PHP Code:
public EventPlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
new attackerClient = GetClientOfUserId(GetEventInt(event, "attacker"));
new victimClient = GetClientOfUserId(GetEventInt(event, "userid"));
new soundId = -1;
new killsValue = 0;
if(victimClient<1 || victimClient>iMaxClients)
{
return;
}
if(attackerClient>0 && attackerClient<=iMaxClients)
{
if(attackerClient == victimClient)
{
if(settingConfig[SELFKILL][NOT_BASED_ON_KILLS])
{
soundId = SELFKILL;
}
}
else if(GetClientTeam(attackerClient) == GetClientTeam(victimClient))
{
consecutiveKills[attackerClient] = 0;
if(settingConfig[TEAMKILL][NOT_BASED_ON_KILLS])
{
soundId = TEAMKILL;
}
}
else
{
totalKills++;
decl String:weapon[64];
GetEventString(event, "weapon", weapon, sizeof(weapon));
#if defined CSS
new bool:headshot = GetEventBool(event, "headshot");
#elseif defined TF2
new customkill = GetEventInt(event, "customkill");
new bool:headshot = (customkill == 1);
#elseif defined DODS
new bool:headshot = (hurtHitGroup[victimClient] == 1);
#else
new bool:headshot = false;
#endif
consecutiveKills[attackerClient]++;
if(headshot)
{
headShotCount[attackerClient]++;
}
[COLOR="Red"] new Float:tempLastKillTime = lastKillTime[attackerClient];
lastKillTime[attackerClient] = GetEngineTime();
if(tempLastKillTime == -1.0 || (lastKillTime[attackerClient] - tempLastKillTime) > 1.5)
{
lastKillCount[attackerClient] = 1;
}
else
{
lastKillCount[attackerClient]++;
}[/COLOR]
if(totalKills == 1 && settingConfig[FIRSTBLOOD][NOT_BASED_ON_KILLS])
{
soundId = FIRSTBLOOD;
}
else if(settingConfig[KILLSOUND][consecutiveKills[attackerClient]])
{
soundId = KILLSOUND;
killsValue = consecutiveKills[attackerClient];
}
else if(settingConfig[COMBO][lastKillCount[attackerClient]])
{
soundId = COMBO;
killsValue = lastKillCount[attackerClient];
}
else if(headshot && settingConfig[HEADSHOT][headShotCount[attackerClient]])
{
soundId = HEADSHOT;
killsValue = headShotCount[attackerClient];
}
else if(headshot && settingConfig[HEADSHOT][NOT_BASED_ON_KILLS])
{
soundId = HEADSHOT;
}
#if defined TF2
else if(customkill == 2 && settingConfig[KNIFE][NOT_BASED_ON_KILLS])
{
soundId = KNIFE;
}
#elseif defined CSS
else if((StrEqual(weapon, "hegrenade") || StrEqual(weapon, "smokegrenade") || StrEqual(weapon, "flashbang")) && settingConfig[GRENADE][NOT_BASED_ON_KILLS])
{
soundId = GRENADE;
}
else if(StrEqual(weapon, "knife") && settingConfig[KNIFE][NOT_BASED_ON_KILLS])
{
soundId = KNIFE;
}
#elseif defined DODS
else if((StrEqual(weapon, "riflegren_ger") || StrEqual(weapon, "riflegren_us") || StrEqual(weapon, "frag_ger") || StrEqual(weapon, "frag_us") || StrEqual(weapon, "smoke_ger") || StrEqual(weapon, "smoke_us")) && settingConfig[GRENADE][NOT_BASED_ON_KILLS])
{
soundId = GRENADE;
}
else if((StrEqual(weapon, "spade") || StrEqual(weapon, "amerknife") || StrEqual(weapon, "punch")) && settingConfig[KNIFE][NOT_BASED_ON_KILLS])
{
soundId = KNIFE;
}
#elseif defined HL2DM
else if(StrEqual(weapon, "grenade_frag") && settingConfig[GRENADE][NOT_BASED_ON_KILLS])
{
soundId = GRENADE;
}
else if((StrEqual(weapon, "stunstick") || StrEqual(weapon, "crowbar")) && settingConfig[KNIFE][NOT_BASED_ON_KILLS])
{
soundId = KNIFE;
}
#endif
}
}
Thanks again . Sorry for bad English..