GetUserFlagBits ошибка.

DenisPukin

Капитан Костыль
Сообщения
185
Реакции
34
Прошу помочь не пойму в чем ошибка.
Вот ошибка:
L 06/15/2017 - 12:29:38: [SM] Exception reported: Client index 546 is invalid
L 06/15/2017 - 12:29:38: [SM] Blaming: kill.smx
L 06/15/2017 - 12:29:38: [SM] Call stack trace:
L 06/15/2017 - 12:29:38: [SM] [0] GetUserFlagBits
L 06/15/2017 - 12:29:38: [SM] [1] Line 28, C:\Users\������\Desktop\����� �����\addons\sourcemod\scripting\kill.sp::OnDamage
Вот плагин:
PHP:
public OnClientPutInServer(client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnDamage); 
}

public Action:OnDamage(client, &Attaker, &Inflictor, &Float:damage, &DamageType)
{ 
        if(Attaker > 0)
            {
                new flags = GetUserFlagBits(Attaker);
                if (flags & ADMFLAG_CUSTOM1 && client > 0 && GetClientTeam(Attaker) == 2 && IsPlayerAlive(Attaker))
                {
                    damage += 130.0;
                    return Plugin_Changed;
                }
            }
    return Plugin_Continue;
}
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #2
@DenisPukin, нет проверки на валидность клиента. Поясняю: урон может нанести какая-либо энтити, а не игрок.

Потому проверку:
PHP:
if(Attaker > 0)
Надо доработать до:
PHP:
if (Attaker > 0 && Attaker <= MaxClients)
 
Сверху Снизу