Добро пожаловать

Для полноценного пользования форумом и общения с его участниками, пройдите регистрацию ниже
Регистрация

Закрыто Нехватка символов в плагине.

Тема в разделе "Свалка", создана пользователем Азрет, 14 июн 2017.

Статус темы:
Закрыта.
  1. Азрет

    Азрет Пользователь

    17
    1
    80
    Здравствуйте!
    У меня возникла проблема с нехваткой символов в меню. Если открыть меню, то не будет видно надписи "Выход" к примеру, а если ты не Администратор, то вообще до половины меню не будет видно, что делать? Речь о AmxModMenu.
    И если есть такая возможность, как сделать чтобы было написано "Для начала приобретите данную привилегию" или в Консоль как по дефу "У вас недостаточно прав для использования этой команды!", ну для тех у кого нет прав открыть это меню. Спасибо!
    Вот код:
    PHP:
    #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"
    #define    VERSION    "1.0"
    #define    AUTHOR    "Player"

    #define map_timer_change         10
    new g_Timer


    public plugin_init()
    {
        
    register_plugin(PLUGINVERSIONAUTHOR)
        
    register_menu("Menu_2"keys"func_menu2")
        
    register_clcmd("amxmodmenu""AmxMenu")
            
    g_Timer get_systime() + 60 map_timer_change
    }

    public 
    plugin_precache()
    {
        
    precache_sound("misc/admin_restart.wav" )
    }
    public 
    AmxMenu(id)
    {
        static 
    menu[650], iLen
        iLen 
    0
        
    if(get_user_flags(id) & ADMIN_RCON)
            
    iLen formatex(menu[iLen], charsmax(menu) - iLen"\r[\yAMX\r] \yAmxModMenu ^n\r[\y-\r] \wВы: \yГл.Админ^n\r[\y-\r] \wСтатут: \rДоступно всё^n");
        else
        if(
    get_user_flags(id) & ADMIN_BAN)
            
    iLen formatex(menu[iLen], charsmax(menu) - iLen"\r[\yAMX\r] \yAmxModMenu ^n\r[\y-\r] \wВы: \yАдмин^n\r[\y-\r] \wСтатут: \rОплачено^n");
        else
            
    iLen formatex(menu[iLen], charsmax(menu) - iLen"\r[\yAMX\r] \yAmxModMenu ^n\r[\y-\r] \wВы: \yВип\w/\yИгрок^n\r[\y-\r] \wСтатут: \rНе приобретено^n^n");
         
        if(
    get_user_flags(id) & ADMIN_KICK)
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y1\r] \wКикнуть^n")
            
    keys |= MENU_KEY_1
        
    }
        else
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y1\r] \dКикнуть \d[\rНедоступно\d]^n")
            
    keys &= ~MENU_KEY_1
        
    }
        if(
    get_user_flags(id) & ADMIN_BAN)
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y2\r] \wЗабанить^n")
            
    keys |= MENU_KEY_2
        
    }
        else
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y2\r] \dЗабанить \d[\rНедоступно\d]^n")
            
    keys &= ~MENU_KEY_2
        
    }
        if(
    get_user_flags(id) & ADMIN_SLAY)
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y3\r] \wУдарить/Убить^n")
            
    keys |= MENU_KEY_3
        
    }
        else
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y3\r] \dУдарить/Убить \d[\rНедоступно\d]^n")
            
    keys &= ~MENU_KEY_3
        
    }
        if(
    get_user_flags(id) & ADMIN_SLAY)
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y4\r] \wКоманда Игрока^n")
            
    keys |= MENU_KEY_4
        
    }
        else
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y4\r] \dКоманда Игрока \d[\rНедоступно\d]^n")
            
    keys &= ~MENU_KEY_4
        
    }
        if(
    get_user_flags(id) & ADMIN_MAP)
        {
            if(
    g_Timer get_systime())
                
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y5\r] \wСменить карту^n")
            else
                
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y5\r] \dСменить карту [\rПроиграно \y%d\r/\y%d \rмин\d]^n"map_timer_change - (g_Timer get_systime()) / 60map_timer_change)
        }
        else
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y5\r] \dСменить карту \d[\rНедоступно\d]^n")
        }
        if(
    get_user_flags(id) & ADMIN_MAP)
        {
            if(
    g_Timer get_systime())
                
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y6\r] \wГолосование^n")
            else
                
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y6\r] \dГолосование [\rПроиграно \y%d\r/\y%d \rмин\d]^n"map_timer_change - (g_Timer get_systime()) / 60map_timer_change)
        }
        else
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y6\r] \dГолосование \d[\rНедоступно\d]^n")
        }
        if(
    get_user_flags(id) & ADMIN_BAN)
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y7\r] \wСменик Имя^n")
            
    keys |= MENU_KEY_7
        
    }
        if(
    get_user_flags(id) & ADMIN_RCON)
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y8\r] \wСделать Рестарт \y[\rГл.Админ\y]^n")
            
    keys |= MENU_KEY_8
        
    }
        else
        {
            
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r[\y8\r] \dСделать Рестарт \d[\rНедоступно\d]^n")
            
    keys &= ~MENU_KEY_8
            
    }
        
    iLen += formatex(menu[iLen], charsmax(menu) - iLen"^n\r[\y0\r] \wВыход^n")
        
    keys |= MENU_KEY_0
        show_menu
    (idkeysmenu, -1"Menu_2");
        return 
    PLUGIN_HANDLED
    }
    public 
    func_menu2(idkey)
    {
        switch(
    key)
        {
            case 
    0client_cmd(id"amx_kickmenu")
                case 
    1client_cmd(id"amx_banmenu")
                case 
    2client_cmd(id"amx_slapmenu")
                case 
    3client_cmd(id"amx_teammenu")
                case 
    4:
            {
                if(
    g_Timer get_systime())
                    
    client_cmd(id"amx_mapmenu")
                else
                    
    AmxMenu(id)
            }
            case 
    5:
            {
                if(
    g_Timer get_systime())
                    
    client_cmd(id"amx_votemapmenu")
                else
                    
    AmxMenu(id)
            }
            case 
    6:client_cmd(id"amx_nickmenu")
            case 
    7:
            {
                
    server_cmd("sv_restartround 1")
                new 
    name[32]
                
    get_user_name(idname31)
                
    set_dhudmessage(random_num(0255), random_num(0255), random_num(0255), -1.00.5013.04.00.10.2);
                
    show_dhudmessage(id"Гл.Администратор %s Сделал Рестарт"name)
                
    emit_sound(idCHAN_VOICE"misc/admin_restart.wav"1.0ATTN_NORM0PITCH_NORM)
            }
        }
    }
     
    Последнее редактирование модератором: 14 июн 2017
  2. F1RST

    F1RST Администратор

    1.428
    630
    465
    Ответ
    Размещайте тему в нужном для нее разделе. В след. раз выдам проценты
    Большой код заключать надо или в сполер или в [РНР]код[/PHP]
     
  3. wantip22

    wantip22 Проверенный

    1.888
    445
    525
     

    Вложения:

    • cuyf.amxx
      Размер файла:
      8,4 КБ
      Просмотров:
      189
  4. Азрет

    Азрет Пользователь

    17
    1
    80
    Ошибся с темой...
     
  5. Азрет

    Азрет Пользователь

    17
    1
    80
    А можно исходник?

    Wantip22, не помогло, надписи "Выход" Нет. Если я удалю начало, то все будет видно, но мне этого не хочется.
    Если сделать как я хочу нельзя, то можете сделать так, чтобы игроку писало в чат "Для начала приобретите данную привилегию".
    Мне надо чтобы простой игрок не мог открыть это меню.
     
    Последнее редактирование модератором: 14 июн 2017
  6. AJIeKc

    AJIeKc С.Модератор

    1.465
    359
    635
    Лимит
     
  7. Азрет

    Азрет Пользователь

    17
    1
    80
    Что это значит?

    Как увеличить?
     
    Последнее редактирование модератором: 14 июн 2017
  8. Izzatillo

    Izzatillo Проверенный

    480
    199
    170
    Азрет, если не ошибаюсь)
    static menu[650]
    ==>>>
    static menu[1024]
     
  9. wantip22

    wantip22 Проверенный

    1.888
    445
    525
     

    Вложения:

    • cuyf.amxx
      Размер файла:
      8,4 КБ
      Просмотров:
      181
  10. paraz1t15

    paraz1t15 Проверенный

    36
    13
    80
    Лимит в 512 насколько я помню
    Режь текст
     
  11. Азрет

    Азрет Пользователь

    17
    1
    80
    Не помогло, упирается.
    Если игрок напишет amxmodmenu, то он сможет посмотреть его, а как не дать им такую возможно, не знаете?

    Не помогло.

    Ничего не поменялось вроде.
     

    Вложения:

    Последнее редактирование модератором: 15 июн 2017
  12. Азрет

    Азрет Пользователь

    17
    1
    80
    Как удалять сообщения?
     
  13. Mr_Jluc

    Mr_Jluc Забанен

    781
    82
    235
    "недоступно" замени на "упс"
    ... и ...
    "проиграно" замени на "время"
    ... должно сработать ...
    нны5425.JPG 5354.JPG
     

    Вложения:

    • amxmodmenu.amxx
      Размер файла:
      4,3 КБ
      Просмотров:
      127
    • amxmodmenu.sma
      Размер файла:
      5,7 КБ
      Просмотров:
      139
    Последнее редактирование: 15 июн 2017
    Азрет нравится это.
  14. 3BEPb

    3BEPb Проверенный

    218
    141
    110
    Максимальный размер массива не "menu[650]" а "menu[512]" больше менюшки не отображают а вся беда в том, что символы Русского языка кладутся в 2 ячейки массива. Так что увеличивать массив бесполезно(да он и так слишком большой), только уменьшать количество текста.

    Как вариант можно убрать надписи после пунктов если нет привилегии а вверху вывести твой текст или написать сообщение в чат.
     
    Азрет нравится это.
  15. Азрет

    Азрет Пользователь

    17
    1
    80
    Попробую, спасибо.
    Как мне запретить игрокам открывать меню, ещё вот такой(ая) вопрос/проблема?
     
  16. 3BEPb

    3BEPb Проверенный

    218
    141
    110
  17. Азрет

    Азрет Пользователь

    17
    1
    80
  18. Азрет

    Азрет Пользователь

    17
    1
    80
    Вывод сделал, все компилируется, но есть какая-то ошибка, пишет: "<37> : warning 213: tag mismatch"
    В чем ошибка?

    (34) if(get_user_flags(id) & ADMIN_USER){
    (35) new name[32]
    (36) get_user_name(id,name,31)
    (37) ColorChat(id,print_chat,"^3[^4Сервер^3] ^1Для начала приобретите данную привилегию!",name)
    (38) }
     
  19. Daywer

    Daywer Пользователь

    0
    0
    5
    Открой гугл и посмотри что такое warning...ну и потом перевод tag mismatch.Так для справки при ошибке пишет "error"
     
  20. Азрет

    Азрет Пользователь

    17
    1
    80
    А ты сказать/помочь не можешь? Первое сообщение и уже посылаешь кого-то в гугл, я может сюда и пишут, потому что не нашел ответа в "Гугл".
     
  21. Daywer

    Daywer Пользователь

    0
    0
    5
    гугл>переводчик>warning 213: tag mismatch = предупреждение 213: несоответствие тег > запрос делаешь в гугле >1-3 в поиске.
    Ты не используешь name,но вписал в аргументы его. пример: " Ты %s(тут ник будет) забанен в гугле",name
    .Ты ждешь по 10-20 минут,когда хватит 30 секунд чтобы решить проблему.
     
  22. Азрет

    Азрет Пользователь

    17
    1
    80
    Переведите мне что он написал и я закрываю тему.
     
  23. AJIeKc

    AJIeKc С.Модератор

    1.465
    359
    635
    Закрыто!
     
Похожие темы
  1. Trollfaceex
    Ответов:
    5
    Просмотров:
    2.583
  2. prostoo
    Ответов:
    8
    Просмотров:
    760
  3. Burns
    Ответов:
    16
    Просмотров:
    742
  4. maaxru

    Решено dhud в плагине

    maaxru, 2 мар 2017, в разделе: Свалка
    Ответов:
    7
    Просмотров:
    1.019
  5. stasic2017
    Ответов:
    3
    Просмотров:
    430
Загрузка...
Статус темы:
Закрыта.