jjey1 писал(а): Как з****ли панты! от мастеров! пупы мира просто блядь! ( у меня есть телка и я её ебу!! )
// ================================================================================================
//
// Plugin: Full Server Slot Reservation
// Version: 0.1.0
// Authors: PomanoB & droper
//
// Copyright © 2011
//
// ================================================================================================
#include < amxmodx >
#include < orpheu >
// ================================================================================================
//
// Макроконстанты
//
// ================================================================================================
#define PLUGIN "Full Server Slot Reservation"
#define VERSION "0.1.0"
#define AUTHOR "PomanoB & droper"
// Проверять пароль _pw или нет
#define PASSWORD_CHECK
// Причина кика
#define KICK_REASON "Slot reservation! You unluck player!"
#if defined PASSWORD_CHECK
// Строка должна быть такой же как и в кваре amx_password_field ( но \ в начале и конце обязательны )
new const g_passwordField[] = "\_pw\";
#endif
// ================================================================================================
//
// Глобальные переменные
//
// ================================================================================================
new g_maxplayers = 0;
// ================================================================================================
//
// plugin_precache ()
//
// ================================================================================================
public plugin_precache ( )
{
register_plugin ( PLUGIN, VERSION, AUTHOR );
OrpheuRegisterHook ( OrpheuGetFunction ( "SV_ConnectClient" ), "OnSV_ConnectClient" );
g_maxplayers = get_maxplayers ( );
}
// ================================================================================================
//
// OnSV_ConnectClient ()
//
// ================================================================================================
public OrpheuHookReturn:OnSV_ConnectClient ( )
{
static szInfo[512], szName[ 32 ], iPos, iCount, iFlags;
read_args ( szInfo, charsmax( szInfo ) );
szInfo[ strlen ( szInfo ) - 1 ] = EOS;
iPos = contain ( szInfo, "\szName\" );
copyc ( szName, charsmax( szName ), szInfo[ iPos + 6 ], '\' );
#if defined PASSWORD_CHECK
static szPassword[ 64 ];
iPos = contain ( szInfo, g_passwordField );
if ( iPos != -1 )
{
copyc ( szPassword, charsmax( szPassword), szInfo[ iPos + charsmax( g_passwordField ) ], '\' );
}
else
{
szPassword[ 0 ] = EOS;
}
#endif
iCount = admins_num ( );
for ( iPos = 0; iPos < iCount; iPos++ )
{
iFlags = admins_lookup ( iPos, AdminProp_Flags );
admins_lookup ( iPos, AdminProp_Auth, szInfo, charsmax( szInfo ) );
if ( iFlags & ( FLAG_AUTHID | FLAG_IP ) )
{
continue;
}
if ( iFlags & FLAG_TAG )
{
if ( iFlags & FLAG_CASE_SENSITIVE )
{
if ( contain ( szName, szInfo ) != -1 )
{
break;
}
}
else if ( contain ( szName, szInfo ) != -1 )
{
break;
}
}
else
{
if ( iFlags & FLAG_CASE_SENSITIVE )
{
if ( equal ( szInfo, szName ) )
{
break;
}
}
else
{
if ( equali ( szInfo, szName ) )
{
break;
}
}
}
}
if ( iPos == iCount )
{
return OrpheuIgnored;
}
#if defined PASSWORD_CHECK
if ( !( iFlags & FLAG_NOPASS ) )
{
admins_lookup ( iPos, AdminProp_Password, szInfo, charsmax( szInfo ) );
if ( !equal ( szInfo, szPassword ) )
{
return OrpheuIgnored;
}
}
#endif
iPos = findKickedPlayer ( );
if ( iPos )
{
server_cmd ( "kick #%d ^"%s^"", get_user_userid ( iPos ), KICK_REASON );
server_exec ( );
}
return OrpheuIgnored;
}
// ================================================================================================
//
// findKickedPlayer ()
//
// ================================================================================================
public findKickedPlayer()
{
static i, iUnluckPlayer, iPlayersNum;
iUnluckPlayer = 0;
iPlayersNum = 0;
for ( i = 1; i <= g_maxplayers; i++ )
{
if ( is_user_connected ( i ) )
{
iPlayersNum++
if ( !iUnluckPlayer && !is_user_bot ( i ) )
{
iUnluckPlayer = i;
}
}
}
if ( iUnluckPlayer && iPlayersNum == g_maxplayers )
{
return iUnluckPlayer;
}
return 0;
}
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3