Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include < amxmodx >
- #include < fakemeta >
- #include < fun >
- #include < cstrike >
- #include < ColorChat >
- #define ACCESS ADMIN_CVAR // What flags you need to start the game
- new const names[][] =
- {
- "Attack",
- "Jump",
- "Duck",
- "Forward",
- "Back",
- "Use",
- "Moveleft",
- "Moveright",
- "Attack2",
- "Reload",
- "Score",
- "Left",
- "Right",
- "-- Attack --",
- "-- Jump --",
- "-- Duck --",
- "-- Forward --",
- "-- Back --",
- "-- Use --",
- "-- Moveleft --",
- "-- Moveright --",
- "-- Attack2 --",
- "-- Reload --",
- "-- Score --",
- "-- Left --",
- "-- Right --"
- }
- new const css[][] =
- {
- "",
- "",
- "",
- "",
- "",
- "%s^n%s^n%s^n%s^n%s^n",
- "%s^n%s^n%s^n%s^n%s^n%s^n",
- "%s^n%s^n%s^n%s^n%s^n%s^n%s^n",
- "%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n",
- "%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n",
- "%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n%s^n"
- }
- new bool:game_started;
- new combotimer
- new g_Combo[ 14 ];
- new g_Count[ 33 ];
- new g_Buttons[ 14 ];
- new g_synchud;
- new cTimer
- new g_pCombos;
- new MAX;
- public plugin_init( )
- {
- register_plugin( "Random Buttons Game", "1.2", "Edited By Th3ShAk3R" );
- register_clcmd( "say /combo", "cmdcombo1" ); // Command to start the game with
- register_forward( FM_PlayerPreThink, "fw_Player_PreThink" );
- g_synchud = CreateHudSyncObj( );
- combotimer = register_cvar( "amx_combotimer", "6" );
- g_pCombos = register_cvar( "amx_combos", "10" ); // Min - 5 || Max - 10
- }
- public cmdcombo1(id){
- if(get_user_flags(id) & ACCESS){
- cTimer = get_pcvar_num( combotimer );
- new szName[32]
- get_user_name(id,szName,charsmax(szName))
- ColorChat(id,TEAM_COLOR,"%s Started Combo Contest",szName)
- set_task(1.0,"StartCd",1337,_,_,"b")
- }
- else return ColorChat(id,TEAM_COLOR,"^1You Need To be ^4Vip+^1 To Use This ^3Command")
- return 0;
- }
- public StartCd()
- {
- if(cTimer > 1)
- {
- cTimer--
- set_hudmessage(20, 220, 234, -1.0, 0.26, 1, 6.0, 1.0)
- show_hudmessage(0,"The Combo ^nstart in %i seconds!",cTimer)
- new SayNumber[14]
- num_to_word(cTimer,SayNumber,9)
- client_cmd(0,"spk fvox/%s",SayNumber)
- }
- else if(cTimer == 1)
- {
- cTimer--
- cmdcombo();
- remove_task(1337)
- }
- }
- public cmdcombo( )
- {
- if( 5 <= get_pcvar_num( g_pCombos ) <= 10 )
- {
- MAX = get_pcvar_num( g_pCombos );
- }
- else
- {
- MAX = 10;
- }
- new iNumbers[ 14 ];
- for( new i; i < sizeof( iNumbers )-1; i++ )
- {
- iNumbers[ i ] = i;
- }
- SortCustom1D( iNumbers, 13, "fnSortFunc" );
- for( new i; i < MAX; i++ )
- {
- if( i > 0 )
- {
- if( iNumbers[ i ] == g_Combo[ i-1 ] )
- {
- continue;
- }
- }
- g_Combo[ i ] = iNumbers[ i ];
- }
- new iPlayers[ 32 ] , iNum;
- get_players( iPlayers, iNum );
- for( new i; i < iNum; i++ ) g_Count[ iPlayers[ i ] ] = 0;
- g_Buttons[ 0 ] = IN_ATTACK;
- g_Buttons[ 1 ] = IN_JUMP;
- g_Buttons[ 2 ] = IN_DUCK;
- g_Buttons[ 3 ] = IN_FORWARD;
- g_Buttons[ 4 ] = IN_BACK;
- g_Buttons[ 5 ] = IN_USE;
- g_Buttons[ 6 ] = IN_MOVELEFT;
- g_Buttons[ 7 ] = IN_MOVERIGHT;
- g_Buttons[ 8 ] = IN_ATTACK2;
- g_Buttons[ 9 ] = IN_RELOAD;
- g_Buttons[ 10 ] = IN_SCORE;
- g_Buttons[ 11 ] = IN_LEFT;
- g_Buttons[ 12 ] = IN_RIGHT;
- game_started = true // Start the game
- return PLUGIN_HANDLED;
- }
- public fnSortFunc( elem1, elem2, const array[], const data[], data_size )
- {
- new iNum = random_num( 0, 60 );
- if( iNum < 30 )
- {
- return -1;
- }
- else if( iNum == 30 )
- {
- return 0;
- }
- return 1;
- }
- public fw_Player_PreThink( id )
- {
- if( !game_started || !is_user_alive( id ) ) return FMRES_IGNORED;
- static iButton;
- iButton = pev( id, pev_button );
- if( g_Count[ id ] >= MAX )
- {
- game_started = false;
- give_price( id );
- g_Count[ id ] = 0 ;
- }
- if( g_Count[ id ] != 0 )
- {
- if( iButton & g_Buttons[ g_Combo[ g_Count[ id ]-1 ] ] )
- {
- return FMRES_IGNORED;
- }
- }
- if( iButton & g_Buttons[ g_Combo[ g_Count[ id ] ] ] )
- {
- g_Count[ id ] ++;
- }
- else if( iButton )
- {
- g_Count[ id ] = 0;
- }
- showcombo( id );
- return FMRES_IGNORED;
- }
- public give_price( id )
- {
- give_item( id, "weapon_deagle" );
- cs_set_user_bpammo( id, CSW_DEAGLE, 99999 );
- new winner[ 33 ];
- get_user_name( id, winner, 32 );
- ColorChat( 0, TEAM_COLOR, "^4[^3Combo^4] ^4%s ^3Won ^4The ^3Combo ^4Contest", winner );
- }
- showcombo( id )
- {
- set_hudmessage( 255, 255, 0, _, 0.25, 0, 0.1, 0.1, 0.1, 0.1, 1 );
- new name[ 11 ][ 33 ];
- for( new i; i<MAX; i++ )
- {
- copy( name[ i ], 32, names[ g_Combo[ i ] ] );
- if( i == g_Count[ id ] )
- {
- copy( name[ i ], 32, names[ g_Combo[ i ] +13 ] );
- }
- }
- switch( MAX )
- {
- case 5: ShowSyncHudMsg( id, g_synchud, css[ MAX ], name[ 0 ], name[ 1 ], name[ 2 ], name[ 3 ], name[ 4 ] );
- case 6: ShowSyncHudMsg( id, g_synchud, css[ MAX ], name[ 0 ], name[ 1 ], name[ 2 ], name[ 3 ], name[ 4 ], name[ 5 ] );
- case 7: ShowSyncHudMsg( id, g_synchud, css[ MAX ], name[ 0 ], name[ 1 ], name[ 2 ], name[ 3 ], name[ 4 ], name[ 5 ], name[ 6 ] );
- case 8: ShowSyncHudMsg( id, g_synchud, css[ MAX ], name[ 0 ], name[ 1 ], name[ 2 ], name[ 3 ], name[ 4 ], name[ 5 ], name[ 6 ], name[ 7 ] );
- case 9: ShowSyncHudMsg( id, g_synchud, css[ MAX ], name[ 0 ], name[ 1 ], name[ 2 ], name[ 3 ], name[ 4 ], name[ 5 ], name[ 6 ], name[ 7 ], name[ 8 ] );
- case 10: ShowSyncHudMsg( id, g_synchud, css[ MAX ], name[ 0 ], name[ 1 ], name[ 2 ], name[ 3 ], name[ 4 ], name[ 5 ], name[ 6 ], name[ 7 ], name[ 8 ], name[ 9 ] );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement