По просьбам игроков добавил к стрелам, выпущенным из арбалета, пламя. Использовал штатную функцию SM. Стрелы горят, воткнувшиеся стрелы наносят урон огнём, а при попадании по игрокам - поджигают их:
Но если игрок не был добил атакующим, а умер от догорания, фраг атаковавшему не засчитывается, игрок совершает суицид. Как засчитать фраг тому, кто поджёг? И есть ли способы поджигания лучше штатной IgniteEntity?
C-подобный:
public OnPlayerHurt(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
if (IsValidClient(client) && IsValidClient(attacker))
{
decl String:AllWeapon[20];
GetClientWeapon(attacker, AllWeapon, 20);
if (StrEqual("weapon_crossbow", AllWeapon, false))
{
IgniteEntity(client, 1.5);
}
}
}
Но если игрок не был добил атакующим, а умер от догорания, фраг атаковавшему не засчитывается, игрок совершает суицид. Как засчитать фраг тому, кто поджёг? И есть ли способы поджигания лучше штатной IgniteEntity?