Если не реализовано - обычными способами никак. Если есть хоть какой-то плагин у них в дс канале - возьмите оттуда пример.Здравия желаю, есть ли идеи как можно реализовать мут и гаг игроков на CounterStrikeSharp?
Несколько плагинов Уже видел с реализациейЗдравия желаю, есть ли идеи как можно реализовать мут и гаг игроков на CounterStrikeSharp?
Я насколько помню, там не реализация, а только предсказание на будущее. Ибо самих функций мута и Гага там попросту нет, но все для задела на будущее там уже стоит. Возможно, сейчас это уже не актуальноНесколько плагинов Уже видел с реализацией
Попробуйте в дискорде полистать плагины в канале ксс
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);
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. Там по моему работает нормально стоп для этого, но он работает на следующие сообщения после его использованияВозможно как-то так:
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);
![]()
CS2Fixes/gamedata/cs2fixes.games.txt at main · Source2ZE/CS2Fixes
A Metamod plugin with fixes and features aimed but not limited to zombie escape - Source2ZE/CS2Fixesgithub.comgag![]()
CS2Fixes/src/detours.cpp at main · Source2ZE/CS2Fixes
A Metamod plugin with fixes and features aimed but not limited to zombie escape - Source2ZE/CS2Fixesgithub.com
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. Там по моему работает нормально стоп для этого, но он работает на следующие сообщения после его использования и измените свои примеры, а то у вас там не пойми что, половина на sp, половина c#
Видимо мои знания неактуальны более, но в ранних версиях так и былоМожно почему нет.
![]()
CS2-CallAdmin/CallAdmin.cs at b5d41c26ea17bc0589483aae17f51fd910f9dec4 · 1Mack/CS2-CallAdmin
Full Report system with database support. Contribute to 1Mack/CS2-CallAdmin development by creating an account on GitHub.github.com
В итоге я пришёл к этому, но при подключении на сервер в консоль выводится "Talk" и сервер крашится. Вообще хз чё с этим делать...Возможно как-то так:
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);
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);
}
Да только что проснулся, увидел в changelog, такой кайф![]()
Add voice manager (ability to override voice chat / mute players) by Poggicek · Pull Request #179 · roflmuffin/CounterStrikeSharp
This PR implements a basic voice manager that exposes the ability to override the voice chat and specify who can hear who. Waiting for alliedmodders/hl2sdk#182 to be accepted Examples Voice Flags [...github.com
А почему тогда нельзя хендлить покупку или подбор оружием через хендл?Можно почему нет.
![]()
CS2-CallAdmin/CallAdmin.cs at b5d41c26ea17bc0589483aae17f51fd910f9dec4 · 1Mack/CS2-CallAdmin
Full Report system with database support. Contribute to 1Mack/CS2-CallAdmin development by creating an account on GitHub.github.com
Можно отлавливать подбор оружия вроде как спокойно через IOSystemА почему тогда нельзя хендлить покупку или подбор оружием через хендл?
Я знаю что можно отлавливать, но костылить не кайфы, когда казалось бы есть адекватный, всем знакомый вариантМожно отлавливать подбор оружия вроде как спокойно через IOSystem