dmitriimail
Новичок
- Сообщения
- 50
- Решения
- 2
- Реакции
- 2
Log:
L 02/23/2020 - 22:16:31: Start of error session.
L 02/23/2020 - 22:16:31: Info (map "cs_mansion") (file "addons/amxmodx/logs/error_20200223.log")
L 02/23/2020 - 22:16:31: replace() buffer not big enough (93>=87)
L 02/23/2020 - 22:16:31: [AMXX] Run time error 10 (plugin "dhud_advert.amxx") (native "replace") - debug not enabled!
L 02/23/2020 - 22:16:31: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
исходник:
#include <amxmodx>
#include <dhudmessage>
#define INTERVAL 10.0 //Интервал между сообщениями (Время показа одного сообщения).
//#define DEATH_PLAYERS //Раскомментируйте, если хотите показывать сообщения только мертвым игрокам.
new Array:g_apMessages, g_iCounter, g_iArraySize, g_pcvar_hostname;
public plugin_init()
{
register_plugin("DHUD Advert.", "2.0", "DUKKHAZ0R");
g_pcvar_hostname = get_cvar_pointer("hostname");
g_apMessages = ArrayCreate(128);
}
public plugin_cfg()
{
new szFile[] = "addons/amxmodx/configs/dhud_advert.ini";
new szHostname[64], szIP[32];
get_user_ip(0, szIP, charsmax(szIP));
get_pcvar_string(g_pcvar_hostname, szHostname, 63);
new fp, szLine[256];
fp = fopen(szFile, "rt");
if(!fp)
set_fail_state("Enable to open ^"addons/amxmodx/configs/dhud_advert.ini^"");
while(!feof(fp))
{
fgets(fp, szLine, charsmax(szLine));
if(szLine[0] && szLine[0] != ';' && strlen(szLine) < 128)
{
replace_all(szLine, charsmax(szLine), "%ip%", szIP);
replace_all(szLine, charsmax(szLine), "%hostname%", szHostname);
replace_all(szLine, charsmax(szLine), "%new%", "^n");
ArrayPushArray(g_apMessages, szLine);
}
}
g_iArraySize = ArraySize(g_apMessages);
fclose(fp);
set_task(12.0, "ShowAdvert", .flags="b");
}
public ShowAdvert()
{
static i, apPlayers[32], iPlayers;
#if defined DEATH_PLAYERS
get_players(apPlayers, iPlayers, "bch");
#else
get_players(apPlayers, iPlayers, "ch");
#endif
static szMessage[128], szName[32];
ArrayGetString(g_apMessages, g_iCounter, szMessage, charsmax(szMessage));
set_dhudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.15, 0, 2.0, INTERVAL, 0.1, 0.1, false);
for(i = 0; i < iPlayers; i++)
{
replace_all(szMessage, charsmax(szMessage), szName, "%name%");
get_user_name(apPlayers, szName, charsmax(szName));
replace_all(szMessage, charsmax(szMessage), "%name%", szName);
show_dhudmessage(apPlayers, szMessage);
}
if(++g_iCounter >= g_iArraySize)
g_iCounter = 0;
}
Может кто сталкивался??
L 02/23/2020 - 22:16:31: Start of error session.
L 02/23/2020 - 22:16:31: Info (map "cs_mansion") (file "addons/amxmodx/logs/error_20200223.log")
L 02/23/2020 - 22:16:31: replace() buffer not big enough (93>=87)
L 02/23/2020 - 22:16:31: [AMXX] Run time error 10 (plugin "dhud_advert.amxx") (native "replace") - debug not enabled!
L 02/23/2020 - 22:16:31: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
исходник:
#include <amxmodx>
#include <dhudmessage>
#define INTERVAL 10.0 //Интервал между сообщениями (Время показа одного сообщения).
//#define DEATH_PLAYERS //Раскомментируйте, если хотите показывать сообщения только мертвым игрокам.
new Array:g_apMessages, g_iCounter, g_iArraySize, g_pcvar_hostname;
public plugin_init()
{
register_plugin("DHUD Advert.", "2.0", "DUKKHAZ0R");
g_pcvar_hostname = get_cvar_pointer("hostname");
g_apMessages = ArrayCreate(128);
}
public plugin_cfg()
{
new szFile[] = "addons/amxmodx/configs/dhud_advert.ini";
new szHostname[64], szIP[32];
get_user_ip(0, szIP, charsmax(szIP));
get_pcvar_string(g_pcvar_hostname, szHostname, 63);
new fp, szLine[256];
fp = fopen(szFile, "rt");
if(!fp)
set_fail_state("Enable to open ^"addons/amxmodx/configs/dhud_advert.ini^"");
while(!feof(fp))
{
fgets(fp, szLine, charsmax(szLine));
if(szLine[0] && szLine[0] != ';' && strlen(szLine) < 128)
{
replace_all(szLine, charsmax(szLine), "%ip%", szIP);
replace_all(szLine, charsmax(szLine), "%hostname%", szHostname);
replace_all(szLine, charsmax(szLine), "%new%", "^n");
ArrayPushArray(g_apMessages, szLine);
}
}
g_iArraySize = ArraySize(g_apMessages);
fclose(fp);
set_task(12.0, "ShowAdvert", .flags="b");
}
public ShowAdvert()
{
static i, apPlayers[32], iPlayers;
#if defined DEATH_PLAYERS
get_players(apPlayers, iPlayers, "bch");
#else
get_players(apPlayers, iPlayers, "ch");
#endif
static szMessage[128], szName[32];
ArrayGetString(g_apMessages, g_iCounter, szMessage, charsmax(szMessage));
set_dhudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.15, 0, 2.0, INTERVAL, 0.1, 0.1, false);
for(i = 0; i < iPlayers; i++)
{
replace_all(szMessage, charsmax(szMessage), szName, "%name%");
get_user_name(apPlayers, szName, charsmax(szName));
replace_all(szMessage, charsmax(szMessage), "%name%", szName);
show_dhudmessage(apPlayers, szMessage);
}
if(++g_iCounter >= g_iArraySize)
g_iCounter = 0;
}
Может кто сталкивался??