Помощь в редактировании плагина AdminTag

DexKekcuk #13

Участник
Сообщения
628
Реакции
69
Уважаемые форумчане, доброго всем времени суток!

Использую плагин AdminTag, но столкнулся с такой проблемой, что при входе на сервер игроку выставляется нужный Clan Tag с его группой, а позже если игрок зайдет в настройки и сменит Clan Tag то группа исчезает и появляется тот Clan Tag который он выставляет в настройках. Можно ли сделать так, чтоб блокировалась смена Clan Tag, то есть даже если игрок, админ или вип поменял Clan Tag, то у него останется выставленная группа с данного плагина!

PHP:
#include <sourcemod>  
#include <cstrike> 

public Plugin:myinfo = 
{ 
    name = "AdminClanTag", 
    author = "KeepCalm", 
    description = "Output instead of the clan tag, the tag owner, administrator and VIP persons server.", 
    url = "http://www.sourcemod.net/" 
}; 

public OnPluginStart()  
{   
    HookEvent("player_team", Event);  
    HookEvent("player_spawn", Event);  
}  

public Action:Event(Handle:event, String:name[], bool:dontBroadcast)  
{  
    new client = GetClientOfUserId(GetEventInt(event, "userid"));  
    HandleTag(client);  
}  

public OnClientPostAdminCheck(client)  
{  
    HandleTag(client); 
}  

HandleTag(client)  
{  
  if (client > 0)  
  {  
    if (GetUserFlagBits(client) & ADMFLAG_ROOT)  
    {  
        CS_SetClientClanTag(client, "[OWNER]"); 
    } 
    else 
        if (GetUserFlagBits(client) & ADMFLAG_GENERIC)  
        {  
            CS_SetClientClanTag(client, "[ADMIN]"); 
        } 
        else 
            if (GetUserFlagBits(client) & ADMFLAG_RESERVATION)  
                {  
                    CS_SetClientClanTag(client, "[VIP]"); 
                }   
                else 
                    {  
                        CS_SetClientClanTag(client, "[PLAYER]");  
                    }  
  } 
}
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • #2
На сколько мне известно ты не заблокируешь у клиента смену клан-тега. А в API Sourcemod'a есть только нативы:
PHP:
/**
 * Gets a clients clan tag
 * @param client		Client index to get clan tag for.
 * @param buffer		Buffer to store clients clan tag in.
 * @param size			Size of the buffer.
 * @return				Number of non-null bytes written.
 *
 * @error				Invalid client.
 */
native CS_GetClientClanTag(client, String:buffer[], size);

/**
 * Sets a clients clan tag
 * @param client		Client index to set clan tag for.
 * @param tag			Tag to set clients clan tag as.
 * @noreturn
 *
 * @error				Invalid client.
 */
native CS_SetClientClanTag(client, const String:tag[]);
 

SenatoR

Участник
Сообщения
773
Реакции
344
сделай просто проверку через таймер и если тег не тот, который тебе надо, то ставь другой
 

DexKekcuk #13

Участник
Сообщения
628
Реакции
69
Если бы я еще знал как этой делать, но толк это делать если после каждой смены карты будет выставлять данный Tag

Добавлено через 6 минут
Вот сейчас был на каком-то сервере Energy-Games

"Clan tag menu" (1.0) by wS / Schmidt [Modif. by nynCuKaH]

Стоит такой плагин, но я так понимаю он просто выставляет у них Clan tag Energy-Games и группы Admin Vip Owned players не пишет, плагин значит предназначен для другого. Но суть в том что идет блокировка Смены Clan Tag
 
Последнее редактирование:

semjef

semjef.ru
Сообщения
993
Реакции
444
Alex Tarasenko, смену тега хз как блокнуть, но можно просто каждые 10 секунд заново выставлять нужный тэг.

Добавлено через 57 секунд
SenatoR, зачем проверять? быстрее работать будет, если выставлять нужный. Просто при заходе пишем нужный тэг для игрока в массив.
 
Последнее редактирование:

Стасян Фетисов

Участник
Сообщения
111
Реакции
14
в компиляторе ошибка..ребят помогите скомпилировать...
{
HookEvent("player_team", Event);
HookEvent("player_spawn", Event);
}

public Action:Event(Handle:event, String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
HandleTag(client);
}

public OnClientPostAdminCheck(client)
{
HandleTag(client);
}

HandleTag(client)
{
if (client > 0)
{
if (GetUserFlagBits(client) & ADMFLAG_ROOT)
{
CS_SetClientClanTag(client, "[ADMIN]");
}
else
if (GetUserFlagBits(client) & ADMFLAG_GENERIC)
{
CS_SetClientClanTag(client, "[ADMIN]");
}
else
if (GetUserFlagBits(client) & ADMFLAG_RESERVATION)
{
CS_SetClientClanTag(client, "[VIP]");
}
else
{
CS_SetClientClanTag(client, "");
}
}
}
 
Сверху Снизу