помогите с плагином

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
26
Реакции
5
Ошибка
вроди работает но ошибку видает
помогите с плагином ошибку видает
L 01/22/2024 - 23:54:58: [AMXX] Run time error 4 (plugin "re_welcome_msg.amxx") - debug not enabled!
L 01/22/2024 - 23:54:58: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
ОС
Windows
Amx Mod X
Amx Mod X  1.9.
Билд
re_welcome_msg.amxx
ReGamedll
ReGamedll
Версия Metamod
1,9,0
Список метамодулей
re_welcome_msg.amxx
Список плагинов
re_welcome_msg.amxx
Автор плагина
re_welcome_msg.amxx
Версия плагина
re_welcome_msg.amxx
Исходный код
#include <amxmodx>
#include <reapi>

#if AMXX_VERSION_NUM < 183
#include <hudmessage>
#endif
#if !defined MAX_PLAYERS
#define MAX_PLAYERS 32 // Не трогаем, это нам ни к чему
#endif

#pragma semicolon 1
new const szSound[][] = // Пути к звукам
{
"misc/dp_pruvit/1.wav",
"misc/dp_pruvit/2.wav",
"misc/dp_pruvit/3.wav",
"misc/dp_pruvit/4.wav",
"misc/dp_pruvit/5.wav"
};

new const szServerName[] = "Кращому сервері України"; // Название сервера
new bool:g_bUseShow[MAX_CLIENTS+1], g_iFlags[MAX_PLAYERS];

public plugin_precache() {
for(new i; i < sizeof szSound; i++)
precache_sound(szSound[i]);
}

public plugin_init() {
register_plugin("Welcome in the Server", "0.1", "pUzzlik");
RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn_Post", true);
}

public client_putinserver(id) {
new iSound = random_num(0, (sizeof szSound-1));
client_cmd(id, "spk %s", szSound[iSound]);

g_bUseShow[id] = true;
new iFlags = get_user_flags(id);
g_iFlags[id] = (iFlags & ADMIN_BAN) ? 1 : (iFlags & ADMIN_LEVEL_H) ? 2 : 0;
}

public CBasePlayer_Spawn_Post(const id) {
if(is_user_connected(id) && g_bUseShow[id]) {
g_bUseShow[id] = false;

set_dhudmessage(0, 255, 255, -1.0, 0.31, 2, 6.0, 12.0);
switch(g_iFlags[id]) {
case 0: show_hudmessage(id, "Вітаємо тебе, Гравець!^nПриємної гри на %s", szServerName);
case 1: show_hudmessage(id, "Вітаємо тебе, Адміністратор!^nПриємної гри на %s", szServerName);
case 2: show_hudmessage(id, "Вітаємо тебе, VIP-Гравець!^nПриємної гри на %s", szServerName);
}
}
}
плс помогите
 
В этой теме было размещено решение! Перейти к решению.

Вложения

fgd

Сообщения
92
Реакции
25
Помог
12 раз(а)
flinken, зайди в plugin.ini и напиши debug на против re_welcome_msg.amxx, тогда в консоле напишет строку на которой у тебя ошибка.
Хотя у меня он скомпилировался без проблем и не выдаёт ошибки.
 
  • Нравится
Реакции: b0t.

fgd

Сообщения
92
Реакции
25
Помог
12 раз(а)
flinken, не правильно задан размер массива.
C++:
#if !defined MAX_PLAYERS
    #define MAX_PLAYERS 32    // Не трогаем, это нам ни к чему
#endif

new g_iFlags[MAX_PLAYERS];
Надо исправить
C++:
new g_iFlags[MAX_CLIENTS + 1];
23 Янв 2024
flinken, Так же добавь проверку что игрок подключён в client_putinserver.

C++:
public client_putinserver(id)
{
    if(!is_user_connected(id))
        return;

    client_cmd(id, "spk %s", szSound[random_num(0, charsmax(szSound))]);
   
    g_bUseShow[id] = true;
    new iFlags = get_user_flags(id);
    g_iFlags[id] = (iFlags & ADMIN_BAN) ? 1 : (iFlags & ADMIN_LEVEL_H) ? 2 : 0;
}
 
Сообщения
1,082
Реакции
58
Помог
11 раз(а)
flinken, раз ошибка, при отсуствии debug:
L 01/22/2024 - 23:54:58: [AMXX] Run time error 4 (plugin "re_welcome_msg.amxx") - debug not enabled!
То скорее всего в твоём случае, это будет выход за пределы массива, из-за g_iFlags[MAX_PLAYERS], если 32 игрока на сервере. Если полагаться на то, что у тебя нет проверки на connect игрока, то прилетела бы такая к примеру ошибка:
 
Последнее редактирование:
Сообщения
26
Реакции
5
fgd, понял счас буду тестировать я сделал так

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

#if AMXX_VERSION_NUM < 183
    #include <dhudmessage>
#endif
#if !defined MAX_PLAYERS
    #define MAX_PLAYERS 32    // Не трогаем, это нам ни к чему
#endif

#pragma semicolon 1
new const szSound[][] =    // Пути к звукам
{
    "misc/dp_pruvit/1.wav",
    "misc/dp_pruvit/2.wav",
    "misc/dp_pruvit/3.wav",
    "misc/dp_pruvit/4.wav",
    "misc/dp_pruvit/5.wav"
};

new const szServerName[] = "Кращому сервері України";    // Название сервера
new bool:g_bUseShow[MAX_CLIENTS+1], g_iFlags[MAX_CLIENTS + 1];

public plugin_precache() {
    for(new i; i < sizeof szSound; i++)
        precache_sound(szSound);
}

public plugin_init() {
    register_plugin("Welcome in the Server", "0.1", "pUzzlik");
    RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn_Post", true);
}

public client_putinserver(id)
{
    if(!is_user_connected(id))
        return;

    client_cmd(id, "spk %s", szSound[random_num(0, charsmax(szSound))]);
   
    g_bUseShow[id] = true;
    new iFlags = get_user_flags(id);
    g_iFlags[id] = (iFlags & ADMIN_BAN) ? 1 : (iFlags & ADMIN_LEVEL_H) ? 2 : 0;
}

public CBasePlayer_Spawn_Post(const id) {
    if(is_user_connected(id) && g_bUseShow[id]) {
        g_bUseShow[id] = false;

        set_dhudmessage(0, 255, 255, -1.0, 0.31, 2, 6.0, 12.0);
        switch(g_iFlags[id]) {
            case 0: show_dhudmessage(id, "Вітаємо тебе, Гравець!^nПриємної гри", szServerName);
            case 1: show_dhudmessage(id, "Вітаємо тебе, Адміністратор!^nПриємної гри", szServerName);
            case 2: show_dhudmessage(id, "Вітаємо тебе, VIP-Гравець!^nПриємної гри", szServerName);
        }
    }
}
 
Последнее редактирование модератором:
Сообщения
1,082
Реакции
58
Помог
11 раз(а)
flinken, надо было всё-же прописать debug в названии плагина, что бы раскрыть причину твоей ошибки и правильно назвать тему! Что бы ты в следующий раз, в поисковиек нашёл ответ, а то еще лет пять будем копипастить эти темы
 
Сообщения
26
Реакции
5
Code_0xABC, сейчас попробую так сначала а потом уже пропишу debug
а в в первом варианте плагина он начинал выбрасывать ошибки тогда когда играло 32 человека
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу