Ошибки при компиляции fb_forwards.sma

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
400
Реакции
147
Помог
11 раз(а)
Ошибка
//AMXXPC compile.exe
// by the AMX Mod X Dev Team

//// fb_forwards.sma
//
// D:\hlds\cstrike\addons\amxmodx\scripting\fb_forwards.sma(125) : error 017: un
defined symbol "admin"
// D:\hlds\cstrike\addons\amxmodx\scripting\fb_forwards.sma(125) : error 088: nu
mber of arguments does not match definition
// D:\hlds\cstrike\addons\amxmodx\scripting\fb_forwards.sma(130) : error 017: un
defined symbol "szAdmin"
// D:\hlds\cstrike\addons\amxmodx\scripting\fb_forwards.sma(130) : error 088: nu
mber of arguments does not match definition
// D:\hlds\cstrike\addons\amxmodx\scripting\fb_forwards.sma(131) : error 017: un
defined symbol "szTime"
// D:\hlds\cstrike\addons\amxmodx\scripting\fb_forwards.sma(131) : warning 215:
expression has no effect
// D:\hlds\cstrike\addons\amxmodx\scripting\fb_forwards.sma(131) : warning 215:
expression has no effect
// D:\hlds\cstrike\addons\amxmodx\scripting\fb_forwards.sma(131) : error 001: ex
pected token: ";", but found ")"
// D:\hlds\cstrike\addons\amxmodx\scripting\fb_forwards.sma(131) : error 029: in
valid expression, assumed zero
// D:\hlds\cstrike\addons\amxmodx\scripting\fb_forwards.sma(131) : fatal error 1
07: too many error messages on one line
//
// Compilation aborted.
// 8 Errors.
// Could not locate output file D:\hlds\cstrike\addons\amxmodx\scripting\compile
d\fb_forwards.amx (compile failed).
//
// Compilation Time: 0,12 sec
// ----------------------------------------

Press enter to exit ...
Компилятор
Локальный
Amx Mod X
1.9.0
Исходный код
#include <amxmodx>
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif
#define FB_WEBSITE "сайт.ru" // Ваш сайт
#define FB_MSGTYPE 3 // 0 - ничего не показывать | 1 - только чат | 2 - только Худ | 3 - чат + худ
#if FB_MSGTYPE > 1
//#define DHUD // Раскомментируйте для использования DHUD вместо HUD
#if (defined DHUD && AMXX_VERSION_NUM < 183)
#include <dhudmessage>
#endif
#endif
#define FB_HUDCOLOR 255255255 // Цвет Hud/Dhud сообщения. По умолчанию: 255255255
#define FB_INTERVAL 1.0 // Интервал между скринами. По умолчанию: 1.0
#define FB_SSNUM 5 // Кол-во скринов. По умолчанию: 5
//#define MOTD // Закомментировать, если не нужно отображение motd

forward fbans_player_banned_pre(id, userid);
#if defined MOTD
forward fbans_player_banned_post(id, userid, bid)

new url[33][128]
#endif
public plugin_init()
{
register_plugin("fb_forwards", "0.1.7", "Kanagava & Realution & neugomon");
register_clcmd("amx_screenmenu", "CmdScreenMenu", ADMIN_BAN);
}

public plugin_cfg()
{
server_cmd("amx_addmenuitem ^"Сделать скриншот игроку^" ^"amx_screenmenu^" ^"d^" ^"ScreenMaker^"");
server_exec();
}

public CmdScreenMenu(id, level)
{
if(~get_user_flags(id) & level)
{
client_print(id, print_notify, "* Недостаточно прав для использования этой команды!");
return PLUGIN_HANDLED;
}

new menu = menu_create("\d[\rScreenMenu\d] \yВыберите игрока", "players_menu");
new call = menu_makecallback("players_callback");

menu_setprop(menu, MPROP_EXITNAME, "Выход");
menu_setprop(menu, MPROP_BACKNAME, "Назад");
menu_setprop(menu, MPROP_NEXTNAME, "Далее");

new pl[32], pnum;
get_players(pl, pnum, "ch");

for(new i, pid[2], name[32]; i < pnum; i++)
{
pid[0] = pl[i];
get_user_name(pl[i], name, charsmax(name));
menu_additem(menu, name, pid, 0, call);
}

menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}

public players_callback(id, menu, item)
{
new pid[2], _access, callback;
new szItem[32], szNewItem[64];
menu_item_getinfo(menu, item, _access, pid, charsmax(pid), szItem, charsmax(szItem), callback);

if(pid[0] == id)
{
formatex(szNewItem, charsmax(szNewItem), "%s \d[\yВы\d]", szItem);
menu_item_setname(menu, item, szNewItem);
return ITEM_DISABLED;
}
else
{
new flags = get_user_flags(pid[0]);
static lastId, flagsId; if(id != lastId) flagsId = get_user_flags(id);

if(flags & ADMIN_IMMUNITY)
{
formatex(szNewItem, charsmax(szNewItem), "%s \d[\yИммунитет\d]", szItem);
menu_item_setname(menu, item, szNewItem);
return (flagsId & ADMIN_RCON) ? ITEM_ENABLED : ITEM_DISABLED;
}
else if(flags & ADMIN_MENU)
{
formatex(szNewItem, charsmax(szNewItem), "%s \d[\yАдмин\d]", szItem);
menu_item_setname(menu, item, szNewItem);
return (flagsId & ADMIN_RCON) ? ITEM_ENABLED : ITEM_DISABLED;
}
}
return ITEM_ENABLED;
}

public players_menu(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new pid[2], _access, call;
menu_item_getinfo(menu, item, _access, pid, charsmax(pid), .callback = call);

if(!is_user_connected(pid[0]))
client_print(id, print_chat, "* Игрок покинул сервер");
else
{
new name[32]; get_user_name(id, name, charsmax(name));
new name2[32]; get_user_name(pid[0], name2, charsmax(name2));
log_to_file("screen_maker.log", "Администратор %s сделал скрины игроку %s", name, name2);

ScreenAction(pid[0], id, 0);
}

menu_destroy(menu);
return PLUGIN_HANDLED;
}

public MakeScreen(id)
{
info(id, admin);

if(is_user_connected(id)) client_cmd(id, "snapshot");
else remove_task(id);

client_print_color(id, -2, "^1[^4screenshot^1] Администратор ^3[^4%s^3] ^1сделал вам снимок экрана", szAdmin);
client_print_color(id, -2, "^1[^4screenshot^1] Время ^3[^4%s^3]^1. Число скриншотов: ^3[^4%s^3]^1. Скинуть: ^3[^4%s^3]", szTime, FB_SSNUM, FB_WEBSITE);
}

ScreenAction(id, admin, ban)
{
info(id, admin);

if(admin) formatex(szHUD, charsmax(szHUD), "Время %s^nАдминистратор %s^nКарта %s^nСкинуть в %s^n", szTime, szAdmin, szMap, FB_WEBSITE);
else formatex(szHUD, charsmax(szHUD), "Время %s^nСервер %s^nКарта %s^nСкинуть в %s^n", szTime, szAdmin, szMap, FB_WEBSITE);

client_print_color(0, -2, "^1[^4screenshot^1] Администратор ^3[^4%s^3] ^1сделал игроку ^3[^4%s^3] скриншоты", szAdmin, szUser);

set_hudmessage(0, 200, 0, -1.0, 0.80, 0, 0.0, float(FB_SSNUM + 1), 0.0, 0.1, -1);
show_hudmessage(id, szHUD);

if(ban) client_cmd(id, "stop");
set_task(1.0, "MakeScreen", id, .parameter = "szAdmin, szTime", .flags = "a", .repeat = FB_SSNUM);
}

public fbans_player_banned_pre(id, userid)
{
if(!id || !is_user_connected(id) || get_user_userid(id)!=userid)
return PLUGIN_HANDLED;

static CurTime[24], szHostName[64], szBannedName[32], szIP[16], szAuthId[25];
get_user_name(0, szHostName, charsmax(szHostName));
get_user_name(id, szBannedName, charsmax(szBannedName));
get_user_authid(id, szAuthId, charsmax(szAuthId));
get_user_ip(id, szIP, charsmax(szIP), 1);
get_time("%d/%m/%Y - %H:%M:%S", CurTime, charsmax(CurTime));

switch(FB_MSGTYPE)
{
case 1: SendMsg(id, 1, szHostName, szBannedName, szAuthId, szIP, CurTime);
case 2: SendMsg(id, 2, szHostName, szBannedName, szAuthId, szIP, CurTime);
case 3:
{
SendMsg(id, 1, szHostName, szBannedName, szAuthId, szIP, CurTime);
SendMsg(id, 2, szHostName, szBannedName, szAuthId, szIP, CurTime);
}
}
client_cmd(id, "stop");
set_task(FB_INTERVAL, "screenshot", id, _, _, "a", FB_SSNUM);
#if defined MOTD
set_task(FB_INTERVAL * float(FB_SSNUM), "show_motd_banqa", id);
#endif
return PLUGIN_HANDLED;
}

public screenshot(id)
if(is_user_connected(id))
client_cmd(id, "snapshot");
#if defined MOTD
public fbans_player_banned_post(id, userid, bid)
{
formatex(url[id], charsmax(url[]), "http://www.my-amxx.ru/amxbansgm/motd.php?sid=_%d&adm=0&lang=ru", bid)
//www.my-amxx.ru - меняем на свой сайт с web-мордой
//amxbansgm - папка в которой лежит web-морда
//motd.php?sid=_%d&adm=0&lang=ru - НЕ МЕНЯЕМ!!!
}

public show_motd_banqa(id)
if(is_user_connected(id))
show_motd(id, url[id], "Вы забанены")

#endif
SendMsg(const pl, const Type, sHost[], sName[], sAuth[], sIp[], sDate[])
{
switch(Type)
{
case 1:
{
client_print_color(pl, -2, "^1[^4FB^1] Дата [^4%s^1] Сервер [^3%s^1]", sDate, sHost);
client_print_color(pl, -2, "^1[^4FB^1] Ваше имя [^3%s^1] IP [^4%s^1] SteamID [^4%s^1]", sName, sIp, sAuth);
client_print_color(pl, -2, "^1[^4FB^1] Для разбана посетите [^3%s^1]", FB_WEBSITE);
}
case 2:
{
static R, G, B, RGB = FB_HUDCOLOR;
R = RGB / 1000000;
RGB %= 1000000;
G = RGB / 1000;
B = RGB % 1000;
#if defined DHUD
set_dhudmessage(R, G, B, -1.0, 0.01, 0, 7.0, 7.0);
show_dhudmessage(pl, "%s вы забанены на сервере %s ^nВаш IP: %s ^nВаш ID: %s", sName, sHost, sIp, sAuth);
#else
set_hudmessage(R, G, B, -1.0, 0.1, 0, 7.0, 7.0, 0.0, 0.0, -1);
show_hudmessage(pl, "Дата: %s ^nСервер: %s ^nВаше имя: %s ^nIP: %s ^nSteamID: %s ^nДля разбана посетите: %s", \
sDate, sHost, sName, sIp, sAuth, FB_WEBSITE);
#endif
}
}
}
info(id, admin)
{
new szTime[22];
get_time("%d.%m.%Y - %H:%M:%S", szTime, charsmax(szTime));

new szAdmin[64];
get_user_name(admin, szAdmin, charsmax(szAdmin));

new szUser[32];
get_user_name(id, szUser, charsmax(szUser));

new szMap[32];
get_mapname(szMap, charsmax(szMap));

new szHUD[190];
}
Всем доброго времени суток. Ошибки при компиляции. Помогите исправить. Заранее спасибо!) :thank_you:
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
238
Реакции
38
Помог
5 раз(а)
Код:
#include <amxmodx>
#if  AMXX_VERSION_NUM < 183
    #include <colorchat>
#endif
#define FB_WEBSITE     "www"                                                    // Ваш сайт
#define FB_MSGTYPE     3                                                                    // 0 - ничего не показывать | 1 - только чат | 2 - только Худ | 3 - чат + худ
#if FB_MSGTYPE > 1
    //#define DHUD                                                                        // Раскомментируйте для использования DHUD вместо HUD
    #if (defined DHUD && AMXX_VERSION_NUM < 183)
        #include <dhudmessage>
    #endif
#endif   
#define FB_HUDCOLOR     255255255                                                        // Цвет Hud/Dhud сообщения. По умолчанию: 255255255
#define FB_INTERVAL     1.0                                                                // Интервал между скринами. По умолчанию: 1.0
#define FB_SSNUM     5                                                                    // Кол-во скринов. По умолчанию: 5
//#define MOTD                                                                            // Закомментировать, если не нужно отображение motd

forward fbans_player_banned_pre(id, userid);
#if defined MOTD
forward fbans_player_banned_post(id, userid, bid)

new url[33][128]
#endif   
public plugin_init()
{
    register_plugin("fb_forwards", "0.1.7", "Kanagava & Realution & neugomon");
    register_clcmd("amx_screenmenu", "CmdScreenMenu", ADMIN_BAN);
}

public plugin_cfg()
{
    server_cmd("amx_addmenuitem ^"Сделать скрины^" ^"amx_screenmenu^" ^"d^" ^"ScreenMaker^"");
    server_exec();
}

public CmdScreenMenu(id, level)
{
    if(~get_user_flags(id) & level)
    {
        client_print(id, print_notify, "* Недостаточно прав для использования этой команды!");
        return PLUGIN_HANDLED;
    }
    
    new menu = menu_create("\d[\rScreenMenu\d] \yВыберите игрока", "players_menu");
    new call = menu_makecallback("players_callback");
    
    menu_setprop(menu, MPROP_EXITNAME, "Выход");
    menu_setprop(menu, MPROP_BACKNAME, "Назад");
    menu_setprop(menu, MPROP_NEXTNAME, "Далее");
    
    new pl[32], pnum;
    get_players(pl, pnum, "ch");
    
    for(new i, pid[2], name[32]; i < pnum; i++)
    {
        pid[0] = pl[i];
        get_user_name(pl[i], name, charsmax(name));
        menu_additem(menu, name, pid, 0, call);
    }
    
    menu_display(id, menu, 0);
    return PLUGIN_HANDLED;
}

public players_callback(id, menu, item)
{
    new pid[2], _access, callback;
    new szItem[32], szNewItem[64];
    menu_item_getinfo(menu, item, _access, pid, charsmax(pid), szItem, charsmax(szItem), callback);
    
    if(pid[0] == id)
    {
        formatex(szNewItem, charsmax(szNewItem), "%s \d[\yВы\d]", szItem);
        menu_item_setname(menu, item, szNewItem);
        return ITEM_DISABLED;
    }
    else
    {
        new flags = get_user_flags(pid[0]);
        static lastId, flagsId; if(id != lastId) flagsId = get_user_flags(id);
        
        if(flags & ADMIN_IMMUNITY)
        {
            formatex(szNewItem, charsmax(szNewItem), "%s \d[\yИммунитет\d]", szItem);
            menu_item_setname(menu, item, szNewItem);
            return (flagsId & ADMIN_RCON) ? ITEM_ENABLED : ITEM_DISABLED;
        }
        else if(flags & ADMIN_MENU)
        {
            formatex(szNewItem, charsmax(szNewItem), "%s \d[\yАдмин\d]", szItem);
            menu_item_setname(menu, item, szNewItem);
            return (flagsId & ADMIN_RCON) ? ITEM_ENABLED : ITEM_DISABLED;
        }
    }
    return ITEM_ENABLED;
}

public players_menu(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new pid[2], _access, call;
    menu_item_getinfo(menu, item, _access, pid, charsmax(pid), .callback = call);
    
    if(!is_user_connected(pid[0]))
        client_print(id, print_chat, "* Игрок покинул сервер");
    else
    {
        new name[32];     get_user_name(id, name, charsmax(name));
        new name2[32];     get_user_name(pid[0], name2, charsmax(name2));
        log_to_file("screen_maker.log", "Администратор %s сделал скрины игроку %s", name, name2);
        
        ScreenAction(pid[0], id, 0);
    }
    
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public MakeScreen(id)
{
    if(is_user_connected(id))
        client_cmd(id, "snapshot");
    else    remove_task(id);   
}

ScreenAction(id, admin, ban)
{
    new szTime[22];
    get_time("%d.%m.%Y - %H:%M:%S", szTime, charsmax(szTime));
    
    new szAdmin[64];
    get_user_name(admin, szAdmin, charsmax(szAdmin));
    
    new szMap[32];
    get_mapname(szMap, charsmax(szMap));
    
    new szHUD[190];
    if(admin)
        formatex(szHUD, charsmax(szHUD), "Время %s^nАдминистратор %s^nКарта %s^nСкинуть в %s", szTime, szAdmin, szMap, FB_WEBSITE);
    else    formatex(szHUD, charsmax(szHUD), "Время %s^nСервер %s^nКарта %s^nСкинуть в %s", szTime, szAdmin, szMap, FB_WEBSITE);
    
    set_hudmessage(0, 200, 0, -1.0, 0.80, 0, 0.0, float(FB_SSNUM + 1), 0.0, 0.1, -1);
    show_hudmessage(id, szHUD);
        
    if(ban) client_cmd(id, "stop");
    set_task(1.0, "MakeScreen", id, .flags = "a", .repeat = FB_SSNUM);
}

public fbans_player_banned_pre(id, userid)
{
    if(!id || !is_user_connected(id) || get_user_userid(id)!=userid)
        return PLUGIN_HANDLED;
    
    static CurTime[24], szHostName[64], szBannedName[32], szIP[16], szAuthId[25];
    get_user_name(0, szHostName, charsmax(szHostName));
    get_user_name(id, szBannedName, charsmax(szBannedName));
    get_user_authid(id, szAuthId, charsmax(szAuthId));
    get_user_ip(id, szIP, charsmax(szIP), 1);
    get_time("%d/%m/%Y - %H:%M:%S", CurTime, charsmax(CurTime));
    
    switch(FB_MSGTYPE)
    {
        case 1: SendMsg(id, 1, szHostName, szBannedName, szAuthId, szIP, CurTime);
        case 2: SendMsg(id, 2, szHostName, szBannedName, szAuthId, szIP, CurTime);
        case 3:
        {
            SendMsg(id, 1, szHostName, szBannedName, szAuthId, szIP, CurTime);
            SendMsg(id, 2, szHostName, szBannedName, szAuthId, szIP, CurTime);
        }   
    }
    client_cmd(id, "stop");
    set_task(FB_INTERVAL, "screenshot", id, _, _, "a", FB_SSNUM);
#if defined MOTD
    set_task(FB_INTERVAL * float(FB_SSNUM), "show_motd_banqa", id);
#endif
    return PLUGIN_HANDLED;
}

public screenshot(id)
    if(is_user_connected(id))
        client_cmd(id, "snapshot");
#if defined MOTD
public fbans_player_banned_post(id, userid, bid)
{
    formatex(url[id], charsmax(url[]), "http://www.my-amxx.ru/amxbansgm/motd.php?sid=_%d&adm=0&lang=ru", bid)
    //www.my-amxx.ru - меняем на свой сайт с web-мордой
    //amxbansgm - папка в которой лежит web-морда
    //motd.php?sid=_%d&adm=0&lang=ru - НЕ МЕНЯЕМ!!!
}
        
public show_motd_banqa(id)
    if(is_user_connected(id))
        show_motd(id, url[id], "Вы забанены")
    
#endif   
SendMsg(const pl, const Type, sHost[], sName[], sAuth[], sIp[], sDate[])
{
    switch(Type)
    {
        case 1:
        {
            client_print_color(pl, -2, "^3[^4FB^3] ^1Дата ^3[^4%s^3] ^1Сервер ^3[^4%s^3]", sDate, sHost);
            client_print_color(pl, -2, "^3[^4FB^3] ^1Ваше имя ^3[^4%s^3] ^1IP ^3[^4%s^3] ^1SteamID ^3[^4%s^3]", sName, sIp, sAuth);
            client_print_color(pl, -2, "^3[^4FB^3] ^1Для разбана посетите ^3[^4%s^3]", FB_WEBSITE);
        }
        case 2:
        {
            static R, G, B, RGB = FB_HUDCOLOR;
            R = RGB / 1000000;
            RGB %= 1000000;
            G = RGB / 1000;
            B = RGB % 1000;
            #if defined DHUD
                set_dhudmessage(R, G, B, -1.0, 0.01, 0, 7.0, 7.0);
                show_dhudmessage(pl, "%s вы забанены на сервере %s ^nВаш IP: %s ^nВаш ID: %s", sName, sHost, sIp, sAuth);
            #else   
                set_hudmessage(R, G, B, -1.0, 0.1, 0, 7.0, 7.0, 0.0, 0.0, -1);
                show_hudmessage(pl, "Дата: %s ^nСервер: %s ^nВаше имя: %s ^nIP: %s ^nSteamID: %s ^nДля разбана посетите: %s", \
                    sDate, sHost, sName, sIp, sAuth, FB_WEBSITE);
            #endif
        }
    }
}
 
Сообщения
400
Реакции
147
Помог
11 раз(а)
Murz, No. I need that source code which I attached above.
 
Последнее редактирование:
Сообщения
1,419
Реакции
2,509
Помог
59 раз(а)
Код:
#include <amxmodx>
#if  AMXX_VERSION_NUM < 183
    #include <colorchat>
#endif
#define FB_WEBSITE     "сайт.ru"                                                            // Ваш сайт
#define FB_MSGTYPE     3                                                                    // 0 - ничего не показывать | 1 - только чат | 2 - только Худ | 3 - чат + худ
#if FB_MSGTYPE > 1
    //#define DHUD                                                                            // Раскомментируйте для использования DHUD вместо HUD
    #if (defined DHUD && AMXX_VERSION_NUM < 183)
        #include <dhudmessage>
    #endif
#endif
#define FB_HUDCOLOR     255255255                                                        // Цвет Hud/Dhud сообщения. По умолчанию: 255255255
#define FB_INTERVAL     1.0                                                                // Интервал между скринами. По умолчанию: 1.0
#define FB_SSNUM     5                                                                    // Кол-во скринов. По умолчанию: 5
//#define MOTD                                                                            // Закомментировать, если не нужно отображение motd

forward fbans_player_banned_pre(id, userid);
#if defined MOTD
forward fbans_player_banned_post(id, userid, bid)

new url[33][128]
#endif
public plugin_init()
{
    register_plugin("fb_forwards", "0.1.7", "Kanagava & Realution & neugomon");
    register_clcmd("amx_screenmenu", "CmdScreenMenu", ADMIN_BAN);
}

public plugin_cfg()
{
    server_cmd("amx_addmenuitem ^"Сделать скриншот игроку^" ^"amx_screenmenu^" ^"d^" ^"ScreenMaker^"");
    server_exec();
}

public CmdScreenMenu(id, level)
{
    if(~get_user_flags(id) & level)
    {
        client_print(id, print_notify, "* Недостаточно прав для использования этой команды!");
        return PLUGIN_HANDLED;
    }

    new menu = menu_create("\d[\rScreenMenu\d] \yВыберите игрока", "players_menu");
    new call = menu_makecallback("players_callback");

    menu_setprop(menu, MPROP_EXITNAME, "Выход");
    menu_setprop(menu, MPROP_BACKNAME, "Назад");
    menu_setprop(menu, MPROP_NEXTNAME, "Далее");

    new pl[32], pnum;
    get_players(pl, pnum, "ch");

    for(new i, pid[2], name[32]; i < pnum; i++)
    {
        pid[0] = pl[i];
        get_user_name(pl[i], name, charsmax(name));
        menu_additem(menu, name, pid, 0, call);
    }

    menu_display(id, menu, 0);
    return PLUGIN_HANDLED;
}

public players_callback(id, menu, item)
{
    new pid[2], _access, callback;
    new szItem[32], szNewItem[64];
    menu_item_getinfo(menu, item, _access, pid, charsmax(pid), szItem, charsmax(szItem), callback);

    if(pid[0] == id)
    {
        formatex(szNewItem, charsmax(szNewItem), "%s \d[\yВы\d]", szItem);
        menu_item_setname(menu, item, szNewItem);
        return ITEM_DISABLED;
    }
    else
    {
        new flags = get_user_flags(pid[0]);
        static lastId, flagsId; if(id != lastId) flagsId = get_user_flags(id);
     
        if(flags & ADMIN_IMMUNITY)
        {
            formatex(szNewItem, charsmax(szNewItem), "%s \d[\yИммунитет\d]", szItem);
            menu_item_setname(menu, item, szNewItem);
            return (flagsId & ADMIN_RCON) ? ITEM_ENABLED : ITEM_DISABLED;
        }
        else if(flags & ADMIN_MENU)
        {
            formatex(szNewItem, charsmax(szNewItem), "%s \d[\yАдмин\d]", szItem);
            menu_item_setname(menu, item, szNewItem);
            return (flagsId & ADMIN_RCON) ? ITEM_ENABLED : ITEM_DISABLED;
        }
    }
    return ITEM_ENABLED;
}

public players_menu(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new pid[2], _access, call;
    menu_item_getinfo(menu, item, _access, pid, charsmax(pid), .callback = call);

    if(!is_user_connected(pid[0]))
        client_print(id, print_chat, "* Игрок покинул сервер");
    else
    {
        new name[32];     get_user_name(id, name, charsmax(name));
        new name2[32];     get_user_name(pid[0], name2, charsmax(name2));
        log_to_file("screen_maker.log", "Администратор %s сделал скрины игроку %s", name, name2);
     
        ScreenAction(pid[0], id, 0);
    }

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public MakeScreen(cData[], id)
{
    if(is_user_connected(id))
        client_cmd(id, "snapshot");
    else
        remove_task(id);

    new iAdmin = cData[0];

    new szTime[22];
    get_time("%d.%m.%Y - %H:%M:%S", szTime, charsmax(szTime));

    client_print_color(id, -2, "^1[^4screenshot^1] Администратор  ^3[^4%n^3] ^1сделал вам снимок экрана", iAdmin);
    client_print_color(id, -2, "^1[^4screenshot^1] Время ^3[^4%s^3]^1. Число скриншотов: ^3[^4%s^3]^1. Скинуть: ^3[^4%s^3]", szTime, FB_SSNUM, FB_WEBSITE);
}

ScreenAction(id, admin, ban)
{
    new szMapName[64];
    get_mapname(szMapName, charsmax(szMapName));

    new szTime[22];
    get_time("%d.%m.%Y - %H:%M:%S", szTime, charsmax(szTime));

    new szHUD[512];

    if(admin)
        formatex(szHUD, charsmax(szHUD), "Время %s^nАдминистратор %n^nКарта %s^nСкинуть в %s^n", szTime, admin, szMapName, FB_WEBSITE);
    else
        formatex(szHUD, charsmax(szHUD), "Время %s^nСервер %n^nКарта %s^nСкинуть в %s^n", szTime, admin, szMapName, FB_WEBSITE);

    client_print_color(0, -2, "^1[^4screenshot^1] Администратор ^3[^4%n^3] ^1сделал игроку ^3[^4%n^3] скриншоты", admin, id);
     
    set_hudmessage(0, 200, 0, -1.0, 0.80, 0, 0.0, float(FB_SSNUM + 1), 0.0, 0.1, -1);
    show_hudmessage(id, szHUD);
         
    if(ban)
        client_cmd(id, "stop");

    new cData[2];
    cData[0] = admin;
    set_task(1.0, "MakeScreen", id, cData, sizeof cData, .flags = "a", .repeat = FB_SSNUM);
}

public fbans_player_banned_pre(id, userid)
{
    if(!id || !is_user_connected(id) || get_user_userid(id)!=userid)
        return PLUGIN_HANDLED;

    static CurTime[24], szHostName[64], szBannedName[32], szIP[16], szAuthId[25];
    get_user_name(0, szHostName, charsmax(szHostName));
    get_user_name(id, szBannedName, charsmax(szBannedName));
    get_user_authid(id, szAuthId, charsmax(szAuthId));
    get_user_ip(id, szIP, charsmax(szIP), 1);
    get_time("%d/%m/%Y - %H:%M:%S", CurTime, charsmax(CurTime));

    switch(FB_MSGTYPE)
    {
        case 1: SendMsg(id, 1, szHostName, szBannedName, szAuthId, szIP, CurTime);
        case 2: SendMsg(id, 2, szHostName, szBannedName, szAuthId, szIP, CurTime);
        case 3:
        {
            SendMsg(id, 1, szHostName, szBannedName, szAuthId, szIP, CurTime);
            SendMsg(id, 2, szHostName, szBannedName, szAuthId, szIP, CurTime);
        }
    }
    client_cmd(id, "stop");
    set_task(FB_INTERVAL, "screenshot", id, _, _, "a", FB_SSNUM);
#if defined MOTD
    set_task(FB_INTERVAL * float(FB_SSNUM), "show_motd_banqa", id);
#endif
    return PLUGIN_HANDLED;
}

public screenshot(id)
    if(is_user_connected(id))
        client_cmd(id, "snapshot");
#if defined MOTD
public fbans_player_banned_post(id, userid, bid)
{
    formatex(url[id], charsmax(url[]), "http://www.my-amxx.ru/amxbansgm/motd.php?sid=_%d&adm=0&lang=ru", bid)
    //www.my-amxx.ru - меняем на свой сайт с web-мордой
    //amxbansgm - папка в которой лежит web-морда
    //motd.php?sid=_%d&adm=0&lang=ru - НЕ МЕНЯЕМ!!!
}
     
public show_motd_banqa(id)
    if(is_user_connected(id))
        show_motd(id, url[id], "Вы забанены")

#endif
SendMsg(const pl, const Type, sHost[], sName[], sAuth[], sIp[], sDate[])
{
    switch(Type)
    {
        case 1:
        {
            client_print_color(pl, -2, "^1[^4FB^1] Дата [^4%s^1] Сервер [^3%s^1]", sDate, sHost);
            client_print_color(pl, -2, "^1[^4FB^1] Ваше имя [^3%s^1] IP [^4%s^1] SteamID [^4%s^1]", sName, sIp, sAuth);
            client_print_color(pl, -2, "^1[^4FB^1] Для разбана посетите [^3%s^1]", FB_WEBSITE);
        }
        case 2:
        {
            static R, G, B, RGB = FB_HUDCOLOR;
            R = RGB / 1000000;
            RGB %= 1000000;
            G = RGB / 1000;
            B = RGB % 1000;
            #if defined DHUD
                set_dhudmessage(R, G, B, -1.0, 0.01, 0, 7.0, 7.0);
                show_dhudmessage(pl, "%s вы забанены на сервере %s ^nВаш IP: %s ^nВаш ID: %s", sName, sHost, sIp, sAuth);
            #else
                set_hudmessage(R, G, B, -1.0, 0.1, 0, 7.0, 7.0, 0.0, 0.0, -1);
                show_hudmessage(pl, "Дата: %s ^nСервер: %s ^nВаше имя: %s ^nIP: %s ^nSteamID: %s ^nДля разбана посетите: %s", \
                    sDate, sHost, sName, sIp, sAuth, FB_WEBSITE);
            #endif
        }
    }
}
 
Статус
В этой теме нельзя размещать новые ответы.

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

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