[CS:GO] hide players and arms

🟡differend🟢

Что хочу - то и делаю
Сообщения
975
Реакции
661
ТЗ:
Требуется написать плагин которые будет скрывать игроков и модели рук.
Как это должно работать:
На сервер заходит игрок и ему нужно скрыть союзников, он пишет команду: !hide и у нас появляется меню, в нем можно будет сделать:
1. Скрыть союзников (статус: включено/выключено). Если игрок скрыл союзников, то он их не видит и не слышит (шаги игроков)
2. Скрыть модели рук (статус: включено/выключено). Если что оружие в руках мы также можем держать (демонстрация на видео - Desktop 26-05-2022 18-55-32.avi).

Время выполнения: до 29 числа (включительно)
Цена за проделанную работу: от 700 рублей.

Контакты:
vk.com/differend
Discord: differend#6128

Исполнитель найден: @xtance
 
Последнее редактирование:

Madness aka null138

Участник
Сообщения
713
Реакции
734
не проверял.
подключите меню за пару минут и все готово.

C++:
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>

#pragma newdecls required

bool bHideTeammates[MAXPLAYERS + 1], bHideViewModels[MAXPLAYERS + 1];

public void OnPluginStart()
{
    RegConsoleCmd("sm_hideteammates", cmdHideTeamMates);
    RegConsoleCmd("sm_hideviewmodel", cmdHideViewModel);
}

public Action cmdHideTeamMates(int client, int args)
{
    if(bHideTeammates[client])
    {
        bHideTeammates[client] = false;
    }
    else
    {
        bHideTeammates[client] = true;
    }
}

public Action cmdHideViewModel(int client, int args)
{
    if(bHideViewModels[client])
    {
        bHideViewModels[client] = false;
        SetEntProp(client, Prop_Send, "m_bDrawViewModel", 1);
    }
    else
    {
        bHideViewModels[client] = true;
    }
}

public void OnClientPutInServer(int client)
{
    bHideTeammates[client] = false;
    bHideViewModels[client] = false;
    SDKHook(client, SDKHook_SetTransmit, SetTransmit);
    SDKHook(client, SDKHook_PostThinkPost, OnPostThink);
}

public Action SetTransmit(int entity, int client)
{
    if(bHideTeammates[client] && GetClientTeam(entity) == GetClientTeam(client) && IsPlayerAlive(client))
    {
        return Plugin_Handled;
    }
    return Plugin_Continue;
}

public void OnPostThink(int client)
{
    if(bHideViewModels[client])
    {
        if(GetEntProp(client, Prop_Send, "m_bDrawViewModel") != 0)
            SetEntProp(client, Prop_Send, "m_bDrawViewModel", 0);
    }
}
 

xyligan

Паркетный пол трещит под моей крышкой черепной
Сообщения
900
Реакции
432
ТЗ:
Требуется написать плагин которые будет скрывать игроков и модели рук.
Как это должно работать:
На сервер заходит игрок и ему нужно скрыть союзников, он пишет команду: !hide и у нас появляется меню, в нем можно будет сделать:
1. Скрыть союзников (статус: включено/выключено). Если игрок скрыл союзников, то он их не видит и не слышит (шаги игроков)
2. Скрыть модели рук (статус: включено/выключено). Если что оружие в руках мы также можем держать (демонстрация на видео - Desktop 26-05-2022 18-55-32.avi).

Время выполнения: до 29 числа (включительно)
Цена за проделанную работу: от 700 рублей.

Контакты:
vk.com/differend
Discord: differend#6128
Есть плагин для скрытия игроков с прикрученной БД. Если нужно, пиши. Писал под CS:S, на ксго думаю будет работать.
 

🟡differend🟢

Что хочу - то и делаю
Сообщения
975
Реакции
661
не проверял.
подключите меню за пару минут и все готово.

C++:
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>

#pragma newdecls required

bool bHideTeammates[MAXPLAYERS + 1], bHideViewModels[MAXPLAYERS + 1];

public void OnPluginStart()
{
    RegConsoleCmd("sm_hideteammates", cmdHideTeamMates);
    RegConsoleCmd("sm_hideviewmodel", cmdHideViewModel);
}

public Action cmdHideTeamMates(int client, int args)
{
    if(bHideTeammates[client])
    {
        bHideTeammates[client] = false;
    }
    else
    {
        bHideTeammates[client] = true;
    }
}

public Action cmdHideViewModel(int client, int args)
{
    if(bHideViewModels[client])
    {
        bHideViewModels[client] = false;
        SetEntProp(client, Prop_Send, "m_bDrawViewModel", 1);
    }
    else
    {
        bHideViewModels[client] = true;
    }
}

public void OnClientPutInServer(int client)
{
    bHideTeammates[client] = false;
    bHideViewModels[client] = false;
    SDKHook(client, SDKHook_SetTransmit, SetTransmit);
    SDKHook(client, SDKHook_PostThinkPost, OnPostThink);
}

public Action SetTransmit(int entity, int client)
{
    if(bHideTeammates[client] && GetClientTeam(entity) == GetClientTeam(client) && IsPlayerAlive(client))
    {
        return Plugin_Handled;
    }
    return Plugin_Continue;
}

public void OnPostThink(int client)
{
    if(bHideViewModels[client])
    {
        if(GetEntProp(client, Prop_Send, "m_bDrawViewModel") != 0)
            SetEntProp(client, Prop_Send, "m_bDrawViewModel", 0);
    }
}
Неа, ничего не работает).
Есть плагин для скрытия игроков с прикрученной БД. Если нужно, пиши. Писал под CS:S, на ксго думаю будет работать.
Можешь дать полное описание плагина?
 

xyligan

Паркетный пол трещит под моей крышкой черепной
Сообщения
900
Реакции
432
Можешь дать полное описание плагина?
В плагине имеется прикрученная БД, которая позволяет хранить скрытых администратором сервера (с флагом root) и скрывать их даже после перезахода или рестарта сервера. Игрок скрывается именно полностью: в наблюдателях и в любой из команд, но не в "Информация о сервере". Имеется функция скрытия ботов. Команды !hide, которая требуется нет, всё проделывается только администратором сервера. Есть видеодемонстрация, если интересует, пиши.
 

🟡differend🟢

Что хочу - то и делаю
Сообщения
975
Реакции
661
В плагине имеется прикрученная БД, которая позволяет хранить скрытых администратором сервера (с флагом root) и скрывать их даже после перезахода или рестарта сервера. Игрок скрывается именно полностью: в наблюдателях и в любой из команд, но не в "Информация о сервере". Имеется функция скрытия ботов. Команды !hide, которая требуется нет, всё проделывается только администратором сервера. Есть видеодемонстрация, если интересует, пиши.
Не, мне вообще другое нужно.
 

Madness aka null138

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

🟡differend🟢

Что хочу - то и делаю
Сообщения
975
Реакции
661
не стоит плагин через команду включить. поменяй карту и попробуй прописать команды плагина: sm_hideteammates, sm_hideviewmodel
Неа, ничего не работает, а команда sm_hideviewmodel вообще не существует (если верить консоли).
 

Похожие темы

Сверху Снизу