1. msmrbtsk Пользователь

    Регистрация:
    29.03.15
    Сообщения:
    365
    Симпатии:
    94
    Пол:
    Мужской
    DHUD Advert - плагин выводящий вашу информацию (рекламу) в DHUD в верхней части по середине экрана. Плагин может стать отличной заменой стандартному imessage т.к. оно более удобный и легко настраиваемый , да и DHUD выглядет намного лучше чем обычный HUD.

    Особенности:
    1. Рандомный цвет на каждое сообщение.
    2. Эффекты мерцания(в общем красиво выглядит).
    3. Сообщения добавляются в конфиг, никакого исходника.
    Минусы:
    1. Символ "^n" не поддерживается, все в одну строку!

    Установка:
    1. Скомпилировать и залить .amxx файл.
    2. Прописать в plugins.ini
    3. В папке "/configs/"
    создать dhud_advert.ini и туда вписывать сообщения

    Настройки в исходнике:

    Код:
    #define INTERVAL 10 // С каким интервалом выводить сообщения(сек.) 

    P.S. -> В интернете лазил, нашел, может кому понадобиться.

     

    Вложения:

    • dhud_advert.sma
      Размер файла:
      1,6 КБ
      Просмотров:
      129
    MilleeR нравится это.
  2. MilleeR Пользователь

    Регистрация:
    29.01.16
    Сообщения:
    21
    Симпатии:
    9
    Пол:
    Мужской
    реклама видна всем или только мертвым/спектарам?
     
  3. msmrbtsk Пользователь

    Регистрация:
    29.03.15
    Сообщения:
    365
    Симпатии:
    94
    Пол:
    Мужской
    Всем
     
  4. ThePhoenix Пользователь

    Регистрация:
    08.03.15
    Сообщения:
    1.485
    Симпатии:
    144
    Пол:
    Мужской
    Telegram:
    ThePhoenix2017
    Skype:
    the.phoenix666
    Дай угадаю,автор дукхазор))
    У меня с этим плагином крашился сервер с переполнением,да да,сервер крашился :D
     
  5. msmrbtsk Пользователь

    Регистрация:
    29.03.15
    Сообщения:
    365
    Симпатии:
    94
    Пол:
    Мужской
    У мну нет :crazy::crazypilot:
     
  6. ThePhoenix Пользователь

    Регистрация:
    08.03.15
    Сообщения:
    1.485
    Симпатии:
    144
    Пол:
    Мужской
    Telegram:
    ThePhoenix2017
    Skype:
    the.phoenix666
    я уникал,я в курсе ;)
     
  7. kernelpanic Пользователь

    Регистрация:
    27.01.16
    Сообщения:
    33
    Симпатии:
    45
    Пол:
    Мужской
    Выводит новое сообщение в начале каждого раунда
     

    Вложения:

  8. pm-04 Пользователь

    Регистрация:
    02.02.16
    Сообщения:
    609
    Симпатии:
    80
    Пол:
    Мужской
    Сделал только для мертвых, не пашет, помогите
    PHP:
    #include <amxmodx>
    #include <amxmisc>
    #include <dhudmessage>

    #define INTERVAL 13 //С каким интервалом выводить сообщения(сек.)

    new Array:g_Messages;
    new 
    g_ArraySizeg_counter;

    public 
    plugin_init()
    {
        
    register_plugin"dhud advert""1.0""DUKKHAZ0R" );
      
      
        
    g_Messages ArrayCreate(128);
        
    set_taskINTERVAL.0,"show_advert",.flags="b");
    }

    public 
    plugin_cfg()
    {
        new 
    cfgsdir[128];
        
    get_configsdir(cfgsdir,charsmax(cfgsdir));
        
    add(cfgsdir,charsmax(cfgsdir),"/dhud_advert.ini");
      
        if(!
    file_exists(cfgsdir))
        {
            new 
    szError[256];
            
    formatex(szError,charsmax(szError),"Enable to open ^"%s^"!",cfgsdir);
            
    set_fail_state(szError);
        }
      
        new 
    i_File,szLine[256];
      
        
    i_File fopen(cfgsdir,"rt");
      
        while(
    i_File && !feof(i_File))
        {
            
    fgets(i_File,szLine,charsmax(szLine));
          
            if(!
    szLine[0] || szLine[0] == ';' || szLine[0] == '/' && szLine[1] == '/' || strlen(szLine) >= 128)
                continue;
          
            
    remove_quotes(szLine);
            
    ArrayPushString(g_Messages,szLine);
        }
      
        
    g_ArraySize ArraySize(g_Messages);
        
    fclose(i_File);
    }

    public 
    show_advert()
    {
        
    clrscr();
      
        if(
    g_counter >= g_ArraySize)
            
    g_counter 0;
        static 
    ig_MaxPlayers;
        new 
    szMessage[128];
        
    ArrayGetString(g_Messages,g_counter,szMessage,charsmax(szMessage));
      
        new 
    g_iRed random_num(1,255),g_iGreen random_num(1,255),g_iBlue random_num(1,255);
      
        if(!
    g_MaxPlayersg_MaxPlayers get_maxplayers();
        for(
    1<= g_MaxPlayersi++)
        {
            if(!
    is_user_alive(i))
            {
                
    set_dhudmessage(g_iRedg_iGreeng_iBlue, -1.00.0212.012.02.02.0true);
                
    show_dhudmessage(i,szMessage);
            }
        }
      
        
    g_counter++;
    }

    public 
    clrscr()
    {
        for(new 
    i8i++)
            
    show_dhudmessage(0,"");
    }
     
  9. MakapoH. Команда форума

    Регистрация:
    06.02.16
    Сообщения:
    715
    Симпатии:
    275
    Пол:
    Мужской
    Надо проверку на определённого айди делать, а не на всех :D
    --- добавлено 02.06.16 ---
    А нет, сорян, надо получать игроков сначала мёртвых, и уже им показывать :)
     
  10. pm-04 Пользователь

    Регистрация:
    02.02.16
    Сообщения:
    609
    Симпатии:
    80
    Пол:
    Мужской
    MakapoH., а это? for(i = 1; i <= g_MaxPlayers; i++)
    --- добавлено 02.06.16 ---
    то есть в plugin init
    PHP:
           if(!is_user_alive(i))
    {
       
    set_taskINTERVAL.0,"show_advert",.flags="b");
    ?
     
  11. MakapoH. Команда форума

    Регистрация:
    06.02.16
    Сообщения:
    715
    Симпатии:
    275
    Пол:
    Мужской
    Юзай get_players
     
  12. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.939
    Симпатии:
    4.332
    Пол:
    Мужской
    pm-04, изучай get_players, а не этот говноперебор всех 32 индексов
     
    MakapoH. нравится это.
  13. sazonische Пользователь

    Регистрация:
    16.03.15
    Сообщения:
    18
    Симпатии:
    0
    Пол:
    Мужской
    VKcom:
    sazonische
    Skype:
    sazonische
    да не, цикл решает)
     
  14. pm-04 Пользователь

    Регистрация:
    02.02.16
    Сообщения:
    609
    Симпатии:
    80
    Пол:
    Мужской
    так?
    PHP:
    #include <amxmodx>
    #include <amxmisc>
    #include <dhudmessage>

    #define INTERVAL 13 //С каким интервалом выводить сообщения(сек.)

    new Array:g_Messages;
    new 
    g_ArraySizeg_counter;

    public 
    plugin_init()
    {
        
    register_plugin"dhud advert""1.0""DUKKHAZ0R" );
       
       
        
    g_Messages ArrayCreate(128);
        
    set_taskINTERVAL.0,"show_advert",.flags="b");
    }

    public 
    plugin_cfg()
    {
        new 
    cfgsdir[128];
        
    get_configsdir(cfgsdir,charsmax(cfgsdir));
        
    add(cfgsdir,charsmax(cfgsdir),"/dhud_advert.ini");
       
        if(!
    file_exists(cfgsdir))
        {
            new 
    szError[256];
            
    formatex(szError,charsmax(szError),"Enable to open ^"%s^"!",cfgsdir);
            
    set_fail_state(szError);
        }
       
        new 
    i_File,szLine[256];
       
        
    i_File fopen(cfgsdir,"rt");
       
        while(
    i_File && !feof(i_File))
        {
            
    fgets(i_File,szLine,charsmax(szLine));
           
            if(!
    szLine[0] || szLine[0] == ';' || szLine[0] == '/' && szLine[1] == '/' || strlen(szLine) >= 128)
                continue;
           
            
    remove_quotes(szLine);
            
    ArrayPushString(g_Messages,szLine);
        }
       
        
    g_ArraySize ArraySize(g_Messages);
        
    fclose(i_File);
    }

    public 
    show_advert()
    {
        
    clrscr();
       
        if(
    g_counter >= g_ArraySize)
            
    g_counter 0;
        new 
    szMessage[128];
        
    ArrayGetString(g_Messages,g_counter,szMessage,charsmax(szMessage));   
        new 
    g_iRed random_num(1,255),g_iGreen random_num(1,255),g_iBlue random_num(1,255);
        new 
    players[32],pnum;
        
    get_players(players,pnum,"b")
        for(new 
    i=pnum i++)
            {
                
    set_dhudmessage(g_iRedg_iGreeng_iBlue, -1.00.0212.012.02.02.0true);
                
    show_dhudmessage(i,szMessage);
            }
        
    g_counter++;
    }

    public 
    clrscr()
    {
        for(new 
    i8i++)
            
    show_dhudmessage(0,"");
    }
     
  15. pUzzlik Пользователь

    Регистрация:
    06.05.15
    Сообщения:
    878
    Симпатии:
    298
    Пол:
    Мужской
    pm-04, Зачём изобретать велосепед? DHUD_Adverts пользуйтесь поиском!
     
    DoMoBou нравится это.
  16. MakapoH. Команда форума

    Регистрация:
    06.02.16
    Сообщения:
    715
    Симпатии:
    275
    Пол:
    Мужской
    Скорее всего, он не ставит его из-за особенностей этого плагина.
     
  17. pUzzlik Пользователь

    Регистрация:
    06.05.15
    Сообщения:
    878
    Симпатии:
    298
    Пол:
    Мужской
    MakapoH., Подумаешь нет эфектов мерцания, и нет cfg файла. Мерцания можно доделать самому, зато минусов нет. Все настраиваеться в исходнике все удобно :) есть версия как для reapi так и в последнем сообщении обычная так и для всех, не только мертвых.
     
  18. pm-04 Пользователь

    Регистрация:
    02.02.16
    Сообщения:
    609
    Симпатии:
    80
    Пол:
    Мужской
    pUzzlik, я видел, поэтому создалась идея переделать данный метод) нужно именно вывод из файла, не хочется каждый раз перекомпилировать плагин
    --- добавлено 03.06.16 ---
    MakapoH., в чем здесь DHUD Advert ошибка?) почему-то вообще не выводит сообщения
    --- добавлено 03.06.16 ---
    pUzzlik, почему-то мне казалось труднее сделать вывод из файла чем добавить фильтр
     
  19. MakapoH. Команда форума

    Регистрация:
    06.02.16
    Сообщения:
    715
    Симпатии:
    275
    Пол:
    Мужской
    Код:
    show_dhudmessage(i,szMessage)
    
    --->
    Код:
    show_dhudmessage(players[i],szMessage)
    
     
  20. pUzzlik Пользователь

    Регистрация:
    06.05.15
    Сообщения:
    878
    Симпатии:
    298
    Пол:
    Мужской
    pm-04,
    >>>
    Код:
    show_dhudmessage(players[i],szMessage);
    еще раз перечитай про get_players