Как реализовать мут и гаг на CounterStrikeSharp

X X X

Участник
Сообщения
31
Реакции
3
Здравия желаю, есть ли идеи как можно реализовать мут и гаг игроков на CounterStrikeSharp?
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Здравия желаю, есть ли идеи как можно реализовать мут и гаг игроков на CounterStrikeSharp?
Если не реализовано - обычными способами никак. Если есть хоть какой-то плагин у них в дс канале - возьмите оттуда пример.
Под необычными способами подразумевается - работа с sdk непосредственно и реверс, для доступа к нужным функциям
 

Морковка

Котлетка ^^
Сообщения
878
Реакции
472
Здравия желаю, есть ли идеи как можно реализовать мут и гаг игроков на CounterStrikeSharp?
Несколько плагинов Уже видел с реализацией
Попробуйте в дискорде полистать плагины в канале ксс
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Несколько плагинов Уже видел с реализацией
Попробуйте в дискорде полистать плагины в канале ксс
Я насколько помню, там не реализация, а только предсказание на будущее. Ибо самих функций мута и Гага там попросту нет, но все для задела на будущее там уже стоит. Возможно, сейчас это уже не актуально
 

idk1703

Участник
Сообщения
48
Реакции
30
Возможно как-то так:
mute
C#:
var IsHearingClient = new MemoryFunctionVoid<IntPtr, int>(@"\x55\x48\x89\xE5\x41\x55\x41\x54\x53\x48\x89\xFB\x48\x83\xEC\x08\x3B\xB7\xC8", "engine");
IsHearingClient.Hook(h =>
{
    int index = h.GetParam<int>(1);
    if(ismuted(index))
    {
        h.SetReturn(false);
        return HookResult.Changed; // idk this needs or no
    }

    return HookResult.Continue;
}, HookMode.Pre);
gag
C#:
AddCommandListener("say", OnSayCmd);
AddCommandListener("say_team", OnSayCmd);

HookResult OnSayCmd(CCSPlayerController? player, CommandInfo info)
{
    if(player.HaveGag) return HookResult.Handled; // or stop
   
    return HookResult.Continue;
}
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Возможно как-то так:
mute
C#:
var IsHearingClient = new MemoryFunctionVoid<IntPtr, int>(@"\x55\x48\x89\xE5\x41\x55\x41\x54\x53\x48\x89\xFB\x48\x83\xEC\x08\x3B\xB7\xC8", "engine");
IsHearingClient.Hook(h =>
{
    int index = h.GetParam<int>(1);
    if(ismuted(index))
    {
        h.SetReturn(false);
        return HookResult.Changed; // idk this needs or no
    }

    return HookResult.Continue;
}, HookMode.Pre);
gag
C#:
AddCommandListener("say", OnSayCmd);
AddCommandListener("say_team", OnSayCmd);

HookResult OnSayCmd(CCSPlayerController? player, CommandInfo info)
{
    if(player.HaveGag) return HookResult.Handled; // or stop
   
    return HookResult.Continue;
}
Так хендлить события нельзя, это вам не sp. Там по моему работает нормально стоп для этого, но он работает на следующие сообщения после его использования
 
Последнее редактирование:

xstage

🏹
Сообщения
726
Реакции
754
Так хендлить события нельзя, это вам не sp. Там по моему работает нормально стоп для этого, но он работает на следующие сообщения после его использования и измените свои примеры, а то у вас там не пойми что, половина на sp, половина c#
Можно почему нет.
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837

X X X

Участник
Сообщения
31
Реакции
3
Возможно как-то так:
mute
C#:
var IsHearingClient = new MemoryFunctionVoid<IntPtr, int>(@"\x55\x48\x89\xE5\x41\x55\x41\x54\x53\x48\x89\xFB\x48\x83\xEC\x08\x3B\xB7\xC8", "engine");
IsHearingClient.Hook(h =>
{
    int index = h.GetParam<int>(1);
    if(ismuted(index))
    {
        h.SetReturn(false);
        return HookResult.Changed; // idk this needs or no
    }

    return HookResult.Continue;
}, HookMode.Pre);
В итоге я пришёл к этому, но при подключении на сервер в консоль выводится "Talk" и сервер крашится. Вообще хз чё с этим делать...
C-подобный:
public override void Load(bool hotReload)
    {
        var isHearing = new MemoryFunctionVoid<IntPtr, int>(@"\x40\x53\x48\x83\xEC\x20\x48\x8B\xD9\x3B\x91\xB8", Addresses.EnginePath);
        isHearing.Hook(h =>
        {
            Console.WriteLine("Talk");
            return HookResult.Continue;
        }, HookMode.Pre);
    }
 

on3sk

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

xek

Рыба клоун
Сообщения
1,652
Реакции
636
Интересная задумка меню тут сделана, чтобы не искать id и тд
 

X X X

Участник
Сообщения
31
Реакции
3
Да только что проснулся, увидел в changelog, такой кайф
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Можно отлавливать подбор оружия вроде как спокойно через IOSystem
Я знаю что можно отлавливать, но костылить не кайфы, когда казалось бы есть адекватный, всем знакомый вариант
 
Сверху Снизу