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

Hide Admin Spec 0.4

Nekro

Терра инкогнита
Сообщения
4,026
Реакции
2,260
@ravskiy1, Не находите сходства?
1. [CSGO] Запрет TAB'а
2. [CSGO] Запрет TAB'а

Вот так вроде получше, а то какая то смесь старого и нового синтаксиса

C++:
#include <sdkhooks>
#include <sdktools_functions>

#define PROJECT_FULLNAME    "Hide Admin Spec"

public Plugin myinfo = { name = PROJECT_FULLNAME, author = "Ravskiy1 [t.me/ravskiy1]", version = "0.2", };

public void OnMapStart()
{
    int iEnt = -1;
    iEnt = FindEntityByClassname(iEnt, "cs_player_manager");
    if (iEnt != INVALID_ENT_REFERENCE) {
        SDKHook(iEnt, SDKHook_ThinkPost, OnResourceThink);
    }
}

public void OnResourceThink(int entity)
{
    int m_bConnected;

    if (!m_bConnected)
    {
        m_bConnected = FindSendPropInfo("CCSPlayerResource", "m_bConnected");
    }
    
    for(int i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && !IsFakeClient(i) && IsClientObserver(i) && GetUserFlagBits(i) & ADMFLAG_BAN && GetClientTeam(i) == 1)
        {
            SetEntData(entity, m_bConnected + (i * 4), false, true, true);
        }
    }
}
 

ravskiy1

Участник
Сообщения
190
Реакции
75
  • Автор ресурса
  • #6
@ravskiy1, Не находите сходства?
1. [CSGO] Запрет TAB'а
2. [CSGO] Запрет TAB'а

Вот так вроде получше, а то какая то смесь старого и нового синтаксиса

C++:
#include <sdkhooks>
#include <sdktools_functions>

#define PROJECT_FULLNAME    "Hide Admin Spec"

public Plugin myinfo = { name = PROJECT_FULLNAME, author = "Ravskiy1 [t.me/ravskiy1]", version = "0.2", };

public void OnMapStart()
{
    int iEnt = -1;
    iEnt = FindEntityByClassname(iEnt, "cs_player_manager");
    if (iEnt != INVALID_ENT_REFERENCE) {
        SDKHook(iEnt, SDKHook_ThinkPost, OnResourceThink);
    }
}

public void OnResourceThink(int entity)
{
    int m_bConnected;

    if (!m_bConnected)
    {
        m_bConnected = FindSendPropInfo("CCSPlayerResource", "m_bConnected");
    }
   
    for(int i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && !IsFakeClient(i) && IsClientObserver(i) && GetUserFlagBits(i) & ADMFLAG_BAN && GetClientTeam(i) == 1)
        {
            SetEntData(entity, m_bConnected + (i * 4), false, true, true);
        }
    }
}
Возможно сходство есть плагин делался очень давно и синтаксис действительно смешанный.

Исправил в обновлении.
 

KiKiEEKi

🏆 🥇
Сообщения
653
Реакции
513
Зачем создавать дефы, лишние проверки?
Такой код не лучше?

C++:
#include <sdkhooks>
#include <sdktools_functions>

public Plugin myinfo = { name = "Hide Admin Spec", author = "Ravskiy1 [t.me/ravskiy1]", version = "0.2a", };

int m_bConnected;

public void OnMapStart()
{
    int iEnt = FindEntityByClassname(-1, "cs_player_manager");
    m_bConnected = FindSendPropInfo("CCSPlayerResource", "m_bConnected");
    if (iEnt >= 0) SDKHook(iEnt, SDKHook_ThinkPost, OnResourceThink);
}

void OnResourceThink(int entity)
{
    for(int i = 1; i <= MaxClients; ++i)
        if (IsClientInGame(i) && !IsFakeClient(i) && GetUserFlagBits(i) & ADMFLAG_BAN && GetClientTeam(i) < 2)
            SetEntData(entity, m_bConnected + (i * 4), false, true, true);
}
 

ravskiy1

Участник
Сообщения
190
Реакции
75
  • Автор ресурса
  • #9
Зачем создавать дефы, лишние проверки?
Такой код не лучше?

C++:
#include <sdkhooks>
#include <sdktools_functions>

public Plugin myinfo = { name = "Hide Admin Spec", author = "Ravskiy1 [t.me/ravskiy1]", version = "0.2a", };

int m_bConnected;

public void OnMapStart()
{
    int iEnt = FindEntityByClassname(-1, "cs_player_manager");
    m_bConnected = FindSendPropInfo("CCSPlayerResource", "m_bConnected");
    if (iEnt >= 0) SDKHook(iEnt, SDKHook_ThinkPost, OnResourceThink);
}

void OnResourceThink(int entity)
{
    for(int i = 1; i <= MaxClients; ++i)
        if (IsClientInGame(i) && !IsFakeClient(i) && GetUserFlagBits(i) & ADMFLAG_BAN && GetClientTeam(i) < 2)
            SetEntData(entity, m_bConnected + (i * 4), false, true, true);
}
Дефы убрал в прошлом обновлении.
Спасибо за оптимизацию кода.
 
Сверху Снизу