Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

12 страниц V  « 6 7 8 ... 10 11 »

Advanced Bans (Real Time) by Exolent

, Улучшенные баны (Реальное Время) сделанный Exolent'ом
Статус пользователя Gfx
сообщение 3.3.2011, 18:06
Сообщение #121


Стаж: 17 лет

Сообщений: 72
Благодарностей: 8
Полезность: 90

Получилось самому, вот кусок кода если кому нужен
тык
Код
public CmdBan(client, level, cid)
{
    if( !cmd_access(client, level, cid, 4) ) return PLUGIN_HANDLED;
    
    static arg[128];
    read_argv(1, arg, sizeof(arg) - 1);
    
    new target = cmd_target(client, arg, GetTargetFlags(client));
    if( !target ) return PLUGIN_HANDLED;
    
    static target_authid[35];
    get_user_authid(target, target_authid, sizeof(target_authid) - 1);

    static target_ip[35];
    get_user_ip(target, target_ip, sizeof(target_ip) - 1, 1);
    
    if( !IsValidAuthid(target_authid) )
    {
        console_print(client, "%L", client, "AB_NOT_AUTHORIZED");
        return PLUGIN_HANDLED;
    }
    
    #if MAX_BANS <= 0
    if( TrieKeyExists(g_trie, target_authid) )
    {
        console_print(client, "%L", client, "AB_ALREADY_BANNED_STEAMID");
        return PLUGIN_HANDLED;
    }
    #else
    for( new i = 0; i < g_total_bans; i++ )
    {
        if( !strcmp(target_authid, g_steamids[i], 1) )
        {
            console_print(client, "%L", client, "AB_ALREADY_BANNED_STEAMID");
            return PLUGIN_HANDLED;
        }
    }
    #endif

    #if MAX_BANS <= 0
    if( TrieKeyExists(g_trie, target_ip) )
    {
        console_print(client, "%L", client, "AB_ALREADY_BANNED_IP");
        return PLUGIN_HANDLED;
    }
    #else
    for( new i = 0; i < g_total_bans; i++ )
    {
        if( !strcmp(target_ip, g_steamids[i], 1) )
        {
            console_print(client, "%L", client, "AB_ALREADY_BANNED_IP");
            return PLUGIN_HANDLED;
        }
    }
    #endif
    
    read_argv(2, arg, sizeof(arg) - 1);
    
    new length = str_to_num(arg);
    new maxlength = GetMaxBanTime(client);
    
    if( maxlength && (!length || length > maxlength) )
    {
        console_print(client, "%L", client, "AB_MAX_BAN_TIME", maxlength);
        return PLUGIN_HANDLED;
    }
    
    static unban_time[64];
    if( length == 0 )
    {
        formatex(unban_time, sizeof(unban_time) - 1, "%L", client, "AB_PERMANENT_BAN");
    }
    else
    {
        GenerateUnbanTime(length, unban_time, sizeof(unban_time) - 1);
    }
    
    read_argv(3, arg, sizeof(arg) - 1);
    
    static admin_name[64], target_name[32];
    get_user_name(client, admin_name, sizeof(admin_name) - 1);
    get_user_name(target, target_name, sizeof(target_name) - 1);
    
    static admin_authid[35];
    get_user_authid(client, admin_authid, sizeof(admin_authid) - 1);
    
    AddBan(target_name, target_authid, arg, length, unban_time, admin_name, admin_authid);
    AddBan(target_name, target_ip, arg, length, unban_time, admin_name, admin_authid);
    
    PrintBanInformation(target, target_name, target_authid, arg, length, unban_time, admin_name, admin_authid, true, true);
    PrintBanInformation(client, target_name, target_authid, arg, length, unban_time, admin_name, admin_authid, false, false);
    
    set_task(get_pcvar_float(ab_bandelay), "TaskDisconnectPlayer", target);
    
    GetBanTime(length, unban_time, sizeof(unban_time) - 1);
    
    PrintActivity(admin_name, "^x04$name^x03 banned %s. Reason: %s. Ban Time: %s", target_name, arg, unban_time);
    
    Log("%s <%s> banned %s <%s> || Reason: ^"%s^" || Ban Length: %s", admin_name, admin_authid, target_name, target_authid, arg, unban_time);
    
    return PLUGIN_HANDLED;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Master_Bass
сообщение 3.3.2011, 20:47
Сообщение #122
Стаж: 16 лет

Сообщений: 111
Благодарностей: 27
Полезность: < 0

мультибан какой строчкой ставить???
После адвансед_банс или как?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gradus
сообщение 4.3.2011, 17:16
Сообщение #123


Стаж: 15 лет

Сообщений: 334
Благодарностей: 152
Полезность: 705

Подскажите как его под 1.8.0 сделать ???

Код
/ if you must have a maximum amount of bans to be compatible with AMXX versions before 1.8.0 // change this number to your maximum amount // if you would rather have unlimited (requires AMXX 1.8.0 or higher) then set it to 0 #define MAX_BANS 0


А то я что не понял.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 4.3.2011, 23:19
Сообщение #124
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Gradus3D,
Ничего не трогай, все нормально будет работать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gradus
сообщение 5.3.2011, 15:37
Сообщение #125


Стаж: 15 лет

Сообщений: 334
Благодарностей: 152
Полезность: 705

Цитата(STR@TEG @ 5.3.2011, 0:19) *
Gradus3D,
Ничего не трогай, все нормально будет работать.

не работает. то есть как бы работает но в кансоль инфа не выводица.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AliMeT
сообщение 6.3.2011, 17:37
Сообщение #126
Стаж: 18 лет

Сообщений: 330
Благодарностей: 77
Полезность: 204

Какая строка отвечает за логорирование инбана? в новой версии.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 7.3.2011, 1:31
Сообщение #127
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Цитата(Gradus3D @ 5.3.2011, 16:37) *
не работает. то есть как бы работает но в кансоль инфа не выводица.
Что за "инфа"?

Цитата(AliMeT @ 6.3.2011, 18:37) *
Какая строка отвечает за логорирование инбана? в новой версии.
*.sma
Код
public CmdUnban(client, level, cid)
{
    if( !cmd_access(client, level, cid, 2) ) return PLUGIN_HANDLED;
    
    static arg[35];
    read_argv(1, arg, sizeof(arg) - 1);
    
    #if MAX_BANS > 0
    static banned_authid[35];
    for( new i = 0; i < g_total_bans; i++ )
    {
        copy(banned_authid, sizeof(banned_authid) - 1, g_steamids[i]);
        
        if( equal(arg, banned_authid) )
        {
            static admin_name[64];
            get_user_name(client, admin_name, sizeof(admin_name) - 1);
            
            static name[32], reason[128];
            copy(name, sizeof(name) - 1, g_names[i]);
            copy(reason, sizeof(reason) - 1, g_reasons[i]);
            
            PrintActivity(admin_name, "^x04[AdvancedBans] $name^x01 :^x03  unbanned %s^x01 [%s] [Ban Reason: %s]", name, arg, reason);
            
            static authid[35];
            get_user_authid(client, authid, sizeof(authid) - 1);
            
            Log("%s <%s> unbanned %s <%s> || Ban Reason: ^"%s^"", admin_name, authid, name, arg, reason);
            
            RemoveBan(i);
            
            return PLUGIN_HANDLED;
        }
    }
    #else
    if( TrieKeyExists(g_trie, arg) )
    {
        static array_pos;
        TrieGetCell(g_trie, arg, array_pos);
        
        static data[BannedData];
        ArrayGetArray(g_array, array_pos, data);
        
        static unban_name[32];
        get_user_name(client, unban_name, sizeof(unban_name) - 1);
        
        PrintActivity(unban_name, "^x04[AdvancedBans] $name^x01 :^x03  unbanned %s^x01 [%s] [Ban Reason: %s]", data[bd_name], data[bd_steamid], data[bd_reason]);
        
        static admin_name[64];
        get_user_name(client, admin_name, sizeof(admin_name) - 1);
        
        static authid[35];
        get_user_authid(client, authid, sizeof(authid) - 1);
        
        Log("%s <%s> unbanned %s <%s> || Ban Reason: ^"%s^"", admin_name, authid, data[bd_name], data[bd_steamid], data[bd_reason]);
        
        RemoveBan(array_pos, data[bd_steamid]);
        
        return PLUGIN_HANDLED;
    }
    #endif
    
    console_print(client, "[AdvancedBans] %L", client, "AB_NOT_IN_BAN_LIST", arg);
    
    return PLUGIN_HANDLED;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gradus
сообщение 7.3.2011, 15:32
Сообщение #128


Стаж: 15 лет

Сообщений: 334
Благодарностей: 152
Полезность: 705

В консоли когда банит csf не указывается причина. Возможна исправить ???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 7.3.2011, 16:02
Сообщение #129
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Цитата(Gradus3D @ 7.3.2011, 16:32) *
В консоли когда банит csf не указывается причина. Возможна исправить ???
Нет. Причина не указывается только при наказании за нажатие клавиш.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Gradus
сообщение 7.3.2011, 16:51
Сообщение #130


Стаж: 15 лет

Сообщений: 334
Благодарностей: 152
Полезность: 705

Цитата(STR@TEG @ 7.3.2011, 17:02) *
Нет. Причина не указывается только при наказании за нажатие клавиш.

Спасибо буду знать. на клавишах только и проверял.

И ещё вопрос, сейчас после бана происходит кик клиента и появляется табличка с надписью.
"You are banned from this server. Check your console"
Помню в какой то версии выводилась табличка с русским языком, не подскажите где менять ???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 7.3.2011, 17:57
Сообщение #131
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Цитата(Gradus3D @ 7.3.2011, 17:51) *
И ещё вопрос, сейчас после бана происходит кик клиента и появляется табличка с надписью.
"You are banned from this server. Check your console"
Помню в какой то версии выводилась табличка с русским языком, не подскажите где менять ???

Код
public TaskDisconnectPlayer(client)
{
    server_cmd("kick #%i ^"You are banned from this server. Check your console^"", get_user_userid(client));
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя AliMeT
сообщение 7.3.2011, 18:01
Сообщение #132
Стаж: 18 лет

Сообщений: 330
Благодарностей: 77
Полезность: 204

еще проблемка, как сделать чтобы онформация о бане выводилась не в чат а как в амх банс в худ сообщение?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 7.3.2011, 18:59
Сообщение #133
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

AliMeT,
Работай с этой функцией:
CODE
PrintActivity(const admin_name[], const message_fmt[], any:...)
{
if( !get_playersnum() ) return;

new activity = get_pcvar_num(amx_show_activity);
if( !(0 <= activity <= 5) )
{
set_pcvar_num(amx_show_activity, (activity = 2));
}

static message[192], temp[192];
vformat(message, sizeof(message) - 1, message_fmt, 3);

for( new client = 1; client <= g_max_clients; client++ )
{
if( !is_user_connected(client) ) continue;

switch( is_user_admin(client) ? g_admin_activity[activity] : g_normal_activity[activity] )
{
case ACTIVITY_NONE:
{

}
case ACTIVITY_HIDE:
{
copy(temp, sizeof(temp) - 1, message);
replace(temp, sizeof(temp) - 1, "$name", "ADMIN");

message_begin(MSG_ONE_UNRELIABLE, g_msgid_SayText, _, client);
write_byte(client);
write_string(temp);
message_end();
}
case ACTIVITY_SHOW:
{
copy(temp, sizeof(temp) - 1, message);
replace(temp, sizeof(temp) - 1, "$name", admin_name);

message_begin(MSG_ONE_UNRELIABLE, g_msgid_SayText, _, client);
write_byte(client);
write_string(temp);
message_end();
}
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gradus
сообщение 7.3.2011, 20:48
Сообщение #134


Стаж: 15 лет

Сообщений: 334
Благодарностей: 152
Полезность: 705

Собственно как сделать что бы русский язык отображался корректно, а если написать по русски то в табличке просто пустота.

В версии 7 где выводится табличка с русским языком прописано:
Код
server_cmd("kick #%i ^"BAN! Читайте консоль! Check your console!^"", get_user_userid(client));


Это на чём это так писали ???

Отредактировал: Gradus3D, - 7.3.2011, 20:52
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 7.3.2011, 21:14
Сообщение #135
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Gradus3D,
Пишешь по русски, сохраняешь в кодировке UTF-8 BOM, компилируешь.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gradus
сообщение 7.3.2011, 22:07
Сообщение #136


Стаж: 15 лет

Сообщений: 334
Благодарностей: 152
Полезность: 705

Цитата(STR@TEG @ 7.3.2011, 22:14) *
Gradus3D,
Пишешь по русски, сохраняешь в кодировке UTF-8 BOM, компилируешь.

Код
//// advanced_bans.sma
// D:\Games\[Public]-[NEW]\cstrike\addons\amxmodx\scripting\advanced_bans.sma(1)
: error 010: invalid function or declaration
//
// 1 Error.
// Could not locate output file D:\Games\[Public]-[NEW]\cstrike\addons\amxmodx\s
cripting\compiled\advanced_bans.amx (compile failed).
//
// Compilation Time: 0,3 sec
// ----------------------------------------

Press enter to exit ...


ubeysya.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 7.3.2011, 23:44
Сообщение #137
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Gradus3D,
Внимательнее читаем:
Цитата(STR@TEG @ 7.3.2011, 22:14) *
сохраняешь в кодировке UTF-8 BOM
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Archipelago
сообщение 8.3.2011, 0:51
Сообщение #138


Стаж: 16 лет

Сообщений: 520
Благодарностей: 67
Полезность: 21

Gradus3D,
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fr1style
сообщение 13.3.2011, 9:54
Сообщение #139


Стаж: 16 лет

Сообщений: 312
Благодарностей: 21
Полезность: < 0

почему у меня банить только пермаментом? как сделать что-бы был выбор времени бана
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя VeNoM2008
сообщение 15.3.2011, 20:10
Сообщение #140
Стаж: 18 лет

Сообщений: 54
Благодарностей: 2
Полезность: 32

не компилит *.sma файлы c архива,пишет ошибки .Сохранял в UTF-8 без параметра BOM
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
12 страниц V  « 6 7 8 ... 10 11 »
 
Тема закрытаНачать новую тему
 
0 пользователей и 2 гостей читают эту тему: