Страница 1 от 1

Редактиране на Combo плъгин да дава Points

Публикувано на: 09 Апр 2019, 16:41
от boro2277
Здравейте , ако може малко помощ за този плъгин.
В момента ако някой направи combo-то му дава deagle , а на мен ми трябва да дава points.Използвам Points от custom shop на OciXCrom.

Преработка на Combo плъгин

Публикувано на: 09 Апр 2019, 16:55
от illusion
Оправи си заглавието

Редактиране на Combo плъгин да дава Points

Публикувано на: 09 Апр 2019, 20:19
от OciXCrom
Cvar: amx_combo_points "5"

Код за потвърждение: Избери целия код

#include < amxmodx >
#include < fakemeta >
#include < fun >
#include < cstrike >
#include < customshop >

#define ACCESS 		ADMIN_BAN // 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 g_Combo[ 14 ];
new g_Count[ 33 ];
new g_Buttons[ 14 ];

new g_synchud;

new g_pCombos;
new g_pPoints;
new MAX;

public plugin_init( )
{
	register_plugin( "Random Buttons Game", "1.2-cshop", "eMinEm" );

	register_clcmd( "say /combo", "cmdcombo" ); // Command to start the game with

	register_forward( FM_PlayerPreThink, "fw_Player_PreThink" );

	g_synchud = CreateHudSyncObj( );

	g_pCombos = register_cvar( "amx_combos", "6" ); // Min - 5 || Max - 10
	g_pPoints = register_cvar( "amx_combo_points", "5" );
}

public cmdcombo( id )
{
	if( !( get_user_flags( id ) & ACCESS ) || game_started ) // Only admins can start the game
	{
		return PLUGIN_HANDLED;
	}

	if( 5 <= get_pcvar_num( g_pCombos ) <= 10 )
	{
		MAX = get_pcvar_num( g_pCombos );
	}
	else
	{
		MAX = 6;
	}

	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;
}

	// Here you can add price for the winner
public give_price( id )
{
	cshop_give_points( id, get_pcvar_num( g_pPoints ) );

	new winner[ 33 ];
	get_user_name( id, winner, 32 );
	client_print( 0, print_chat, "%s won Deagle", winner );
}

showcombo( id )
{
	set_hudmessage( 255, 255, 255, _, 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 ] );
	}
}

Редактиране на Combo плъгин да дава Points

Публикувано на: 10 Апр 2019, 09:44
от boro2277
Благодаря, може да заключвате темата.