RU
RU
UA
EN
PL
ГЛАВНАЯ
УСЛУГИ
ПЛАГИНЫ
КАРТЫ
REBUY
SCANMON
CASSA
SALE
ФОРУМ
МОНИТОР
HELP
КОНТАКТ
Главная
/
Plugins
/
REPLACE STATUS AND PING
REPLACE STATUS AND PING
Теги:
Скачать плагины csgo
Серверные
ПЛАГИН ЗАМЕНЯЕТ КОМАНДУ STATUS НА СВОЮ И ЗАЩИЩАЕТ ЕЕ ОТ СПАМА
ПЛАГИН ЗАМЕНЯЕТ КОМАНДУ PING НА СВОЮ И ЗАЩИЩАЕТ ЕЕ ОТ СПАМА
Компилятор: 1.9.0.6281
+ZIP
890
Команды:
//Квары
SM_LIMITTOKENS "4" ( КОЛ-ВО СПАМА В СЕКУНДУ ДЛЯ КИКА )
SM_NAMESTATUS "INFO_STATUS" ( НОВАЯ КОМАНДА, ВМЕСТО STATUS )
SM_NAMEPING "INFO_PING" ( НОВАЯ КОМАНДА, ВМЕСТО PING )
.sma / .sp
#pragma semicolon 1 #include
//Хандлы кваров new Handle: g_h_Cvar_LimitTokens; new Handle: g_h_Cvar_NameStatus; new Handle: g_h_Cvar_NamePing; //Хандл таймера new Handle: g_h_Timer_DisableTokens[ MAXPLAYERS+1 ] = INVALID_HANDLE; //Переменные кваров new g_i_Cvar_LimitTokens; new g_i_FloodTokens[ MAXPLAYERS+1 ]; //Оптимизация new String: g_s_Optimize[ 256 ]; public Plugin: myinfo = { name = "Replace_Commands", author = "SourceSamil", description = "Block spam status and ping", version = "1.3", url = "hlmod.ru" }; public OnPluginStart( ) { g_h_Cvar_LimitTokens = CreateConVar( "sm_limittokens", "4", "Кол-во написания команд в сек для кика." ); g_h_Cvar_NameStatus = CreateConVar( "sm_namestatus", "info_status", "Название новой команды status." ); g_h_Cvar_NamePing = CreateConVar( "sm_nameping", "info_ping", "Название новой команды ping." ); AutoExecConfig( true, "replace_commands" ); AddCommandListener( Protect_Lags, "status" ); AddCommandListener( Protect_Lags, "ping" ); LoadTranslations("replace_commands.phrases"); } public OnConfigsExecuted( ) { g_i_Cvar_LimitTokens = GetConVarInt( g_h_Cvar_LimitTokens ); GetConVarString( g_h_Cvar_NameStatus, g_s_Optimize, sizeof( g_s_Optimize ) ); AddCommandListener( CMD_Status, g_s_Optimize ); GetConVarString( g_h_Cvar_NamePing, g_s_Optimize, sizeof( g_s_Optimize ) ); AddCommandListener( CMD_Ping, g_s_Optimize ); } public OnClientPostAdminCheck( i_Client ) { g_i_FloodTokens[ i_Client ] = 0; } public Action: Protect_Lags( i_Client, String: s_Cmd[ ], i_args ) { return Plugin_Stop; } public Action: CMD_Status( i_Client, String: s_Cmd[ ], i_args ) { if( i_Client > 0 && i_args < 1 ) { func_DisplayStatus( i_Client ); func_AddTokens( i_Client ); } return Plugin_Handled; } public Action: CMD_Ping( i_Client, String: s_Cmd[ ], i_args ) { if( i_Client > 0 && i_args < 1 ) { decl String: s_Name[ 32 ]; GetClientName( i_Client, s_Name, sizeof( s_Name ) ); PrintToConsole( i_Client, "%t", "ping", s_Name, RoundToNearest( GetClientAvgLatency( i_Client, NetFlow:0 ) * 1000.0 ) ); func_AddTokens( i_Client ); } return Plugin_Handled; } func_DisplayStatus( i_Client ) { decl String: s_Optimize[ 2 ][ 256 ], i_Ip; GetConVarString( FindConVar( "hostname" ), g_s_Optimize, sizeof( g_s_Optimize ) ); PrintToConsole( i_Client, "%t", "hostname", g_s_Optimize ); GetConVarString( FindConVar( "version" ), g_s_Optimize, sizeof( g_s_Optimize ) ); PrintToConsole( i_Client, "%t", "version", g_s_Optimize ); i_Ip = GetConVarInt( FindConVar( "hostip" ) ); GetConVarString( FindConVar( "hostport" ), g_s_Optimize, sizeof( g_s_Optimize ) ); FormatEx( g_s_Optimize, sizeof( g_s_Optimize ), "%u.%u.%u.%u:%s", i_Ip >>> 24 & 255, i_Ip >>> 16 & 255, i_Ip >>> 8 & 255, i_Ip & 255, s_Optimize ); PrintToConsole( i_Client, "%t", "ip", g_s_Optimize ); GetCurrentMap( g_s_Optimize, sizeof( g_s_Optimize ) ); PrintToConsole( i_Client, "%t", "map", g_s_Optimize ); i_Ip = 0; for( new i_i = 1; i_i <= MaxClients; i_i++ ) { if( IsClientInGame( i_i ) ) i_Ip++; } PrintToConsole( i_Client, "%t", "players", i_Ip, MaxClients ); GetClientName( i_Client, g_s_Optimize, sizeof( g_s_Optimize ) ); new i_Id = GetClientUserId( i_Client ); GetClientIP( i_Client, s_Optimize[ 0 ], sizeof( s_Optimize[ ] ) ); GetClientAuthId( i_Client, AuthId_Steam2, s_Optimize[ 1 ], sizeof( s_Optimize[ ] ) ); PrintToConsole( i_Client, "%t", "status", i_Id, g_s_Optimize, s_Optimize[ 0 ], s_Optimize[ 1 ] ); } func_AddTokens( i_Client ) { g_i_FloodTokens[ i_Client ]++; if( g_h_Timer_DisableTokens[ i_Client ] != INVALID_HANDLE ) { KillTimer( g_h_Timer_DisableTokens[ i_Client ] ); g_h_Timer_DisableTokens[ i_Client ] = INVALID_HANDLE; g_h_Timer_DisableTokens[ i_Client ] = CreateTimer( 1.0, Timer_BlockTokens, i_Client, TIMER_FLAG_NO_MAPCHANGE ); } else g_h_Timer_DisableTokens[ i_Client ] = CreateTimer( 1.0, Timer_BlockTokens, i_Client, TIMER_FLAG_NO_MAPCHANGE ); if( g_i_FloodTokens[ i_Client ] >= g_i_Cvar_LimitTokens ) { PrintToChatAll( "\x04[Server]\x01: Игрок %N, пытался зафлудить сервер.", i_Client ); KickClient( i_Client, "[Server]: Spam status or ping" ); } } public Action: Timer_BlockTokens( Handle: h_Timer, any: i_Client ) { if( i_Client > 0 && IsClientInGame( i_Client ) ) { g_i_FloodTokens[ i_Client ] = 0; g_h_Timer_DisableTokens[ i_Client ] = INVALID_HANDLE; } } public OnClientDisconnect( i_Client ) { if( g_h_Timer_DisableTokens[ i_Client ] != INVALID_HANDLE ) { KillTimer( g_h_Timer_DisableTokens[ i_Client ] ); g_h_Timer_DisableTokens[ i_Client ] = INVALID_HANDLE; } }
Отправить
Загрузил
exec208
2019-02-03 04:01:35
0
20
Установить на сервер
Скачать
Нет оплаченых серверов
Купить сервер CS 1.6
Купить сервер CS:GO
Купить сервер CSS v34
Подключить свой VDS к панели
Данная иконка означает, что плагин был проверен администрацией хостинга на тестовом сервере, и проблем с ним не было выявлено. Рекомендуем ставить исключительно проверенные плагины.
Плагин загружен на сервер, но проверка еще не была проведена.
CSHOST.COM.UA 2012-2024 Хостинг игровых серверов