ошибка во время компиляции

Сообщения
37
Реакции
0
Ошибка
//AMXXPC compile.exe
// by the AMX Mod X Dev Team


//// server_menu_v2.sma
//
// C:\Users\Opa\Desktop\scripting Linux Bolo\server_menu_v2.sma(47) : error 017: undefined symbol "ShowMsg"
// C:\Users\Opa\Desktop\scripting Linux Bolo\server_menu_v2.sma(55 -- 56) : warning 215: expression has no effect
//
// 1 Error.
// Could not locate output file C:\Users\Opa\Desktop\scripting Linux Bolo\compiled\server_menu_v2.amx (compile failed).
//
// Compilation Time: 0,16 sec
// ----------------------------------------

Press enter to exit ...
Компилятор
Локальный
Amx Mod X
1.9.0
Исходный код
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Server_Menu"
#define VERSION "0.2.1"
#define AUTHOR "Opa"

/* СООБЩЯТЬ ИГРОКАМ, ЧТО УСТАНОВЛЕН ПЛАГИН ИЛИ НЕТ? В СЛУЧАЕ ОТКАЗА ЗАКОММЕНТИРОВАТЬ */
#define SAY_INFO

/* РАЗРЕШАТЬ СТИМ ИГРОКАМ ОТКРЫВАТЬ МЕНЮ? */
#define OPEN_STEAM

/* ПРЕФИКСЫ В ЧАТЕ И В МЕНЮ */
new const g_Prefix [ ][ ] =
{
"\d[ CSCONTROL.RU ]\r",
"!g[!t CSCONTROL.RU !g]!y"
};

#define SERVERS_FILE "Servers.ini"
#define MAX_SERVERS 32
#define MAX_CHARACTERS 63

new g_servers[MAX_SERVERS][2][MAX_CHARACTERS+1],
g_number_server,
cvar_pokaz_ip;

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);

register_clcmd("say /server", "show_server");
register_clcmd("say_team /server", "show_server");

cvar_pokaz_ip = register_cvar("server_show_ip", "1");

set_task(4.0, "load_servers");

#if defined SAY_INFO
set_task ( 130.0, "print_informer", _, _, _, "b" )
#endif
}

#if defined SAY_INFO
public print_informer ( )
{
ShowMsg ( 0, "%s Дорогой игрок, что бы перейти на другой сервер напишите!t /server", g_Prefix [ 1 ] )
}
#endif

public open_servers_list ( id )
{

#if defined OPEN_STEAM
PLUGIN_CONTINUE
#else
if ( is_user_steam ( id ) )
{
ShowMsg ( id, "%s Администрация запретила открытия меню у !tSTEAM!y игроков.", g_Prefix [ 1 ] )
return PLUGIN_HANDLED
}
#endif

}

public load_servers() {
new file_serwers[64];
get_configsdir(file_serwers, 63);
formatex(file_serwers, 63, "%s/%s", file_serwers, SERVERS_FILE);

g_number_server = 0;

new fHandle = fopen(file_serwers, "rt");

if(fHandle) {
new data_server[128];

while(g_number_server<MAX_SERVERS && !feof(fHandle)) {
fgets(fHandle, data_server, 127);

if(!data_server[0] || data_server[0] == ' ' || data_server[0] == ';')
continue;

if(parse(data_server, g_servers[g_number_server][0], MAX_CHARACTERS, g_servers[g_number_server][1], MAX_CHARACTERS) != 2)
continue;

++g_number_server;
}
fclose(fHandle);
}
else
log_amx("DakavshireBa Ver XerxDeBa '%s'", file_serwers);
}

public show_server(id) {
new menu = menu_create("S E R V E R E B I:", "show_server_handle");


for(new i=0,formats[256],pokaz=get_pcvar_num(cvar_pokaz_ip); i<g_number_server; ++i) {
formatex(formats, 255, "%s%s%s", g_servers[i][0], pokaz ? " - \y" : "", pokaz ? g_servers[i][1] : "");
menu_additem(menu, formats);
}
menu_setprop(menu, MPROP_BACKNAME, "Ukan");
menu_setprop(menu, MPROP_NEXTNAME, "Shemdegi");
menu_setprop(menu, MPROP_EXITNAME, "GamosvLa");
menu_display(id, menu);

return PLUGIN_HANDLED;
}

public show_server_handle(id, menu, item) {
if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
client_cmd(id,"echo ^"^";^"Connect^" %s", g_servers[item][1]);
client_cmd(id,"^"connect^"%s", g_servers[item][1]);

menu_destroy(menu);
return PLUGIN_HANDLED;
}
Привет всем
у меня проблема
Переключение на другой сервер не работает
Как это исправить, помогите пожалуйста
заранее спасибо
---------------------------------
Некоторые функции я взял из другого плагина
Может быть, я сделал это неправильно
Потому что я не понимаю скриптов
Теперь расскажу какие функции я взял из другого плагина
И зачем я это взял?
Этот плагин работал, но, например, не отображал меню для игроков Steam.
/сервер *
---------------------------
Некоторые функции
--------------------------
/* СООБЩЯТЬ ИГРОКАМ, ЧТО УСТАНОВЛЕН ПЛАГИН ИЛИ НЕТ? В СЛУЧАЕ ОТКАЗА ЗАКОММЕНТИРОВАТЬ */
#define SAY_INFO



/* РАЗРЕШАТЬ СТИМ ИГРОКАМ ОТКРЫВАТЬ МЕНЮ? */
#define OPEN_STEAM

{
"\d[ CSCONTROL.RU ]\r",
"!g[!t CSCONTROL.RU !g]!y"
};

#if defined SAY_INFO
set_task ( 130.0, "print_informer", _, _, _, "b" )
#endif
}

#if defined SAY_INFO
public print_informer ( )
{
ShowMsg ( 0, "%s Дорогой игрок, что бы перейти на другой сервер напишите!t /server", g_Prefix [ 1 ] )
}
#endif

public open_servers_list ( id )
{

#if defined OPEN_STEAM
PLUGIN_CONTINUE
#else
if ( is_user_steam ( id ) )
{
ShowMsg ( id, "%s Администрация запретила открытия меню у !tSTEAM!y игроков.", g_Prefix [ 1 ] )
return PLUGIN_HANDLED
}
#endif
 

Вложения

Сообщения
397
Реакции
221
Помог
13 раз(а)
vato35,

  1. Функция ShowMsg ни где не зарегистрирована. Я подозреваю, что это был какой-то stock;
  2. Дефайн использован не верно. Сама структура в теле функции обработчика open_servers_list не верна. Да и к тому же на неё нет ни где ссылки;

Вам проще обратиться в раздел Заказы.
 
Сообщения
1,082
Реакции
58
Помог
11 раз(а)
vato35,
Код:
#if defined OPEN_STEAM
    PLUGIN_CONTINUE
#else
А как это понимать PLUGIN_CONTINUE?

И не хорошо так делать!!!
client_cmd(id,"^"connect^"%s", g_servers[item][1]);
 
Последнее редактирование:
Сообщения
37
Реакции
0
понятия не имею вообще
Можете ли вы указать мне на конкретный абзац?
 
Сообщения
1,082
Реакции
58
Помог
11 раз(а)
vato35, а ты как я понял, хочешь игрока приконектить к другому серверу??? Так не получится, так как уже почти в каждом клиенте есть защита, от добрых и настойчивых серведержателей
 
Сообщения
37
Реакции
0
Я не хочу телепортировать игрока на другой сервер
Простой игрок может
Выбрать другой сервер
Когда он набирает /server
27 Июн 2024
Могу загрузить плагин, который работает
Проблема только со Стимом
Но если мы сможем создать эту функцию, я думаю, она сработает.
 

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

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