Hook Grab Rope выдача по стиму!

DexKekcuk #13

Участник
Сообщения
628
Реакции
69
Всем добрый день, наткнулся на плагин паутинки, поставил на сервер, настоил admin_overrides.cfg только по флагу z, но некоторые друзья на сервере просят им дать паутинку, а я кроме того как дать по флагу z не могу, можно ли привязать файл, который будет отвечать за выдачу по STEAM ID...

ну и конечно если можно было бы сделать так:
addons/sourcemod/configs/hgrlist.txt

заходим сюда и на каждый новой строчке прописываем STEAM ID
но еще хотелось бы сделать ограничения для них по возможности использования за одну игру, то есть зашел поиграл, килл написал, можно заного использовать ну в cfg вроде есть команда для выдачи опеределенных количеств раз панутинки, но можно ли сделать так?

addons/sourcemod/configs/hgrlist.txt
"STEAM ID" "кол-во"

Плагин:
https://forums.alliedmods.net/showthread.php?t=201154
 

AZA

/reset
Сообщения
883
Реакции
162
Может стоит тогда под мускул переделать? Чем через файл =)
 

DexKekcuk #13

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

DarklSide

Участник
Сообщения
931
Реакции
468
Помню - по дополнительным флагам (Custom1-Custom6), у каждого флага свое кол-во использования и время использования (сек).
Остаеться только добавить клиента, по любому идентификатору (steamid, ip, name) в стандарт файл'ы админов и sm_reloadadmins.
Таким способом, уже дана возможность - использования sourcebans (msql).

Добавлено через 9 минут
Если понравился способ - напишу её реализацию.
 
Последнее редактирование:

DarklSide

Участник
Сообщения
931
Реакции
468
Пример для Hook для HGR:Source(2.1.5d) by SumGuy14 (Aka Soccerdude)


PHP:
new bgladmin[MAXPLAYERS + 1],  // счетчик количества использования для гл.админа
bgladminsec[MAXPLAYERS + 1],  // счетчик секунд использования для гл.админа
badminsec[MAXPLAYERS + 1]; // счетчик секунд использования для админа    
new bool:badmin[MAXPLAYERS + 1] =  { false, ... }; // счетчик количества использования для админа (булевая - для разового использования, т.е. и константа не нужна)
static const maxgladm = 2; // константа для максимума использования количества для гл.админа
static const maxgladmsec = 31; // константа для максимума использования секунд для гл.админа (3 сек, т.к. CreateTimer(0.1, Hooking - мл сек)
static const maxadmsec = 51; // константа для максимума использования секунд для админа (5 сек)

bool:HasAccess(client)
{
    if (GetAdminFlag(GetUserAdmin(client), Admin_Custom2, Access_Real) || GetAdminFlag(GetUserAdmin(client), Admin_Custom2, Access_Effective)) // для флага доступа Custom2 (гл.админа)
    {
        if (bgladmin[client] < maxgladm) // проверяем счетчик, на его максимум (не равно, т.к. начинаем с нуля)
        {
            bgladmin[client]++; // если меньше, то +
            return true; // разрешаем
        }
        else // если больше или равно
        {
            PrintToChat(client, "%c[HOOK] %cРазрешено использовать паутину %c2 раза %cза раунд", COLOR_GREEN, COLOR_DEFAULT, COLOR_GREEN, COLOR_DEFAULT); //чат
            return false; // запрещаем
        }
    }
    else if (GetAdminFlag(GetUserAdmin(client), Admin_Custom5, Access_Real) || GetAdminFlag(GetUserAdmin(client), Admin_Custom5, Access_Effective)) // для флага доступа Custom5 (админа)
    {
        if (!badmin[client]) // (false) проверяем счетчик, на его максимум (true)
        {
            badmin[client] = true; // раз использования
            return true; // разрешаем
        }
        else // (true) уже использовали
        {
            PrintToChat(client, "%c[HOOK] %cРазрешено использовать паутину %c1 раз %cза раунд", COLOR_GREEN, COLOR_DEFAULT, COLOR_GREEN, COLOR_DEFAULT); //чат
            return false; // запрещаем
        }
    }
    else if (GetAdminFlag(GetUserAdmin(client), Admin_Root, Access_Real) || GetAdminFlag(GetUserAdmin(client), Admin_Root, Access_Effective)) // флаг root
    {
        return true; // разрешаем
    }
    else // нет доступа ко всем флагам, и предлагаем
    {
        EmitSoundToClient(client, deniedWav);
        PrintToChat(client, "%c[HOOK] %cУ вас нет Паутинки :(\nКупить её вы можете у создателя: %cskype", COLOR_GREEN, COLOR_DEFAULT, COLOR_GREEN);
        return false; // запрещаем
    }
}
public Action:Hooking(Handle:timer, any:index)
{
    if (gStatus[index] && IsClientInGame(index) && IsPlayerAlive(index))
    {
        //...
        if (bgladmin[index]) // проверяем что использует гл.админ
        {
            bgladminsec[index]++; // + к счетчику секунд
            if (bgladminsec[index] > maxgladmsec) // проверяем если, секунды уже больше - его заданного максимума
            {
                Action_UnHook(index); // принуждаем выключить
                return Plugin_Stop;
            }
        }
        else if (badmin[index]) // проверяем что использует админ
        {
            badminsec[index]++; // + к счетчику секунд
            if (badminsec[index] > maxadmsec) // проверяем если, секунды уже больше - его заданного максимума
            {
                Action_UnHook(index); // принуждаем выключить hook
                return Plugin_Stop;
            }
        }
        Hook_Push(index); // иначе, если счетчик секунд - позваляет, - включаем hook
    }
    else
    {
        Action_UnHook(index);
        return Plugin_Stop;
    }
    return Plugin_Handled;
}
public Event_OnRoundStart(Handle:event, const String:name[], bool:silent)
{
    for (new i = 1; i <= MaxClients; ++i) // возвращаем в начале раунда на началное значения, для повторного использования
    {
        bgladmin[i] = 0;
        badmin[i] = false;
        bgladminsec[i] = 0;
        badminsec[i] = 0;
    }
}
Action_UnHook(client)
{
    //...
    bgladminsec[client] = 0; // возвращаем секунды, для повторного использования
}
 
Последнее редактирование:

valerike

Участник
Сообщения
57
Реакции
1
Всем добрый день, наткнулся на плагин паутинки, поставил на сервер, настоил admin_overrides.cfg только по флагу z, но некоторые друзья на сервере просят им дать паутинку, а я кроме того как дать по флагу z не могу, можно ли привязать файл, который будет отвечать за выдачу по STEAM ID...

ну и конечно если можно было бы сделать так:
addons/sourcemod/configs/hgrlist.txt

заходим сюда и на каждый новой строчке прописываем STEAM ID
но еще хотелось бы сделать ограничения для них по возможности использования за одну игру, то есть зашел поиграл, килл написал, можно заного использовать ну в cfg вроде есть команда для выдачи опеределенных количеств раз панутинки, но можно ли сделать так?

addons/sourcemod/configs/hgrlist.txt
"STEAM ID" "кол-во"

Плагин:
[ANY] Hook Grab Rope (1.1.4) - AlliedModders
Можешь пожалуйста скинуть файл admin_overrides.cfg для флага Z, а то просто не получается настроить
 

hirowatch

Живет ХЛмод`ом
Сообщения
2,722
Реакции
1,634
@valerike, вот как прописывать правильно
 

Вложения

  • admin_overrides.cfg
    871 байт · Просмотры: 22
Сверху Снизу