Спамит ошибками при подключении игрока

makson_8601

Участник
Сообщения
196
Реакции
8
Текст ошибки
L 02/07/2023 - 22:41:03: [SM] Exception reported: Hook not setup for a virtual hook.
L 02/07/2023 - 22:41:03: [SM] Blaming: ma_advanced_functionality.smx
L 02/07/2023 - 22:41:03: [SM] Call stack trace:
L 02/07/2023 - 22:41:03: [SM] [0] DHookEntity
L 02/07/2023 - 22:41:03: [SM] [1] Line 193, C:\Users\krap4\Desktop\MA SM CSS\addons\sourcemod\scripting\ma_advanced_functionality.sp::OnClientPostAdminCheck
L 02/07/2023 - 22:41:44: [SM] Exception reported: Hook not setup for a virtual hook.
Список мета-модулей
[02] SourceMod (1.11.0.6522) by AlliedModders LLC
[03] ProcessCmds (1.3.8) by GoDtm666 (www.MyArena.ru)
[04] SDK Tools (1.11.0.6522) by AlliedModders LLC
[05] CS Tools (1.11.0.6522) by AlliedModders LLC
[06] SDK Hooks (1.11.0.6522) by AlliedModders LLC
[07] DHooks (2.2.0-detours17) by Dr!fter and Peace-Maker
Список плагинов SM
001 "Weak throw grenade" (1.3.0_02.10.2021) by lar1ch, Grey83
002 "[Keys] Shop" (1.1) by R1KO
003 "[Keys] Core" (1.4) by R1KO
004 "[Keys] VIP" (1.4) by R1KO
005 "[LR] Module - DeathGift" (v3.1) by RoadSide Romeo
006 "adm/ahide.smx"
007 "CheckInfo" (1.4) by NickFox
008 "Simple Admins List" (9/11/2019) by SN(Kaneki)
009 "Clear Nickname" (1.1.3) by FIVE, Domikuss, Faya
010 "Plugins Manager" (1.1) by CrazyHackGUT aka Kruzya
011 "BlockingZones | Блокирующие зоны" (1.3) by Drumanid
012 "[Any] TeamSwitch" (1.3.1) by MistaGee, (rewritten Nek.'a 2x2 | ggwp.site )
013 "Player Respawn" (1.4) by Rogue
014 "[Fork] CheckCheats" (3.2.1 [BETA]) by xyligan & Nico Yazawa
015 "[Store] Daily Credits" (2.3) by Simon & Nachtfrische, (Edited by Snooze)
016 "High or Low" (1.1) by SheriF and donut1k
017 "[Shop] Crash Game" (1.2.6) by Amirsz, Emur
018 "[Shop] Color Tracers" (2.0.4) by FrozDark & R1KO
019 "shop/cfk_core.smx"
020 "[Shop] Laser Aim" (1.3) by Leonardo & White Wolf (HLModders LLC)
021 "[Shop] Any Top" (1.0.2) by iLoco
022 "[Shop] Online Credits" (1.5) by White Wolf (HLModders LLC)
023 "[Shop] Medkit" (2.1.2) by FrozDark (HLModders LLC)
024 "[Shop] Info Stats (CDR)" (1.1 (PUBLIC)) by Faya (DS: Faya#8514)
025 "[Shop] Ammo weapons" (1.2.1) by inklesspen / Marks
026 "[Shop] Logs" (1.1) by Pisex
027 "[Shop] FlipGame" (2.1.2) by FLASHER
028 "[Shop] Games" (1.2.1) by Monroe
029 "[Shop] Core" (3.0E7) by Shop Core Team
030 "[Shop] Double Jump" (1.1) by R1KO
031 "Show Credits" (1.0) by Someone
032 "[Shop] Fast Weapon Reload" (1.0) by Tonki_Ton
033 "MF Connect Info" (2.3) by merk (fixed by GANZ)
034 "Reset Score" (1.0.3) by GoDtm666 (www.MyArena.ru)
035 "Add To Download" (1.2.3) by wS
036 "RandomCycle" (1.11.0.6522) by AlliedModders LLC
037 "No Team Falsh" (1.0.0) by GoDtm666
038 "Reserved Slots" (1.11.0.6522) by AlliedModders LLC
039 "Nextmap" (1.11.0.6522) by AlliedModders LLC
040 "Admin loggin" (1.0) by vIr-Dan
041 "NoBlock" (1.4.2) by Otstrel.ru Team and www.MyArena.ru
042 "Fun Commands" (1.11.0.6522) by AlliedModders LLC
043 "NoTextWin" (1.0) by by FawN
044 "Admin Help" (1.11.0.6522) by AlliedModders LLC
045 "[Fork] RoundEndOverlay" (1.0.0) by xyligan
046 "MapChooser" (1.11.0.6522) by AlliedModders LLC
047 "No Fall Damage" (0.0.1.9) by alexip121093
048 "SM Parachute" (2.5) by SWAT_88
049 "Sound Commands" (1.11.0.6522) by AlliedModders LLC
050 "Player Commands" (1.11.0.6522) by AlliedModders LLC
051 "Fun Votes" (1.11.0.6522) by AlliedModders LLC
052 "Dissolve" (1.0.2) by L. Duke and www.MyArena.ru
053 "Revival" (1.1.1) by Grey83
054 "Advanced c4 Countdown Timer" (1.5.0) by dalto, Panda. Fix Dr.Virus
055 "Show Damage" (1.0.3) by GoDtm666 (www.MyArena.ru)
056 "Weapon Fight (Edited old Knife Fight)" (1.3.8.4) by XARiUS, Otstrel.Ru Team and GoDtm666 (www.MyArena.ru)
057 "GameVoting" (1.9.3) by Neatek
058 "Admin File Reader" (1.11.0.6522) by AlliedModders LLC
059 "Radio Spam Block" (1.0.0) by exvel
060 "test/disfog.smx"
061 "Message" (1) by https://vk.com/programmer92
062 "Basic Votes" (1.11.0.6522) by AlliedModders LLC
063 "QuickDefuse" (0.0.3-fix) by pRED* and www.MyArena.ru
064 "Say Back to Spector" (1.0.0.1) by GoDtm666
065 "Client Preferences" (1.11.0.6522) by AlliedModders LLC
066 "Quake Sounds" (2.7) by dalto, Grrrrrrrrrrrrrrrrrrr, and psychonic
067 "[KDLP] Game Events" (1.0) by KorDen New Style
068 "Advertisements" (0.6.3) by Tsunami, Otstrel.ru Team
069 "Map Nominations" (1.11.0.6522) by AlliedModders LLC
070 "Basic Chat" (1.11.0.6522) by AlliedModders LLC
071 "Rock The Vote" (1.11.0.6522) by AlliedModders LLC
072 "test/g_smoke.smx"
073 "Players Votes" (1.5.0) by The Resident, pZv!
074 "Basic Commands" (1.11.0.6522) by AlliedModders LLC
075 "Basic Info Triggers" (1.11.0.6522) by AlliedModders LLC
076 "Auto Recorder" (1.0.4) by Bristwex
077 "Ignore Grenade Radio" (1.0.0) by GoDtm666 and www.MyArena.ru
078 "Round End Music" (1.1.4) by KOROVKA
079 "[Levels Ranks] Core" (v3.1.2) by RoadSide Romeo & Wend4r
080 "Game Description Override" (1.2) by psychonic
081 "IP Name & Say Block" (2.0) by R1KO
082 "Server Hop" (0.8.1) by [GRAVE] rig0r
083 "Anti-Flood" (1.11.0.6522) by AlliedModders LLC
084 "Nade Effects/Эффект гранат | metod 2" (1.0.3) by Nek.'a 2x2 | ggwp.site
085 "[ACHIEVEMENTS] LVL Reward" (0.0.1) by Pisex
086 "[Achievements][Reborn] Core" (R 1.1) by AlexTheRegent && Pisex
087 "[ACHIEVEMENTS] Shop Reward" (0.0.1) by Pisex
088 "Limited Buy Weapons" (1.0.2) by GoDtm666 (www.MyArena.ru)
089 "ClientMod Deathnotice" (1.1) by Reg1oxeN
090 "Pickup Weapon [Using Use Key]" (1.0) by Reg1oxeN
091 "ClientMod API" (1.6.1) by Reg1oxeN
092 "[ClientMod] Colored Say" (1.2) by Paranoiiik
093 "Weapon Restrict" (3.1.7) by Dr!fter
094 "Admin Menu" (0.8.6-4dc206d) by AlliedModders LLC
095 "Basic Votes" (1.10.0.6545) by AlliedModders LLC
096 "Material Admin" (0.8.6-4dc206d) by Material Admin Dev Team
097 "[MA] Advanced Functionality" (1.1.4) by OkyHp
098 "Material Admin Checker" (0.8.6-4dc206d) by psychonic, Ca$h Munny, Sarabveer(VEER), Bloomstorm
099 "[MA] AntiSliv" (1.14) by authtern
100 "Basic Comm Control" (0.8.6-4dc206d) by AlliedModders LLC
101 "[VIP] HP" (1.1) by R1KO (skype: vova.andrienko1)
102 "[VIP] Spawn Effects" (1.2) by Mr.ToNik
103 "[VIP] Grenades" (1.1) by R1KO
104 "[VIP] Defuser" (1.0.2) by R1KO, T1MOX4, vadrozh
105 "[VIP] Regen Armor" (1.1) by R1KO
106 "[VIP] Regen HP" (1.1) by R1KO
107 "[VIP] PaintBall" (1.0) by FrozDark (HLModders LLC) (rework by SHKIPPERBEAST)
108 "[VIP] No Fall Damage" (1.0.1) by R1KO (skype: vova.andrienko1)
109 "[VIP] Покупка оружия команды" (1.2.3) by Planes
110 "[VIP] Respawn (CS:S/CS:GO)" (1.3) by R1KO
111 "[VIP] Credits Multiplier" (1.1.0) by R1KO, vadrozh
112 "[VIP] Speed" (1.2.0) by R1KO, vadrozh
113 "[VIP] Boost Ladder" (3.0.0) by diller110 & KOROVKA
114 "[VIP] Rainbow Player" (1.0.1) by xstage
115 "[VIP] Dissolve Body" (1.2.2) by KOROVKA, R1KO
116 "[VIP] Money" (1.1) by R1KO (skype: vova.andrienko1)
117 "[VIP] Test" (1.0.4) by R1KO (skype: vova.andrienko1)
118 "[VIP] GrenadeTrails" (1.0.2) by R1KO
119 "[VIP] Vips Online" (1.0.1) by R1KO (skype: vova.andrienko1)
120 "[VIP] Core" (3.0.3 R) by R1KO
121 "[VIP] Auto Silencer [cssv34]" (1.1) by R1KO
122 "[VIP] Noscope Crosshair" (1.5) by SLAYER
123 "[VIP] Bhop" (1.0.2) by KOROVKA
124 "[VIP] Client Spawn Hook Fix" (1.0.1) by CrazyHackGUT aka Kruzya
125 "[CS] Custom Weapons (with inspect)" (2.1.4fix) by FrozDark & Manifest
Список расширений SM
[SM] Displaying 16 extensions:
[01] Equinox Console Cleaner (1.0.5): Bite me alien boi
[02] ProcessCmds (1.3.8): Исправление багов, дополнение к плагинам и проверка на флуд.
[03] SDK Tools (1.11.0.6522): Source SDK Tools
[04] BinTools (1.11.0.6522): Low-level C/C++ Calling API
[05] CS Tools (1.11.0.6522): CS extended functionality
[06] REST in Pawn (1.3.1): Provides HTTP and JSON natives for plugins
[07] Socket (3.0.1): Socket extension for SourceMod
[08] SDK Hooks (1.11.0.6522): Source SDK Hooks
[09] Client Preferences (1.11.0.6522): Saves client preference settings
[10] SQLite (1.11.0.6522): SQLite Driver
[11] Regex (1.11.0.6522): Provides regex natives for plugins
[12] Top Menus (1.11.0.6522): Creates sorted nested menus
[13] cURL Extension (1.3.0.0): cURL Extension
[14] DHooks (2.2.0-detours9): Dynamic Hooks
[15] CS:S DM (2.1.5-pdev): Deathmatch for CS:S
[16] MySQL-DBI (1.11.0.6522): MySQL driver implementation for DBI
Здравствуйте, есть плагин ma_advanced_functionality который работал только на CS: GO (ma_advanced_functionality)
Купил у человека, который переделал его под CSS v34, но при каждом подключении игрока спамит ошибками в логах.
Узнавал у человека у которого приобрёл модуль, сказал у него всё в порядке.

SourceMod Version: 1.11.0.6522

Metamod:Source 1.11.0-dev+1130

Отметил красным цветом строку 193

193 строка:
// Admin status check and send query on database
public void OnClientPostAdminCheck(int iClient)
{
    if(IsFakeClient(iClient))
    {
        return;
    }

    DHookEntity(g_hVoice, true, iClient);
    [COLOR=rgb(209, 72, 65)]g_fVoiceList[iClient] = 0.0;[/COLOR]
    g_iChatState[iClient] = 0;

    for(int i = 0; i < sizeof(g_sAdmData[]); ++i)
    {
        g_sAdmData[iClient][i][0] = 0;
    }

    for (int u = 0; u < WARNS_COUNT; ++u)
    {
        for(int i = 0; i < sizeof(g_sWarns[][]); ++i)
        {
            g_sWarns[iClient][u][i][0] = 0;
        }
    }

    if(!g_hDatabase || !GetUserFlagBits(iClient))
    {
        return;
    }

    int        iUserId = GetClientUserId(iClient);
    char    szQuery[256],
            szAuth[32];
    GetClientAuthId(iClient, AuthId_Steam2, SZF(szAuth), true);

    // Get admin data
    FormatEx(SZF(szQuery), "SELECT `user`, `srv_group`, `immunity`, `expired`, `aid` FROM `%s_admins` \
                            WHERE `authid` REGEXP '^STEAM_[0-1]:%s$' LIMIT 1", g_sDBPrefix, szAuth[8]);
    g_hDatabase.Query(GetAdmData_Callback, szQuery, iUserId);

    // Get warns
    LoadWarnsData(iUserId, szAuth);
}
 
Последнее редактирование:

makson_8601

Участник
Сообщения
196
Реакции
8
А почему тот, у кого купили не исправит вам ее?
Ну как я понимаю, человек просто перепродал мне его...
Т.к когда я ему написал, он просто сказал у меня всё норм, спросил как можно исправить, ответил "хз, у меня на 1.11 все норм, уже год стоит"
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Ну как я понимаю, человек просто перепродал мне его...
Т.к когда я ему написал, он просто сказал у меня всё норм, спросил как можно исправить, ответил "хз, у меня на 1.11 все норм, уже год стоит"
Разницы нет: переделал или его полностью работа. Фактически плагин продал он Вам, который должен работать - пусть и исправляет, это не Ваши проблемы что у него все работает. Работать должно, не у него, а у Вас. Это тоже самое что, написать плагин, взять 5к рублей и сказать: у меня все работает - Я НА ЛОКАЛКЕ ПРОВЕРЯЛ С БОТАМИ!!! А по факту там миллион ошибок как раз из-за этих недотестов.

В таком случае Вы можете вообще сюда весь исходник выложить, раз чел не может решить(или просто не хочет. Зачем ведь деньги у него)
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Исправьте код, которые вы приложили к теме, там не указана явно ошибка
Ну как я понимаю, человек просто перепродал мне его...
Т.к когда я ему написал, он просто сказал у меня всё норм, спросил как можно исправить, ответил "хз, у меня на 1.11 все норм, уже год стоит"
Хоть и видно, что она тут:
C-подобный:
DHookEntity(g_hVoice, true, iClient);
 

makson_8601

Участник
Сообщения
196
Реакции
8
Нужно увидеть весь код, который связан с g_hVoice
C-подобный:
int            g_iWarnsAOpenTime,
            g_iBansCount,
            g_iUnbanType,
            g_iVLCount,
            g_iDelWarns,
            g_iAdmExpires[MAXPLAYERS+1],
            g_iChatState[MAXPLAYERS+1];
float        g_fVoiceList[MAXPLAYERS+1];
char        g_sDBPrefix[12] = "sb",
            g_sAdmData[MAXPLAYERS+1][5][256],
            g_sWarns[MAXPLAYERS+1][WARNS_COUNT][3][256],
            g_sSoundNoAccess[128],
            g_sSoundClose[32] = "buttons/combine_button7.wav";
bool        g_bLateLoad;
Handle        g_hVoice;
Database    g_hDatabase;
TopMenu        g_hAdminMenu;
KeyValues    g_hKeyValues,
            g_hKV_Reason;
C-подобный:
public void OnPluginStart()
{
    int iOffset = GameConfGetOffset(LoadGameConfigFile("voiceannounce_ex.games"), "OnVoiceTransmit");
    if(iOffset == -1)
    {
        //SetFailState("Failed to get offset");
    }

    g_hVoice = DHookCreate(iOffset, HookType_Entity, ReturnType_Int, ThisPointer_CBaseEntity, VoicePost);

    TopMenu hTopMenu = GetAdminTopMenu();
    if(hTopMenu != null)
    {
        OnAdminMenuReady(hTopMenu);
    }

    LoadConfig();

    RegConsoleCmd("sm_admin", Callback_NoAccess);
    RegAdminCmd("sm_af_reload", Callback_ConfReload, ADMFLAG_ROOT);

    LoadTranslations("ma_advanced_functionality.phrases");
    LoadTranslations("materialadmin.phrases");

    if(g_bLateLoad)
    {
        if(!g_hDatabase)
        {
            g_hDatabase = MAGetDatabase();
        }

        for(int i = 1; i <= MaxClients; ++i)
        {
            if (IsClientInGame(i) && !IsFakeClient(i))
            {
                OnClientPostAdminCheck(i);
            }
        }
    }
}
C-подобный:
public void OnClientPostAdminCheck(int iClient)
{
    if(IsFakeClient(iClient))
    {
        return;
    }

    DHookEntity(g_hVoice, true, iClient);
    g_fVoiceList[iClient] = 0.0;
    g_iChatState[iClient] = 0;

    for(int i = 0; i < sizeof(g_sAdmData[]); ++i)
    {
        g_sAdmData[iClient][i][0] = 0;
    }

    for (int u = 0; u < WARNS_COUNT; ++u)
    {
        for(int i = 0; i < sizeof(g_sWarns[][]); ++i)
        {
            g_sWarns[iClient][u][i][0] = 0;
        }
    }

    if(!g_hDatabase || !GetUserFlagBits(iClient))
    {
        return;
    }

    int        iUserId = GetClientUserId(iClient);
    char    szQuery[256],
            szAuth[32];
    GetClientAuthId(iClient, AuthId_Steam2, SZF(szAuth), true);

    // Get admin data
    FormatEx(SZF(szQuery), "SELECT `user`, `srv_group`, `immunity`, `expired`, `aid` FROM `%s_admins` \
                            WHERE `authid` REGEXP '^STEAM_[0-1]:%s$' LIMIT 1", g_sDBPrefix, szAuth[8]);
    g_hDatabase.Query(GetAdmData_Callback, szQuery, iUserId);

    // Get warns
    LoadWarnsData(iUserId, szAuth);
}
 

GoDtm666

Участник
Сообщения
580
Реакции
589
Загрузите актуальную версию геймдаты addons/sourcemod/gamedata/voiceannounce_ex.games.txt для CS:S v34

И еще сделайте в коде:
//SetFailState("Failed to get offset");
Удалите //, ибо Вы не видите ошибку входе выполнения.
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
C-подобный:
int            g_iWarnsAOpenTime,
            g_iBansCount,
            g_iUnbanType,
            g_iVLCount,
            g_iDelWarns,
            g_iAdmExpires[MAXPLAYERS+1],
            g_iChatState[MAXPLAYERS+1];
float        g_fVoiceList[MAXPLAYERS+1];
char        g_sDBPrefix[12] = "sb",
            g_sAdmData[MAXPLAYERS+1][5][256],
            g_sWarns[MAXPLAYERS+1][WARNS_COUNT][3][256],
            g_sSoundNoAccess[128],
            g_sSoundClose[32] = "buttons/combine_button7.wav";
bool        g_bLateLoad;
Handle        g_hVoice;
Database    g_hDatabase;
TopMenu        g_hAdminMenu;
KeyValues    g_hKeyValues,
            g_hKV_Reason;
C-подобный:
public void OnPluginStart()
{
    int iOffset = GameConfGetOffset(LoadGameConfigFile("voiceannounce_ex.games"), "OnVoiceTransmit");
    if(iOffset == -1)
    {
        //SetFailState("Failed to get offset");
    }

    g_hVoice = DHookCreate(iOffset, HookType_Entity, ReturnType_Int, ThisPointer_CBaseEntity, VoicePost);

    TopMenu hTopMenu = GetAdminTopMenu();
    if(hTopMenu != null)
    {
        OnAdminMenuReady(hTopMenu);
    }

    LoadConfig();

    RegConsoleCmd("sm_admin", Callback_NoAccess);
    RegAdminCmd("sm_af_reload", Callback_ConfReload, ADMFLAG_ROOT);

    LoadTranslations("ma_advanced_functionality.phrases");
    LoadTranslations("materialadmin.phrases");

    if(g_bLateLoad)
    {
        if(!g_hDatabase)
        {
            g_hDatabase = MAGetDatabase();
        }

        for(int i = 1; i <= MaxClients; ++i)
        {
            if (IsClientInGame(i) && !IsFakeClient(i))
            {
                OnClientPostAdminCheck(i);
            }
        }
    }
}
C-подобный:
public void OnClientPostAdminCheck(int iClient)
{
    if(IsFakeClient(iClient))
    {
        return;
    }

    DHookEntity(g_hVoice, true, iClient);
    g_fVoiceList[iClient] = 0.0;
    g_iChatState[iClient] = 0;

    for(int i = 0; i < sizeof(g_sAdmData[]); ++i)
    {
        g_sAdmData[iClient][i][0] = 0;
    }

    for (int u = 0; u < WARNS_COUNT; ++u)
    {
        for(int i = 0; i < sizeof(g_sWarns[][]); ++i)
        {
            g_sWarns[iClient][u][i][0] = 0;
        }
    }

    if(!g_hDatabase || !GetUserFlagBits(iClient))
    {
        return;
    }

    int        iUserId = GetClientUserId(iClient);
    char    szQuery[256],
            szAuth[32];
    GetClientAuthId(iClient, AuthId_Steam2, SZF(szAuth), true);

    // Get admin data
    FormatEx(SZF(szQuery), "SELECT `user`, `srv_group`, `immunity`, `expired`, `aid` FROM `%s_admins` \
                            WHERE `authid` REGEXP '^STEAM_[0-1]:%s$' LIMIT 1", g_sDBPrefix, szAuth[8]);
    g_hDatabase.Query(GetAdmData_Callback, szQuery, iUserId);

    // Get warns
    LoadWarnsData(iUserId, szAuth);
}
Я бы на вашем месте лучше исходники отправил
 

makson_8601

Участник
Сообщения
196
Реакции
8
Если будет на самом деле легче, прикреплю исходник
 

Вложения

  • ma_advanced_functionality.sp
    34.9 КБ · Просмотры: 12

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Если будет на самом деле легче, прикреплю исходник
Человек выше, попросил вас отправить геймдату сюда, или поставить актуальную для вашей версии. Также проверьте с раскомментированной строкой, про которую также указали, работспособность плагина
 

makson_8601

Участник
Сообщения
196
Реакции
8
Геймдата которая стоит у меня, должна быть актуальная
 

Вложения

  • voiceannounce_ex.games.txt
    2.5 КБ · Просмотры: 11

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Геймдата которая стоит у меня, должна быть актуальная

C-подобный:
    "csgo"
    {       
        "Offsets"
        {
            "OnVoiceTransmit"
            {
                "windows"    "524"
                "linux"        "525"
                "mac"        "525"
            }
        }
    }
    "left4dead"
    {       
        "Offsets"
        {
            "OnVoiceTransmit"
            {
                "windows"    "461"
                "linux"        "462"
                "mac"        "462"
            }
        }
    }
    "left4dead2"
    {       
        "Offsets"
        {
            "OnVoiceTransmit"
            {
                "windows"    "485"
                "linux"        "486"
                "mac"        "486"
            }
        }
    }
    "insurgency"
    {       
        "Offsets"
        {
            "OnVoiceTransmit"
            {
                "windows"    "505"
                "linux"        "506"
                "mac"        "506"
            }
        }
    }
Что-то я не вижу актуальной)
 

makson_8601

Участник
Сообщения
196
Реакции
8
C-подобный:
    "csgo"
    {      
        "Offsets"
        {
            "OnVoiceTransmit"
            {
                "windows"    "524"
                "linux"        "525"
                "mac"        "525"
            }
        }
    }
    "left4dead"
    {      
        "Offsets"
        {
            "OnVoiceTransmit"
            {
                "windows"    "461"
                "linux"        "462"
                "mac"        "462"
            }
        }
    }
    "left4dead2"
    {      
        "Offsets"
        {
            "OnVoiceTransmit"
            {
                "windows"    "485"
                "linux"        "486"
                "mac"        "486"
            }
        }
    }
    "insurgency"
    {      
        "Offsets"
        {
            "OnVoiceTransmit"
            {
                "windows"    "505"
                "linux"        "506"
                "mac"        "506"
            }
        }
    }
Что-то я не вижу актуальной)
Брал её с обсуждения самого плагина, написали что актуальная
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@makson_8601, там нет CS:S.

И да, хук голоса в SM1.11 добавлен и поэтому расширение voiceannounce_ex начиная с этой версии не нужно (правда как оно работает на v34 я без понятия) и его геймдата с dhooks - тоже.
Но плагин придётся переписать, насколько я понимаю.
sdktools_voice.inc:
/**
 * Called when a client is speaking.
 *
 * @param client        The client index
 */
forward void OnClientSpeaking(int client);

/**
 * Called once a client speaking end.
 *
 * @param client        The client index
 */
forward void OnClientSpeakingEnd(int client);
voiceannounce_ex.inc:
/**
 *
 * Checks whether a client is speaking or not.
 *
 * @param client     The client index to check against.
 *
 * @error             Client is not valid, ingame, or client is a bot.
 *
 * @return             True if client is speaking, false otherwise.
 *
 */

native bool IsClientSpeaking(int client);

/**
 *
 * Called while a client is speaking.
 *
 *    @param client    Client index.
 *
 * @noreturn
 *
 */

forward void OnClientSpeakingEx(int client);

/**
 *
 * Called when a client ends speaking.
 *
 * @param client    Client index.
 *
 * @noreturn
 *
 */
forward void OnClientSpeakingEnd(int client);
 
Сверху Снизу