Поиск Плюшки за ТЕГ

Сообщения
511
Реакции
111
Помог
16 раз(а)
Собственно ищу плагин,года 3 назад оО видел такой. Что если у игрока прописан перед ником определенный тэег ему выдается например броня или граната.
Вроде радиус писал такои,но найти уже немогу,даже не помню названия.
 
Сообщения
317
Реакции
131
Помог
4 раз(а)
В csbans есть такое "b - Тег клана", хз как работает
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
r1nk0, обычная випка по клан-тэгу, а дальше уже сами бунусы за флагы
 
Сообщения
511
Реакции
111
Помог
16 раз(а)
fantom, не совсем понял,нужно проверку в плагине допустим автовыдачи брони и тп,переписать проверку на тег клана?
но ведь игрок должен быть добавлен в базу админов чтоб получить флаг доступа b типа как это реализовать?
 
Сообщения
25
Реакции
41
Помог
1 раз(а)
fantom, не совсем понял,нужно проверку в плагине допустим автовыдачи брони и тп,переписать проверку на тег клана?
но ведь игрок должен быть добавлен в базу админов чтоб получить флаг доступа b типа как это реализовать?
users.ini
Код:
"[DEV-CS]" "" "a" "b"
a - твой флаг. Наверное так.
Если не пустит на сервер, то возможно нужно "be" поставить.

А в самом csbans по моему не предусмотрена выдача по клан-тегу, для этого наверное в БД надо лезть и там менять.
 
Сообщения
511
Реакции
111
Помог
16 раз(а)
Rias, да наверно не правильно поняли меня,кс банс и прочее не причему тут должно,в плагине было что он просто проверяет ник на наличие например тега Команда1 если есть то выдает например броню и тп. Мне не нужно что бы без клантега не пускало на сервер :D
 
Сообщения
25
Реакции
41
Помог
1 раз(а)
Rias, да наверно не правильно поняли меня,кс банс и прочее не причему тут должно,в плагине было что он просто проверяет ник на наличие например тега Команда1 если есть то выдает например броню и тп. Мне не нужно что бы без клантега не пускало на сервер :D
Я попытался показать как выдавать флаг за тег на основе которого ты можешь выдавать какие-то плюшки. А на счет пускать не пускать - я просто не пробовал "b" флаг авторизации, по этому и не знаю требует он пароль или нет.
 
Сообщения
511
Реакции
111
Помог
16 раз(а)
Все сделал,работает но криво. Если игрок поставил тэг,флаг ему выдается и это видно в консоли,не работает пока не будут перезагружены админы через amx_reloadadmins или не сменить ник туда обратно,например r1nk0 -> "[DEV-CS] r1nk0" тогда флаг начинает работать и все что к нему прикручено. Тоесть чтоб работало каждую карту нужно постоянно менять ник.
Стоит admin_loader_3.5
После реконнекта флаг так же спадает :'(

ну а если использовать обычный admin.amxx то все работает как надо

alabamaster1337,

мне в cs bans пишет такое

17066

типа там нет выбора по клан тегу,есть все кроме клан тега,

Вообщем я как понял это проблема лоадера,потому что дефолтныи admin.amx грузит из users.ini
 
Последнее редактирование:
Сообщения
511
Реакции
111
Помог
16 раз(а)
Все сделал,работает но криво. Если игрок поставил тэг,флаг ему выдается и это видно в консоли,не работает пока не будут перезагружены админы через amx_reloadadmins
Стоит admin_loader_3.5
После реконнекта флаг так же спадает :'(
@Rias,To_be_or_not_to_be,

да я вроде решил траблу,нужно ставить кроме флага b по тегу еще и k типа проверять правильно ли написан тег
а нет не работает :D хз вообщем очень странно,почему после смерти или реконекта он не проверяет тег и прочее и уже права не выдает
 
Сообщения
1,304
Реакции
2,303
Помог
57 раз(а)
r1nk0, Лоадер неугомоновский? Если так, то там нет поддержки тега. Только name/steamid/ip. Можно допилить, но тут вопрос, позволяет ли веб-морда вносить учётки по тегу. Я сильно сомневаюсь. Так что тут проще свою реализацию написать.
 
Сообщения
511
Реакции
111
Помог
16 раз(а)
BlackSignature, Неугомоновский....Вебморда не позволяет но в базе то можно вставить флаг авторизации - b
Я пытался сделать типа на основе другого плагина

Код:
#include <amxmodx>
#include <reapi>
//#include <csstatsx_sql>

/* SETTINGS */
#define IGNORE_FLAGS "m"   
    // Игнорируемые флаги
    // Закомментировать, если не нужно игнорируемые флаги
    
#define TIME 1.0             
    // Каждые n секунды проверить статистику игрока
    
#define    MAX_AWARDS 254       
    // Максимальная кол-во наград

/* DICTIONARY */
#define    TOP_CHAT_MESSAGE    "^1[^4Сервер^1] Вы поднялись на^3 %d ^1место. Бонусные флаги: ^4%s"
    // Закомментировать, если не нужно сообщение при поднятие место
    
#define NO_TOP_CHAT_MESSAGE "^1[^4Сервер^1] Вы занимаете^3 %d ^1место"
    // Закомментировать, если не нужно сообщение при понижение место

/* Do not touch arrays */
new bool:GiveAward[MAX_PLAYERS+1];
enum _:DATA { FLAGS[32] };
new g_arrAwardData[MAX_AWARDS][DATA], g_iDataSize = 1;

public plugin_init()
{
    register_plugin("top_awards", "0.1", "xxx")
    RegisterHookChain(RG_CBasePlayer_Spawn, "client_player_spawn", true);
}

public plugin_cfg()
{
    new szPath[PLATFORM_MAX_PATH];
    get_localinfo("amxx_configsdir", szPath, charsmax(szPath));
    add(szPath, charsmax(szPath), "/top_awards.ini");

    new iFile = fopen(szPath, "rt");
    if(!iFile)
    {
        new szError[96];
        formatex(szError, charsmax(szError), "File '%s' not found OR incorrect CHMOD!", szPath);
        set_fail_state(szError);
    }
    
    new szBuffer[MAX_AWARDS];
    while(!feof(iFile))
    {
        fgets(iFile, szBuffer, charsmax(szBuffer));
        trim(szBuffer);
        
        if(!szBuffer[0] || szBuffer[0] == ';')
            continue;
        
        if(parse(szBuffer,
            g_arrAwardData[g_iDataSize][FLAGS], charsmax(g_arrAwardData[][FLAGS])
        ) == 1)    g_iDataSize++;
    }
    fclose(iFile);
}

public client_putinserver(id)    GiveAward[id] = false;
public client_disconnected(id)    GiveAward[id] = false;
public client_player_spawn(id)    set_task(TIME, "ItemAwards", id)

public ItemAwards(id)
{
    #if defined IGNORE_FLAGS
        if(!GiveAward[id] && get_user_flags(id) & read_flags(IGNORE_FLAGS))
            return
    #endif
    
    new szStats[STATSX_MAX_STATS];
    new iRank    = get_user_stats_sql(id, szStats, szStats);
    if(iRank < g_iDataSize)
    {
        if(~get_user_flags(id) & read_flags(g_arrAwardData[iRank][FLAGS]))
        {
            set_user_flags(id, read_flags(g_arrAwardData[iRank][FLAGS]))
            #if defined TOP_CHAT_MESSAGE
                client_print_color(id, print_team_default, TOP_CHAT_MESSAGE, iRank, g_arrAwardData[iRank][FLAGS]);
            #endif
            GiveAward[id] = true;
        }
    }
    else
    {
        remove_user_flags(id);
        #if defined NO_TOP_CHAT_MESSAGE
            client_print_color(id, print_team_default, NO_TOP_CHAT_MESSAGE, iRank);
        #endif
        GiveAward[id] = false;
    }
}
Суть то в том что если у игрока в нике есть Клан тег то типа выдать флаг.

Добавил типа это

Код:
    new name[32]
    get_user_info(id, "name", name, 31)
    if(contain(name, "DEV-CS") != -1)
И естественно не работает :D

Код:
#include <amxmodx>
#include <reapi>
//#include <csstatsx_sql>

/* SETTINGS */
#define IGNORE_FLAGS "m"   
    // Игнорируемые флаги
    // Закомментировать, если не нужно игнорируемые флаги
    
#define TIME 1.0             
    // Каждые n секунды проверить статистику игрока
    
#define    MAX_AWARDS 254       
    // Максимальная кол-во наград

/* DICTIONARY */
#define    TOP_CHAT_MESSAGE    "^1[^4Сервер^1] Вы поднялись на^3 %d ^1место. Бонусные флаги: ^4%s"
    // Закомментировать, если не нужно сообщение при поднятие место
    
#define NO_TOP_CHAT_MESSAGE "^1[^4Сервер^1] Вы занимаете^3 %d ^1место"
    // Закомментировать, если не нужно сообщение при понижение место

/* Do not touch arrays */
new bool:GiveAward[MAX_PLAYERS+1];
enum _:DATA { FLAGS[32] };
new g_arrAwardData[MAX_AWARDS][DATA], g_iDataSize = 1;

public plugin_init()
{
    register_plugin("top_awards", "0.1", "xxx")
    RegisterHookChain(RG_CBasePlayer_Spawn, "client_player_spawn", true);
}

public plugin_cfg()
{
    new szPath[PLATFORM_MAX_PATH];
    get_localinfo("amxx_configsdir", szPath, charsmax(szPath));
    add(szPath, charsmax(szPath), "/top_awards.ini");

    new iFile = fopen(szPath, "rt");
    if(!iFile)
    {
        new szError[96];
        formatex(szError, charsmax(szError), "File '%s' not found OR incorrect CHMOD!", szPath);
        set_fail_state(szError);
    }
    
    new szBuffer[MAX_AWARDS];
    while(!feof(iFile))
    {
        fgets(iFile, szBuffer, charsmax(szBuffer));
        trim(szBuffer);
        
        if(!szBuffer[0] || szBuffer[0] == ';')
            continue;
        
        if(parse(szBuffer,
            g_arrAwardData[g_iDataSize][FLAGS], charsmax(g_arrAwardData[][FLAGS])
        ) == 1)    g_iDataSize++;
    }
    fclose(iFile);
}

public client_putinserver(id)    GiveAward[id] = false;
public client_disconnected(id)    GiveAward[id] = false;
public client_player_spawn(id)    set_task(TIME, "ItemAwards", id)

public ItemAwards(id)
{
    #if defined IGNORE_FLAGS
        if(!GiveAward[id] && get_user_flags(id) & read_flags(IGNORE_FLAGS))
            return
    #endif
    
    new name[32]
    get_user_info(id, "name", name, 31)
    if(contain(name, "DEV-CS") != -1)
    {
        if(~get_user_flags(id) & read_flags(g_arrAwardData[FLAGS]))
        {
            set_user_flags(id, read_flags(g_arrAwardData[FLAGS]))
            #if defined TOP_CHAT_MESSAGE
                client_print_color(id, print_team_default, TOP_CHAT_MESSAGE, g_arrAwardData[FLAGS]);
            #endif
            GiveAward[id] = true;
        }
    }
    else
    {
        remove_user_flags(id);
        #if defined NO_TOP_CHAT_MESSAGE
            client_print_color(id, print_team_default, NO_TOP_CHAT_MESSAGE);
        #endif
        GiveAward[id] = false;
    }
}
 
Сообщения
25
Реакции
41
Помог
1 раз(а)
r1nk0

Код:
#include <amxmodx>
#include <reapi>

#define PLUGIN  "[WA] Steam Flag"
#define VERSION "1.0"
#define AUTHOR  "Rias"

new vipaccess[32], defaccess[32];
new check_time, steam_flag, default_access

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
   
    check_time = register_cvar("amx_check_after", "3.0");
    steam_flag = register_cvar("steam_flag", "v");
    default_access = register_cvar("default_access", "z");
}

public client_putinserver(id)
{
    set_task(get_pcvar_float(check_time), "check_access", id);
}

public check_access( id )
{
    get_pcvar_string(steam_flag, vipaccess, 31);
    get_pcvar_string(default_access, defaccess, 31);

    new name[33];
    new DefaultFlag = read_flags(defaccess);
    new SteamFlag = read_flags(vipaccess);

    get_entvar(id, var_netname, name, charsmax(name));

    if(is_user_connected(id))
    {
        if(contain(name, "DEV-CS") != -1)
        {
            if(get_user_flags(id) & ADMIN_BAN_TEMP)
                return;
                   
            if (DefaultFlag)
            {
                remove_user_flags(id, DefaultFlag);
                set_user_flags(id, SteamFlag);
            }
            if(get_user_flags(id) & ADMIN_LEVEL_H || get_user_flags(id) & ADMIN_KICK)
            {
                new myFlags;
                myFlags = get_user_flags(id);
                set_user_flags( id, myFlags | SteamFlag );
            }
        }
    }
}
Можешь как пример использовать, код такой себе, но должен работать.
 
Сообщения
594
Реакции
350
Предупреждения
1
Помог
9 раз(а)
d3m37r4, Кому как удобнее).
 

d3m37r4

111111
Сообщения
1,454
Реакции
1,194
Помог
10 раз(а)
steelzzz, применительно к тому, что выше привел Rias, чем там удобней использовать var нежели натив из амхх?
 
Сообщения
333
Реакции
290
Помог
9 раз(а)
Неугомоновский....Вебморда не позволяет но в базе то можно вставить флаг авторизации - b
C++:
-     else if(strcmp(name, g_sUser[Auth]) != 0)
+     else if(strcmp(name, g_sUser[Auth]) != 0 && (g_sUser[Flags] & FLAG_TAG && strfind(name, g_sUser[Auth]) != 0))
или так (даже понятнее будет)
C++:
+ else if(g_sUser[Flags] & FLAG_TAG ? strfind(name, g_sUser[Auth]) != 0 : strcmp(name, g_sUser[Auth]) != 0)
 
Последнее редактирование:
Сообщения
511
Реакции
111
Помог
16 раз(а)
Всем спасибо за ответы,но

WILL_BE, Может и да я не силен в скриптинге,я вроде даже проверку неправильно поставил,так как не работает)
Rias, Я хотел что бы не выдавались флаги тем у кого они уже есть,пример который я хотел использовать типа ВИП за топ,там есть игнорируемые флаги.
zhorzh78, Это добавит работу клан тега?
 
Сообщения
491
Реакции
89
Помог
5 раз(а)

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу