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

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

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

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

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

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

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

     

    Вложения:

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

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

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

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

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

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

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

    Вложения:

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

    Регистрация:
    02.02.16
    Сообщения:
    603
    Симпатии:
    79
    Пол:
    Мужской
    Сделал только для мертвых, не пашет, помогите
    PHP:
    1. #include <amxmodx>
    2. #include <amxmisc>
    3. #include <dhudmessage>
    4.  
    5. #define INTERVAL 13 //С каким интервалом выводить сообщения(сек.)
    6.  
    7. new Array:g_Messages;
    8. new g_ArraySize, g_counter;
    9.  
    10. public plugin_init()
    11. {
    12.     register_plugin( "dhud advert", "1.0", "DUKKHAZ0R" );
    13.  
    14.  
    15.     g_Messages = ArrayCreate(128);
    16.     set_task( INTERVAL.0,"show_advert",.flags="b");
    17. }
    18.  
    19. public plugin_cfg()
    20. {
    21.     new cfgsdir[128];
    22.     get_configsdir(cfgsdir,charsmax(cfgsdir));
    23.     add(cfgsdir,charsmax(cfgsdir),"/dhud_advert.ini");
    24.  
    25.     if(!file_exists(cfgsdir))
    26.     {
    27.         new szError[256];
    28.         formatex(szError,charsmax(szError),"Enable to open ^"%s^"!",cfgsdir);
    29.         set_fail_state(szError);
    30.     }
    31.  
    32.     new i_File,szLine[256];
    33.  
    34.     i_File = fopen(cfgsdir,"rt");
    35.  
    36.     while(i_File && !feof(i_File))
    37.     {
    38.         fgets(i_File,szLine,charsmax(szLine));
    39.      
    40.         if(!szLine[0] || szLine[0] == ';' || szLine[0] == '/' && szLine[1] == '/' || strlen(szLine) >= 128)
    41.             continue;
    42.      
    43.         remove_quotes(szLine);
    44.         ArrayPushString(g_Messages,szLine);
    45.     }
    46.  
    47.     g_ArraySize = ArraySize(g_Messages);
    48.     fclose(i_File);
    49. }
    50.  
    51. public show_advert()
    52. {
    53.     clrscr();
    54.  
    55.     if(g_counter >= g_ArraySize)
    56.         g_counter = 0;
    57.     static i, g_MaxPlayers;
    58.     new szMessage[128];
    59.     ArrayGetString(g_Messages,g_counter,szMessage,charsmax(szMessage));
    60.  
    61.     new g_iRed = random_num(1,255),g_iGreen = random_num(1,255),g_iBlue = random_num(1,255);
    62.  
    63.     if(!g_MaxPlayers) g_MaxPlayers = get_maxplayers();
    64.     for(i = 1; i <= g_MaxPlayers; i++)
    65.     {
    66.         if(!is_user_alive(i))
    67.         {
    68.             set_dhudmessage(g_iRed, g_iGreen, g_iBlue, -1.0, 0.02, 1, 2.0, 12.0, 2.0, 2.0, true);
    69.             show_dhudmessage(i,szMessage);
    70.         }
    71.     }
    72.  
    73.     g_counter++;
    74. }
    75.  
    76. public clrscr()
    77. {
    78.     for(new i; i < 8; i++)
    79.         show_dhudmessage(0,"");
    80. }
     
  9. MakapoH. Команда форума

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

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

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

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

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

    Регистрация:
    02.02.16
    Сообщения:
    603
    Симпатии:
    79
    Пол:
    Мужской
    так?
    PHP:
    1. #include <amxmodx>
    2. #include <amxmisc>
    3. #include <dhudmessage>
    4.  
    5. #define INTERVAL 13 //С каким интервалом выводить сообщения(сек.)
    6.  
    7. new Array:g_Messages;
    8. new g_ArraySize, g_counter;
    9.  
    10. public plugin_init()
    11. {
    12.     register_plugin( "dhud advert", "1.0", "DUKKHAZ0R" );
    13.    
    14.    
    15.     g_Messages = ArrayCreate(128);
    16.     set_task( INTERVAL.0,"show_advert",.flags="b");
    17. }
    18.  
    19. public plugin_cfg()
    20. {
    21.     new cfgsdir[128];
    22.     get_configsdir(cfgsdir,charsmax(cfgsdir));
    23.     add(cfgsdir,charsmax(cfgsdir),"/dhud_advert.ini");
    24.    
    25.     if(!file_exists(cfgsdir))
    26.     {
    27.         new szError[256];
    28.         formatex(szError,charsmax(szError),"Enable to open ^"%s^"!",cfgsdir);
    29.         set_fail_state(szError);
    30.     }
    31.    
    32.     new i_File,szLine[256];
    33.    
    34.     i_File = fopen(cfgsdir,"rt");
    35.    
    36.     while(i_File && !feof(i_File))
    37.     {
    38.         fgets(i_File,szLine,charsmax(szLine));
    39.        
    40.         if(!szLine[0] || szLine[0] == ';' || szLine[0] == '/' && szLine[1] == '/' || strlen(szLine) >= 128)
    41.             continue;
    42.        
    43.         remove_quotes(szLine);
    44.         ArrayPushString(g_Messages,szLine);
    45.     }
    46.    
    47.     g_ArraySize = ArraySize(g_Messages);
    48.     fclose(i_File);
    49. }
    50.  
    51. public show_advert()
    52. {
    53.     clrscr();
    54.    
    55.     if(g_counter >= g_ArraySize)
    56.         g_counter = 0;
    57.     new szMessage[128];
    58.     ArrayGetString(g_Messages,g_counter,szMessage,charsmax(szMessage));  
    59.     new g_iRed = random_num(1,255),g_iGreen = random_num(1,255),g_iBlue = random_num(1,255);
    60.     new players[32],pnum;
    61.     get_players(players,pnum,"b")
    62.     for(new i=1 ; i < pnum ; i++)
    63.         {
    64.             set_dhudmessage(g_iRed, g_iGreen, g_iBlue, -1.0, 0.02, 1, 2.0, 12.0, 2.0, 2.0, true);
    65.             show_dhudmessage(i,szMessage);
    66.         }
    67.     g_counter++;
    68. }
    69.  
    70. public clrscr()
    71. {
    72.     for(new i; i < 8; i++)
    73.         show_dhudmessage(0,"");
    74. }
     
  15. pUzzlik Пользователь

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

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

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

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

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

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