Иконка ресурса

[VIP] Survivability 1.1.0

Crossale

Участник
Сообщения
140
Реакции
22
Сервер в игре CS GO. Плагин работает, но в логи error спамится эта ошибка
L 08/22/2018 - 06:25:23: [SM] Exception reported: Client index 0 is invalid
L 08/22/2018 - 06:25:23: [SM] Blaming: vip/VIP_Survivability.smx
L 08/22/2018 - 06:25:23: [SM] Call stack trace:
L 08/22/2018 - 06:25:23: [SM] [0] GetClientTeam
L 08/22/2018 - 06:25:23: [SM] [1] Line 131, D:\Download\SourcePawn\OLD #2\VIP_Survivability.sp::OnTakeDamage
 

Extreme_Project

Участник
Сообщения
39
Реакции
0
Поставил на авп сервер, убрал из списка оружия AWP
И вот баг...
5-10-15% без разницы сколько... всегда срабатывает эта выживаемость
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
  • Автор ресурса
  • #26
Интересно, в свободное время переделаю условия 'проверки'. Мне почему то кажется, ошибка и эта дичь выше - связаны
 
Последнее редактирование:

etozheqq

Vertex | CS : GO
Сообщения
332
Реакции
74
[SM] Exception reported: Client index 0 is invalid
[SM] Blaming: vip/VIP_Survivability.smx
[SM] Call stack trace:
[SM] [0] IsFakeClient
[SM] [1] Line 113, D:\Download\JOB\кп\VIP_Survivability.sp::TimerCheckVip
 

Truyn

King of clowns
Сообщения
1,591
Реакции
749
L 08/31/2018 - 20:29:19: [SM] Blaming: vip/VIP_Survivability.smx
L 08/31/2018 - 20:29:19: [SM] Call stack trace:
L 08/31/2018 - 20:29:19: [SM] [0] GetClientTeam
L 08/31/2018 - 20:29:19: [SM] [1] Line 131, D:\Download\SourcePawn\OLD #2\VIP_Survivability.sp::OnTakeDamage
L 08/31/2018 - 20:29:20: [SM] Exception reported: Client index 808 is invalid
 

pipchik

Участник
Сообщения
49
Реакции
1
@Drumanid,
L 10/20/2018 - 13:55:34: SourceMod error session started
L 10/20/2018 - 13:55:34: Info (map "jb_lost_planet_fix") (file "errors_20181020.log")
L 10/20/2018 - 13:55:34: [SM] Exception reported: Client index 0 is invalid
L 10/20/2018 - 13:55:34: [SM] Blaming: vip/VIP_Survivability.smx
L 10/20/2018 - 13:55:34: [SM] Call stack trace:
L 10/20/2018 - 13:55:34: [SM] [0] GetClientTeam
L 10/20/2018 - 13:55:34: [SM] [1] Line 131, D:\Download\SourcePawn\OLD #2\VIP_Survivability.sp::OnTakeDamage
L 10/20/2018 - 14:00:12: [SM] Exception reported: Client index 0 is invalid
L 10/20/2018 - 14:00:12: [SM] Blaming: vip/VIP_Survivability.smx
L 10/20/2018 - 14:00:12: [SM] Call stack trace:
L 10/20/2018 - 14:00:12: [SM] [0] GetClientTeam
L 10/20/2018 - 14:00:12: [SM] [1] Line 131, D:\Download\SourcePawn\OLD #2\VIP_Survivability.sp::OnTakeDamage
L 10/20/2018 - 14:00:51: [SM] Exception reported: Client index 0 is invalid
L 10/20/2018 - 14:00:51: [SM] Blaming: vip/VIP_Survivability.smx
L 10/20/2018 - 14:00:51: [SM] Call stack trace:
L 10/20/2018 - 14:00:51: [SM] [0] GetClientTeam
L 10/20/2018 - 14:00:51: [SM] [1] Line 131, D:\Download\SourcePawn\OLD #2\VIP_Survivability.sp::OnTakeDamage
L 10/20/2018 - 14:16:23: Error log file session closed.
L 10/20/2018 - 16:17:19: SourceMod error session started
L 10/20/2018 - 16:17:19: Info (map "jb_lego_jail_v8") (file "errors_20181020.log")
L 10/20/2018 - 16:17:19: [SM] Exception reported: Client index 0 is invalid
L 10/20/2018 - 16:17:19: [SM] Blaming: vip/VIP_Survivability.smx
L 10/20/2018 - 16:17:19: [SM] Call stack trace:
L 10/20/2018 - 16:17:19: [SM] [0] GetClientTeam
L 10/20/2018 - 16:17:19: [SM] [1] Line 131, D:\Download\SourcePawn\OLD #2\VIP_Survivability.sp::OnTakeDamage
L 10/20/2018 - 16:21:15: Error log file session closed.
L 10/20/2018 - 16:27:29: SourceMod error session started
L 10/20/2018 - 16:27:29: Info (map "ba_jail_sand_csgo") (file "errors_20181020.log")
L 10/20/2018 - 16:27:29: [SM] Exception reported: Client index 0 is invalid
L 10/20/2018 - 16:27:29: [SM] Blaming: vip/VIP_Survivability.smx
L 10/20/2018 - 16:27:29: [SM] Call stack trace:
L 10/20/2018 - 16:27:29: [SM] [0] GetClientTeam
L 10/20/2018 - 16:27:29: [SM] [1] Line 131, D:\Download\SourcePawn\OLD #2\VIP_Survivability.sp::OnTakeDamage
 

pipchik

Участник
Сообщения
49
Реакции
1
L 10/20/2018 - 13:55:34: SourceMod error session started
L 10/20/2018 - 13:55:34: Info (map "jb_lost_planet_fix") (file "errors_20181020.log")
L 10/20/2018 - 13:55:34: [SM] Exception reported: Client index 0 is invalid
L 10/20/2018 - 13:55:34: [SM] Blaming: vip/VIP_Survivability.smx
L 10/20/2018 - 13:55:34: [SM] Call stack trace:
L 10/20/2018 - 13:55:34: [SM] [0] GetClientTeam
L 10/20/2018 - 13:55:34: [SM] [1] Line 131, D:\Download\SourcePawn\OLD #2\VIP_Survivability.sp::OnTakeDamage
L 10/20/2018 - 14:00:12: [SM] Exception reported: Client index 0 is invalid
 

Вложения

  • VIP_Survivability.zip
    14.3 КБ · Просмотры: 5

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
  • Автор ресурса
  • #33
Дичь, дичь и еще раз дичь. Проверяйте такой вариант, я совсем забыл про этот модуль.

PHP:
#include <sdkhooks>
#include <vip_core>

public Plugin myinfo =
{
    name = "(VIP) Survivability | Выживаемость",
    author = "Drumanid", 
    version = "1.1.1",
    url = "Discord: Drumanid#9108"
}

static const char g_sFeature[] = "Survivability";
bool g_bUse[MAXPLAYERS +1], g_bFade, g_bType;
char g_sWeapon[512];
int g_iFeature[MAXPLAYERS +1];

public void OnPluginStart()
{
    ConVar hCv;
    (hCv = CreateConVar("VS_WEAPON", "awp|knife|decoy", "Список оружия от которого можно получить урон и вас не спасет 'выживаемость'")).AddChangeHook(Cvar_Weapon);
    hCv.GetString(g_sWeapon, sizeof(g_sWeapon));
    (hCv = CreateConVar("VS_FADE", "1", "1 - включить | 0 - выключить эффект ", _, true, 0.0, true, 1.0)).AddChangeHook(Cvar_Fade);
    g_bFade = hCv.BoolValue;
   
    HookEvent("player_activate", PlayerActivate);
    HookEvent("player_spawn", PlayerSpawn);
   
    LoadTranslations("vip_modules.phrases");
    if(VIP_IsVIPLoaded()) VIP_OnVIPLoaded();
   
    for(int i = 1; i <= MaxClients; i++)
    {
        if(IsClientInGame(i) && !IsFakeClient(i) && g_iFeature[i] != 0)
        {
            SDKHook(i, SDKHook_OnTakeDamage, OnTakeDamage);
            g_bUse[i] = false;
        }
    }
   
    AutoExecConfig(true, "VIP_Survivability", "vip");
}

public void OnPluginEnd() 
{
    if(CanTestFeatures() && GetFeatureStatus(FeatureType_Native, "VIP_UnregisterFeature") == FeatureStatus_Available) VIP_UnregisterFeature(g_sFeature);
}

public void VIP_OnVIPLoaded()
{
    VIP_RegisterFeature(g_sFeature, INT, _, _, OnDisplayItem);
}

public void VIP_OnVIPClientLoaded(int iClient)
{
    g_iFeature[iClient] = VIP_GetClientFeatureInt(iClient, g_sFeature);
}

public bool OnDisplayItem(int iClient, const char[] sFeature, char[] sDisplay, int iMaxlen)
{
    if(VIP_IsClientFeatureUse(iClient, g_sFeature))
    {
        SetGlobalTransTarget(iClient);
        FormatEx(sDisplay, iMaxlen, "%t [%i%%]", sFeature, g_iFeature[iClient]);
        return true;
    }

    return false;
}

public void Cvar_Weapon(ConVar hCv, const char[] sOldValue, const char[] sNewValue) { hCv.GetString(g_sWeapon, sizeof(g_sWeapon)); }
public void Cvar_Fade(ConVar hCv, const char[] sOldValue, const char[] sNewValue) { g_bFade = hCv.BoolValue; }
public void OnConfigsExecuted() { g_bType = FindConVar("mp_friendlyfire").BoolValue; }
public void PlayerActivate(Event hEvent, const char[] sName, bool bDbc) { CreateTimer(0.0, TimerCheckVip, hEvent.GetInt("userid")); }
public void PlayerSpawn(Event hEvent, const char[] sName, bool bDbc) { g_bUse[GetClientOfUserId(hEvent.GetInt("userid"))] = false; }

public Action TimerCheckVip(Handle hTimer, any iClient)
{
    if((iClient = GetClientOfUserId(iClient)) > 0 && !IsFakeClient(iClient) && g_iFeature[iClient] != 0) SDKHook(iClient, SDKHook_OnTakeDamage, OnTakeDamage);
    return Plugin_Stop;
}

public Action OnTakeDamage(int iVictim, int &iAttacker, int &iInflictor, float &fDamage, int &iDamageType)
{
    if(IsValidClient(iAttacker) && IsValidClient(iVictim) && VIP_IsClientFeatureUse(iVictim, g_sFeature))
    {
        if(((g_bType && iAttacker != iVictim) || (!g_bType && GetClientTeam(iAttacker) != GetClientTeam(iVictim))) &&
        !g_bUse[iVictim] && (GetClientHealth(iVictim) - RoundToCeil(fDamage)) <= 0 && GetRandomInt(1, 100) <= g_iFeature[iVictim])
        {
            char sWeapon[32]; GetClientWeapon(iAttacker, sWeapon, sizeof(sWeapon));
            if(g_sWeapon[0] == 0 || !(StrContains(g_sWeapon, sWeapon[FindCharInString(sWeapon, '_') +1], false) != -1))
            {
                if(g_bFade)
                {
                    Handle hMessage = StartMessageOne("Fade", iVictim);
                    if(GetUserMessageType() == UM_Protobuf)
                    {
                        PbSetInt(hMessage, "duration", 150);
                        PbSetInt(hMessage, "hold_time", 1);
                        PbSetInt(hMessage, "flags", 0x0001);
                        PbSetColor(hMessage, "clr", {255, 0, 0, 100});
                    }
                    else
                    {
                        BfWriteShort(hMessage, 150);
                        BfWriteShort(hMessage, 1);
                        BfWriteShort(hMessage, 0x0001);
                        BfWriteByte(hMessage, 255);
                        BfWriteByte(hMessage, 0);
                        BfWriteByte(hMessage, 0);
                        BfWriteByte(hMessage, 100);
                    }

                    EndMessage();
                }

                SetEntityHealth(iVictim, 1);
                g_bUse[iVictim] = true;
               
                return Plugin_Handled;
            }
        }
    }
   
    return Plugin_Continue;
}

bool IsValidClient(int iClient)
{
    if(1 <= iClient <= MaxClients && IsClientInGame(iClient)) return true;   
    return false; 
}
 

Вложения

  • VIP_Survivability.smx
    8.5 КБ · Просмотры: 60
  • VIP_Survivability.sp
    4.9 КБ · Просмотры: 28

pipchik

Участник
Сообщения
49
Реакции
1

V1adJkee

Участник
Сообщения
148
Реакции
81
Кто поможет исправить ошибки?

L 08/19/2020 - 10:26:49: [SM] Blaming: vip/VIP_Survivability.smx
L 08/19/2020 - 10:26:49: [SM] Call stack trace:
L 08/19/2020 - 10:26:49: [SM] [0] GetClientTeam
L 08/19/2020 - 10:26:49: [SM] [1] Line 131, D:\Download\SourcePawn\OLD #2\VIP_Survivability.sp::OnTakeDamage
L 08/19/2020 - 10:26:49: [SM] Exception reported: Client index -1 is invalid
 
Сверху Снизу