время когда истекает админка (menufront)

Сообщения
15
Реакции
0
здраствуйте!
можно добавлять ли в этом плагин время когда истекает админка?
сам сделать не получается

время из greypanel
bz.png
как показывает на сайте
adminki.png
users.png
C++:
#include <amxmodx>
#include <amxmisc>
#include <dhudmessage>

new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0

#define PLUGIN    "AmxModMenu_New"
#define    VERSION    "1.0"
#define    AUTHOR    "CaNiBaL | Remake by Sn1kO"

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_menu("Menu_2", keys, "func_menu2")
    register_clcmd("amxmodmenu", "AmxMenu")
}
public AmxMenu(id)
{
    static menu[650], iLen
    iLen = 0
    if(get_user_flags(id) & ADMIN_LEVEL_A)
        iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yAmx\wMod\dMenu ^n\d˙·٠by●•\rWarr4ik•●٠·˙^n^n"); 
    else
        iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yAmx\wMod\rMenu ^n\dАдминка \r150 Рублей ^n\d˙·٠●• •●٠·˙^n^n"); 

    if(get_user_flags(id) & ADMIN_KICK)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wКикнуть \y:)^n")
        keys |= MENU_KEY_1
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \dКикнуть^n")
        keys &= ~MENU_KEY_1 
    }
    if(get_user_flags(id) & ADMIN_BAN)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wЗабанить \y:)^n")
        keys |= MENU_KEY_2
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \rЗабанить^n")
        keys &= ~MENU_KEY_2 
    }
    if(get_user_flags(id) & ADMIN_BAN)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \dСтукнуть \y:)^n")
        keys |= MENU_KEY_3
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \dСтукнуть^n")
        keys &= ~MENU_KEY_3 
    }
    if(get_user_flags(id) & ADMIN_BAN)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wКоманда игрока \y:)^n")
        keys |= MENU_KEY_4
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \dКоманда игрока^n")
        keys &= ~MENU_KEY_4 
    }
    if(get_user_flags(id) & ADMIN_MAP)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \wСменить карту \y:)^n")
        keys |= MENU_KEY_5
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \dСменить карту^n")
        keys &= ~MENU_KEY_5 
    }
    if(get_user_flags(id) & ADMIN_MAP)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \wГолосование за смену карты \y:)^n")
        keys |= MENU_KEY_6
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \dГолосование за смену карты^n")
        keys &= ~MENU_KEY_6 
    }
    if(get_user_flags(id) & ADMIN_BAN)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \wMuTe \y:)^n")
        keys |= MENU_KEY_7
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \dMuTe^n")
        keys &= ~MENU_KEY_7 
    }
    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r8. \wCделать скриншот игроку\y:)^n")
    keys |= MENU_KEY_8

    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \wПредупредить игрока \y:)^n")
    keys |= MENU_KEY_9

    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\r0. \wЗакрыть^n")
    keys |= MENU_KEY_0
  
    show_menu(id, keys, menu, -1, "Menu_2");
    return PLUGIN_HANDLED
}
public func_menu2(id, key)
{
    switch(key)
    {
        case 0: client_cmd(id, "amx_kickmenu")
            case 1: client_cmd(id, "amx_banmenu")
            case 2: client_cmd(id, "amx_slapmenu")
            case 3: client_cmd(id, "amx_teammenu")
            case 4: client_cmd(id, "amx_mapmenu")
            case 5: client_cmd(id, "amx_votemapmenu")
            case 6:client_cmd(id, "amx_gagmenu")
        case 7:client_cmd(id, "amx_ssbanmenu")
        case 8:client_cmd(id, "warrning")
          
    }
}
 
Сообщения
119
Реакции
53
Помог
4 раз(а)
warr4ik, Если написать данный функционал то думаю можно.
 
Сообщения
119
Реакции
53
Помог
4 раз(а)
warr4ik, По подробнее вам ответит человек занимающийся скриптингом. Я знаю лишь , что в коде можно делать вычисления(к примеру времени) и совершать проверки думаю это основные функции которые нужны в вашей задумке..
 
Последнее редактирование:
Сообщения
3
Реакции
0
Код:
native admin_expired(index);

// Это в какое-нибудь меню
new g_iExperience = admin_expired(id);

if (g_iExperience > 0) {
    new systime = get_systime();
    if (g_iExperience - systime > 0) {
        if ((g_iExperience - systime) / 86400 > 0) {
            iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "Срок: [\y%d дн.\w]^n", ((g_iExperience - systime) / 86400));
        } else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "Срок: [\yПоследний день | %d ч. %d мин.\w]^n", ((g_iExperience - systime) / 3600), (((g_iExperience - systime) / 60) - (((g_iExperience - systime) / 3600)*60)));
    }
} else if (g_iExperience == 0) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "Срок: [\yНавсегда\w]^n");
 
Сообщения
34
Реакции
21
Помог
4 раз(а)
v1expert, предложенный вами вариант не поможет. greypanel не пишет время админок в бд сервера. Тут нужно именно с базы сайта брать время
 
Сообщения
15
Реакции
0
Не получается и ничего не делал, как бы разные вещи. В верху висит объявление с правилами данного раздела - выполняйте их.
c чего вы взяли что я ничего не делал
я в интернете искал пробовал через етот код но остановился так как не мог разобратся до конца
new Handle:MYSQL_Tuple
new Handle:MYSQL_Connect

new g_Cvar[5]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("Menu_2", keys, "func_menu2")
register_clcmd("amxmodmenu", "AmxMenu")
g_Cvar[1] = register_cvar("amx_mysql_hostname", "127.0.0.1")
g_Cvar[2] = register_cvar("amx_mysql_username", "root")
g_Cvar[3] = register_cvar("amx_mysql_password", "password")
g_Cvar[4] = register_cvar("amx_mysql_database", "testmysql")
}
Код:
native admin_expired(index);

// Это в какое-нибудь меню
new g_iExperience = admin_expired(id);

if (g_iExperience > 0) {
    new systime = get_systime();
    if (g_iExperience - systime > 0) {
        if ((g_iExperience - systime) / 86400 > 0) {
            iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "Срок: [\y%d дн.\w]^n", ((g_iExperience - systime) / 86400));
        } else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "Срок: [\yПоследний день | %d ч. %d мин.\w]^n", ((g_iExperience - systime) / 3600), (((g_iExperience - systime) / 60) - (((g_iExperience - systime) / 3600)*60)));
    }
} else if (g_iExperience == 0) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "Срок: [\yНавсегда\w]^n");
ну этот код из menufront end от неугомона он же через admin_load



если никто не хочет помочь, сколько примерно будет стоить такой плагин?
 
Сообщения
281
Реакции
196
Помог
1 раз(а)
стоит менюфренд неугомона, лоадер фантома, кторые берет с юзер ини сроки, и все работает гуд)
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
warr4ik, файловый список админов не поддерживает функционал окончания привелегий, тут нужно править лоадер + грейпанель + плагин меню. Самый простой для вас вариант - перейти на хранение и выборку админов из БД непосредственно.
 
Сообщения
34
Реакции
21
Помог
4 раз(а)
можно еще переделать админ лоадер под грейпанель, и грузить админов напрямую с базы сайта, тогда и крон для удаления админок из базы сервера будет не нужен. ну это как вариант
 
Сообщения
15
Реакции
0
warr4ik, файловый список админов не поддерживает функционал окончания привелегий, тут нужно править лоадер + грейпанель + плагин меню. Самый простой для вас вариант - перейти на хранение и выборку админов из БД непосредственно.
можно еще переделать админ лоадер под грейпанель, и грузить админов напрямую с базы сайта, тогда и крон для удаления админок из базы сервера будет не нужен. ну это как вариант
а не легче выводить в menufront из users.ini ?
вот как добовляется автом.
"admin" "admin" "acdtumejf" "a" ;"20 д
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
warr4ik, после ; это комментарий, он игнорируется плагинами. Прописан исключительно для визуального просмотра.
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
warr4ik, в плагине выдачи флагов не предусмотрен парсинг данного значения, тем что вы просто "уберете кавычку", ничего не добьетесь кроме ошибок.
Для таки манипуляций нужно (повторяю пред пост): править лоадер + грейпанель + плагин меню
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
Никогда не понимал смысл удаления истекших администраторов.
warr4ik, используйте БД и не парьте себе мозг
 

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

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