Происходит ошибка при компиляции файла с тегами для админов, випов в табе.

F1reFox8

Участник
Сообщения
84
Реакции
0
44026
44027

Что делать? Хотел изменить теги всего лишь.
После компиляции нет файла .smx в папке compiled и + пишет в консоле 8 Errors (на скриншоте)
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,921
  • Команда форума
  • #2
Приложите исходник.
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
В чем кайф использовать декомпильнутую версию плагина, на более старой версии (1.6..) SM по идее скомпилится.
Но лучше исходник бы сюда)
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,921
  • Команда форума
  • #4
На старой тоже собираться не будет.
Компилятор все еще работает в нестрогом режиме по умолчанию. Он как новый синтаксис переваривает, так и старый.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,921
  • Команда форума
  • #6
Привёл в компилируемый вид. Таки @Саша Шеин был отчасти прав касательно компиляции на версии компилятора ниже. Но только отчасти.
 

Вложения

  • AdminTag_v2_English.sp
    1,013 байт · Просмотры: 6

Grey83

не пишу плагины с весны 2022
Сообщения
8,558
Реакции
5,056
Почему ты просто не заюзаешь этот плагин: [ANY] HexTags [Tags/Chat Colors & Score Tags][08/12/18] - AlliedModders ?

Вот попробуй такую версию:
C++:
#pragma semicolon 1
#pragma newdecls required

#include <cstrike>

static const int FLAG[] =
{
    ADMFLAG_ROOT,
    ADMFLAG_CUSTOM6,
    ADMFLAG_GENERIC,
    ADMFLAG_RESERVATION
};

static const char TAG[][] =
{
    "[Гл.админ]",
    "[Aдмин]",
    "[Aдмин]",
    "[VIP]"
};

public Plugin myinfo =
{
    name    = "Simple AdminTag",
    version    = "1.0.0",
    author    = "Grey83",
    url        = "https://steamcommunity.com/groups/grey83ds"
};

public void OnPluginStart()
{
    HookEvent("player_team", Event_Player);
    HookEvent("player_spawn", Event_Player);
    HookEvent("player_connect", Event_Player);
    HookEvent("round_start", Event_Round, EventHookMode_PostNoCopy);
}

public void Event_Player(Event event, const char[] name, bool dontBroadcast)
{
    RequestFrame(RequestFrame_Callback, event.GetInt("userid"));
}

public void RequestFrame_Callback(any client)
{
    if((client = GetClientOfUserId(client))) SetTag(client);
}

public void Event_Round(Event event, const char[] name, bool dontBroadcast)
{
    for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i)) SetTag(i);
}

stock void SetTag(int client)
{
    if(IsFakeClient(client)) return;

    static int i, num, flags;
    if(!num) num = sizeof(FLAG);
    for(i = 0, flags = GetUserFlagBits(client); i < num; i++) if(flags & FLAG[i])
    {
        CS_SetClientClanTag(client, TAG[i]);
        break;
    }
}
Сообщения автоматически склеены:

и что самое удобное: можно добавить любые теги для любого флага, главное расставить их по приоритету
 

Вложения

  • Simple AdminTag.sp
    1.3 КБ · Просмотры: 3

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
Таки @Саша Шеин был отчасти прав касательно компиляции на версии компилятора ниже. Но только отчасти.
Если использовать SM 1.6.2, то компилируется даже без варнингов. Странно кстати, что люди еще пытаются юзать такой древний плагин, ведь есть более удобные в использовании:
 
Сверху Снизу