[REZOLVAT] [Cerere] Pluginuri

In acest subforum puteţi cere un plugin pentru server .
Locked
User avatar
Rusu Radu
Moderator
Moderator
Posts: 2017
Joined: 8 years ago
Location: Dozer
Has thanked: 21 times
Been thanked: 7 times
Zodiac:
Age: 24
Contact:
Status: Offline
Jamaica

6 years ago

1.Un plugin in care sa primesc cate o grenada HE FREE (adica dupa ce arunc grenada sa primesc din nou alta)
2.Un plugin in care sa am un sistem de points / credit.
3.Un plugin shop cu points / credit.
4.Un plugin care la fiecare inceput de runda sa anunte timpul ramas pana la schimbarea harti.
5.Un plugin cand intri pe server sa iti apara un meniu cu diferite informati Ex : 1.Regulament 2.Forum 3.Concurs 4.Admini online etc...


Multumesc !
Viaţa însăşi este magie, iar dacă nu crezi asta, măcar încearcă să o trăieşti ca pe ceva magic.


©Rusu Radu

2024 CSGAMERS IS HERE
User avatar
Aneimar
Fondator
Fondator
Posts: 1901
Joined: 8 years ago
Location: RO - DE
Has thanked: 0
Been thanked: 11 times
Zodiac:
Age: 28
Contact:
Status: Offline
Romania

6 years ago

1.

Code: Select all

#include < amxmodx >
#include < cstrike >
#include < fun >

new g_Delay, g_contor[ 33 ];

public plugin_init( )
{
	register_plugin "Free HE Grenade", "1.1", "CsG" ;

	g_Delay = register_cvar( "freehe_delay", "10" );
}

public client_putinserver( index )
{
	g_contor[ index ] = 0;
	set_task 1.0, "Func_GiveHe", index, _, _, "b" ;
}

public Func_GiveHe( index )
{
	if ( !is_user_alive( index ) || cs_get_user_bpammo( index , CSW_HEGRENADE ) > 0 )
		return;

	if ( g_contor[ index ] > 0 )
	{
		set_hudmessage 0, 255, 0, 0.02, 0.48, 0, 1.0, 1.0 ;
		show_hudmessage index, "Vei primi un HE gratis in %i secunde...", g_contor[ index ] ;
		g_contor[ index ]--;
		return;
	}
	else
	{
		set_hudmessage 0, 255, 0, 0.02, 0.48, 0, 1.0, 1.0 ;
		show_hudmessage index, "Ai primit un HE gratis!" ;
		g_contor[ index ] = get_pcvar_num( g_Delay );
           	give_item index, "weapon_hegrenade" ;
	}
}

Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
freehe_delay 10 ;dupa cat timp primeste jucatorul o grenada gratis

Module necesare (se sterge ; din fata modulului de mai jos; acestea le gasiti in fisierul amxmodx\configs\modules.ini):
cstrike
fun




2.3. Nu prea ai dat informatii , daca nu iti place ceva la el treci la modificari plugin-uri .

Code: Select all

#include < amxmodx >
#include < amxmisc >
#include < fakemeta >
#include < hamsandwich >
#include < CC_ColorChat >
#include < csx >
#include < cstrike >

#pragma semicolon 1

#define ADMIN_ACCESS ADMIN_IMMUNITY
#define is_user_player(%1) ( 1 <= %1 <= g_MaxPlayers )

#define PLUGIN_NAME 	"Advanced Points System"
#define PLUGIN_VERSION 	"1.1"
#define PLUGIN_AUTHOR 	"CsG"

new const g_szTag[ ] = "[ CsGamers ]";

// Make files?
new const szWriteCvarsPoints[  ] = "addons/amxmodx/configs/points/points.cfg";
new const szLocationPoints[  ] = "addons/amxmodx/configs/points";

const PEV_SPEC_TARGET = pev_iuser2;

new g_iUserPoints[ 33 ];
new File[ 128 ];

new points_gamename;
new SyncHudMessage, g_MaxPlayers;

enum _:iCvars {

	EnableBombEvents,
	ShowType,
	CostOnePoint,
	PointsPerHS,
	PointsBombPlanted,
	PointsBombExploded,
	PointsBombDefused,
	AddPointsNewRound,
	EnableRespawn,
	PointsForRespawn,
	PointsForRespawnChance
}
;
new g_iCvar[ iCvars ];

public plugin_init( ) {

	register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
	
	register_event( "DeathMsg", "event_DeathMsg", "a" );

	register_forward( FM_GetGameDescription, "GameDesc" ); 
	register_forward( FM_PlayerPreThink, "fwd_PlayerPreThink" );

	RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawned_Post", 1 );
	RegisterHam( Ham_Killed, "player", "Ham_PlayerKilled", 1 );
	
	register_clcmd( "say /buypoint", "ClCmdSayBuyPoint" );
	register_clcmd( "say_team /buypoint", "ClCmdSayBuyPoint" );

	register_clcmd( "say pall", "ClCmdSayShowAllPoints" );
	register_clcmd( "say_team pall", "ClCmdSayShowAllPoints" );

	register_clcmd( "say /points", "ClCmdSayPoints" );
	register_clcmd( "say_team /points", "ClCmdSayPoints" );

	register_concmd( "amx_give_points" ,"ClCmdGivePoints", ADMIN_ACCESS, "< nume / @ALL / @T / @CT > < Puncte >" );
	register_concmd( "amx_take_points", "ClCmdTakePoints", ADMIN_ACCESS, "< nume > < Puncte >" );
	register_concmd( "amx_reset_points", "ClCmdResetPoints", ADMIN_ACCESS, "< nume / @ALL >" );
	
	g_iCvar[ ShowType ] = register_cvar( "points_show_info", "1" );
	g_iCvar[ EnableBombEvents ] = register_cvar( "points_bombevents_rewards", "1" );
	g_iCvar[ CostOnePoint ] = register_cvar( "points_costonepoint", "4000" );
	g_iCvar[ PointsPerHS ] = register_cvar( "points_per_headshot", "2" );
	g_iCvar[ PointsBombPlanted ] = register_cvar( "points_bomb_planted", "1" );
	g_iCvar[ PointsBombExploded ] = register_cvar( "points_bomb_exploded", "2" );
	g_iCvar[ PointsBombDefused ] = register_cvar( "points_bomb_defused", "1" );
	g_iCvar[ PointsForRespawn ] = register_cvar( "points_for_respawn", "10000" );
	g_iCvar[ PointsForRespawnChance ] = register_cvar( "points_respawn_chance", "70" );
	g_iCvar[ EnableRespawn ] = register_cvar( "points_enable_respawn", "1" );
	points_gamename = register_cvar( "points_gamename", "Adv. Points System v1.1" );

	SyncHudMessage = CreateHudSyncObj(  );
	g_MaxPlayers = global_get( glb_maxClients );

	new DataDir[ 64 ];
	get_datadir( DataDir, 63 );
	format( File, 127, "%s/AdvancedPointsSystem.dat", DataDir );
}

public plugin_precache(  ) {

	server_cmd( "exec %s", szWriteCvarsPoints );
       
	if( !dir_exists( szLocationPoints ) )
		mkdir( szLocationPoints );

	if( !file_exists( szWriteCvarsPoints ) ) {

		write_file( szWriteCvarsPoints, "// In acest fisier se afla cvar-urile legate despre puncte:");
		write_file( szWriteCvarsPoints, " ");
		write_file( szWriteCvarsPoints, "points_show_info ^"1^" // 0: Afiseaza datele in HUD sub radar | 1: Afiseaza datele deasupra vietii" );
		write_file( szWriteCvarsPoints, "points_bombevents_rewards ^"1^" // 0: Dezactivat | 1: Activat -> Puncte obtinute pe plantarea/dezamorsarea/explodearea bombei" );
		write_file( szWriteCvarsPoints, "points_costonepoint ^"4000^" // Cat sa coste un punct atunci cand il cumperi prin comanda /buypoint" );
		write_file( szWriteCvarsPoints, "points_per_headshot ^"2^" // Cate puncte sa primesti pe HeadShot !" );
		write_file( szWriteCvarsPoints, "points_bomb_planted ^"1^" // Cate puncte sa primesti pe plantarea bombei" );
		write_file( szWriteCvarsPoints, "points_bomb_exploded ^"2^" // Cate puncte sa primesti pe explodarea bombei" );
		write_file( szWriteCvarsPoints, "points_bomb_defused ^"1^" // Cate puncte sa primesti pe dezamorsarea bombei" );
		write_file( szWriteCvarsPoints, "points_enable_respawn ^"1^" // Activeaza / Dezactiveaza respawn-ul cand victima moare doar daca are X PUNCTE" );
		write_file( szWriteCvarsPoints, "points_for_respawn ^"1000^" // Cate puncte sa aiba victima ca sa poata reinvia atunci cand este omorata" );
		write_file( szWriteCvarsPoints, "points_respawn_chance ^"40^" // Cate sanse sa aiba victima ca sa poata reinvia" );
		write_file( szWriteCvarsPoints, "points_gamename ^"Adv. Points System v1.1^" // Schimbi numele default( Counter-Strike ) cu altul" );
		//write_file( szWriteCvarsPoints, "cvar ^"1 / 0^" // De cate sanse are nevoie victima ca sa invie atunci cand are X PUNCTE" );
	}
}

public plugin_natives( ) {

	register_native( "get_user_points", "native_get_user_points", 1 );
	register_native( "set_user_points", "native_set_user_points", 1 );
}

public native_get_user_points( id ) {

	return g_iUserPoints[ id ];
}

public native_set_user_points( id, points ) {

	g_iUserPoints[ id ] = points;
}

public client_putinserver( id ) {

	LoadUserPoints( id );
}

public client_disconnect( id ) {

	SaveUserPoints( id );
}

public GameDesc( ) {

	static szGameName[ 32 ];

	get_pcvar_string( points_gamename, szGameName, 31 );
	forward_return( FMV_STRING, szGameName );

	return FMRES_SUPERCEDE; 
}

public fwdPlayerPreThink( id ) {
	
	if( is_user_alive( id ) ) {
		
		new target, body; 
		get_user_aiming( id, target, body, 9999 );
		
		new CsTeams:team = cs_get_user_team( id );
		
		if( is_user_alive( target ) ) {

			if( is_user_player( target ) ) {
			
				new CsTeams:targetTeam = cs_get_user_team( target );
				
				new szName[ 32 ];
				get_user_name( target,  szName, sizeof( szName ) -1 );
							
				new sMessage[ 64 ];
				if( targetTeam == team ) {

					formatex( sMessage, sizeof( sMessage ) -1, "%s: %s^nHealth: %i | Points: %i", is_user_vip( target ) ? "VIP" : "Friend", szName, get_user_health( target ), g_iUserPoints[ target ] );
				}

				else if( targetTeam != team && team != CS_TEAM_CT ) {

					formatex( sMessage, sizeof( sMessage ) -1, "%s: %s^nHealth: %i | Points: %i", is_user_vip( target ) ? "VIP" : "Enemy", szName, get_user_health( target ), g_iUserPoints[ target ] );
				}
					
				if( targetTeam == CS_TEAM_CT ) {

					set_hudmessage( 0, 255, 0, -1.0, 0.6, 0, 0.0, 0.1, 0.0, 0.0, -1 );
				}

				else if( targetTeam == CS_TEAM_T ) {

					set_hudmessage( 127, 0, 0, -1.0, 0.6, 0, 0.0, 0.1, 0.0, 0.0, -1 );
				}	
				
				show_hudmessage( id, "%s",  sMessage );
			}
		}
	}
	
	return FMRES_IGNORED;
}

public event_DeathMsg( ) {

	new iKiller = read_data( 1 );
	new iVictim = read_data( 2 );
	new iHeadshot = read_data( 3 );
	
	if( !is_user_connected( iKiller ) || !is_user_connected( iVictim ) ) {

		return;
	}
	
	if( iKiller == iVictim ) {

		return;
	}
	
	if( iHeadshot ) {

		g_iUserPoints[ iKiller ] += get_pcvar_num( g_iCvar[ PointsPerHS ] );
		set_hudmessage( random( 255 ), random( 255 ), random( 255 ), 0.6, 0.7, 1, 6.0, 7.0 );
		show_hudmessage( iKiller, "+%i points", get_pcvar_num( g_iCvar[ PointsPerHS ] ) );
	}

	else {

		g_iUserPoints[ iKiller ]++;
		set_hudmessage( random( 255 ), random( 255 ), random( 255 ), 0.6, 0.7, 0, 6.0, 7.0 );
		show_hudmessage( iKiller, "+1 point" );
	}
}

public Ham_PlayerSpawned_Post( id ) {

	if( is_user_connected( id ) && is_user_alive( id ) ) {

		set_task( 1.0, "ShowHud", id, _, _, "b" );
	}
}

public Ham_PlayerKilled( iVictim, iAttacker, iShouldgib ) {

	if( get_pcvar_num( g_iCvar[ EnableRespawn ] ) == 0 || !is_user_connected( iVictim ) )
		return PLUGIN_CONTINUE;

	new iPoints = get_pcvar_num( g_iCvar[ PointsForRespawn ] );
	new iChance = random_num( 1, 100 );
	new iAccepted = get_pcvar_num( g_iCvar[ PointsForRespawnChance ] );

	if( g_iUserPoints[ iVictim ] == iPoints ) {

		if( iChance <= iAccepted ) {

			ExecuteHamB( Ham_CS_RoundRespawn, iVictim );
			ColorChat( 0, TEAM_COLOR, "^x04%s^x01 Tocmai ai fost inviat pentru ca ai avut^x03 %i^x01 sanse !", g_szTag, iChance );
		}

		if( iChance >= iAccepted ) {

			ColorChat( 0, TEAM_COLOR, "^x04%s^x01 Poate runda viitoare vei avea^x03 %i^x01 sanse pentru a putea reinvia !", g_szTag, iChance );
		}
	}

	return PLUGIN_CONTINUE;
}

public ShowHud( id ) {

	switch( get_pcvar_num( g_iCvar[ ShowType ] ) ) {

		case 0: {
	
			if( is_user_connected( id ) && is_user_alive( id ) && ( get_user_team( id ) == 1 || get_user_team( id ) == 2 ) ) {

				set_hudmessage( random( 250 ), random( 250 ), random( 250 ), 0.01, 0.23, 0, 0.5, 15.0, 2.0, 2.0, -1 );
				ShowSyncHudMsg( id, SyncHudMessage, "HP: %d^nPoints: %d", get_user_health( id ), g_iUserPoints[ id ] );
			}

			else {

				new idSpec;
				new iPlayerName[ 32 ];

				idSpec = pev( id, PEV_SPEC_TARGET );
				get_user_name( idSpec, iPlayerName, 31 );

				set_hudmessage( random( 250 ), random( 250 ), random( 250 ), 0.01, 0.22, 0, 0.5, 15.0, 2.0, 2.0, -1 );
				ShowSyncHudMsg( id, SyncHudMessage, "Spectating: %s^nHealth: %d^nPoints: %d", iPlayerName, get_user_health( idSpec ), g_iUserPoints[ idSpec ] );
			}
		}

		case 1: {
	
			if( is_user_connected( id ) && is_user_alive( id ) && ( get_user_team( id ) == 1 || get_user_team( id ) == 2 ) ) {

				set_hudmessage( 0, 0, 254, 0.01, 0.91, 0, 0.5, 15.0, 2.0, 2.0, -1 );
				ShowSyncHudMsg( id, SyncHudMessage, "HP: %d | AP: %d | Points: %d", get_user_health( id ), get_user_armor( id ), g_iUserPoints[ id ] );
			}

			else {

				new idSpec;
				new iPlayerName[ 32 ];

				idSpec = pev( id, PEV_SPEC_TARGET );
				get_user_name( idSpec, iPlayerName, 31 );

				set_hudmessage( random( 250 ), random( 250 ), random( 250 ), -1.0, 0.7, 0, 0.5, 15.0, 2.0, 2.0, -1 );
				ShowSyncHudMsg( id, SyncHudMessage, "Spectating: %s^nHealth: %d^nPoints: %d", iPlayerName, get_user_health( idSpec ), g_iUserPoints[ idSpec ] );
			}
		}
	}
}

public ClCmdSayBuyPoint( id ) {

	if( is_user_connected( id ) )
	{
		new g_iUserMoney = cs_get_user_money( id );
		new iNeededMoney = get_pcvar_num( g_iCvar[ CostOnePoint ] );
 
		if( g_iUserMoney < iNeededMoney )
 
		ColorChat( 0, TEAM_COLOR, "^x04%s^x01 Mai ai nevoie de^x03 %d $^x01 pentru a cumpara^x03 1 punct^x01 !", g_szTag, iNeededMoney - g_iUserMoney );
 
		else {
 
			g_iUserPoints[ id ] += 1;
			cs_set_user_money( id, g_iUserMoney - iNeededMoney );
			ColorChat( 0, TEAM_COLOR, "^x04%s^x01 Tocmai ai cumparat^x03 1 punct^x01 pentru^x03 %d $ !", g_szTag, iNeededMoney );
		}
	}
}

public ClCmdSayShowAllPoints( id ) {

	new iPlayers[ 32 ], iPlayersNum, szName[ 40 ], szMotd[ 1024 ], len;

	len = formatex( szMotd, charsmax( szMotd ), "<html> ");
	get_players( iPlayers, iPlayersNum );

	for( new i = 0 ; i < iPlayersNum ; i++ ) {

		get_user_name( iPlayers[ i ], szName, charsmax( szName ) );
		len += formatex( szMotd[ len ], charsmax( szMotd ) - len, "<br> <center> <font color=#008000>Name:</font> <font color=#8A2BE2>%s</font> | <font color=#008000>Points:</font> <font color=#8A2BE2>%i</font> </center> <br>", szName, g_iUserPoints[ iPlayers[ i ] ] );
	}

	formatex( szMotd[ len ], charsmax( szMotd ) - len, "</html>" );
	show_motd( id, szMotd );	
}

public ClCmdSayPoints( id ) {

	set_hudmessage( 127, 42, 255, 0.03, 0.86, 2, 6.0, 10.0 );
	show_hudmessage( id, "Ai %i puncte !", g_iUserPoints[ id ] );
	
	ColorChat( id, TEAM_COLOR, "^x04%s^x01 Ai^x03 %i^x01 puncte !!!", g_szTag, g_iUserPoints[ id ] );
	
	return PLUGIN_CONTINUE;
}

public bomb_planted( iPlanter ) {

	if( get_pcvar_num( g_iCvar[ EnableBombEvents ] ) == 0 || !is_user_connected( iPlanter ) )
		return PLUGIN_CONTINUE;
		
	g_iUserPoints[ iPlanter ] += get_pcvar_num( g_iCvar[ PointsBombPlanted ] );
	ColorChat( 0, TEAM_COLOR, "^x04%s^x03 %s^x01 a primit^x03 1 punct^x01 pentru plantarea bombei !", g_szTag, get_name( iPlanter ) );
	
	return PLUGIN_CONTINUE;
}

public bomb_explode( iExploder ) {
	
	if( get_pcvar_num( g_iCvar[ EnableBombEvents ] ) == 0 || !is_user_connected( iExploder ) )
		return PLUGIN_CONTINUE;
		
	g_iUserPoints[ iExploder ] += get_pcvar_num( g_iCvar[ PointsBombExploded ] );
	ColorChat( 0, TEAM_COLOR, "^x04%s^x03 %s^x01 a primit^x03 2 puncte^x01 pentru explodarea bombei !", g_szTag, get_name( iExploder ) );
	
	return PLUGIN_CONTINUE;
}

public bomb_defused( iDefuser ) {

	if( get_pcvar_num( g_iCvar[ EnableBombEvents ] ) == 0 || !is_user_connected( iDefuser ) )
		return PLUGIN_CONTINUE;
		
	g_iUserPoints[ iDefuser ] += get_pcvar_num( g_iCvar[ PointsBombDefused ] );
	ColorChat( 0, TEAM_COLOR, "^x04%s^x03 %s^x01 a primit^x03 1 punct^x01 pentru dezamorsarea bombei !", g_szTag, get_name( iDefuser ) );
	
	return PLUGIN_CONTINUE;
}

public ClCmdGivePoints( id ) {

	if( !( get_user_flags( id ) & ADMIN_ACCESS ) ) {

		client_cmd( id, "echo Nu ai acces la aceasta comanda!" );
		return 1;
	}
	
	new szFirstArg[ 32 ], szSecondArg[ 10 ];
	
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
	
	if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) ) {

		client_cmd( id, "echo amx_give_points < nume / @ALL / @T / @CT > < points >" );
		return 1;
	}
	
	new iPlayers[ 32 ];
	new iPlayersNum;
	
	new iPoints = str_to_num( szSecondArg );
	if( iPoints <= 0 ) {

		client_cmd( id, "echo Valoare Punctelor trebuie sa fie mai mare decat 0!" );
		return 1;
	}
	
	if( szFirstArg[ 0 ] == '@' ) {

		switch ( szFirstArg[ 1 ] ) {

			case 'A': {

				if( equal( szFirstArg, "@ALL" ) ) {
					
					get_players( iPlayers, iPlayersNum, "ch" );
					for( new i = 0; i < iPlayersNum ; i++ )
						g_iUserPoints[ iPlayers[ i ] ] += iPoints;
						
					ColorChat( 0, TEAM_COLOR, "^x04^%s^x01 Adminul^x03 %s^x01 le-a dat^x03 %i Puncte^x01 tuturor jucatorilor!", g_szTag, get_name( id ), iPoints );
					return 1;
				}
			}
			
			case 'T': {

				if( equal( szFirstArg, "@T" ) ) {
					
					get_players( iPlayers, iPlayersNum, "ceh", "TERRORIST" );
					if( iPlayersNum == 0 ) {

						client_cmd( id, "echo Nu se afla niciun jucator in aceasta echipa!" );
						return 1;
					}

					for( new i = 0; i < iPlayersNum ; i++ )
						g_iUserPoints[ iPlayers[ i ] ] += iPoints;
						
					ColorChat( 0, TEAM_COLOR, "^x04^%s^x01 Adminul^x03 %s^x01 le-a dat^x03 %i puncte^x01 jucatorilor de la^x03 TERO^x01!", g_szTag, get_name( id ), iPoints );
					return 1;
				}
			}
			
			case 'C': {

				if( equal( szFirstArg, "@CT" ) ) {
					
					get_players( iPlayers, iPlayersNum, "ceh", "CT" );
					if( iPlayersNum == 0 ) {

						client_cmd( id, "echo Nu se afla niciun jucator in aceasta echipa!" );
						return 1;
					}

					for( new i = 0; i < iPlayersNum ; i++ )
						g_iUserPoints[ iPlayers[ i ] ] += iPoints;
						
					ColorChat( 0, TEAM_COLOR, "^x04^%s^x01 Adminul^x03 %s^x01 le-a dat^x03 %i puncte^x01 jucatorilor de la^x03 CT^x01!", g_szTag, get_name( id ), iPoints );
					return 1;
				}
			}
		}
	}
		
	new iPlayer = cmd_target( id, szFirstArg, 8 );
	if( !iPlayer ) {

		client_cmd( id, "echo Jucatorul %s nu a fost gasit!", szFirstArg );
		return 1;
	}
	
	g_iUserPoints[ iPlayer ] += iPoints;
	
	new szName[ 32 ];
	get_user_name( iPlayer, szName, sizeof ( szName ) -1 );
	
	ColorChat( 0, TEAM_COLOR, "^x04%s^x01 Adminul^x03 %s^x01 i-a dat^x03 %i puncte^x01 lui^x03 %s^x01.", g_szTag, get_name( id ), iPoints, szName );
	
	return 1;
}

public ClCmdTakePoints( id ) {

	if( !( get_user_flags( id ) & ADMIN_ACCESS ) ) {

		client_cmd( id, "echo Nu ai acces la aceasta comanda!" );
		return 1;
	}
	
	new szFirstArg[ 32 ], szSecondArg[ 10 ];
	
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
	
	if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) ) {

		client_cmd( id, "echo amx_take_points < nume > < puncte >" );
		return 1;
	}
	
	new iPoints = str_to_num( szSecondArg );
	if( iPoints <= 0 ) {

		client_cmd( id, "echo Valoare Punctelor trebuie sa fie mai mare decat 0!" );
		return 1;
	}
			
	new iPlayer = cmd_target( id, szFirstArg, 8 );
	if( !iPlayer ) {

		client_cmd( id, "echo Jucatorul %s nu a fost gasit!", szFirstArg );
		return 1;
	}
	
	if( g_iUserPoints[ iPlayer ] < iPoints ) {

		client_cmd( id, "echo Jucatorul %s nu are atatea puncte! Are doar %i puncte !", szFirstArg, g_iUserPoints[ iPlayer ] );
		return 1;
	}
	
	g_iUserPoints[ iPlayer ] -= iPoints;
	
	new szName[ 32 ];
	get_user_name( iPlayer, szName, sizeof( szName ) -1 );
	
	ColorChat( 0, TEAM_COLOR, "^x04%s^x01 Adminul^x03 %s^x01 i-a sters^x03 %i puncte^x01 lui^x03 %s^x01.", g_szTag, get_name( id ), iPoints, szName );
	
	return 1;
}

public ClCmdResetPoints( id, level, cid ) {

	if( !cmd_access( id, level, cid, 2 ) ) {

		return PLUGIN_HANDLED; 
	}
	
	new szArgument[ 32 ];
   	read_argv( 1, szArgument, charsmax( szArgument ) );
	
	new iPlayer[ 32 ], iPlayersNum, all;
	get_players( iPlayer, iPlayersNum, "c" );

	if( equal( szArgument, "@ALL" ) ) {

		for( new i; i < iPlayersNum; i++ ) {

			all = iPlayer[ i ];
			
			g_iUserPoints[ all ] = 0;
			
			ColorChat( 0, TEAM_COLOR, "^x04%s^x01 Adminul^x03 %s^x01 v-a resetat toate^x03 punctele !!!", g_szTag, get_name( id ) );
		}
	}
			
	else {

		new player = cmd_target( id, szArgument, 10 );

		if( !player )  {

  			 return PLUGIN_HANDLED;
		}
	

		new TargetName[ 32 char ];
		get_user_name( player, TargetName, charsmax( TargetName ) );
	
		g_iUserPoints[ player ] = 0;
		ColorChat( 0, TEAM_COLOR, "^x04%s^x01 Adminul^x03 %s^x01 i-a resetat punctele lui^x03 %s^x01 !!!", g_szTag, get_name( id ), TargetName );
	}

	return PLUGIN_HANDLED;
}

public SaveUserPoints( id ) {

	new Name[ 32 ];
	get_user_name( id, Name, 31 );
	
	static Data[ 1024 ];
	formatex( Data, sizeof( Data ) - 1, "^"%i^"", g_iUserPoints[ id ] );
	
	new Save[ 512 ];
	format( Save, 511, "^"%s^" %s", Name, Data );
	
	new Line[ 128 ], Linie, IsPlayer = false, Arg1[ 32 ];
	
	new FileOpen = fopen( File, "rt" );

	while( !feof( FileOpen ) ) {

		fgets( FileOpen, Line, 127 );
		trim( Line );
		
		parse( Line, Arg1, 31 );
		
		if( equali( Arg1, Name ) ) {

			write_file( File, Save, Linie );
			IsPlayer = true;
			break;
		}
		
		Linie++;
	}

	fclose( FileOpen );

	if( !IsPlayer ) {

		write_file( File, Save, -1 );
	}
}

public LoadUserPoints( id ) {

	new Name[ 32 ];
	get_user_name( id, Name, 31 );
	
	new Line[ 128 ], IsPlayer = false, Arg1[ 32 ], Arg2[ 32 ];
	
	new FileOpen = fopen( File, "rt" );

	while( !feof( FileOpen ) ) {

		fgets( FileOpen, Line, 127 );
		trim( Line );
		
		parse( Line, Arg1, 31, Arg2, 31 );
		
		if( equali( Arg1, Name ) ) {

			g_iUserPoints[ id ] = str_to_num( Arg2 );
			IsPlayer = true;
			break;
		}
	}

	fclose( FileOpen );
	
	if( !IsPlayer ) {

		g_iUserPoints[ id ] = 1;
	}
}

stock get_name( id ) {

	new szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	return szName;
}

stock bool:is_user_vip( id ) {

	if( get_user_flags( id ) & read_flags( "h" )  )
		return true;
	
	return false;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/

Creezi un fisier cu numele points.cfg si adaugi in el :

Code: Select all

// In acest fisier se afla cvar-urile legate despre puncte:
 
points_show_info "1" // 0: Afiseaza datele in HUD sub radar | 1: Afiseaza datele deasupra vietii
points_bombevents_rewards "1" // 0: Dezactivat | 1: Activat -> Puncte obtinute pe plantarea/dezamorsarea/explodearea bombei
points_costonepoint "4000" // Cat sa coste un punct atunci cand il cumperi prin comanda /buypoint
points_per_headshot "2" // Cate puncte sa primesti pe HeadShot !
points_bomb_planted "1" // Cate puncte sa primesti pe plantarea bombei
points_bomb_exploded "2" // Cate puncte sa primesti pe explodarea bombei
points_bomb_defused "1" // Cate puncte sa primesti pe dezamorsarea bombei
points_enable_respawn "1" // Activeaza / Dezactiveaza respawn-ul cand victima moare doar daca are X PUNCTE
points_for_respawn "10000" // Cate puncte sa aiba victima ca sa poata reinvia atunci cand este omorata
points_respawn_chance "40" // Cate sanse sa aiba victima ca sa poata reinvia
points_gamename "" // Schimbi numele default( Counter-Strike ) cu altul
Creezi in fisierul amxmodx/configs/ un folder cu numele points si adaugi fisierul de mai sus pe nume points.cfg .


Comenzi administrative (ADMIN_ACCESS ADMIN_IMMUNITY):
amx_give_points < nume / @ALL / @T / @CT > < Puncte > - adauga jucatorilor de pe server puncte
amx_take_points < nume > < Puncte > - sterge unui jucator / jucatorilor punctele
amx_reset_points < nume / @ALL > - reseteaza unui jucator / jucatorilor de pe server toate punctele

Comenzi publice :
/points - aflii cate puncte ai
/buypoint - cumperi un punct
pall - arata intr-un fisier modt numele juctaorilor de pe server si cate puncte are( colorat )

Module necesare (se sterge ; din fata modulului de mai jos; acestea le gasiti in fisierul amxmodx\configs\modules.ini):
- Fakemeta;
- Hamsandwich;
- Cstrike;


4.

Code: Select all

#include <amxmodx>

#define R random(256)
#define G random(256)
#define B random(256)
#define time_hud 10.0

new bool:gRound
new cvar_nextmap
new msgsaytext
new show_msg


public plugin_init()
{
	register_plugin("Round Info","0.1","P.Of.Pw")
	register_logevent("roundstart",2,"1=Round_Start")
	register_logevent("roundend", 2, "1=Round_End")
	register_event("TextMsg","game_comenc","a","2&#Game_C")
	cvar_nextmap = get_cvar_pointer("amx_nextmap")
	msgsaytext = get_user_msgid("SayText")
	show_msg = register_cvar("round_msg","1") // 1- msg chat color ; 2-msg hud
}

public game_comenc() 
{ 
	gRound = false
}

public roundend()
{
	gRound = false
}

public roundstart()
{
	new players = get_playersnum()
	new nextmap[32] ; get_pcvar_string(cvar_nextmap, nextmap, 31)
	new current_map[32] ; get_mapname(current_map,31)
	new num = get_maxplayers()
	
	gRound++
	
	if(get_pcvar_num(show_msg)==1)
	{
		print_color(0,"^x01--[ ^x04Timpul ramas: ^x03%d:%02d ^x01| ^x04Harta Urmatoare: ^x03%s ^x01]--",gRound,players,num,current_map,nextmap)
	}
	else if(get_pcvar_num(show_msg)==2)
	{
		set_hudmessage(R, G, B, -1.0, 0.4, 0, 6.0, time_hud)
		show_hudmessage(0, "--[ Timpul ramas: %d:%02d | Harta Urmatoare: %s ]--",gRound,players,num,current_map,nextmap)
	}
}

stock print_color(id, const message[], {Float,Sql,Result,_}:...)
{
	new Buffer[128],Buffer2[128]
	new players[32], index, num, i

	formatex(Buffer2, sizeof Buffer2 - 1, "%s",message)
	vformat(Buffer, sizeof Buffer - 1, Buffer2, 3)
	get_players(players, num,"c")

	if(id) 
	{
		message_begin(MSG_ONE,msgsaytext,_,id)
		write_byte(id)
		write_string(Buffer)
		message_end()
	} 
	else 
	{
		for( i = 0; i < num;i++ )
		{
			index = players[i]
			if( !is_user_connected(index)) continue;

			message_begin(MSG_ONE,msgsaytext,_,index)
			write_byte(index)
			write_string( Buffer )
			message_end()
		}
	}
}

5. revin in alta zi .
Image


|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯•.•¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|
Image
|___________________________.•.___________________________|

|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯•.•¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|
Image
|___________________________.•.___________________________|

|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯•.•¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|
Image
|___________________________.•.___________________________|
User avatar
Rusu Radu
Moderator
Moderator
Posts: 2017
Joined: 8 years ago
Location: Dozer
Has thanked: 21 times
Been thanked: 7 times
Zodiac:
Age: 24
Contact:
Status: Offline
Jamaica

6 years ago

Multumesc #Aneimar !

Astept pluginul numarul 5 & 3 !
Viaţa însăşi este magie, iar dacă nu crezi asta, măcar încearcă să o trăieşti ca pe ceva magic.


©Rusu Radu

2024 CSGAMERS IS HERE
User avatar
Aneimar
Fondator
Fondator
Posts: 1901
Joined: 8 years ago
Location: RO - DE
Has thanked: 0
Been thanked: 11 times
Zodiac:
Age: 28
Contact:
Status: Offline
Romania

6 years ago

3.

Code: Select all

#include < amxmodx >
#include < hamsandwich >
#include < fakemeta >
#include < fun >
#include < ColorChat >
#include < message_const >

new const PLUGIN_NAME[  ] = "Points System - SHOP",
	 PLUGIN_VERSION[  ] = "1.0",
	 PLUGIN_AUTHOR[  ] = "CsG";

#define is_user_player(%1) ( 1 <= %1 <= 32 )

#define MAX_ITEMS	5

native set_user_points( id, amount );
native get_user_points( id );

new const g_szTag[  ] = "[CsG-Shop]^x01";
new const NameShop[  ] = "PAINT.CSGAMERS.RO";

new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;

new bool:Dmg[ 33 ];
new bool:Health[ 33 ];
new bool:Gravity[ 33 ];
new bool:Speed[ 33 ];
new bool:NoFlash[ 33 ];

new gCvarCostHealth,
	gCvarHealth,
	gCvarMaxHealth,
	gCvarCostMultiDmg,
	gCvarCostGravity,
	gCvarGravity,
	gCvarCostSpeed,
	gCvarSpeed,
	gCvarCostNoFlash;

public plugin_init(  ) {

	register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );

	register_clcmd( "say /shop", "OpenMenu" );
	register_clcmd( "say_team /shop", "OpenMenu" );

	register_event( "CurWeapon", "event_CurWeapon", "be", "1=1" );
	register_event( "DeathMsg", "event_DeathMsg", "a" );

	RegisterHam( Ham_Player_ResetMaxSpeed, "player", "Ham_ResetMaxSpeedPost", 1 );
	RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePre" );

	register_message( get_user_msgid( "ScreenFade" ), "MessageScreenFade" );

	gCvarCostHealth = register_cvar( "shop_cost_hp", "40" );
	gCvarHealth = register_cvar( "shop_hp", "50" );
	gCvarMaxHealth = register_cvar( "shop_max_hp", "250" );
	gCvarCostMultiDmg = register_cvar( "shop_cost_multidmg", "100" );
	gCvarCostGravity = register_cvar( "shop_cost_gravity", "15" );
	gCvarGravity = register_cvar( "shop_gravity", "450.0" );
	gCvarCostSpeed = register_cvar( "shop_cost_speed", "30" );
	gCvarSpeed = register_cvar( "shop_speed", "600.0" );
	gCvarCostNoFlash = register_cvar( "shop_cost_noflash", "50" );
}

public plugin_cfg(  )
	set_cvar_float( "sv_maxspeed", 1000.0 );

public client_disconnect( id ) {

	Dmg[ id ] = false;
	Gravity[ id ] = false;
	Speed[ id ] = false;
	NoFlash[ id ] = false;
}

public client_putinserver( id ) {

	Dmg[ id ] = false;
	Gravity[ id ] = false;
	Speed[ id ] = false;
	NoFlash[ id ] = false;
}

public event_CurWeapon( id ) {

	if( !is_user_alive( id ) || is_user_bot( id ) )
		return 1;
	
	if( Health[ id ] ) {
		set_user_health( id, get_user_health( id ) + get_pcvar_num( gCvarHealth ) );
	} else {
		return 1;
	}

	if( Gravity[ id ] ) {
		set_user_gravity( id, get_pcvar_num( gCvarGravity ) / 0.00125 );
	} else {
		return 1;
	}

	return 0;
}

public event_DeathMsg(  ) {
	
	if( read_data( 1 ) == read_data( 2 ) || !is_user_alive( read_data( 1 ) ) )
		return 1;

	Dmg[ read_data( 2 ) ] = false;
	Gravity[ read_data( 2 ) ] = false;
	Speed[ read_data( 2 ) ] = false;
	NoFlash[ read_data( 2 ) ] = false;

	return 0;
}

public Ham_ResetMaxSpeedPost( id ) {

	if( is_user_alive( id ) && get_user_maxspeed( id ) != 1.0 ) {

  		new Float:flMaxSpeed;

  		if( Speed[ id ] ) {
   			flMaxSpeed = float( get_pcvar_num( gCvarSpeed ) );
		}

  		if( flMaxSpeed > 0.0 ) {
   			set_pev( id, pev_maxspeed, flMaxSpeed );
		}
	}
}

public Ham_TakeDamagePre( iVictim, iInflictor, iAttacker, Float:fDamage ) {

	if( iVictim == iAttacker || !is_user_player( iAttacker ) || !is_user_alive( iAttacker ) )
		return HAM_HANDLED;

	if( Dmg[ iAttacker ] && is_user_player( iAttacker ) ) {

		SetHamParamFloat( 4, fDamage * 2.0 );
		return HAM_HANDLED;
	}

	return HAM_IGNORED;
}

public MessageScreenFade( iMsgId, iMsgDest, id ) {

	if( is_user_alive( id ) && NoFlash[ id ] ) {

		static szData[ 4 ];

		szData[ 0 ] = get_msg_arg_int( 4 );
		szData[ 1 ] = get_msg_arg_int( 5 );
		szData[ 2 ] = get_msg_arg_int( 6 );
		szData[ 3 ] = get_msg_arg_int( 7 );
		
		if( szData[ 0 ] == 255 && szData[ 1 ] == 255 && szData[ 2 ] == 255 && szData[ 3] > 199 )
			return 1;
	}

	return 0;
}

public OpenMenu( id ) {

	if( !is_user_connected( id ) || is_user_bot( id ) )
		return 1;

	if( !is_user_alive( id ) ) {

		ColorChat( id, GREEN, "%s^x01 Trebuie sa fii in viata ca sa poti accesa^x03 shop-ul^x01 !!!", g_szTag );
		return 1;
	} else if( get_user_team( id ) == 3 ) {

		ColorChat( id, GREEN, "%s^x01 Nu poti accesa shop-ul cat timp esti spectator !!!", g_szTag );
		return 1;
	} else {
		ShowShopMenu( id );
	}
	
	return 1;
}

public ShowShopMenu( id ) {    

	new szMenuName[ 64 ];
	formatex( szMenuName, sizeof( szMenuName ) - 1, "\w%s \rv1.0^n\yYour Points:\r %i\w", NameShop, get_user_points( id ) );

	new iMenu = menu_create( szMenuName, "MenuHandler" );

	new szBuffer[ MAX_ITEMS ][ 64 ];
	new szBufferKey[ MAX_ITEMS - 1 ];
	new iBufferKey = 1;

	if( Gravity[ id ] )
		formatex( szBuffer[ 0 ], sizeof( szBuffer[  ] ) - 1, "\d%i Gravity\r [\w%i $\r]", get_pcvar_num( gCvarGravity ), get_pcvar_num( gCvarCostGravity ) );
	else
		formatex( szBuffer[ 0 ], sizeof( szBuffer[  ] ) - 1, "\y%i Gravity\r [\w%i $\r]", get_pcvar_num( gCvarGravity ), get_pcvar_num( gCvarCostGravity ) );
	if( Speed[ id ] )
		formatex( szBuffer[ 1 ], sizeof( szBuffer[  ] ) - 1, "\d%i Speed\r [\w%i $\r]", get_pcvar_num( gCvarSpeed ), get_pcvar_num( gCvarCostSpeed ) );
	else
		formatex( szBuffer[ 1 ], sizeof( szBuffer[  ] ) - 1, "\y%i Speed\r [\w%i $\r]", get_pcvar_num( gCvarSpeed ), get_pcvar_num( gCvarCostSpeed ) );
	if( get_user_health( id ) >= get_pcvar_num( gCvarMaxHealth ) )
		formatex( szBuffer[ 2 ], sizeof( szBuffer[  ] ) - 1, "\d%i HP\r [\w%i $\r]", get_pcvar_num( gCvarHealth ), get_pcvar_num( gCvarCostHealth ) );
	else
		formatex( szBuffer[ 2 ], sizeof( szBuffer[  ] ) - 1, "\y%i HP\r [\w%i $\r]", get_pcvar_num( gCvarHealth ), get_pcvar_num( gCvarCostHealth ) );
	if( NoFlash[ id ] )
		formatex( szBuffer[ 3 ], sizeof( szBuffer[  ] ) - 1, "\dNo Flash\r [\w%i $\r]", get_pcvar_num( gCvarCostNoFlash ) );
	else
		formatex( szBuffer[ 3 ], sizeof( szBuffer[  ] ) - 1, "\yNo Flash\r [\w%i $\r]", get_pcvar_num( gCvarCostNoFlash ) );
	if( Dmg[ id ] )
		formatex( szBuffer[ 4 ], sizeof( szBuffer[  ] ) - 1, "\dx2 Dmg\r [\w%i $\r]", get_pcvar_num( gCvarCostMultiDmg ) );
	else
		formatex( szBuffer[ 4 ], sizeof( szBuffer[  ] ) - 1, "\yx2 Dmg\r [\w%i $\r]", get_pcvar_num( gCvarCostMultiDmg ) );

	for( new i = 0; i < MAX_ITEMS; i++ ) {

		formatex( szBufferKey, sizeof( szBufferKey ) -1, "%i", iBufferKey );
		menu_additem( iMenu, szBuffer[ i ], szBufferKey, 0 );

		iBufferKey++;
	}

	menu_setprop( iMenu, MPROP_EXITNAME, "\wIesire" );
	menu_display( id, iMenu, 0 );
	
	return 1;
}

public MenuHandler( id, szMenu, szItem ) {

	if( szItem == MENU_EXIT ) {

		menu_destroy( szMenu );
		return PLUGIN_HANDLED;
	}

	new szData[ 6 ], szName[ 64 ];
	new iAccess, iCallBack;

	menu_item_getinfo( szMenu, szItem, iAccess, szData, charsmax( szData ), szName, charsmax( szName ), iCallBack );
	new iKey = str_to_num( szData );

	switch( iKey ) {

		case 1: {

			new CostGravity = get_pcvar_num( gCvarCostGravity );
			new Points = get_user_points( id ) - CostGravity;

			if( Points < 0 ) {

				ColorChat( id, GREEN, "%s Mai ai nevoie de^x03 %i^x01 puncte pentru a cumpara gravitate!", g_szTag, CostGravity - get_user_points( id ) );
				set_task( 0.3, "ShowShopMenu", id );
				return 1;	
			} else if( Gravity[ id ] ) {

				ColorChat( id, GREEN, "%s Ai deja acest item!", g_szTag );
				set_task( 0.3, "ShowShopMenu", id );
				return 1;	
			} else {

				Gravity[ id ] = true;

				ColorChat( id, GREEN, "%s Tocmai ti-ai crescut^x03 gravitatea^x01.", g_szTag );
				set_user_points( id, Points );

				return 1;
			}
		}

		case 2: {

			new CostSpeed = get_pcvar_num( gCvarCostSpeed );
			new Points = get_user_points( id ) - CostSpeed;

			if( Points < 0 ) {

				ColorChat( id, GREEN, "%s Mai ai nevoie de^x03 %i^x01 puncte pentru a cumpara viteza!", g_szTag, CostSpeed - get_user_points( id ) );
				set_task( 0.3, "ShowShopMenu", id );
				return 1;	
			} else if( Speed[ id ] ) {

				ColorChat( id, GREEN, "%s Ai deja acest item!", g_szTag );
				set_task( 0.3, "ShowShopMenu", id );
				return 1;	
			} else {

				Speed[ id ] = true;
				set_user_maxspeed( id, get_pcvar_float( gCvarSpeed ) );

				ColorChat( id, GREEN, "%s Ai devenit mai rapid cu^x03 %0.1f^x01 unitati.", g_szTag, get_pcvar_float( gCvarSpeed ) - get_user_maxspeed( id ) );
				set_user_points( id, Points );

				return 1;
			}
		}

		case 3: {

			new CostHealth = get_pcvar_num( gCvarCostHealth );
			new Points = get_user_points( id ) - CostHealth;

			if( Points < 0 ) {

				ColorChat( id, GREEN, "%s Mai ai nevoie de^x03 %i^x01 puncte pentru a cumpara viata in plus!", g_szTag, CostHealth - get_user_points( id ) );
				set_task( 0.3, "ShowShopMenu", id );
				return 1;	
			} else if( get_user_health( id ) >= get_pcvar_num( gCvarMaxHealth ) ) {

				ColorChat( id, GREEN, "%s Ai ajuns la numarul maxim de viata(^x04%i^x01).", g_szTag, get_pcvar_num( gCvarMaxHealth ) );
				set_task( 0.3, "ShowShopMenu", id );
				return 1;	
			} else {

				Health[ id ] = true;

				ColorChat( id, GREEN, "%s Viata ta este acum cu^x03 %i^x01 mai mare.", g_szTag, Health );
				set_user_points( id, Points );

				return 1;
			}
		}

		case 4: {

			new CostNoFlash = get_pcvar_num( gCvarCostNoFlash );
			new Points = get_user_points( id ) - CostNoFlash;

			if( Points < 0 ) {

				ColorChat( id, GREEN, "%s Mai ai nevoie de^x03 %i^x01 puncte pentru a cumpara no flash !", g_szTag, CostNoFlash - get_user_points( id ) );
				set_task( 0.3, "ShowShopMenu", id );
				return 1;	
			} else if( NoFlash[ id ] ) {

				ColorChat( id, GREEN, "%s Ai deja acest item!", g_szTag );
				set_task( 0.3, "ShowShopMenu", id );
				return 1;	
			} else {

				NoFlash[ id ] = true;

				ColorChat( id, GREEN, "%s Ai devenit imun la flashbang-uri^x01.", g_szTag );
				set_user_points( id, Points );

				return 1;
			}
		}

		case 5: {

			new CostMultiDmg = get_pcvar_num( gCvarCostMultiDmg );
			new Points = get_user_points( id ) - CostMultiDmg;

			if( Points < 0 ) {

				ColorChat( id, GREEN, "%s Mai ai nevoie de^x03 %i^x01 puncte pentru a cumpara dublu dmg!", g_szTag, CostMultiDmg - get_user_points( id ) );
				set_task( 0.3, "ShowShopMenu", id );
				return 1;	
			} else if( Dmg[ id ] ) {

				ColorChat( id, GREEN, "%s Ai deja acest item!", g_szTag );
				set_task( 0.3, "ShowShopMenu", id );
				return 1;	
			} else {

				Dmg[ id ] = true;

				ColorChat( id, GREEN, "%s Acum dmg-ul tau este mai mare cu 20%^x01.", g_szTag );
				set_user_points( id, Points );

				return 1;
			}
		}
	}

	menu_destroy( szMenu );
	return PLUGIN_HANDLED;
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/

Modulele necesare:
- Hamsandwich
- Fakemeta
- Fun



Comenzi in chat:
/shop - deschide meniul de unde poti cumpara beneficiile


Cvar-uri:

Code: Select all

shop_cost_hp "40" - cat costa X viata
shop_hp "50" - cata viata s primesti pentru Y puncte
shop_max_hp "250" - viata maxima pe care o poti atinge
shop_cost_multidmg "100" - cate puncte sa coste dmg-ul dublu
shop_cost_gravity "15" - cate puncte sa coste X graviate
shop_gravity "450.0" - cata gravitate sa primesti pentru Y puncte
shop_cost_speed "30" - cat sa coste X viteza
shop_speed "600.0" - cata viteza sa primesti pentru Y puncte
shop_cost_noflash "50" - cat sa coste no flash-ul( imunitate la flashbang-uri )

Beneficii:
- viata in plus
- gravitate
- viteza
- no flash
- multi dmg



pentru mai multe modificari , dute la sectiunea corespunzatoare .
Image


|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯•.•¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|
Image
|___________________________.•.___________________________|

|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯•.•¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|
Image
|___________________________.•.___________________________|

|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯•.•¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|
Image
|___________________________.•.___________________________|
Locked

Return to “Cerere Plugin”