сделать постоянный вывод hud

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
доброе утро! помогите убрать вывод в чат и сделать постоянный показ hud (мертвым и спектрам) сколько чел посетило сервер за сутки, остальное убрать
Код:
#include < amxmodx >
#include < nvault >
#include < colorchat >

new hNvault, connects, gMax, connect[33];//, Float: gTime;

#define TASK         92512
#define TIME_TASK    92513

#define TIME         300.0        //время в секундах

public plugin_init(){
    register_plugin("InfoConnects", "1.0", "PAffAEJIkA :3");
    nvOpen();   
    
    connects = nvault_get(hNvault, "CONNECTS");
    
    new szDate[16], szData[16];    get_time("%H:%M", szDate, charsmax(szDate));
    strtok(szDate, szDate, charsmax(szDate), szData, charsmax(szData), ':');
    if(str_to_num(szDate) == 23){
        new szTime = (60 - str_to_num(szData)) * 60;   
        set_task(float(szTime), "changeVault", TASK);
    }
    
    gMax = get_maxplayers();
    set_task(TIME, "pchat", TIME_TASK, .flags = "b");
    //register_logevent("round_start", 2, "1=Round_Start");
}

public client_putinserver(id){
    if(is_user_bot(id) || is_user_hltv(id))   
        return;
    
    new szSteam[35];   
    get_user_authid(id, szSteam, charsmax(szSteam));
    connect[id] = nvault_get(hNvault, szSteam);
    
    if(!connect[id]){
        connects ++;
        
        new string[8];   
        formatex(string, charsmax(string), "%d", connects);
        nvault_set(hNvault, "CONNECTS", string);
        
        nvault_set(hNvault, szSteam, "1");
    }
}

public pchat()
    client_print_color(0, 0, "^1[^4Счетчик|18+|^1] ^3Сейчас ^1на ^3сервере^1:^4 %d/%d^3. Всего ^1сегодня ^3заходило^4 %d^3 человек(а)^1!", get_playersnum(), gMax, connects);

/*public round_start(){
    if(gTime > get_gametime())
        return;
    
    gTime = get_gametime() + TIME;
    client_print_color(0, 0, "^1[^4Счетчик|18+|^1] ^3Сейчас ^1на ^3сервере^1:^4 %d/%d^3. Всего ^1сегодня ^3заходило^4 %d^3 человек(а)^1!", get_playersnum(), gMax, connects);
}*/

public nvOpen(){
    new szDate[3];   
    get_time("%d", szDate, charsmax(szDate));
    
    new szVName[64];   
    formatex(szVName, charsmax(szVName), "CONNECTS%d", str_to_num(szDate));
    
    hNvault = nvault_open(szVName);
    if(hNvault == INVALID_HANDLE)   
        set_fail_state("Fail open NVAULT file!");
    
    new szFile[128];   
    formatex(szFile, charsmax(szFile), "addons/amxmodx/data/vault/CONNECTS%d.vault", str_to_num(szDate) - 2);
    
    if(file_exists(szFile))   
        delete_file(szFile);
}

public changeVault(){
    new players[32];   
    get_players(players, connects, "ch");
    
    nvault_close(hNvault);       
    nvOpen();
}
 

Vaqtincha

aggressive
Разработчик
Скриптер
Регистрация
28 Янв 2018
Сообщения
963
Симпатии
685
Пол
Мужской
Где попытки ? Или "за меня сделай" ?
Постоянный худ это затратно каналу игрока + и ему неинтересно сколько чел посетил за сутки. Основном смотрят сколько чел играет на данный момент.
 

Night_Guest

Пользователь
Регистрация
3 Май 2020
Сообщения
11
Симпатии
1
доброе утро! помогите убрать вывод в чат и сделать постоянный показ hud (мертвым и спектрам) сколько чел посетило сервер за сутки, остальное убрать
Код:
#include < amxmodx >
#include < nvault >
#include < colorchat >

new hNvault, connects, gMax, connect[33];//, Float: gTime;

#define TASK         92512
#define TIME_TASK    92513

#define TIME         300.0        //время в секундах

public plugin_init(){
    register_plugin("InfoConnects", "1.0", "PAffAEJIkA :3");
    nvOpen(); 
  
    connects = nvault_get(hNvault, "CONNECTS");
  
    new szDate[16], szData[16];    get_time("%H:%M", szDate, charsmax(szDate));
    strtok(szDate, szDate, charsmax(szDate), szData, charsmax(szData), ':');
    if(str_to_num(szDate) == 23){
        new szTime = (60 - str_to_num(szData)) * 60; 
        set_task(float(szTime), "changeVault", TASK);
    }
  
    gMax = get_maxplayers();
    set_task(TIME, "pchat", TIME_TASK, .flags = "b");
    //register_logevent("round_start", 2, "1=Round_Start");
}

public client_putinserver(id){
    if(is_user_bot(id) || is_user_hltv(id)) 
        return;
  
    new szSteam[35]; 
    get_user_authid(id, szSteam, charsmax(szSteam));
    connect[id] = nvault_get(hNvault, szSteam);
  
    if(!connect[id]){
        connects ++;
      
        new string[8]; 
        formatex(string, charsmax(string), "%d", connects);
        nvault_set(hNvault, "CONNECTS", string);
      
        nvault_set(hNvault, szSteam, "1");
    }
}

public pchat()
    client_print_color(0, 0, "^1[^4Счетчик|18+|^1] ^3Сейчас ^1на ^3сервере^1:^4 %d/%d^3. Всего ^1сегодня ^3заходило^4 %d^3 человек(а)^1!", get_playersnum(), gMax, connects);

/*public round_start(){
    if(gTime > get_gametime())
        return;
  
    gTime = get_gametime() + TIME;
    client_print_color(0, 0, "^1[^4Счетчик|18+|^1] ^3Сейчас ^1на ^3сервере^1:^4 %d/%d^3. Всего ^1сегодня ^3заходило^4 %d^3 человек(а)^1!", get_playersnum(), gMax, connects);
}*/

public nvOpen(){
    new szDate[3]; 
    get_time("%d", szDate, charsmax(szDate));
  
    new szVName[64]; 
    formatex(szVName, charsmax(szVName), "CONNECTS%d", str_to_num(szDate));
  
    hNvault = nvault_open(szVName);
    if(hNvault == INVALID_HANDLE) 
        set_fail_state("Fail open NVAULT file!");
  
    new szFile[128]; 
    formatex(szFile, charsmax(szFile), "addons/amxmodx/data/vault/CONNECTS%d.vault", str_to_num(szDate) - 2);
  
    if(file_exists(szFile)) 
        delete_file(szFile);
}

public changeVault(){
    new players[32]; 
    get_players(players, connects, "ch");
  
    nvault_close(hNvault);     
    nvOpen();
}
Если очень нужно, можно посмотреть исходник зомби мода, там это уже реализовано.
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
Night_Guest, да я пробовал тоже с info_huda взять но не вышло
 

Night_Guest

Пользователь
Регистрация
3 Май 2020
Сообщения
11
Симпатии
1
Если хорошо пошевелить мозгами, то можно найти:
Кусок кода из зомби мода:
set_task(1.0, "ShowHUD", id+TASK_SHOWHUD, _, _, "b")
Исходя из этого, мы гуглим что такое "set_task", и находим следующее:
Далее складываем картинку воедино и выходит вечный hud.
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
Vaqtincha, (мертвым и спектрам)
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
сделал так но ошибочки
Код:
infoconnects (1).sma(19) : error 017: undefined symbol "nvOpen"
infoconnects (1).sma(31) : error 017: undefined symbol "id"
infoconnects (1).sma(31) : error 017: undefined symbol "TASK_SHOWHUD"
infoconnects (1).sma(31) : error 029: invalid expression, assumed zero
infoconnects (1).sma(31) : fatal error 107: too many error messages on one line
Код:
#include < amxmodx >
#include < nvault >

new hNvault, connects, gMax, connect[33];//, Float: gTime;

#define TASK         92512
#define TIME_TASK    92513

#define TIME         1.0        //время в секундах

public plugin_init(){
    register_plugin("InfoConnects", "1.0", "PAffAEJIkA :3");
    nvOpen();   
    
    connects = nvault_get(hNvault, "CONNECTS");
    
    new szDate[16], szData[16];    get_time("%H:%M", szDate, charsmax(szDate));
    strtok(szDate, szDate, charsmax(szDate), szData, charsmax(szData), ':');
    if(str_to_num(szDate) == 23){
        new szTime = (60 - str_to_num(szData)) * 60;   
        set_task(float(szTime), "changeVault", TASK);
    }
    
    gMax = get_maxplayers();
    set_task(1.0, "ShowHUD", id+TASK_SHOWHUD, _, _, "b");
    //register_logevent("round_start", 2, "1=Round_Start");
}

public client_putinserver(id){
    if(is_user_bot(id) || is_user_hltv(id))   
        return;
    
    new szSteam[35];   
    get_user_authid(id, szSteam, charsmax(szSteam));
    connect[id] = nvault_get(hNvault, szSteam);
    
    if(!connect[id]){
        connects ++;
        
        new string[8];   
        formatex(string, charsmax(string), "%d", connects);
        nvault_set(hNvault, "CONNECTS", string);
        
        nvault_set(hNvault, szSteam, "1");
    }
}

public task_dhudmsg(id)
{
    set_hudmessage(random_num(75, 0, 130), random_num(75, 0, 130), random_num(75, 0, 130), -1.0, 0.30)
    show_hudmessage(0, 0, "^1[^4Счетчик|18+|^1] ^3. Всего ^1сегодня ^3заходило^4 %d^3 человек(а)^1!", get_playersnum(), gMax, connects);

/*public round_start(){
    if(gTime > get_gametime())
        return;
    
    gTime = get_gametime() + TIME;
    set_hudmessage(random_num(75, 0, 130), random_num(75, 0, 130), random_num(75, 0, 130), -1.0, 0.30)
    show_hudmessage(0, 0, "^1[^4Счетчик|18+|^1] ^3Всего ^1сегодня ^3заходило^4 %d^3 человек(а)^1!", get_playersnum(), gMax, connects);
}*/

public nvOpen(){
    new szDate[3];   
    get_time("%d", szDate, charsmax(szDate));
    
    new szVName[64];   
    formatex(szVName, charsmax(szVName), "CONNECTS%d", str_to_num(szDate));
    
    hNvault = nvault_open(szVName);
    if(hNvault == INVALID_HANDLE)   
        set_fail_state("Fail open NVAULT file!");
    
    new szFile[128];   
    formatex(szFile, charsmax(szFile), "addons/amxmodx/data/vault/CONNECTS%d.vault", str_to_num(szDate) - 2);
    
    if(file_exists(szFile))   
        delete_file(szFile);
}

public changeVault(){
    new players[32];   
    get_players(players, connects, "ch");
    
    nvault_close(hNvault);       
    nvOpen();
}
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
помогите пожалуйста ребят:Fie:
 

pakilo

Пользователь
Регистрация
14 Июл 2017
Сообщения
63
Симпатии
7
Пол
Мужской
IIuToH, Не проверял.

Код:
#include < amxmodx >
#include < nvault >

new hNvault, connects, gMax, connect[33];//, Float: gTime;

#define TASK         92512
#define TIME_TASK    92513

#define Y_DEAD 0.68   // Координата игрик у мертвого игрока
#define X_DEAD 0.30  // Координата икс у мертвого игрока
#define TIMESHOW 2.0   // Время отображения HUD сообщения


new const g_szText_dead[] ={ "1[^4Счетчик|18+|^1] ^3. Всего ^1сегодня ^3заходило^4 %d^3 человек(а)^1!" };

public plugin_init(){
    register_plugin("InfoConnects", "1.0", "PAffAEJIkA :3");
    nvOpen();   
    
    connects = nvault_get(hNvault, "CONNECTS");
    
    new szDate[16], szData[16];    get_time("%H:%M", szDate, charsmax(szDate));
    strtok(szDate, szDate, charsmax(szDate), szData, charsmax(szData), ':');
    if(str_to_num(szDate) == 23){
        new szTime = (60 - str_to_num(szData)) * 60;   
        set_task(float(szTime), "changeVault", TASK);
    }
    
    gMax = get_maxplayers();
    set_task(TIMESHOW, "hud_message", TIME_TASK, .flags="b");
}

public client_putinserver(id){
    if(is_user_bot(id) || is_user_hltv(id))   
        return;
    
    new szSteam[35];   
    get_user_authid(id, szSteam, charsmax(szSteam));
    connect[id] = nvault_get(hNvault, szSteam);
    
    if(!connect[id]){
        connects ++;
        
        new string[8];   
        formatex(string, charsmax(string), "%d", connects);
        nvault_set(hNvault, "CONNECTS", string);
        
        nvault_set(hNvault, szSteam, "1");
    }
}

public hud_message()
{
   for(new i; i < 0; i++)
   {
        set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), Y_DEAD, X_DEAD, 0, 10.0, TIMESHOW, 0.0, 0.0, -1);
        ShowSyncHudMsg(0, 0, "%s", get_playersnum(), gMax, connects, g_szText_dead);
   }
}

public nvOpen(){
    new szDate[3];   
    get_time("%d", szDate, charsmax(szDate));
    
    new szVName[64];   
    formatex(szVName, charsmax(szVName), "CONNECTS%d", str_to_num(szDate));
    
    hNvault = nvault_open(szVName);
    if(hNvault == INVALID_HANDLE)   
        set_fail_state("Fail open NVAULT file!");
    
    new szFile[128];   
    formatex(szFile, charsmax(szFile), "addons/amxmodx/data/vault/CONNECTS%d.vault", str_to_num(szDate) - 2);
    
    if(file_exists(szFile))   
        delete_file(szFile);
}

public changeVault(){
    new players[32];   
    get_players(players, connects, "ch");
    
    nvault_close(hNvault);       
    nvOpen();
}
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
pakilo,
TIMESHOW 2.0? постоянно же?
pakilo, не не выводит ничего
 
Последнее редактирование:

pakilo

Пользователь
Регистрация
14 Июл 2017
Сообщения
63
Симпатии
7
Пол
Мужской
IIuToH, Попробуй...

Код:
#define Y_DEAD 0.01   // Координата игрик у мертвого игрока
#define X_DEAD 0.30  // Координата икс у мертвого игрока
#define TIMESHOW 1.0   // Время отображения HUD сообщения


public hud_message()
{
   for(new i = 1; i < gMax; ++i)
   {
      if(!is_user_alive(i))
      {
        set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), Y_DEAD, X_DEAD, 0, 10.0, TIMESHOW, 0.0, 0.0, -1);
        ShowSyncHudMsg(i, connects, "%s", g_szText_dead);
      }
   }
}
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
pakilo, работает но вместо количества игроков показывает %d
 

pakilo

Пользователь
Регистрация
14 Июл 2017
Сообщения
63
Симпатии
7
Пол
Мужской
IIuToH, забыл get_playersnum()

Код:
public hud_message()
{
   new players
   players = get_playersnum()
  
   for(new i = 1; i < gMax; ++i)
   {
      if(!is_user_alive(i))
      {
        set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), Y_DEAD, X_DEAD, 0, 10.0, TIMESHOW, 0.0, 0.0, -1);
        ShowSyncHudMsg(i, connects, "[Счетчик|18+|]. Всего сегодня заходило %d человек(а)!",  players);
      }
   }
}
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
pakilo, а вот это убрать?
new const g_szText_dead[] ={ "1[^4Счетчик|18+|^1] ^3. Всего ^1сегодня ^3заходило^4 %d^3 человек(а)^1!" };
 

pakilo

Пользователь
Регистрация
14 Июл 2017
Сообщения
63
Симпатии
7
Пол
Мужской
new const g_szText_dead[] удалите,
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
pakilo, спасибо друг помог, от души вам)))
а что бы худ не моргал вообще, непрерывно показывал (не в плане рандомного цвета - это я уберу)
 
Сверху Снизу