Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include < a_samp >
- #include < YSI\y_ini >
- #include < YSI\y_inline >
- #include < sscanf2 >
- #include < zcmd >
- #define FILTERSCRIPT
- #define SendFormatMessage(%0,%1,%2,%3) format ( gString , sizeof gString , %2 , %3 ) && SendClientMessage ( %0 , %1 , gString )
- #define SendFormatMessageToAll(%0,%1,%2) format ( gString , sizeof gString , %1 , %2 ) && SendClientMessageToAll ( %0 , gString )
- #define IAdmin(%0) AData [ %0 ] [ IsAdmin ]
- #define ALogged(%0) AData [ %0 ] [ IsLogged ]
- #define ALevel(%0) AData [ %0 ] [ AdminLevel ]
- #define Name(%0) AData [ %0 ] [ AName ]
- #define Kick2_Kick(%0) SetTimerEx ( "KickP2" , 200 , false , "d" , %0 )
- #if defined _ALS_Kick
- #undef Kick
- #else
- #define _ALS_Kick
- #endif
- forward public KickP2 ( playerid ) ; public KickP2 ( playerid ) return Kick ( playerid ) ;
- #define Kick Kick2_Kick
- enum pAdminData
- {
- AName [ MAX_PLAYER_NAME + 1 ] ,
- AdminFile [ 64 ] ,
- bool: IsAdmin ,
- bool: IsLogged ,
- AdminLevel ,
- AdminPassword [ 33 ] ,
- AdminIP[20]
- }
- enum pBanData
- {
- BanFile [ 64 ] ,
- BanReason [ 128 ]
- }
- static
- AData [ MAX_PLAYERS ] [ pAdminData ] ,
- BData [ MAX_PLAYERS ] [ pBanData ] ,
- gString [ 256 ] ;
- public OnFilterScriptInit ( )
- {
- for ( new i = 0 , j = GetMaxPlayers ( ) ; i < j ; i ++ ) \
- OnPlayerConnect ( i ) ;
- return 1 ;
- }
- public OnFilterScriptExit ( )
- {
- for ( new i = 0 , j = GetMaxPlayers ( ) ; i < j ; i ++ ) \
- OnPlayerDisconnect ( i , -5 ) ;
- return 1 ;
- }
- public OnPlayerConnect ( playerid )
- {
- GetPlayerName ( playerid , AData [ playerid ] [ AName ] , MAX_PLAYER_NAME + 1 ) ;
- GetPlayerIp ( playerid , AData [ playerid ] [ AdminIP ] , 20 ) ;
- format ( AData [ playerid ] [ AdminFile ] , 64 , "Admin/Users/%s.ini" , Name ( playerid ) ) ;
- format ( BData [ playerid ] [ BanFile ] , 64 , "Admin/Users/Bans/%s.ini" , Name ( playerid ) ) ;
- inline LoadAdminAccount( string: name [ ] , string: value [ ] )
- {
- INI_Bool ( "IsAdmin" , AData [ playerid ] [ IsAdmin ] ) ;
- INI_Int ( "AdminLevel" , AData [ playerid ] [ AdminLevel ] ) ;
- INI_String ( "AdminPassword" , AData [ playerid ] [ AdminPassword ] , 33 ) ;
- INI_String ( "AdminIP" , AData [ playerid ] [ AdminIP ] , 20 ) ;
- }
- INI_ParseFile ( AData [ playerid ] [ AdminFile ] , using inline "LoadAdminAccount" ) ;
- if( fexist ( BData [ playerid ] [ BanFile ] ) )
- {
- inline LoadBanFile( string: name [ ] , string: value [ ] )
- {
- INI_String ( "Reason" , BData [ playerid ] [ BanReason ] , 129 ) ;
- }
- INI_ParseFile ( BData [ playerid ] [ BanFile ] , using inline "LoadBanFile" ) ;
- SendClientMessage ( playerid , 0xFF0000AA , ":אתה בבאן מהסיבה ההבאה") ;
- SendFormatMessage ( playerid , 0xFF0000AA , "%s" , BData [ playerid ] [ BanReason ] ) ;
- Kick ( playerid ) ;
- }
- return 1 ;
- }
- public OnPlayerDisconnect ( playerid , reason )
- {
- if ( IAdmin ( playerid ) )
- {
- new INI: file = INI_Open ( AData [ playerid ] [ AdminFile ] ) ;
- INI_WriteBool ( file , "IsAdmin" , true ) ;
- INI_WriteInt ( file , "AdminLevel" , AData [ playerid ] [ AdminLevel ] ) ;
- INI_WriteString ( file , "AdminPassword" , AData [ playerid ] [ AdminPassword ] ) ;
- INI_WriteString ( file , "AdminIP" , AData [ playerid ] [ AdminIP ] ) ;
- INI_Close ( file ) ;
- }
- return 1 ;
- }
- CMD:setadmin ( playerid , params [ ] )
- {
- if ( !IsPlayerAdmin ( playerid ) ) return 0 ;
- if ( sscanf ( params , "ud" , params [ 0 ] , params [ 1 ] ) ) return SendClientMessage ( playerid , 0x00A6FFAA , "Usage Error: /SetAdmin [Name / ID] [Level 1 - 6]" ) ;
- if ( !IsPlayerConnected ( params [ 0 ] ) ) return SendClientMessage ( playerid , 0x00A6FFAA , "Error: Inavlid ID!" ) ;
- if ( params [ 1 ] < 1 || params [ 1 ] > 6 ) return SendClientMessage ( playerid , 0x00A6FFAA , "Error: Admin Levels: 1-6" ) ;
- AData [ params [ 0 ] ] [ IsAdmin ] = true ;
- AData [ params [ 0 ] ] [ AdminLevel ] = params [ 1 ] ;
- AData [ params [ 0 ] ] [ IsLogged ] = false ;
- format ( AData [ params [ 0 ] ] [ AdminPassword ] , 33 , "%s1235468716" , Name ( params [ 0 ] ) ) ;
- strins ( AData [ params [ 0 ] ] [ AdminPassword ] , gString , 0 ) ;
- SendFormatMessage ( params [ 0 ] , 0x00A6FFAA , "You Have Set Player \"%s\" As Admin at level %d." , Name ( params [ 0 ] ) , params [ 1 ] ) ;
- SendFormatMessage ( params [ 0 ] , 0x00A6FFAA , "RconAdmin: \"%s\" Set You As Admin at level %d." , Name ( playerid ) , params [ 1 ] ) ;
- SendFormatMessage ( params [ 0 ] , 0x00A6FFAA , "And Your Admin Password is: \"%s\". To Log In Type: \"/ALogin [Your Password]\"" , AData [ params [ 0 ] ] [ AdminPassword ] ) ;
- return 1 ;
- }
- CMD:alogin ( playerid , params [ ] )
- {
- if ( !IAdmin ( playerid ) ) return 0 ;
- if ( ALogged ( playerid ) ) return SendClientMessage ( playerid , 0x00A6FFAA , "You Already Logged!" ) ;
- if ( sscanf ( params , "s" , params [ 0 ] ) ) return SendClientMessage ( playerid , 0x00A6FFAA , "Usage Error: /ALogin [Your Password]" ) ;
- if ( strcmp ( params [ 0 ] , AData [ playerid ] [ AdminPassword ] , true ) != 0 ) return SendClientMessage ( playerid , 0x00A6FFAA , "The Password that you typed is wrong!" ) ;
- else
- {
- SendClientMessage ( playerid, 0x00A6FFAA , "You Successfully Logged into you Admin account." );
- AData [ playerid ] [ IsLogged ] = true ;
- }
- return 1 ;
- }
- CMD:kick ( playerid , params [ ] )
- {
- if ( !IAdmin ( playerid ) ) return 0 ;
- if ( !ALogged ( playerid ) ) return SendClientMessage ( playerid , 0x00A6FFAA , "You Are Not Logged to your Admin account! to log in, type: \"/ALogin [Your Password]\"" ) ;
- if ( sscanf ( params , "us[128]" , params [ 0 ] , params [ 1 ] ) ) return SendClientMessage ( playerid , 0x00A6FFAA , "Usage Error: /Kick [Name / ID] [REASON]" ) ;
- if ( !IsPlayerConnected ( params [ 0 ] ) ) return SendClientMessage ( playerid , 0x00A6FFAA , "Error: Inavlid ID!" ) ;
- SendFormatMessageToAll ( 0x00A6FFAA , ".\"%s\" :סיבה .\"%s\" נתן קיק לשחקן \"%s\" האדמין" , params [ 1 ] , Name ( params [ 0 ] ) , Name ( playerid ) ) ;
- SendFormatMessage ( playerid , 0x00A6FFAA , ".\"%s\" :סיבה .\"%s\" נתת קיק לשחקן" , params [ 1 ] , Name ( params [ 0 ] ) ) ;
- SendFormatMessage ( params [ 0 ] , 0x00A6FFAA , ".\"%s\" :נתן לך קיק. סיבה \"%s\" האדמין" , params [ 1 ] , Name ( playerid ) ) ;
- Kick ( params [ 0 ] ) ;
- return 1 ;
- }
- CMD:ban ( playerid , params [ ] )
- {
- if ( !IAdmin ( playerid ) ) return 0 ;
- if ( !ALogged ( playerid ) ) return SendClientMessage ( playerid , 0x00A6FFAA , "You Are Not Logged to your Admin account! to log in, type: \"/ALogin [Your Password]\"" ) ;
- if ( sscanf ( params , "us[128]" , params [ 0 ] , params [ 1 ] ) ) return SendClientMessage ( playerid , 0x00A6FFAA , "Usage Error: /Ban [Name / ID] [REASON]" ) ;
- if ( !IsPlayerConnected ( params [ 0 ] ) ) return SendClientMessage ( playerid , 0x00A6FFAA , "Error: Inavlid ID!" ) ;
- SendFormatMessageToAll ( 0x00A6FFAA , ".\"%s\" :סיבה .\"%s\" נתן באן לשחקן \"%s\" האדמין" , params [ 1 ] , Name ( params [ 0 ] ) , Name ( playerid ) ) ;
- SendFormatMessage ( playerid , 0x00A6FFAA , ".\"%s\" :סיבה .\"%s\" נתת באן לשחקן" , params [ 1 ] , Name ( params [ 0 ] ) ) ;
- SendFormatMessage ( params [ 0 ] , 0x00A6FFAA , ".\"%s\" :נתן לך באן. סיבה \"%s\" האדמין" , params [ 1 ] , Name ( playerid ) ) ;
- new INI:file = INI_Open ( BData [ params [ 0 ] ] [ BanFile ] ) ;
- INI_WriteString ( file , "Reason" , params [ 1 ] ) ;
- INI_Close ( file ) ;
- Kick ( params [ 0 ] ) ;
- return 1 ;
- }
- CMD:unban ( playerid , params [ ] )
- {
- if ( !IAdmin ( playerid ) ) return 0 ;
- if ( !ALogged ( playerid ) ) return SendClientMessage ( playerid , 0x00A6FFAA , "You Are Not Logged to your Admin account! to log in, type: \"/ALogin [Your Password]\"" ) ;
- if ( sscanf ( params , "s[26]" , params [ 0 ] ) ) return SendClientMessage ( playerid , 0x00A6FFAA , "Usage Error: /UnBan [Name]" ) ;
- new bfile [ 64 ] ;
- format ( bfile , sizeof bfile , "Admin/Users/Bans/%s.ini" , params [ 0 ] );
- if( !fexist ( bfile ) ) return SendFormatMessage ( playerid , 0x00A6FFAA , "The Player \"%s\" isn't Banned." , params [ 0 ] );
- else
- {
- fremove ( bfile ) ;
- SendFormatMessage ( playerid , 0x00A6FFAA , ".\"%s\" הורדת את הבאן לשחקן" , params [ 0 ] ) ;
- }
- return 1 ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement