Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include < a_samp >
- #include < zcmd >
- #include < sscanf >
- #define BUD_USE_WHIRLPOOL false
- #define BUD_MAX_COLUMNS 10
- #include < BUD >
- #define Register_D1 1_3_3_7
- #define Register_D2 2_3_3_7
- #define Register_D3 3_3_3_7
- #define Register_D4 4_3_3_7
- #define Login_D1 5_3_3_7
- #define Login_D2 6_3_3_7
- #define Login_D3 7_3_3_7
- #define MAX_TRYES 3
- #define C_R "{F81414}"
- #define C_W "{FFFFFF}"
- #if !defined IsNull
- #define IsNull(%1) \
- ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
- #endif
- enum RAS_DATA
- {
- rK_TRY,
- rK_CASH,
- rK_SCORE
- }
- new
- ROCK_PDATA[ MAX_PLAYERS ][ RAS_DATA ]
- ;
- public OnFilterScriptInit( )
- {
- BUD::Setting( opt.Database, "Users.db" );
- BUD::Setting( opt.Asynchronous, true );
- BUD::Setting( opt.KeepAliveTime, 3000 );
- BUD::Setting( opt.CheckForUpdates, true );
- BUD::Initialize( );
- BUD::VerifyColumn( "Money", BUD::TYPE_NUMBER, rRandom( 500 ) ); // You can delete "rRandom from here, it was just for tests
- BUD::VerifyColumn( "Score", BUD::TYPE_NUMBER, rRandom( 500 ) ); // If you don't delete it, all players will have an random amount of money and score between 0 and 500
- /* For testing
- BUD::RegisterName( "Bla0", "test" );
- BUD::RegisterName( "Bla1", "test" );
- BUD::RegisterName( "Bla2", "test" );
- BUD::RegisterName( "Bla3", "test" );
- */
- print("\n------------------------------------");
- print(" Rock's Account System Loaded \n");
- print("------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit( )
- {
- BUD::Exit( );
- print("\n------------------------------------");
- print(" Rock's Account System UnLoaded \n");
- print("------------------------------------\n");
- }
- public OnPlayerConnect( playerid )
- {
- new _rK[ 128 ];
- if( !BUD::IsNameRegistered( GetName( playerid ) ) )
- {
- format( _rK, sizeof( _rK ), ""C_W"Bine ai venit "C_R"%s\n"C_W"Ai nevoie de unde cont ca sa poti juca pe server.", GetName( playerid ) );
- ShowPlayerDialog( playerid, Register_D1, DIALOG_STYLE_MSGBOX, "Cont nou", _rK, "Register", "Kick" );
- }
- else
- {
- format( _rK, sizeof( _rK ), ""C_W"Welcome "C_R"%s\n"C_W"Acest cont este deja inregistrat\nLogheaza-te Acum!", GetName( playerid ) );
- ShowPlayerDialog( playerid, Login_D1, DIALOG_STYLE_MSGBOX, "Logheaza-te", _rK, "Login", "Kick" );
- }
- return 1;
- }
- public OnPlayerDisconnect( playerid, reason )
- {
- new
- iUID = BUD::GetNameUID( GetName( playerid ) )
- ;
- BUD::MultiSet( iUID, "ii",
- "Money", ROCK_PDATA[ playerid ][ rK_CASH ],
- "Score", ROCK_PDATA[ playerid ][ rK_SCORE ]
- );
- return 1;
- }
- public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
- {
- if ( dialogid == Register_D1 )
- {
- if ( response )
- {
- ShowPlayerDialog( playerid, Register_D2, DIALOG_STYLE_INPUT, "Scrie Parola", ""C_W"Scrie parola care o doresti:", "Enter", "");
- }
- if ( !response ) Kick( playerid );
- }
- if ( dialogid == Register_D4 )
- {
- if ( response )
- {
- ShowPlayerDialog( playerid, Register_D2, DIALOG_STYLE_INPUT, "Scrie Parola", ""C_W"Scrie parola care o doresti:", "Enter", "");
- }
- }
- if ( dialogid == Register_D2 )
- {
- if ( response )
- {
- if ( strlen( inputtext ) == 0 ) return ShowPlayerDialog( playerid, Register_D2, DIALOG_STYLE_INPUT, "Scrie Parola", ""C_R"Nu ai scris nici-o parola\n"C_W"Scrie parola care o doresti:", "Enter", "");
- if ( BUD::RegisterName( GetName( playerid ), inputtext ) )
- {
- new iUID = BUD::GetNameUID( GetName( playerid ) );
- new RString[ 128 ];
- BUD::MultiSet( iUID, "s", "Password", inputtext );
- format( RString, sizeof( RString ), ""C_W"Account Created!\n\nAccount: "C_R"%s\n"C_W"Password: "C_R"%s", GetName( playerid ), inputtext );
- ShowPlayerDialog( playerid, Register_D3, DIALOG_STYLE_MSGBOX, "Cont Creat.", RString, "Login", "");
- }
- }
- if( !response ) return Kick( playerid );
- }
- if ( dialogid == Register_D3 )
- {
- if ( response )
- {
- ShowPlayerDialog( playerid, Login_D2, DIALOG_STYLE_INPUT, "Scrie Parola", ""C_W"Scrie parola care o doresti:", "Enter", "");
- }
- }
- if ( dialogid == Login_D1 )
- {
- if ( response )
- {
- ShowPlayerDialog( playerid, Login_D2, DIALOG_STYLE_INPUT, "Scrie Parola", ""C_W"Scrie parola de la cont:", "Enter", "");
- }else Kick( playerid );
- }
- if ( dialogid == Login_D3 )
- {
- if ( response )
- {
- ShowPlayerDialog( playerid, Login_D2, DIALOG_STYLE_INPUT, "Scrie Parola", ""C_W"Scrie parola de la cont:", "Enter", "");
- }
- }
- if ( dialogid == Login_D2 )
- {
- if ( response )
- {
- if( strlen( inputtext ) == 0 ) return ShowPlayerDialog( playerid, Login_D2, DIALOG_STYLE_INPUT, "Scrie Parola", ""C_W"Nu ai scris nici-o parola\n"C_W"Scrie parola care o doresti:", "Enter", "");
- if( BUD::CheckAuth( GetName( playerid ), inputtext ) )
- {
- new Money, Score;
- new iUID = BUD::GetNameUID( GetName( playerid ) );
- BUD::MultiGet( iUID, "ii",
- "Money", Money,
- "Score", Score
- );
- ROCK_PDATA[ playerid ][ rK_SCORE ] = Score;
- ROCK_PDATA[ playerid ][ rK_CASH ] = Money;
- SendClientMessage( playerid, -1, ""C_W"Te-ai logat cu succes.");
- }
- else
- {
- new r_Var[ 150 ];
- ROCK_PDATA[ playerid ][ rK_TRY ] ++;
- format( r_Var, sizeof( r_Var ), ""C_R"Parola Incorecta\n"C_W"Incercari "C_R"%i"C_W"/"C_R"%i\n"C_W"Introdu parola corecta", ROCK_PDATA[ playerid ][ rK_TRY ], MAX_TRYES );
- ShowPlayerDialog( playerid, Login_D2, DIALOG_STYLE_MSGBOX, "Parola Incorecta", r_Var, "Enter", "Kick" );
- if( ROCK_PDATA[ playerid ][ rK_TRY ] == MAX_TRYES ) return Kick( playerid );
- }
- }else Kick( playerid );
- }
- return 1;
- }
- // Usage: /top money, /top score
- CMD:top( playerid, params[ ] )
- {
- if( IsNull( params ) ) return SendClientMessage( playerid, -1, "Syntax: /top <money/score>");
- new
- BUD::Results: rSort< 5 >,
- rName[ 10 ][ MAX_PLAYER_NAME ],
- rResults = BUD::GetSortedData( rName, params )
- ;
- BUD::GetNamesForSortedData( rSort, rResults, rName );
- if( rResults == -1 ) return print( "WARNING: BUD::GetSortedData Failed!" );
- else
- {
- for ( new i = 0; i < rResults; i++ )
- {
- printf( "Users: %s (%d)\t%d", rName, rSort[ i ][ 0 ], rSort[ i ][ 1 ] );
- }
- }
- return 1;
- }
- rRandom( rVar = 0 )
- {
- random( rVar );
- return rVar;
- }
- stock GetName( playerid )
- {
- new _RocKzSk[ MAX_PLAYER_NAME ];
- GetPlayerName( playerid, _RocKzSk, sizeof _RocKzSk );
- return ( _RocKzSk );
- }
Advertisement
Add Comment
Please, Sign In to add comment