Дата и время окончания админки в админ меню

Тема в разделе "Программирование / Скриптинг", создана пользователем R1KO, 14 июл 2013.

  1. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.005
    Симпатии:
    2.994
    Вобщем решил помочь человеку

    Разобрался с бд, понял как написать и все дела, НО возникли некоторые трудности.

    Трудность №1 Пункт не появляется. (К тому же хотелось бы сделать его в конце админки).

    PHP:
    public OnAdminMenuReady(Handle:topmenu)
    {
        if (
    topmenu == hTopMenu) return;
        
        
    hTopMenu topmenu;
        
        new 
    TopMenuObject:player_commands FindTopMenuCategory(hTopMenuADMINMENU_PLAYERCOMMANDS);

        if (
    player_commands != INVALID_TOPMENUOBJECT)
        {
            
    AddToTopMenu(hTopMenu,
                                
    "sm_ban",         // Name
                                
    TopMenuObject_Item,    // We are a submenu
                                
    AdminMenu_Ban,        // Handler function
                                
    player_commands,    // We are a submenu of Player Commands
                                
    "sm_ban",        // The command to be finally called (Override checks)
                                
    ADMFLAG_BAN);        // What flag do we need to see the menu option
                                
            // Отправляем запрос в бд и получаем дату.
            // Добавляем пункт в админ меню.

            
    AddToTopMenu(hTopMenu"exp"TopMenuObject_CategoryHandle_CategoryINVALID_TOPMENUOBJECT);
        }
    }

    public 
    Handle_Category(Handle:topmenuTopMenuAction:actionTopMenuObject:object_idparamString:buffer[], maxlength)
    {
        if (
    object_id == INVALID_TOPMENUOBJECT)
        {
            if(
    action == TopMenuAction_DisplayTitleFormat(buffermaxlength"Админка истекает:");
            else if(
    action == TopMenuAction_DisplayOptionFormat(buffermaxlength"Админка истекла");
        }
    }

    Следующие трудности буду добавлять по мере поступления.
     
  2. schmidt

    schmidt wS (skype: ws.css)

    Сообщения:
    188
    Симпатии:
    347
    На сколько я помню, если создать категорию, но не добавить в неё хотя бы одну опцию - категории не будет в меню. Мне кажется лучший вариант, это создать команду типа sm_myadmintime и её использовать в adminmenu_custom.txt (можно и при вызове админки).

    PHP:
    "Commands"
    {
        
    "PlayerCommands"
        
    {
            
    "Время моего админ-доступа"
            
    {
                
    "cmd"            "sm_myadmintime"
                "admin"            "sm_myadmintime"
                "execute"        "player"
            
    }
        }
    }
     
    R1KO нравится это.
  3. Kaptain

    Kaptain Школьник

    Сообщения:
    585
    Симпатии:
    171
    Получилось сделать?
     
  4. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.005
    Симпатии:
    2.994
    Кирилл Спиридонов, да.
     
  5. lansy

    lansy

    Сообщения:
    59
    Симпатии:
    1
    выложишь?
     
  6. September

    September

    Сообщения:
    1.194
    Симпатии:
    165
    поделись)
     
  7. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.005
    Симпатии:
    2.994
    Выкладывать не буду т.к. делал приватно хоть и за мелочь. Людям обидно будет.
    P.S. Могу написать варианты как это можно сделать т.к. их несколько.
     
  8. White Wolf

    White Wolf [] (int _n) -> double { return (_n % 2) == 0;}); Супер-модератор

    Сообщения:
    1.194
    Симпатии:
    427
    R1KO, парсить из бд колонку expires ?
     
  9. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.005
    Симпатии:
    2.994
    White Wolf, ну это само собой. Ладно не буду тянуть резину.
    1. Изменить сб, при коннекте игрока, после проверки бана проверять его на админа и получать значение столбца expires. Так же сделать натив для получения этого значения. Потом в adminmenu.sp Инклюдим сб, и юзаем этот натив (меняем тайтл меню).
    2. В adminmenu.sp создаем подключение к бд от сб и далее по аналогии.
     
  10. September

    September

    Сообщения:
    1.194
    Симпатии:
    165
    Окей) я напишу тебе в лс по этому поводу.
     
  11. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.729
    Симпатии:
    461
    Я что-то начинал делать (аналогичная просьба была).
    Только время я впилил в заголовок