Furien Credits System [ update 05/04/16 v1.4.6 ]

Pluginuri pentru modul AmxModX.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
cristi4719
Membru, skill 0
Membru, skill 0
Posts: 82
Joined: 19 Oct 2015, 18:59
Detinator Steam: Da
CS Status: bruh
Fond eXtream: 0

08 Aug 2016, 20:19

Ulquiorra wrote:Tot ce ai 'cerut' este deja facut.. dar daca nu stiti a citi cum 'trebe' .. ma rog.
Benocleaza ochii in primele 2 posturi din acest topic.
Sorry, m-am uitat dar chiar n-am observat =)) ':) :')
User avatar
Chris Duskblade
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 2780
Joined: 18 Jun 2013, 16:46
Detinator Steam: Da
Reputatie: Fost super moderator
Nume anterior: Cristinel.
Utilizator neserios (tepar)
Location: Timișoara
Has thanked: 62 times
Been thanked: 15 times
Contact:

13 Oct 2016, 15:43

are cineva idee de ce primesc segmentation fault cand bag baza de la pluginul asta pe server?
User avatar
Filip.
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 996
Joined: 16 Oct 2013, 23:17
Detinator Steam: Nu
Reputatie: Restrictie moderator
Nume anterior: andre.w
Location: lasa
Has thanked: 58 times
Been thanked: 26 times
Contact:

13 Oct 2016, 16:19

Cristinel. wrote:are cineva idee de ce primesc segmentation fault cand bag baza de la pluginul asta pe server?

Code: Select all

cei ce le pica serverul, incercati sa stergeti din vault. FurienCreditsSystem.vault si sa instalati pluginul cu serverul oprit.
tot cu serverul oprit sa stergeti si fisierul respectiv in caz ca el exista.
daca tot nu merge.. incercati sa puneti pluginul de credite in diferite 'pozitii' in plugins.ini ( adica mai inainte de x plugine mai la urma mai la mijloc.. )
Daca vrei sa faci profit case opening
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

21 Oct 2016, 00:52

Problema cu server crash inca persista, la anumite hosturi..De ce nu incerci fvault sau nvault_utility ?
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
Ulquiorra
Fost moderator
Fost moderator
Posts: 2053
Joined: 25 Jul 2010, 17:29
Detinator Steam: Da
CS Status: A mai trecut o zi asteptand una mai buna
Detinator server CS: Retras.
SteamID: STEAM_0:1:318247XX
Reputatie: Fost Scripter eXtreamCS
Fost Moderator ajutator
Nick anterior: Askhanar
Location: Braila, Romania.
Has thanked: 215 times
Been thanked: 1132 times

06 Dec 2016, 23:12

fvault e cu totu' si cu totu' altceva.
nvault_utility e doar un inc..cu cateva stock-uri..si in el are #include <nvault>

Nu imi dau seama de ce pica sv..0 erori 0 loguri.. ce as putea face..
In locul meu tu ce ai face ?
Caut o persoana dedicata care se pricepe si stie ce face.
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.

O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

07 Dec 2016, 23:12

Ulquiorra wrote:fvault e cu totu' si cu totu' altceva.
nvault_utility e doar un inc..cu cateva stock-uri..si in el are #include <nvault>

Nu imi dau seama de ce pica sv..0 erori 0 loguri.. ce as putea face..
In locul meu tu ce ai face ?
AIO-ul(testat pe 3 hosturi diferite). Suporta doar fvault. De ce? Pentru ca nu are nevoie de permisiuni, e doar un .txt :))
Nu da/dati importanta la commuri. Sunt vechi..si neimportante(cred, pentru mine unu..)
FVAULT.INC
NVAULT_UTILITY.INC

Si AIO-ul cu mici modificari(pentru ca asa il foloseam eu pe svu meu de furien)
AIO | Afiseaza codul
// de imbunatatit sursa...
// de verificat, daca are credite mai multe decat x, sa ii seteze x credite...

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

#define PLUGIN "Furien Credits System AIO"
#define VERSION "1.8.8"   // 1.x.x  noi verificari/imbunatatiri

#define	ONE_DAY_IN_SECONDS 86400
#define TASK_pentru 06091993
#define FCS_TEAM_FURIEN CS_TEAM_T
#define FCS_TEAM_ANTIFURIEN CS_TEAM_CT

#pragma semicolon 1

enum Color
{
	NORMAL = 1,
	GREEN,
	TEAM_COLOR,
	GREY,
	RED,
	BLUE,
};

new TeamName[ ][ ] = 
{
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
};

new const g_szTag[ ] = "[ FuRieN SysTeM ]";
new const g_szGiveCreditsFlag[ ] = "u";

new g_iCvarPruneDays;
new g_iCvarEntry;
new g_iCvarRetire;
new g_iCvarOneCredit;

new g_iCvarPTREnable;
new g_iCvarPTRMinutes;
new g_iCvarPTRCredits;

new g_iCvarKREnable;
new g_iCvarKRCredits;
new g_iCvarKRHSCredits;
new g_iCvarKHSCredits;
new g_iCvarKCredits;
new g_iCvarGCredits;

new g_iCvarTSEnable;
new g_iCvarTSMaxCredits;

new g_iCvarWTREnable;
new g_iCvarWTRFurien;
new g_iCvarWTRAnti;

new g_szName[ 33 ][ 32 ];
new g_iUserCredits[ 33 ];
new g_iUserTime[ 33 ];
new g_iUserRetired[ 33 ];

new iVault;
new g_iMaxPlayers;

//new bool: g_iUserEntry[ 33 ]; // = false

//#define BUGET

#if defined BUGET
new const TAG[ ] = "|AMXX|";
#endif

//#define LICENTA

#if defined LICENTA
// With this IP you have the numbers- 7 | 1 | 9 | 0 | 2 | 5
// You also need to add the characters- . | :
// Total: 8 characters
// So you will make: The const with value 8
new const IPX[ 10 ][ ] = 
{
	".", // This will be: IPX[ 0 ]
	":", // This will be: IPX[ 1 ]
	"7", // This will be: IPX[ 2 ]
	"1", // This will be: IPX[ 3 ]
	"9", // This will be: IPX[ 4 ]
	"0", // This will be: IPX[ 5 ]
	"2", // This will be: IPX[ 6 ]
	"5", // This will be: IPX[ 7 ]
	
	"4", // This will be: IPX[ 8 ]
	"8" // This will be: IPX[ 9 ]
};

new SERVER_IP[ 22 ]; // This is for get server IP
#endif

//#define S_N
//#define S_N_U
#define S_F_N

//#if defined S_N
#include < nvault >
//#endif

#if defined S_N_U
#include < nvault_util >
#endif

#if defined S_F_N
#include < fvault >
#endif

static const VAULT_NAME[ ] = "FuRieNSysTeM"; //"FurienCreditsSystem";

public plugin_init( ) // de modificat la clcmd...
{
	#if defined LICENTA
	get_user_ip( 0, SERVER_IP, 21, false ); // Getting server IP with Port
	
	// Ok, now you can build server IP with formatex
	new PROTECTED_IP[ 21 ]; // Since the IP in example has 20 characters in total (counting the repeated ones), lets make here 21
	// Since the IP has 20 characters, you need 20 %s at formatex
	formatex( PROTECTED_IP, charsmax( PROTECTED_IP ), "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", /*195*/IPX[ 3 ], IPX[ 4 ], IPX[ 7 ], /*.*/IPX[ 0 ], /*178*/IPX[ 3 ],
	IPX[ 2 ], IPX[ 9 ], /*.*/IPX[ 0 ], /*102*/IPX[ 3 ], IPX[ 5 ], IPX[ 6 ], /*.*/IPX[ 0 ], /*24*/IPX[ 6 ], IPX[ 8 ], /*:*/IPX[ 1 ], /*27015*/IPX[ 6 ], IPX[ 2 ], IPX[ 5 ], IPX[ 3 ], IPX[ 7 ] ); // new SPACE*
	
	// OK! Now you have the server IP, and Protected IP
	// Time to check if is not equal to the server IP
	if( !equal( PROTECTED_IP, SERVER_IP ) )
	{
		new error[ 256 ];
		formatex( error, charsmax( error ), "--| AMXX |--   > FOLOSESTI ACEST PLUGIN IN SCOP ILEGAL. NU AI DREUPT DE UZ! PLUGIN-UL NU VA FUNCTIONA, DA ADD SKYPE : levin.akee  PENTRU SUPORT." );
		set_fail_state( error );
		//return;
	}
	#endif
	
	register_plugin( PLUGIN, VERSION, "Askhanar" ); // Adryyy edition
	
	g_iCvarPruneDays = register_cvar( "fcs_prunedays", "26" );
	g_iCvarEntry = register_cvar( "fcs_entry_credits", "500" );
	g_iCvarRetire = register_cvar( "fcs_maxretrive", "3" );
	g_iCvarOneCredit = register_cvar( "fcs_cost_credit", "4000" );
	
	g_iCvarPTREnable = register_cvar( "fcs_pentru_enable", "1" );
	g_iCvarPTRMinutes = register_cvar( "fcs_pentru_minutes", "6" );
	g_iCvarPTRCredits = register_cvar( "fcs_pentru_credits", "15" );
	
	g_iCvarKREnable = register_cvar( "fcs_kr_enable", "1" );
	g_iCvarKRCredits = register_cvar( "fcs_kr_credits", "4" );
	g_iCvarKRHSCredits = register_cvar( "fcs_kr_hscredits", "6" );
	
	g_iCvarKHSCredits = register_cvar( "fcs_khs_credits", "9" );
	g_iCvarKCredits = register_cvar( "fcs_k_credits", "7" );
	g_iCvarGCredits = register_cvar( "fcs_g_credits", "8" );
	
	g_iCvarTSEnable = register_cvar( "fcs_transfer_enable", "1" );
	g_iCvarTSMaxCredits = register_cvar( "fcs_transfer_maxcredits", "200" );
	
	g_iCvarWTREnable = register_cvar( "fcs_wtr_enable", "1" );
	g_iCvarWTRFurien = register_cvar( "fcs_wtr_furien", "3" );
	g_iCvarWTRAnti = register_cvar( "fcs_wtr_antifurien", "7" );
	
	register_clcmd( "say", "ClCmdSay" );
	register_clcmd( "say_team", "ClCmdSay" );
	
	register_clcmd( "say /depozit", "ClCmdSayDepozit" );
	register_clcmd( "say depozit", "ClCmdSayDepozit" );
	register_clcmd( "say_team /depozit", "ClCmdSayDepozit" );
	register_clcmd( "say_team depozit", "ClCmdSayDepozit" );
	
	register_clcmd( "say /retrage", "ClCmdSayRetrage" );
	register_clcmd( "say retrage", "ClCmdSayRetrage" );
	register_clcmd( "say_team /retrage", "ClCmdSayRetrage" );
	register_clcmd( "say_team retrage", "ClCmdSayRetrage" );
	
	register_clcmd( "say /buycredit", "ClCmdSayBuyCredit" );
	register_clcmd( "say_team /buycredit", "ClCmdSayBuyCredit" );
	register_clcmd( "say buycredit", "ClCmdSayBuyCredit" );
	register_clcmd( "say_team buycredit", "ClCmdSayBuyCredit" );
	
	register_clcmd( "say /showallcredits", "ClCmdSayShowAllCredits" );
	register_clcmd( "say_team /showallcredits", "ClCmdSayShowAllCredits" );
	register_clcmd( "say showallcredits", "ClCmdSayShowAllCredits" );
	register_clcmd( "say_team showallcredits", "ClCmdSayShowAllCredits" );
	
	register_clcmd( "fcs_credite", "ClCmdCredits" );
	register_clcmd( "fcs_credits", "ClCmdCredits" );
	
	register_clcmd( "fcs_transfer", "ClCmdFcsDonate" );
	
	register_clcmd( "amx_give_credits", "ClCmdGiveCredits" );
	register_clcmd( "amx_take_credits", "ClCmdTakeCredits" );
	register_clcmd( "amx_reset_credits", "ClCmdResetCredits" );
	
	register_forward( FM_ClientUserInfoChanged, "Fwd_ClientUserInfoChanged" );
	RegisterHam( Ham_Spawn, "player", "ham_SpawnPlayerPost", true );
	
	register_event( "DeathMsg", "ev_DeathMsg", "a" );
	register_event( "SendAudio", "ev_SendAudioTerWin", "a", "2=%!MRAD_terwin" );
	register_event( "SendAudio", "ev_SendAudioCtWin", "a", "2=%!MRAD_ctwin" );
	
	#if defined S_N
	iVault = nvault_open( VAULT_NAME );
	#endif
	
	#if defined S_N_U
	iVault = nvault_util_open( VAULT_NAME );
	#endif
	
	/*
	#if defined S_F_N
	//iVault = fvault_load( VAULT_NAME );
	fvault_load( VAULT_NAME );
	#endif
	*/
	
	if( iVault == INVALID_HANDLE )
	set_fail_state( "nValut returned invalid handle !" );
	
	set_task( 1.0, "task_PTRFunctions", TASK_pentru, _, _, "b", 0 );
	
	g_iMaxPlayers = get_maxplayers( );
	
	#if defined BUGET
	register_event( "HLTV", "start_round", "a", "1=0", "2=0" );
	#endif
}

public plugin_natives( )
{
	register_library( "fcs" );
	register_native( "fcs_get_user_credits", "_fcs_get_user_credits" );
	register_native( "fcs_set_user_credits", "_fcs_set_user_credits" );
}

public _fcs_get_user_credits( iPlugin, iParams )
{
	return g_iUserCredits[ get_param( 1 ) ];
}

public _fcs_set_user_credits( iPlugin, iParams )
{
	new id = get_param( 1 );
	g_iUserCredits[ id ] = max( 0, get_param( 2 ) );
	SaveCredits( id );
	return g_iUserCredits[ id ];
}

public client_authorized( id )
{
	if( is_user_bot( id ) )
	return PLUGIN_CONTINUE;
	
	get_user_name( id, g_szName[ id ], sizeof ( g_szName[ ] ) -1 );
	LoadCredits( id );
	
	g_iUserTime[ id ] = 0;
	g_iUserRetired[ id ] = 0;
	//g_iUserEntry[ id ] = true;
	
	return PLUGIN_CONTINUE;
}
/*
public client_putinserver( id )
{
	if( is_user_bot( id ) )
	return PLUGIN_CONTINUE;
	
	LoadCredits( id );
	
	g_iUserTime[ id ] = 0;
	g_iUserRetired[ id ] = 0;
	//g_iUserEntry[ id ] = true;
	
	return PLUGIN_CONTINUE;
}
*/
public client_disconnect( id )
{
	if( is_user_bot( id ) )
	return PLUGIN_CONTINUE;
	
	SaveCredits( id );
	g_iUserTime[ id ] = 0;
	g_iUserRetired[ id ] = 0;
	//g_iUserEntry[ id ] = true;
	
	return PLUGIN_CONTINUE;
}

#if defined BUGET
public start_round( )
{
	static credite_ct, credite_t;
	
	credite_ct = 0;
	credite_t = 0;
	
	for( new i = 1; i <= g_iMaxPlayers; i++ )
	{
		if( !is_user_connected( i ) )
		continue;
		
		switch( get_user_team( i ) )
		{
			case 1: credite_t += g_iUserCredits[ i ];
			case 2: credite_ct += g_iUserCredits[ i ];
		}
	}
	
	for( new i = 1; i <= g_iMaxPlayers; i++ )
	{
		if( !is_user_connected( i ) )
		continue;
		
		switch( get_user_team( i ) )
		{
			case 1: color( i, "^x04%s^x01 Bugetul echipei^x03 T^x01 este de^x04 %dC^x01 !", TAG, credite_t );
			case 2: color( i, "^x04%s^x01 Bugetul echipei^x03 CT^x01 este de^x04 %dC^x01 !", TAG, credite_ct );
		}
	}
}
#endif

public ClCmdSay( id ) // de modificat..
{
	static szArgs[ 192 ];
	read_args( szArgs, sizeof ( szArgs ) -1 );
	
	if( !szArgs[ 0 ] )
	return 0;
	
	new szCommand[ 192 ]; //15
	remove_quotes( szArgs/*[ 0 ]*/ );
	
	if( equal( szArgs, "/credite", strlen( "/credite" ) ) || equal( szArgs, "/credits", strlen( "/credits" ) ) )
	{
		replace( szArgs, sizeof ( szArgs ) -1, "/", "" );
		formatex( szCommand, sizeof ( szCommand ) -1, "fcs_%s", szArgs );
		client_cmd( id, szCommand );
		return 1;
	}
	
	if( equal( szArgs, "/transfer", strlen( "/transfer" ) ) ) // ?else?
	{
		replace( szArgs, sizeof ( szArgs ) -1, "/", "" );
		formatex( szCommand, sizeof ( szCommand ) -1, "fcs_%s", szArgs );
		client_cmd( id, szCommand );
		return 1;
	}
	
	return 0;
}

public ClCmdSayBuyCredit( id )
{
	if( !is_user_alive( id ) )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Trebuie sa fii in^x03 viata^x01 pentru a putea cumpara 1^x04 Credit^x01 !", g_szTag );
		return 1;
	}
	
	new g_iUserMoney = cs_get_user_money( id );
	new iNeededMoney = get_pcvar_num( g_iCvarOneCredit );
	
	if( g_iUserMoney < iNeededMoney )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Mai ai nevoie de^x03 %d $^x01 pentru a cumpara^x04 1 credit^x01 !", g_szTag, iNeededMoney - g_iUserMoney );
		
		return 1;
	}
	
	g_iUserCredits[ id ] += 1;
	cs_set_user_money( id, g_iUserMoney - iNeededMoney );
	ColorChat( id, NORMAL, "^x04%s^x01 Tocmai ai cumparat^x03 1 credit^x01 pentru^x04 %d$^x01 !", g_szTag, iNeededMoney );
	
	return 1;
}

public ClCmdSayShowAllCredits( id ) // de facut rank + top pe credite ( rank / rankstats / top15 ) | si pe player...
{
	new iPlayers[ 32 ], iPlayersNum, szName[ 32 ], szMotd[ 650 ], len;
	
	len = formatex( szMotd, charsmax( szMotd ), "<html>" );
	get_players( iPlayers, iPlayersNum, "c" ); // de modificat
	
	for( new i = 0; i < iPlayersNum; i++ )
	{
		get_user_name( iPlayers[ i ], szName, charsmax( szName ) );
		len += formatex( szMotd[ len ], charsmax( szMotd ) - len, "<center><font color=#008000>Nick:</font> <font color=#8A2BE2>%s</font> | <font color=#008000>Credits:</font> <font color=#8A2BE2>%i</font></center>", szName, g_iUserCredits[ iPlayers[ i ] ] );
	}
	
	formatex( szMotd[ len ], charsmax( szMotd ) - len, "</html>" );
	show_motd( id, szMotd );
	
	return PLUGIN_HANDLED;	
}

public ClCmdFcsDonate( id )
{
	if( get_pcvar_num( g_iCvarTSEnable ) != 1 )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Comanda dezactivata de catre server !", g_szTag );
		return PLUGIN_HANDLED;
	}
	
	new szFirstArg[ 32 ], szSecondArg[ 10 ];
	
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 );
	
	if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Folosire:^x03 /transfer^x01 <^x04 nume^x01 > <^x03 credit(e)^x01 >", g_szTag );
		return 1;
	}
	
	new iPlayer = cmd_target( id, szFirstArg, 8 );
	
	if( !iPlayer || !is_user_connected( iPlayer ) )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Acel jucator nu a fost gasit", g_szTag );
		return PLUGIN_HANDLED;
	}
	
	if( iPlayer == id )
	{
		ColorChat( id,  NORMAL, "^x04%s^x01 Nu-ti poti transfera credit(e)", g_szTag );
		return PLUGIN_HANDLED;
	}
	
	new iCredits;
	iCredits = str_to_num( szSecondArg );
	
	if( iCredits < 1 )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Trebuie sa introduci o valoare mai mare de^x03 1C", g_szTag );
		return PLUGIN_HANDLED;
	}
	
	new iMaxCredits = get_pcvar_num( g_iCvarTSMaxCredits );
	if( iCredits > iMaxCredits )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Poti transfera maxim^x03 %i^x01 credit%s o data !", g_szTag, iMaxCredits, iMaxCredits == 1 ? "" : "e" );
		return PLUGIN_HANDLED;
	}
	
	if( g_iUserCredits[ id ] < iCredits )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Nu ai destule credit(e), ai doar^x03 %i^x01 credit%s", g_szTag, g_iUserCredits[ id ], g_iUserCredits[ id ] == 1 ? "" : "e" );
		return 1;
	}
	
	g_iUserCredits[ id ] -= iCredits;
	g_iUserCredits[ iPlayer ] += iCredits;
	
	SaveCredits( id );
	SaveCredits( iPlayer );
	
	new szFirstName[ 32 ], szSecondName[ 32 ];
	
	get_user_name( id, szFirstName, sizeof ( szFirstName ) -1 );
	get_user_name( iPlayer, szSecondName, sizeof ( szSecondName ) -1 );
	
	ColorChat( 0, NORMAL, "^x04%s^x01 Jucatorul^x03 %s^x01 i-a transferat^x04 %i^x01 credit%s lui^x03 %s", g_szTag, szFirstName, iCredits, iCredits == 1 ? "" : "e", szSecondName );
	return PLUGIN_HANDLED;
}

public ClCmdCredits( id )
{
	if( !is_user_connected( id ) )
	return 1;
	
	new szArg[ 32 ];
	read_argv( 1, szArg, sizeof ( szArg ) -1 );
	
	if( equal( szArg, "" ) ) 
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Ai^x03 %i^x01 credit(e) pana acuma !", g_szTag, g_iUserCredits[ id ] );
		return 1;
	}
	
	new iPlayer = cmd_target( id, szArg, 8 );
	if( !iPlayer || !is_user_connected( iPlayer ) )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Jucatorul specificat nu a fost gasit !", g_szTag );
		return 1;
	}
	
	new szName[ 32 ];
	get_user_name( iPlayer, szName, sizeof ( szName ) -1 );
	ColorChat( id, NORMAL, "^x04%s^x01 Jucatorul^x03 %s^x01 are^x04 %i^x01 credit%s", g_szTag, szName, g_iUserCredits[ iPlayer ], g_iUserCredits[ iPlayer ] == 1 ? "." : "e" );
	
	return 1;
}

public ClCmdSayDepozit( id )
{
	if( !is_user_alive( id ) )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Trebuie sa fii in^x03 viata^x01 pentru a putea^x04 Depozita^x01 !", g_szTag );
		return 1;
	}
	
	new iTeam = get_user_team( id );
	if( 1 <= iTeam <= 2 )
	{
		new iMoney = cs_get_user_money( id );
		if( iMoney >= 16000 )
		{
			ColorChat( id, NORMAL, "^x04%s^x01 Ai depozitat^x03 16000$^x01 si ai primit^x04 1^x01 credit", g_szTag );
			cs_set_user_money( id, iMoney - 16000 ); // 0?
			g_iUserCredits[ id ] += 1;
			
			SaveCredits( id );
			return 1; // handled peste tot
		}
		
		else
		{
			ColorChat( id, NORMAL, "^x04%s^x01 Iti trebuie^x03 16000$^x01 pentru a putea depozita", g_szTag );
			return 1;
		}
	}
	
	return 1;
}

public ClCmdSayRetrage( id )
{
	if( !is_user_alive( id ) )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Trebuie sa fii in^x03 viata^x01 pentru a putea^x04 Retrage^x01 !", g_szTag );
		return 1;
	}
	
	new iTeam = get_user_team( id );
	if( 1 <= iTeam <= 2 )
	{
		if( g_iUserCredits[ id ] > 0 )
		{
			new iMaxRetrieve = get_pcvar_num( g_iCvarRetire );
			if( iMaxRetrieve > 0 )
			{
				if( g_iUserRetired[ id ] >= iMaxRetrieve )
				{
					ColorChat( id, NORMAL, "^x04%s^x01 Ai retras deja de^x03 %i^x01 ori credit(e) runda asta.", g_szTag, iMaxRetrieve );
					return PLUGIN_HANDLED;
				}
			}
			
			new iMoney = cs_get_user_money( id );
			ColorChat( id, NORMAL, "^x04%s^x01 Ai retras^x03 1^x01 credit si, ai primit^x04 16000$", g_szTag );
			ColorChat( id, NORMAL, "^x04%s^x01 Mai poti sa retragi doar de^x03 %d^x01 runda aceasta !", g_szTag, iMaxRetrieve - g_iUserRetired[ id ] );
			cs_set_user_money( id, iMoney + 16000 );
			
			g_iUserCredits[ id ] -= 1;
			SaveCredits( id );
			g_iUserRetired[ id ]++;
			
			if( ( iMoney + 16000 ) > 16000 )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 ATENTIE^x01, ai^x03 %i$^x01 !", g_szTag, iMoney + 16000 );
				ColorChat( id, NORMAL, "^x04%s^x01 La spawn, vei pierde tot ce depaseste suma de^x03 16000$", g_szTag );
				return 1;
			}
		}
		
		else
		{
			ColorChat( id, NORMAL, "^x04%s ^x01NU ai ce sa retragi, ai^x03 0^x01 credite", g_szTag );
			return 1;
		}
	}
	
	return 1;
}

public ClCmdGiveCredits( id )
{
	if( !( get_user_flags( id ) & read_flags( g_szGiveCreditsFlag ) ) )
	{
		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_credits < nume / @ALL / @T / @CT > < credit(e) >" );
		return 1;
	}
	
	new iPlayers[ 32 ];
	new iPlayersNum;
	
	new iCredits = str_to_num( szSecondArg );
	if( iCredits <= 0 )
	{
		client_cmd( id, "echo Valoarea creditelor date trebuie sa fie mai mare decat 0 !" );
		return 1;
	}
	
	if( iCredits >= 10000 )
	{
		client_cmd( id, "echo Valoarea creditelor date trebuie sa fie mai mica decat 10000 !" );
		return 1;
	}
	
	if( szFirstArg[ 0 ] == '@' )
	{
		switch( szFirstArg[ 1 ] )
		{
			case 'A':
			{
				if( equal( szFirstArg, "@ALL" ) )
				{
					get_players( iPlayers, iPlayersNum, "ch" );
					/*if( iPlayersNum == 0 )
					{
						client_cmd( id, "echo NU se afla niciun jucator pe server !" );
						return 1;
					}*/
					
					for( new i = 0; i < iPlayersNum ; i++ )
					g_iUserCredits[ iPlayers[ i ] ] += iCredits;
					
					new szName[ 32 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					ColorChat( 0, NORMAL, "^x01[^x04 ADM!N^x01 ]^x03 %s^x01: le-a dat^x04 %i^x01 credit(e) tuturor^x03 Jucatorilor^x01 !", szName, iCredits );
					//SaveCredits( iPlayers );
					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_iUserCredits[ iPlayers[ i ] ] += iCredits;
					
					new szName[ 32 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					ColorChat( 0, NORMAL, "^x01[^x04 ADM!N^x01 ]^x03 %s^x01: le-a dat^x04 %i^x01 credit(e) jucatorilor de la^x03 TERO^x01 !", szName, iCredits );
					//SaveCredits( iPlayers );
					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_iUserCredits[ iPlayers[ i ] ] += iCredits;
					
					new szName[ 32 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					ColorChat( 0, NORMAL, "^x01[^x04 ADM!N^x01 ]^x03 %s^x01: le-a dat^x04 %i^x01 credit(e) jucatorilor de la^x03 CT^x01 !", szName, iCredits );
					//SaveCredits( iPlayers );
					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_iUserCredits[ iPlayer ] += iCredits;
	
	new szName[ 32 ], _szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 );
	
	ColorChat( 0, NORMAL, "^x01[^x04 ADM!N^x01 ]^x03 %s^x01: i-a dat^x04 %i^x01 credit(e) lui^x03 %s", szName, iCredits, _szName );
	//SaveCredits( iPlayer );
	
	return 1;
}

public ClCmdTakeCredits( id )
{
	if( !( get_user_flags( id ) & read_flags( g_szGiveCreditsFlag ) ) )
	{
		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_credits < nume / @ALL / @T / @CT > < credit(e) >" );
		return 1;
	}
	
	new iCredits = str_to_num( szSecondArg );
	if( iCredits <= 0 )
	{
		client_cmd( id, "echo Valoarea creditelor sterse trebuie sa fie mai mare decat 0 !" );
		return 1;
	}
	
	if( iCredits >= 10000 )
	{
		client_cmd( id, "echo Valoarea creditelor sterse trebuie sa fie mai mica decat 10000 !" );
		return 1;
	}
	
	new iPlayers[ 32 ];
	new iPlayersNum;
	
	if( szFirstArg[ 0 ] == '@' )
	{
		switch( szFirstArg[ 1 ] )
		{
			case 'A':
			{
				if( equal( szFirstArg, "@ALL" ) )
				{
					get_players( iPlayers, iPlayersNum, "ch" );
					/*if( iPlayersNum == 0 )
					{
						client_cmd( id, "echo NU se afla niciun jucator pe server !" );
						return 1;
					}*/
					
					/*for( new i = 0; i < iPlayersNum ; i++ )
					g_iUserCredits[ iPlayers[ i ] ] -= iCredits;*/
					
					for( new i = 0; i < iPlayersNum ; i++ )
					{
						if( g_iUserCredits[ iPlayers[ i ] ] < iCredits )
						{
							client_cmd( id, "echo Jucatorii nu au atatea credit(e) ! Au doar %i credit(e) in total !", g_iUserCredits[ iPlayers[ i ] ] );
							return 1;
						}
						
						g_iUserCredits[ iPlayers[ i ] ] -= iCredits;
					}
					
					new szName[ 32 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					ColorChat( 0, NORMAL, "^x01[^x04 ADM!N^x01 ]^x03 %s^x01: le-a sters^x04 %i^x01 credit(e) tuturor^x03 Jucatorilor^x01 !", szName, iCredits );
					//SaveCredits( iPlayers );
					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_iUserCredits[ iPlayers[ i ] ] -= iCredits;*/
					
					for( new i = 0; i < iPlayersNum ; i++ )
					{
						if( g_iUserCredits[ iPlayers[ i ] ] < iCredits )
						{
							client_cmd( id, "echo Echipa T nu au atatea credit(e) ! Au doar %i credit(e) in total !", g_iUserCredits[ iPlayers[ i ] ] );
							return 1;
						}
						
						g_iUserCredits[ iPlayers[ i ] ] -= iCredits;
					}
					
					new szName[ 32 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					ColorChat( 0, NORMAL, "^x01[^x04 ADM!N^x01 ]^x03 %s^x01: le-a sters^x04 %i^x01 credit(e) jucatorilor de la^x03 TERO^x01 !", szName, iCredits );
					//SaveCredits( iPlayers );
					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_iUserCredits[ iPlayers[ i ] ] -= iCredits;*/
					
					for( new i = 0; i < iPlayersNum ; i++ )
					{
						if( g_iUserCredits[ iPlayers[ i ] ] < iCredits )
						{
							client_cmd( id, "echo Echipa CT nu au atatea credit(e) ! Au doar %i credit(e) in total !", g_iUserCredits[ iPlayers[ i ] ] );
							return 1;
						}
						
						g_iUserCredits[ iPlayers[ i ] ] -= iCredits;
					}
					
					new szName[ 32 ];
					get_user_name( id, szName, sizeof ( szName ) -1 );
					ColorChat( 0, NORMAL, "^x01[^x04 ADM!N^x01 ]^x03 %s^x01: le-a sters^x04 %i^x01 credit(e) jucatorilor de la^x03 CT^x01 !", szName, iCredits );
					//SaveCredits( iPlayers );
					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_iUserCredits[ iPlayer ] < iCredits )
	{
		client_cmd( id, "echo Jucatorul %s nu are atatea credit(e) ! Are doar %i", szFirstArg, g_iUserCredits[ iPlayer ] );
		return 1;
	}
	
	g_iUserCredits[ iPlayer ] -= iCredits;
	
	new szName[ 32 ], _szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 );
	
	ColorChat( 0, NORMAL, "^x01[^x04 ADM!N^x01 ]^x03 %s^x01: i-a sters^x04 %i^x01 credit(e) lui^x03 %s", szName, iCredits, _szName );
	//SaveCredits( iPlayers );
	
	return 1;
}

public ClCmdResetCredits( id )
{
	if( !( get_user_flags( id ) & read_flags( g_szGiveCreditsFlag ) ) )
	{
		client_cmd( id, "echo NU ai acces la aceasta comanda !" );
		return 1;
	}
	
	new szFirstArg[ 32 ];
	
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	
	new szName[ 32 ], _szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );
	
	if( equal( szFirstArg, "" ) )
	{
		client_cmd( id, "echo amx_reset_credits < nume / @ALL / @T / @CT >" );
		return 1;
	}
	
	new iPlayers[ 32 ];
	new iPlayersNum;
	
	if( szFirstArg[ 0 ] == '@' )
	{
		switch( szFirstArg[ 1 ] )
		{
			case 'A':
			{
				if( equal( szFirstArg, "@ALL" ) )
				{
					get_players( iPlayers, iPlayersNum, "ch" );
					/*if( iPlayersNum == 0 )
					{
						client_cmd( id, "echo NU se afla niciun jucator pe server !" );
						return 1;
					}*/
					
					/*for( new i = 0; i < iPlayersNum ; i++ )
					g_iUserCredits[ iPlayers[ i ] ] = 0;*/
					
					for( new i = 0; i < iPlayersNum ; i++ )
					{
						if( g_iUserCredits[ iPlayers[ i ] ] == 0 )
						{
							client_cmd( id, "echo Toti Jucatorii nu niciun credit, pentru a le reseta !" );
							return 1;
						}
						
						g_iUserCredits[ iPlayers[ i ] ] = 0;
					}
					
					ColorChat( 0, NORMAL, "^x01[^x04 ADM!N^x01 ]^x03 %s^x01: a resetat toate^x04 Creditele^x03 Jucatorilor^x01 !", szName );
					//SaveCredits( iPlayers );
					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_iUserCredits[ iPlayers[ i ] ] = 0;*/
					
					for( new i = 0; i < iPlayersNum ; i++ )
					{
						if( g_iUserCredits[ iPlayers[ i ] ] == 0 )
						{
							client_cmd( id, "echo Echipa T nu are niciun credit, pentru a le reseta !" );
							return 1;
						}
						
						g_iUserCredits[ iPlayers[ i ] ] = 0;
					}
					
					ColorChat( 0, NORMAL, "^x01[^x04 ADM!N^x01 ]^x03 %s^x01: a resetat toate^x04 Creditele^x01 jucatorilor de la^x03 TERO^x01 !", szName );
					//SaveCredits( iPlayers );
					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_iUserCredits[ iPlayers[ i ] ] = 0;*/
					
					for( new i = 0; i < iPlayersNum ; i++ )
					{
						if( g_iUserCredits[ iPlayers[ i ] ] == 0 )
						{
							client_cmd( id, "echo Echipa CT nu are niciun credit, pentru a le reseta !" );
							return 1;
						}
						
						g_iUserCredits[ iPlayers[ i ] ] = 0;
					}
					
					ColorChat( 0, NORMAL, "^x01[^x04 ADM!N^x01 ]^x03 %s^x01: a resetat toate^x04 Creditele^x01 jucatorilor de la^x03 CT^x01 !", szName );
					//SaveCredits( iPlayers );
					return 1;
				}
			}
		}
	}
	
	new iPlayer = cmd_target( id, szFirstArg, 8 );
	get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 );
	if( !iPlayer )
	{
		client_cmd( id, "echo Jucatorul %s nu a fost gasit !", szFirstArg );
		return 1;
	}
	
	if( g_iUserCredits[ iPlayer ] == 0 )
	{
		client_cmd( id, "echo Jucatorul %s nu are niciun credit, pentru a le reseta !", _szName );
		return 1;
	}
	
	g_iUserCredits[ iPlayer ] = 0;
	
	ColorChat( 0, NORMAL, "^x01[^x04 ADM!N^x01 ]^x03 %s^x01: a resetat toate^x04 Creditele^x01 lui^x03 %s", szName, _szName );
	//SaveCredits( iPlayers );
	
	return 1;
}

public ham_SpawnPlayerPost( id )
{
	if( !is_user_alive( id ) )
	return;
	
	g_iUserRetired[ id ] = 0;
}

public Fwd_ClientUserInfoChanged( id, szBuffer )
{
	if ( !is_user_connected( id ) ) 
		return FMRES_IGNORED;
	
	static szNewName[ 32 ];
	
	engfunc( EngFunc_InfoKeyValue, szBuffer, "name", szNewName, sizeof ( szNewName ) -1 );
	
	if ( equal( szNewName, g_szName[ id ] ) )
		return FMRES_IGNORED;
	
	SaveCredits( id );
	
	ColorChat( id, NORMAL, "^x04%s^x01 Tocmai ti-ai schimbat numele din^x03 %s^x01 in^x04 %s^x01 !", g_szTag, g_szName[ id ], szNewName );
	ColorChat( id, NORMAL, "^x04%s^x01 Am salvat^x03 %i^x01 credit(e) pe numele^x04 %s^x01 !", g_szTag, g_iUserCredits[ id ], g_szName[ id ] );
	
	copy( g_szName[ id ], sizeof ( g_szName[ ] ) -1, szNewName );
	LoadCredits( id );
	
	ColorChat( id, NORMAL, "^x04%s^x01 Am incarcat^x03 %i^x01 credit(e) de pe noul nume (^x04 %s^x01 ) !", g_szTag, g_iUserCredits[ id ], g_szName[ id ] );
	
	return FMRES_IGNORED;
}

public LoadCredits( id )
{
	/*iVault = nvault_open( VAULT_NAME );
	
	if( iVault == INVALID_HANDLE )
	{
		set_fail_state( "nValut returned invalid handle!" );
	}*/
	
	static szData[ 256 ];
	
	#if defined S_N
	static iTimestamp;
	
	if( nvault_lookup( iVault, g_szName[ id ], szData, sizeof ( szData ) -1, iTimestamp ) )
	{ // mesaj?
		static szCredits[ 15 ];
		parse( szData, szCredits, sizeof ( szCredits ) -1 );
		g_iUserCredits[ id ] = str_to_num( szCredits );
		return;
	}
	
	else
	{
		g_iUserCredits[ id ] = get_pcvar_num( g_iCvarEntry );
		
		/*if( g_iUserEntry[ id ] ) //de facut cu for = 0/1
		{
			set_task( 41.5, "MESAJ", id );
		}*/
		//is user connected
		set_task( 48.5, "MESAJ", id );
	}
	#endif
	
	#if defined S_N_U
	static iTimestamp;
	
	if( nvault_util_read( iVault, g_szName[ id ], szData, sizeof ( szData ) -1, iTimestamp ) ) // sizeof = charsmax
	{ // mesaj?
		static szCredits[ 15 ];
		parse( szData, szCredits, sizeof ( szCredits ) -1 );
		g_iUserCredits[ id ] = str_to_num( szCredits );
		return;
	}
	
	else
	{
		g_iUserCredits[ id ] = get_pcvar_num( g_iCvarEntry );
		
		/*if( g_iUserEntry[ id ] ) //de facut cu for = 0/1
		{
			set_task( 41.5, "MESAJ", id );
		}*/
		//is user connected
		set_task( 48.5, "MESAJ", id );
	}
	#endif
	
	#if defined S_F_N
	//if( fvault_get_data( VAULT_NAME, g_szName[ id ], szData, charsmax ( szData ), iTimestamp ) )
	if( fvault_get_data( VAULT_NAME, g_szName[ id ], szData, sizeof ( szData ) -1 ) )
	{ // mesaj?
		//static szCredits[ 15 ];
		//parse( szData, szCredits, sizeof ( szCredits ) -1 );
		//g_iUserCredits[ id ] = str_to_num( szCredits );
		g_iUserCredits[ id ] = str_to_num( szData );
		//return;
	}
	
	else
	{
		g_iUserCredits[ id ] = get_pcvar_num( g_iCvarEntry );
		
		/*if( g_iUserEntry[ id ] ) //de facut cu for = 0/1
		{
			set_task( 41.5, "MESAJ", id );
		}*/
		//is user connected
		set_task( 48.5, "MESAJ", id );
	}
	#endif
	
	//nvault_close( iVault );
}

public MESAJ( id )
{
	ColorChat( id, NORMAL, "^x04[^x01 FuRieN^x04 ]^x01 Ai primit^x04 %iC^x01 pentru ca te-ai conectat pentru 1 data pe^x03 FURIEN.KRIPT.RO^x01 !", get_pcvar_num( g_iCvarEntry ) );
	//out+ modificari daca e cu entry
	if( task_exists( id + 48 ) )
	remove_task( id + 48 );
	
	//break;
	return PLUGIN_HANDLED;
}

public SaveCredits( id )
{
	/*iVault = nvault_open( VAULT_NAME );
	
	if( iVault == INVALID_HANDLE )
	{
		set_fail_state( "nValut returned invalid handle!" );
	}*/
	
	static szData[ 256 ];
	formatex( szData, sizeof ( szData ) -1, "%i", g_iUserCredits[ id ] ); // de pus ^" ^"
	
	#if defined S_N
	nvault_set( iVault, g_szName[ id ], szData );
	#endif
	
	#if defined S_N_U
	nvault_set_array( iVault, g_szName[ id ], szData );
	#endif
	
	#if defined S_F_N
	fvault_set_data( VAULT_NAME, g_szName[ id ], szData );
	#endif
	
	//nvault_close( iVault );
}

public task_PTRFunctions( )
{
	if( get_pcvar_num( g_iCvarPTREnable ) != 1 )
	return;
	
	static iPlayers[ 32 ];
	static iPlayersNum;
	
	get_players( iPlayers, iPlayersNum, "ch" );
	if( !iPlayersNum )
	return;
	
	static id, i;
	for( i = 0; i < iPlayersNum; i++ )
	{
		id = iPlayers[ i ];
		
		g_iUserTime[ id ]++;
		static iTime;
		iTime = get_pcvar_num( g_iCvarPTRMinutes );
		
		if( g_iUserTime[ id ] >= iTime * 60 )
		{
			g_iUserTime[ id ] -= iTime * 60;
			
			static iCredits;
			iCredits = get_pcvar_num( g_iCvarPTRCredits );
			
			g_iUserCredits[ id ] += iCredits;
			ColorChat( id, NORMAL, "^x01[^x04 FuRieN^x01 ] Ai primit^x03 %i^x01 credite pentru ca ai jucat^x04 %i^x01 minute pe^x03 FURIEN.KRIPT.RO^x01 !", iCredits, iTime );
			ColorChat( id, NORMAL, "^x01[^x04 FuRieN^x01 ] Joaca in^x03 continuare^x01 si vei primi dinou !" );
			
			SaveCredits( id );	
		}
	}
}

public ev_DeathMsg( )
{
	if( get_pcvar_num( g_iCvarKREnable ) != 1 )
	return;
	
	new iKiller = read_data( 1 );
	new iVictim = read_data( 2 );
	
	new wpn[ 3 ]; // 24
	read_data( 4, wpn, 2 ); // 23
	
	if( iKiller == iVictim || !iKiller ) // || !iVictim
	return;
	
	new szName[ 32 ], iCredits;
	get_user_name( iVictim, szName, sizeof( szName ) -1 );
	
	if( read_data( 3 ) && wpn[ 0 ] != 'k' )
	{
		new iHS = get_pcvar_num( g_iCvarKRHSCredits );
		iCredits += iHS;
		ColorChat( iKiller, NORMAL, "^x01[^x04 FuRieN^x01 ] Felicitari ! Ai primit^x03 %iC^x01 pentru ca l-ai asasinat pe^x04 %s^x01 ! (^x03 HS bonus^x01 ) !", iHS, szName );
	}
	else
	{
		new iK = get_pcvar_num( g_iCvarKRCredits );
		iCredits += iK;
		ColorChat( iKiller, NORMAL, "^x01[^x04 FuRieN^x01 ] Felicitari ! Ai primit^x03 %iC^x01 pentru ca l-ai asasinat pe^x04 %s^x01 !", iCredits, szName );
	}
	
	if( read_data( 3 ) && wpn[ 0 ] == 'k' /*&& wpn[ 1 ] != 'r' && get_user_team( iKiller ) == 2*/ ) // si fara wpn 1 + ' == k '
	{
		new iKHS = get_pcvar_num( g_iCvarKHSCredits );
		iCredits += iKHS;
		ColorChat( iKiller, NORMAL, "^x01[^x04 FuRieN^x01 ] Felicitari ! Ai primit^x03 %iC^x01 pentru ca l-ai umilit pe^x04 %s^x01 !", iKHS, szName );
	}
	
	if( wpn[ 0 ] == 'k' /*&& !read_data( 3 ) */&& get_user_team( iKiller ) == 2 && get_user_team( iVictim ) == 1 ) // si fara read data
	{
		new iK = get_pcvar_num( g_iCvarKCredits );
		iCredits += iK;
		ColorChat( iKiller, NORMAL, "^x01[^x04 FuRieN^x01 ] Felicitari ! Ai primit^x03 %iC^x01 pentru ca l-ai taiat pe^x04 %s^x01 !", iK, szName );
	}
	
	if( wpn[ 1 ] == 'r'/* && !read_data( 3 )*/ ) // + si fara read
	{
		new iG = get_pcvar_num( g_iCvarGCredits );
		iCredits += iG;
		ColorChat( iKiller, NORMAL, "^x01[^x04 FuRieN^x01 ] Felicitari ! Ai primit^x03 %iC^x01 pentru ca l-ai explodat pe^x04 %s^x01 !", iG, szName );
	}
	
	g_iUserCredits[ iKiller ] += iCredits;
	SaveCredits( iKiller );
}

public ev_SendAudioTerWin( )
{
	static iCvarEnable, iCvarFurienReward;
	iCvarEnable = get_pcvar_num( g_iCvarWTREnable );
	iCvarFurienReward = get_pcvar_num( g_iCvarWTRFurien );
	
	if( iCvarEnable != 1 || iCvarFurienReward == 0 )
	return;
	
	GiveTeamReward( FCS_TEAM_FURIEN, iCvarFurienReward );
}

public ev_SendAudioCtWin( )
{
	static iCvarEnable, iCvarAntiReward;
	iCvarEnable = get_pcvar_num( g_iCvarWTREnable );
	iCvarAntiReward = get_pcvar_num( g_iCvarWTRAnti );
	
	if( iCvarEnable != 1 || iCvarAntiReward == 0 )
	return;
	
	GiveTeamReward( FCS_TEAM_ANTIFURIEN, iCvarAntiReward );
}

public GiveTeamReward( const CsTeams:iTeam, iCredits )
{
	/*
	static iPlayers[ 32 ];
	static iPlayersNum;
	
	get_players( iPlayers, iPlayersNum, "ch" );
	if( !iPlayersNum )
	return;
	
	static id, i;
	for( i = 0; i < iPlayersNum; i++ )
	{
		id = iPlayers[ i ];*/
		for( new id = 1; id <= g_iMaxPlayers; id++ )
		{
			if( is_user_connected( id ) && cs_get_user_team( id ) == iTeam ) // fara connected
			{
				ColorChat( id, NORMAL, "^x04%s^x01 Ai primit^x03 %i^x01 credit%s pentru castigarea rundei !", g_szTag, iCredits, iCredits == 1 ? "" : "e" );
				g_iUserCredits[ id ] += iCredits;
				SaveCredits( id ); // fara
			}
		}
	}
	
	public plugin_end( )
	{
		/*iVault = nvault_open( VAULT_NAME );
		
		if( iVault == INVALID_HANDLE )
		{
			set_fail_state( "nValut returned invalid handle!" );
		}*/
		
		new iDays = get_pcvar_num( g_iCvarPruneDays );
		
		#if defined S_N
		if( iDays > 0 )
		{
			nvault_prune( iVault, 0, get_systime( ) - ( iDays * ONE_DAY_IN_SECONDS ) );
		}
		
		nvault_close( iVault );
		#endif
		
		#if defined S_N_U
		if( iDays > 0 )
		{
			nvault_prune( iVault, 0, get_systime( ) - ( iDays * ONE_DAY_IN_SECONDS ) );
		}
		
		nvault_util_close( iVault );
		#endif
		
		#if defined S_F_N
		if( iDays > 0 )
		{
			fvault_prune( VAULT_NAME, 0, get_systime( ) - ( iDays * ONE_DAY_IN_SECONDS ) );
		}
		
		//nvault_close( iVault );
		#endif
	}
	
	ColorChat( id, Color:iType, const msg[ ], { Float, Sql, Result, _ }:... )
	{
		if( !get_playersnum( ) )
		return;
		
		new szMessage[ 256 ];
		
		switch( iType )
		{
			case NORMAL:	szMessage[ 0 ] = 0x01;
			
			case GREEN:	szMessage[ 0 ] = 0x04;
			
			default: 	szMessage[ 0 ] = 0x03;
		}
		
		vformat( szMessage[ 1 ], 251, msg, 4 );
		
		szMessage[ 192 ] = '^0';
		
		new iTeam, iColorChange, iPlayerIndex, MSG_Type;
		
		if( id )
		{
			MSG_Type = MSG_ONE_UNRELIABLE;
			iPlayerIndex = id;
		}
		
		else
		{
			iPlayerIndex = CC_FindPlayer( );
			MSG_Type = MSG_ALL;
		}
		
		iTeam = get_user_team( iPlayerIndex );
		iColorChange = CC_ColorSelection( iPlayerIndex, MSG_Type, iType );
		
		CC_ShowColorMessage( iPlayerIndex, MSG_Type, szMessage );
		
		if( iColorChange )	CC_Team_Info( iPlayerIndex, MSG_Type, TeamName[ iTeam ] );
	}
	
	CC_ShowColorMessage( id, const iType, const szMessage[ ] )
	{
		static bool:bSayTextUsed;
		static iMsgSayText;
		
		if( !bSayTextUsed )
		{
			iMsgSayText = get_user_msgid( "SayText" );
			bSayTextUsed = true;
		}
		
		message_begin( iType, iMsgSayText, _, id );
		write_byte( id );		
		write_string( szMessage );
		message_end( );
	}
	
	CC_Team_Info( id, const iType, const szTeam[ ] )
	{
		static bool:bTeamInfoUsed;
		static iMsgTeamInfo;
		
		if( !bTeamInfoUsed )
		{
			iMsgTeamInfo = get_user_msgid( "TeamInfo" );
			bTeamInfoUsed = true;
		}
		
		message_begin( iType, iMsgTeamInfo, _, id );
		write_byte( id );
		write_string( szTeam );
		message_end( );
		
		return 1;
	}
	
	CC_ColorSelection( id, const iType, Color:iColorType )
	{
		switch( iColorType )
		{
			case RED:	return CC_Team_Info( id, iType, TeamName[ 1 ] );
			case BLUE:	return CC_Team_Info( id, iType, TeamName[ 2 ] );
			case GREY:	return CC_Team_Info( id, iType, TeamName[ 0 ] );
		}
		
		return 0;
	}
	
	CC_FindPlayer( )
	{
		new iMaxPlayers = get_maxplayers( );
		
		for( new i = 1; i <= iMaxPlayers; i++ )
		if( is_user_connected( i ) )
		return i;
		return -1;
	}
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
ALEXVL
Membru, skill +1
Membru, skill +1
Posts: 243
Joined: 22 Jul 2015, 00:01
Detinator Steam: Da
CS Status: Online
Detinator server CS: ZMX.LSEPLAY.COM
SteamID: Da
Fond eXtream: 0
Contact:

25 May 2017, 20:00

la shopul normal simplu puteti repara cu viteza , cand cumperi viteza merge dardaca schimbi arma in mana de pe una pe alta nu mai ai viteza
shop | Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include < amxmodx >
#include < cstrike >
#include < fakemeta >
#include < hamsandwich >
#include < fun >
//#include < fcs >
//#include < CC_ColorChat >

#define PLUGIN "FCS Credits Shop"
#define VERSION "1.0.2"

/*
 * Returns a players credits
 * 
 * @param		client - The player index to get points of
 * 
 * @return		The credits client
 * 
 */

native fcs_get_user_credits(client);

/*
 * Sets <credits> to client
 * 
 * @param		client - The player index to set points to
 * @param		credits - The amount of credits to set to client
 * 
 * @return		The credits of client
 * 
 */

native fcs_set_user_credits(client, credits);

/*
 * Adds <credits> points to client
 * 
 * @param		client - The player index to add points to
 * @param		credits - The amount of credits to set to client
 * 
 * @return		The credits of client
 * 
 */

stock fcs_add_user_credits(client, credits)
{
	return fcs_set_user_credits(client, fcs_get_user_credits(client) + credits);
}

/*
 * Subtracts <credits>  from client
 * 
 * @param		client - The player index to subtract points from
 * @param		credits - The amount of credits to set to client
 * 
 * @return		The credits of client
 * 
 */

stock fcs_sub_user_credits(client, credits)
{
	return fcs_set_user_credits(client, fcs_get_user_credits(client) - credits);
}

enum Color
{
	NORMAL = 1, 		// Culoarea care o are jucatorul setata in cvar-ul scr_concolor.
	GREEN, 			// Culoare Verde.
	TEAM_COLOR, 		// Culoare Rosu, Albastru, Gri.
	GREY, 			// Culoarea Gri.
	RED, 			// Culoarea Rosu.
	BLUE, 			// Culoarea Albastru.
}

new TeamName[  ][  ] = 
{
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
}

new const g_szTag[ ] = "[SHOP]";
new g_szMenuName[ ] = "\rSHOP \w- \rDEATHMATCH";

enum _:iCvars
{
	ENABLE,
	
	NADES_PRICE,
	NADES_TO,
	
	HP_PRICE,
	HP_AMOUNT,
	HP_TO,
	
	AP_PRICE,
	AP_AMOUNT,
	AP_TO,
	
	DEAGLE_PRICE,
	DEAGLE_BACKPACK_AMMO,
	DEAGLE_TO,
	
	SPEED_PRICE,
	SPEED_AMOUNT,
	SPEED_DURATION,
	SPEED_TO,
	
	GRAVITY_PRICE,
	GRAVITY_AMOUNT,
	GRAVITY_DURATION,
	GRAVITY_TO
	
	
}

enum _:WhatUserHas
{
	SPEED,
	GRAVITY,
}

new g_iCvar[ iCvars ];
new bool:g_bUserHas[ 33 ][ WhatUserHas ];

// Do not modify this.
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;

public plugin_init( )
{
	register_plugin( PLUGIN, VERSION, "Askhanar" );
	register_cvar( "fcs_shop_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY ); 
	
	g_iCvar[ ENABLE ] = register_cvar( "fcsshop_enable", "1" );
	
	g_iCvar[ NADES_PRICE ] = register_cvar( "fcsshop_nades_price", "25" );
	g_iCvar[ NADES_TO ] = register_cvar( "fcsshop_nades_team", "3" );
	
	g_iCvar[ HP_PRICE ] = register_cvar( "fcsshop_hp_price", "50" );
	g_iCvar[ HP_AMOUNT ] = register_cvar( "fcsshop_hp_amount", "200" );
	g_iCvar[ HP_TO ] = register_cvar( "fcsshop_hp_team", "3" );
	
	g_iCvar[ AP_PRICE ] = register_cvar( "fcsshop_ap_price", "55" );
	g_iCvar[ AP_AMOUNT ] = register_cvar( "fcsshop_ap_amount", "200" );
	g_iCvar[ AP_TO ] = register_cvar( "fcsshop_ap_team", "3" );
	
	g_iCvar[ DEAGLE_PRICE ] = register_cvar( "fcsshop_deagle_price", "40" );
	g_iCvar[ DEAGLE_BACKPACK_AMMO ] = register_cvar( "fcsshop_deagle_ammo", "30" );
	g_iCvar[ DEAGLE_TO ] = register_cvar( "fcsshop_deagle_team", "3" );
	
	g_iCvar[ SPEED_PRICE ] = register_cvar( "fcsshop_speed_price", "80" );
	g_iCvar[ SPEED_AMOUNT ] = register_cvar( "fcsshop_speed_amount", "700" );
	g_iCvar[ SPEED_DURATION ] = register_cvar( "fcsshop_speed_duration", "1" );
	g_iCvar[ SPEED_TO ] = register_cvar( "fcsshop_speed_team", "3" );
	
	g_iCvar[ GRAVITY_PRICE ] = register_cvar( "fcsshop_gravity_price", "80" );
	g_iCvar[ GRAVITY_AMOUNT ] = register_cvar( "fcsshop_gravity_amount", "370" );
	g_iCvar[ GRAVITY_DURATION ] = register_cvar( "fcsshop_gravity_duration", "1" );
	g_iCvar[ GRAVITY_TO ] = register_cvar( "fcsshop_gravity_team", "3" );
	
	register_clcmd( "say sop", "ClCmdSayShop" );
	register_clcmd( "say_team sop", "ClCmdSayShop" );
	register_clcmd( "say /sop", "ClCmdSayShop" );
	register_clcmd( "say_team /sop", "ClCmdSayShop" );
	
	RegisterHam( Ham_Spawn, "player", "ham_PlayerSpawnPre", true );
	RegisterHam( Ham_Killed, "player", "ham_PlayerKilledPre",true );
	RegisterHam( Ham_Player_ResetMaxSpeed, "player", "ham_PlayerResetMaxSpeedPre", true );

	// Add your code here...
}

public client_putinserver( id )
{
	if( is_user_bot( id ) || is_user_hltv( id ) )
		return;
		
	g_bUserHas[ id ][ SPEED ] = false;
	g_bUserHas[ id ][ GRAVITY ] = false;
	
}

public client_disconnect( id )
{
	if( is_user_bot( id ) || is_user_hltv( id ) )
		return;
		
	g_bUserHas[ id ][ SPEED ] = false;
	g_bUserHas[ id ][ GRAVITY ] = false;
	
}

public ClCmdSayShop( id )
{
	
	
	if( get_pcvar_num( g_iCvar[ ENABLE ] ) == 0 )
	{
		ColorChat( id, RED, "^x04%s^x03 Comanda dezactivata de catre server!", g_szTag );
		return PLUGIN_HANDLED;
	}
	
	if( !is_user_alive( id ) )
	{
		ColorChat( id, RED, "^x04%s^x03 Trebuie sa fii in viata!", g_szTag );
		return PLUGIN_HANDLED;
	}
	
	
	ShopMenu( id );
	return PLUGIN_HANDLED;
	
}

public ShopMenu( id )
{
	new szMenuName[ 64 ];
	formatex( szMenuName, sizeof ( szMenuName ) -1, "%s^n\yCredite: \r%i", g_szMenuName, fcs_get_user_credits( id ) );
	new iMenu = menu_create( szMenuName, "ShopMenuHandler" );	
	new iCallBack  =  menu_makecallback( "CallBackShop" );
	
	new szBuffer[ 6 ][ 64 ], szBufferKey[ 5 ], iBufferKey = 1;
	formatex( szBuffer[ 0 ], sizeof ( szBuffer[ ] ) -1, "\r[ \yFULL\r ] \wGrenades\y       [\r %iC\y ]", get_pcvar_num( g_iCvar[ NADES_PRICE ] ) );
	formatex( szBuffer[ 1 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y%i\r ] \wHP\y                [\r %iC\y ]", get_pcvar_num( g_iCvar[ HP_AMOUNT ] ), get_pcvar_num( g_iCvar[ HP_PRICE ] ) )
	formatex( szBuffer[ 2 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y%i\r ] \wAP\y                  [\r %iC\y ]", get_pcvar_num( g_iCvar[ AP_AMOUNT ] ), get_pcvar_num( g_iCvar[ AP_PRICE ] ) )
	formatex( szBuffer[ 3 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y%i AMMO\r ] \wDeagle\y    [\r %iC\y ]", get_pcvar_num( g_iCvar[ DEAGLE_BACKPACK_AMMO ] ), get_pcvar_num( g_iCvar[ DEAGLE_PRICE ] ) );
	formatex( szBuffer[ 4 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y%.1f\r ] \wSpeed\y          [\r %iC\y ]", float( get_pcvar_num( g_iCvar[ SPEED_AMOUNT ] ) ), get_pcvar_num( g_iCvar[ SPEED_PRICE ] ) );
	formatex( szBuffer[ 5 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y%i\r ] \wGravity\y            [\r %iC\y ]", get_pcvar_num( g_iCvar[ GRAVITY_AMOUNT ] ), get_pcvar_num( g_iCvar[ GRAVITY_PRICE ] ) );
	
	for( new i = 0; i < 6; i++ )
	{
		formatex( szBufferKey, sizeof ( szBufferKey ) -1, "%i", iBufferKey );
		menu_additem( iMenu, szBuffer[ i ], szBufferKey, _, iCallBack );
		
		iBufferKey++;
	}
	
	menu_setprop( iMenu, MPROP_EXITNAME, "\wIesire" );
	
	menu_display( id, iMenu, 0 );

}

/*=======================================================================================s=P=u=f=?*/

public ShopMenuHandler( id, iMenu, iItem )
{
	if( iItem == MENU_EXIT )
	{
		menu_destroy( iMenu );
		return 1PLUGIN_HANDLED;
	}
	
	new data[ 6 ], iName[ 64 ];
	new iaccess, callback;
	
	menu_item_getinfo( iMenu, iItem, iaccess, data, 5, iName, 63, callback );
	
	new key = str_to_num( data );
	//new page = floatround( str_to_float( data ) / 7.0001, floatround_floor );
	
	menu_destroy( iMenu );
	switch( key )
	{
		case 1:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ NADES_PRICE ] );
			
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, RED, "^x04%s^x03 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			if( bUserHasAnyNade( id ) )
			{
				ColorChat( id, RED, "^x04%s^x03 Ai cel putin o grenada in mana, nu poti cumpara altele!", g_szTag );
				return PLUGIN_HANDLED;
			}
			
			fcs_sub_user_credits( id, iNeededCredits );
			ColorChat( id, RED, "^x04%s^x01 Ai cumparat^x03 FULL Grenades^x01 pentru^x03 %i credite^x01 !", g_szTag, iNeededCredits );
			
			give_item( id, "weapon_hegrenade" );
			give_item( id, "weapon_flashbang" );
			give_item( id, "weapon_flashbang" );
			give_item( id, "weapon_smokegrenade" );
			
		}
		
		case 2:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ HP_PRICE ] );
			
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, RED, "^x04%s^x03 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			fcs_sub_user_credits( id, iNeededCredits );
			
			new iHP = get_pcvar_num( g_iCvar[ HP_AMOUNT ] );
			ColorChat( id, RED, "^x04%s^x01 Ai cumparat^x03 %i HP^x01 pentru^x03 %i credite^x01 !", g_szTag, iHP, iNeededCredits );
			
			set_user_health( id, get_user_health( id ) + iHP );
			
		}
		
		case 3:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ AP_PRICE ] );
			
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, RED, "^x04%s^x03 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			fcs_sub_user_credits( id, iNeededCredits );
			
			new iAP = get_pcvar_num( g_iCvar[ AP_AMOUNT ] );
			ColorChat( id, RED, "^x04%s^x01 Ai cumparat^x03 %i AP^x01 pentru^x03 %i credite^x01 !", g_szTag, iAP, iNeededCredits );
			
			set_user_armor( id, get_user_armor( id ) + iAP );
			
		}
		
		case 4:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ DEAGLE_PRICE ] );
			
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, RED, "^x04%s^x03 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			fcs_sub_user_credits( id, iNeededCredits );
			
			new iAMMO = get_pcvar_num( g_iCvar[ DEAGLE_BACKPACK_AMMO ] );
			ColorChat( id, RED, "^x04%s^x01 Ai cumparat^x03 %i AMMO Deagle^x01 pentru^x03 %i credite^x01 !", g_szTag, iAMMO, iNeededCredits );
			
			give_item( id, "weapon_deagle" );
			cs_set_user_bpammo( id, CSW_DEAGLE, iAMMO );
			
		}
		
		case 5:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ SPEED_PRICE ] );
			
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, RED, "^x04%s^x03 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			fcs_sub_user_credits( id, iNeededCredits );
			
			new iSpeed = get_pcvar_num( g_iCvar[ SPEED_AMOUNT ] );
			ColorChat( id, RED, "^x04%s^x01 Ai cumparat^x03 %.1f Speed^x01 pentru^x03 %i credite^x01 !", g_szTag, float( iSpeed ), iNeededCredits );
			
			g_bUserHas[ id ][ SPEED ] = true;
			engfunc( EngFunc_SetClientMaxspeed, id, float( iSpeed )  );
			set_pev( id,  pev_maxspeed, float( iSpeed ) );
			
			/*	SlowHack o_O
			client_cmd( id, "cl_forwardspeed %0.1f;cl_sidespeed %0.1f;cl_backspeed %0.1f", float( iSpeed ), float( iSpeed ), float( iSpeed ) );
			*/
		}
		
		case 6:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ GRAVITY_PRICE ] );
			
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, RED, "^x04%s^x03 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			fcs_sub_user_credits( id, iNeededCredits );
			
			new iGravity = get_pcvar_num( g_iCvar[ GRAVITY_AMOUNT ] );
			ColorChat( id, RED, "^x04%s^x01 Ai cumparat^x03 %i Gravity^x01 pentru^x03 %i credite^x01 !", g_szTag, iGravity, iNeededCredits );
			
			set_user_gravity( id, float( iGravity ) * 0.00125 );
			g_bUserHas[ id ][ GRAVITY ] = true;
		}
		
	}
	
	return PLUGIN_CONTINUE;
	
}

public CallBackShop( id, iMenu, iItem  )
{
	static _access, szInfo[ 4 ],  callback;
	menu_item_getinfo( iMenu, iItem, _access, szInfo, sizeof ( szInfo ) -1, _, _, callback );
	
	//if( szInfo[ 0 ] == '0' )	return ITEM_ENABLED;
	
 	if( szInfo[ 0 ] == '1' )
	{
		if( get_pcvar_num( g_iCvar[ NADES_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ NADES_TO ] ) )
			return ITEM_ENABLED;
	}
	else if( szInfo[ 0 ] == '2' )
	{
		if( get_pcvar_num( g_iCvar[ HP_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ HP_TO ] ) )
			return ITEM_ENABLED;
	}
	else if( szInfo[ 0 ] == '3' )
	{
		if( get_pcvar_num( g_iCvar[ AP_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ AP_TO ] ) )
			return ITEM_ENABLED;
	}
	else if( szInfo[ 0 ] == '4' )
	{
		if( get_pcvar_num( g_iCvar[ DEAGLE_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ DEAGLE_TO] ) )
			return ITEM_ENABLED;
	}
	else if( szInfo[ 0 ] == '5' )
	{
		if( get_pcvar_num( g_iCvar[ SPEED_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ SPEED_TO ] ) )
			return ITEM_ENABLED;
	}
	
	else if( szInfo[ 0 ] == '6' )
	{
		if( get_pcvar_num( g_iCvar[ GRAVITY_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ GRAVITY_TO ] ) )
			return ITEM_ENABLED;
	}
	
	return ITEM_DISABLED;
}

public ham_PlayerSpawnPre(  id  )
{
	
	if( is_user_alive( id ) )
	{
		
		if( get_pcvar_num( g_iCvar[ SPEED_DURATION ] ) == 1 )
		{
			if( g_bUserHas[ id ][ SPEED ] )
			{
				new iSpeed = get_pcvar_num( g_iCvar[ SPEED_AMOUNT ] );
				engfunc( EngFunc_SetClientMaxspeed, id, float( iSpeed )  );
				set_pev( id,  pev_maxspeed, float( iSpeed ) );
				
				/*	SlowHack o_O
				client_cmd( id, "cl_forwardspeed %0.1f;cl_sidespeed %0.1f;cl_backspeed %0.1f", float( iSpeed ), float( iSpeed ), float( iSpeed ) );
				*/
			}
		}
		else
			g_bUserHas[ id ][ SPEED ] = false;
			
		if( get_pcvar_num( g_iCvar[ GRAVITY_DURATION ] ) == 1 )
		{
			if( g_bUserHas[ id ][ GRAVITY ] )
				set_user_gravity( id, float( get_pcvar_num( g_iCvar[ GRAVITY_AMOUNT ] ) ) * 0.00125 );
		}
		else
			g_bUserHas[ id ][ GRAVITY ] = false;
		
		
	}
}


/*======================================= - ¦ Askhanar ¦ - =======================================*/

public ham_PlayerKilledPre(  id  )
{
	g_bUserHas[ id ][ SPEED ] = false;
	g_bUserHas[ id ][ GRAVITY ] = false;
}

public ham_PlayerResetMaxSpeedPre( id )
{

	if( is_user_alive( id )  /*&&  get_user_maxspeed(  id  )  !=  1.0*/  )
	{
		
		if( g_bUserHas[ id ][ SPEED ] )
		{
	
			static Float:flMaxSpeed;
			flMaxSpeed = float( get_pcvar_num( g_iCvar[ SPEED_AMOUNT ] ) );
			
			engfunc( EngFunc_SetClientMaxspeed, id, flMaxSpeed  );
			set_pev( id, pev_maxspeed, flMaxSpeed  );
			
		}
		
		
		/*	SlowHack o_O
			client_cmd(  id,  "cl_forwardspeed %0.1f;cl_sidespeed %0.1f;cl_backspeed %0.1f", flMaxSpeed, flMaxSpeed, flMaxSpeed );
		*/
	}
}

stock bool:bUserHasAnyNade( id )
{
	
	if( user_has_weapon( id, CSW_HEGRENADE ) || user_has_weapon( id, CSW_FLASHBANG )
		|| user_has_weapon( id, CSW_SMOKEGRENADE ) )
		return true;
		
	return false;
	
}

stock fcs_get_user_team( id )
{
	new iTeam = -1;
	if( cs_get_user_team( id ) == CS_TEAM_T )	iTeam = 1;
	else if( cs_get_user_team( id ) == CS_TEAM_CT )	iTeam = 2;
	
	return iTeam;
}

ColorChat(  id, Color:iType, const msg[  ], { Float, Sql, Result, _}:...  )
{
	
	// Daca nu se afla nici un jucator pe server oprim TOT. Altfel dam de erori..
	if( !get_playersnum( ) ) return;
	
	new szMessage[ 256 ];

	switch( iType )
	{
		 // Culoarea care o are jucatorul setata in cvar-ul scr_concolor.
		case NORMAL:	szMessage[ 0 ] = 0x01;
		
		// Culoare Verde.
		case GREEN:	szMessage[ 0 ] = 0x04;
		
		// Alb, Rosu, Albastru.
		default: 	szMessage[ 0 ] = 0x03;
	}

	vformat(  szMessage[ 1 ], 251, msg, 4  );

	// Ne asiguram ca mesajul nu este mai lung de 192 de caractere.Altfel pica server-ul.
	szMessage[ 192 ] = '^0';
	

	new iTeam, iColorChange, iPlayerIndex, MSG_Type;
	
	if( id )
	{
		MSG_Type  =  MSG_ONE_UNRELIABLE;
		iPlayerIndex  =  id;
	}
	else
	{
		iPlayerIndex  =  CC_FindPlayer(  );
		MSG_Type = MSG_ALL;
	}
	
	iTeam  =  get_user_team( iPlayerIndex );
	iColorChange  =  CC_ColorSelection(  iPlayerIndex,  MSG_Type, iType);

	CC_ShowColorMessage(  iPlayerIndex, MSG_Type, szMessage  );
		
	if(  iColorChange  )	CC_Team_Info(  iPlayerIndex, MSG_Type,  TeamName[ iTeam ]  );

}

CC_ShowColorMessage(  id, const iType, const szMessage[  ]  )
{
	
	static bool:bSayTextUsed;
	static iMsgSayText;
	
	if(  !bSayTextUsed  )
	{
		iMsgSayText  =  get_user_msgid( "SayText" );
		bSayTextUsed  =  true;
	}
	
	message_begin( iType, iMsgSayText, _, id  );
	write_byte(  id  )		
	write_string(  szMessage  );
	message_end(  );
}

CC_Team_Info( id, const iType, const szTeam[  ] )
{
	static bool:bTeamInfoUsed;
	static iMsgTeamInfo;
	if(  !bTeamInfoUsed  )
	{
		iMsgTeamInfo  =  get_user_msgid( "TeamInfo" );
		bTeamInfoUsed  =  true;
	}
	
	message_begin( iType, iMsgTeamInfo, _, id  );
	write_byte(  id  );
	write_string(  szTeam  );
	message_end(  );

	return 1;
}

CC_ColorSelection(  id, const iType, Color:iColorType)
{
	switch(  iColorType  )
	{
		
		case RED:	return CC_Team_Info(  id, iType, TeamName[ 1 ]  );
		case BLUE:	return CC_Team_Info(  id, iType, TeamName[ 2 ]  );
		case GREY:	return CC_Team_Info(  id, iType, TeamName[ 0 ]  );

	}

	return 0;
}

CC_FindPlayer(  )
{
	new iMaxPlayers  =  get_maxplayers(  );
	
	for( new i = 1; i <= iMaxPlayers; i++ )
		if(  is_user_connected( i )  )
			return i;
	
	return -1;
}
ZOMBIE CROWN ROMANIA.
The NeW Wolrd Zombie
view server | Afiseaza codul
[ Mod:[/size] Image] [Statistici:[/size] Image ][IP:[/size] Image ]
User avatar
Ulquiorra
Fost moderator
Fost moderator
Posts: 2053
Joined: 25 Jul 2010, 17:29
Detinator Steam: Da
CS Status: A mai trecut o zi asteptand una mai buna
Detinator server CS: Retras.
SteamID: STEAM_0:1:318247XX
Reputatie: Fost Scripter eXtreamCS
Fost Moderator ajutator
Nick anterior: Askhanar
Location: Braila, Romania.
Has thanked: 215 times
Been thanked: 1132 times

09 Jun 2017, 21:24

ALEXVL wrote:la shopul normal simplu puteti repara cu viteza , cand cumperi viteza merge dardaca schimbi arma in mana de pe una pe alta nu mai ai viteza
shop | Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include < amxmodx >
#include < cstrike >
#include < fakemeta >
#include < hamsandwich >
#include < fun >
//#include < fcs >
//#include < CC_ColorChat >

#define PLUGIN "FCS Credits Shop"
#define VERSION "1.0.2"

/*
 * Returns a players credits
 * 
 * @param		client - The player index to get points of
 * 
 * @return		The credits client
 * 
 */

native fcs_get_user_credits(client);

/*
 * Sets <credits> to client
 * 
 * @param		client - The player index to set points to
 * @param		credits - The amount of credits to set to client
 * 
 * @return		The credits of client
 * 
 */

native fcs_set_user_credits(client, credits);

/*
 * Adds <credits> points to client
 * 
 * @param		client - The player index to add points to
 * @param		credits - The amount of credits to set to client
 * 
 * @return		The credits of client
 * 
 */

stock fcs_add_user_credits(client, credits)
{
	return fcs_set_user_credits(client, fcs_get_user_credits(client) + credits);
}

/*
 * Subtracts <credits>  from client
 * 
 * @param		client - The player index to subtract points from
 * @param		credits - The amount of credits to set to client
 * 
 * @return		The credits of client
 * 
 */

stock fcs_sub_user_credits(client, credits)
{
	return fcs_set_user_credits(client, fcs_get_user_credits(client) - credits);
}

enum Color
{
	NORMAL = 1, 		// Culoarea care o are jucatorul setata in cvar-ul scr_concolor.
	GREEN, 			// Culoare Verde.
	TEAM_COLOR, 		// Culoare Rosu, Albastru, Gri.
	GREY, 			// Culoarea Gri.
	RED, 			// Culoarea Rosu.
	BLUE, 			// Culoarea Albastru.
}

new TeamName[  ][  ] = 
{
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
}

new const g_szTag[ ] = "[SHOP]";
new g_szMenuName[ ] = "\rSHOP \w- \rDEATHMATCH";

enum _:iCvars
{
	ENABLE,
	
	NADES_PRICE,
	NADES_TO,
	
	HP_PRICE,
	HP_AMOUNT,
	HP_TO,
	
	AP_PRICE,
	AP_AMOUNT,
	AP_TO,
	
	DEAGLE_PRICE,
	DEAGLE_BACKPACK_AMMO,
	DEAGLE_TO,
	
	SPEED_PRICE,
	SPEED_AMOUNT,
	SPEED_DURATION,
	SPEED_TO,
	
	GRAVITY_PRICE,
	GRAVITY_AMOUNT,
	GRAVITY_DURATION,
	GRAVITY_TO
	
	
}

enum _:WhatUserHas
{
	SPEED,
	GRAVITY,
}

new g_iCvar[ iCvars ];
new bool:g_bUserHas[ 33 ][ WhatUserHas ];

// Do not modify this.
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;

public plugin_init( )
{
	register_plugin( PLUGIN, VERSION, "Askhanar" );
	register_cvar( "fcs_shop_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY ); 
	
	g_iCvar[ ENABLE ] = register_cvar( "fcsshop_enable", "1" );
	
	g_iCvar[ NADES_PRICE ] = register_cvar( "fcsshop_nades_price", "25" );
	g_iCvar[ NADES_TO ] = register_cvar( "fcsshop_nades_team", "3" );
	
	g_iCvar[ HP_PRICE ] = register_cvar( "fcsshop_hp_price", "50" );
	g_iCvar[ HP_AMOUNT ] = register_cvar( "fcsshop_hp_amount", "200" );
	g_iCvar[ HP_TO ] = register_cvar( "fcsshop_hp_team", "3" );
	
	g_iCvar[ AP_PRICE ] = register_cvar( "fcsshop_ap_price", "55" );
	g_iCvar[ AP_AMOUNT ] = register_cvar( "fcsshop_ap_amount", "200" );
	g_iCvar[ AP_TO ] = register_cvar( "fcsshop_ap_team", "3" );
	
	g_iCvar[ DEAGLE_PRICE ] = register_cvar( "fcsshop_deagle_price", "40" );
	g_iCvar[ DEAGLE_BACKPACK_AMMO ] = register_cvar( "fcsshop_deagle_ammo", "30" );
	g_iCvar[ DEAGLE_TO ] = register_cvar( "fcsshop_deagle_team", "3" );
	
	g_iCvar[ SPEED_PRICE ] = register_cvar( "fcsshop_speed_price", "80" );
	g_iCvar[ SPEED_AMOUNT ] = register_cvar( "fcsshop_speed_amount", "700" );
	g_iCvar[ SPEED_DURATION ] = register_cvar( "fcsshop_speed_duration", "1" );
	g_iCvar[ SPEED_TO ] = register_cvar( "fcsshop_speed_team", "3" );
	
	g_iCvar[ GRAVITY_PRICE ] = register_cvar( "fcsshop_gravity_price", "80" );
	g_iCvar[ GRAVITY_AMOUNT ] = register_cvar( "fcsshop_gravity_amount", "370" );
	g_iCvar[ GRAVITY_DURATION ] = register_cvar( "fcsshop_gravity_duration", "1" );
	g_iCvar[ GRAVITY_TO ] = register_cvar( "fcsshop_gravity_team", "3" );
	
	register_clcmd( "say sop", "ClCmdSayShop" );
	register_clcmd( "say_team sop", "ClCmdSayShop" );
	register_clcmd( "say /sop", "ClCmdSayShop" );
	register_clcmd( "say_team /sop", "ClCmdSayShop" );
	
	RegisterHam( Ham_Spawn, "player", "ham_PlayerSpawnPre", true );
	RegisterHam( Ham_Killed, "player", "ham_PlayerKilledPre",true );
	RegisterHam( Ham_Player_ResetMaxSpeed, "player", "ham_PlayerResetMaxSpeedPre", true );

	// Add your code here...
}

public client_putinserver( id )
{
	if( is_user_bot( id ) || is_user_hltv( id ) )
		return;
		
	g_bUserHas[ id ][ SPEED ] = false;
	g_bUserHas[ id ][ GRAVITY ] = false;
	
}

public client_disconnect( id )
{
	if( is_user_bot( id ) || is_user_hltv( id ) )
		return;
		
	g_bUserHas[ id ][ SPEED ] = false;
	g_bUserHas[ id ][ GRAVITY ] = false;
	
}

public ClCmdSayShop( id )
{
	
	
	if( get_pcvar_num( g_iCvar[ ENABLE ] ) == 0 )
	{
		ColorChat( id, RED, "^x04%s^x03 Comanda dezactivata de catre server!", g_szTag );
		return PLUGIN_HANDLED;
	}
	
	if( !is_user_alive( id ) )
	{
		ColorChat( id, RED, "^x04%s^x03 Trebuie sa fii in viata!", g_szTag );
		return PLUGIN_HANDLED;
	}
	
	
	ShopMenu( id );
	return PLUGIN_HANDLED;
	
}

public ShopMenu( id )
{
	new szMenuName[ 64 ];
	formatex( szMenuName, sizeof ( szMenuName ) -1, "%s^n\yCredite: \r%i", g_szMenuName, fcs_get_user_credits( id ) );
	new iMenu = menu_create( szMenuName, "ShopMenuHandler" );	
	new iCallBack  =  menu_makecallback( "CallBackShop" );
	
	new szBuffer[ 6 ][ 64 ], szBufferKey[ 5 ], iBufferKey = 1;
	formatex( szBuffer[ 0 ], sizeof ( szBuffer[ ] ) -1, "\r[ \yFULL\r ] \wGrenades\y       [\r %iC\y ]", get_pcvar_num( g_iCvar[ NADES_PRICE ] ) );
	formatex( szBuffer[ 1 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y%i\r ] \wHP\y                [\r %iC\y ]", get_pcvar_num( g_iCvar[ HP_AMOUNT ] ), get_pcvar_num( g_iCvar[ HP_PRICE ] ) )
	formatex( szBuffer[ 2 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y%i\r ] \wAP\y                  [\r %iC\y ]", get_pcvar_num( g_iCvar[ AP_AMOUNT ] ), get_pcvar_num( g_iCvar[ AP_PRICE ] ) )
	formatex( szBuffer[ 3 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y%i AMMO\r ] \wDeagle\y    [\r %iC\y ]", get_pcvar_num( g_iCvar[ DEAGLE_BACKPACK_AMMO ] ), get_pcvar_num( g_iCvar[ DEAGLE_PRICE ] ) );
	formatex( szBuffer[ 4 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y%.1f\r ] \wSpeed\y          [\r %iC\y ]", float( get_pcvar_num( g_iCvar[ SPEED_AMOUNT ] ) ), get_pcvar_num( g_iCvar[ SPEED_PRICE ] ) );
	formatex( szBuffer[ 5 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y%i\r ] \wGravity\y            [\r %iC\y ]", get_pcvar_num( g_iCvar[ GRAVITY_AMOUNT ] ), get_pcvar_num( g_iCvar[ GRAVITY_PRICE ] ) );
	
	for( new i = 0; i < 6; i++ )
	{
		formatex( szBufferKey, sizeof ( szBufferKey ) -1, "%i", iBufferKey );
		menu_additem( iMenu, szBuffer[ i ], szBufferKey, _, iCallBack );
		
		iBufferKey++;
	}
	
	menu_setprop( iMenu, MPROP_EXITNAME, "\wIesire" );
	
	menu_display( id, iMenu, 0 );

}

/*=======================================================================================s=P=u=f=?*/

public ShopMenuHandler( id, iMenu, iItem )
{
	if( iItem == MENU_EXIT )
	{
		menu_destroy( iMenu );
		return 1PLUGIN_HANDLED;
	}
	
	new data[ 6 ], iName[ 64 ];
	new iaccess, callback;
	
	menu_item_getinfo( iMenu, iItem, iaccess, data, 5, iName, 63, callback );
	
	new key = str_to_num( data );
	//new page = floatround( str_to_float( data ) / 7.0001, floatround_floor );
	
	menu_destroy( iMenu );
	switch( key )
	{
		case 1:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ NADES_PRICE ] );
			
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, RED, "^x04%s^x03 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			if( bUserHasAnyNade( id ) )
			{
				ColorChat( id, RED, "^x04%s^x03 Ai cel putin o grenada in mana, nu poti cumpara altele!", g_szTag );
				return PLUGIN_HANDLED;
			}
			
			fcs_sub_user_credits( id, iNeededCredits );
			ColorChat( id, RED, "^x04%s^x01 Ai cumparat^x03 FULL Grenades^x01 pentru^x03 %i credite^x01 !", g_szTag, iNeededCredits );
			
			give_item( id, "weapon_hegrenade" );
			give_item( id, "weapon_flashbang" );
			give_item( id, "weapon_flashbang" );
			give_item( id, "weapon_smokegrenade" );
			
		}
		
		case 2:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ HP_PRICE ] );
			
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, RED, "^x04%s^x03 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			fcs_sub_user_credits( id, iNeededCredits );
			
			new iHP = get_pcvar_num( g_iCvar[ HP_AMOUNT ] );
			ColorChat( id, RED, "^x04%s^x01 Ai cumparat^x03 %i HP^x01 pentru^x03 %i credite^x01 !", g_szTag, iHP, iNeededCredits );
			
			set_user_health( id, get_user_health( id ) + iHP );
			
		}
		
		case 3:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ AP_PRICE ] );
			
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, RED, "^x04%s^x03 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			fcs_sub_user_credits( id, iNeededCredits );
			
			new iAP = get_pcvar_num( g_iCvar[ AP_AMOUNT ] );
			ColorChat( id, RED, "^x04%s^x01 Ai cumparat^x03 %i AP^x01 pentru^x03 %i credite^x01 !", g_szTag, iAP, iNeededCredits );
			
			set_user_armor( id, get_user_armor( id ) + iAP );
			
		}
		
		case 4:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ DEAGLE_PRICE ] );
			
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, RED, "^x04%s^x03 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			fcs_sub_user_credits( id, iNeededCredits );
			
			new iAMMO = get_pcvar_num( g_iCvar[ DEAGLE_BACKPACK_AMMO ] );
			ColorChat( id, RED, "^x04%s^x01 Ai cumparat^x03 %i AMMO Deagle^x01 pentru^x03 %i credite^x01 !", g_szTag, iAMMO, iNeededCredits );
			
			give_item( id, "weapon_deagle" );
			cs_set_user_bpammo( id, CSW_DEAGLE, iAMMO );
			
		}
		
		case 5:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ SPEED_PRICE ] );
			
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, RED, "^x04%s^x03 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			fcs_sub_user_credits( id, iNeededCredits );
			
			new iSpeed = get_pcvar_num( g_iCvar[ SPEED_AMOUNT ] );
			ColorChat( id, RED, "^x04%s^x01 Ai cumparat^x03 %.1f Speed^x01 pentru^x03 %i credite^x01 !", g_szTag, float( iSpeed ), iNeededCredits );
			
			g_bUserHas[ id ][ SPEED ] = true;
			engfunc( EngFunc_SetClientMaxspeed, id, float( iSpeed )  );
			set_pev( id,  pev_maxspeed, float( iSpeed ) );
			
			/*	SlowHack o_O
			client_cmd( id, "cl_forwardspeed %0.1f;cl_sidespeed %0.1f;cl_backspeed %0.1f", float( iSpeed ), float( iSpeed ), float( iSpeed ) );
			*/
		}
		
		case 6:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ GRAVITY_PRICE ] );
			
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, RED, "^x04%s^x03 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			fcs_sub_user_credits( id, iNeededCredits );
			
			new iGravity = get_pcvar_num( g_iCvar[ GRAVITY_AMOUNT ] );
			ColorChat( id, RED, "^x04%s^x01 Ai cumparat^x03 %i Gravity^x01 pentru^x03 %i credite^x01 !", g_szTag, iGravity, iNeededCredits );
			
			set_user_gravity( id, float( iGravity ) * 0.00125 );
			g_bUserHas[ id ][ GRAVITY ] = true;
		}
		
	}
	
	return PLUGIN_CONTINUE;
	
}

public CallBackShop( id, iMenu, iItem  )
{
	static _access, szInfo[ 4 ],  callback;
	menu_item_getinfo( iMenu, iItem, _access, szInfo, sizeof ( szInfo ) -1, _, _, callback );
	
	//if( szInfo[ 0 ] == '0' )	return ITEM_ENABLED;
	
 	if( szInfo[ 0 ] == '1' )
	{
		if( get_pcvar_num( g_iCvar[ NADES_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ NADES_TO ] ) )
			return ITEM_ENABLED;
	}
	else if( szInfo[ 0 ] == '2' )
	{
		if( get_pcvar_num( g_iCvar[ HP_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ HP_TO ] ) )
			return ITEM_ENABLED;
	}
	else if( szInfo[ 0 ] == '3' )
	{
		if( get_pcvar_num( g_iCvar[ AP_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ AP_TO ] ) )
			return ITEM_ENABLED;
	}
	else if( szInfo[ 0 ] == '4' )
	{
		if( get_pcvar_num( g_iCvar[ DEAGLE_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ DEAGLE_TO] ) )
			return ITEM_ENABLED;
	}
	else if( szInfo[ 0 ] == '5' )
	{
		if( get_pcvar_num( g_iCvar[ SPEED_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ SPEED_TO ] ) )
			return ITEM_ENABLED;
	}
	
	else if( szInfo[ 0 ] == '6' )
	{
		if( get_pcvar_num( g_iCvar[ GRAVITY_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ GRAVITY_TO ] ) )
			return ITEM_ENABLED;
	}
	
	return ITEM_DISABLED;
}

public ham_PlayerSpawnPre(  id  )
{
	
	if( is_user_alive( id ) )
	{
		
		if( get_pcvar_num( g_iCvar[ SPEED_DURATION ] ) == 1 )
		{
			if( g_bUserHas[ id ][ SPEED ] )
			{
				new iSpeed = get_pcvar_num( g_iCvar[ SPEED_AMOUNT ] );
				engfunc( EngFunc_SetClientMaxspeed, id, float( iSpeed )  );
				set_pev( id,  pev_maxspeed, float( iSpeed ) );
				
				/*	SlowHack o_O
				client_cmd( id, "cl_forwardspeed %0.1f;cl_sidespeed %0.1f;cl_backspeed %0.1f", float( iSpeed ), float( iSpeed ), float( iSpeed ) );
				*/
			}
		}
		else
			g_bUserHas[ id ][ SPEED ] = false;
			
		if( get_pcvar_num( g_iCvar[ GRAVITY_DURATION ] ) == 1 )
		{
			if( g_bUserHas[ id ][ GRAVITY ] )
				set_user_gravity( id, float( get_pcvar_num( g_iCvar[ GRAVITY_AMOUNT ] ) ) * 0.00125 );
		}
		else
			g_bUserHas[ id ][ GRAVITY ] = false;
		
		
	}
}


/*======================================= - ¦ Askhanar ¦ - =======================================*/

public ham_PlayerKilledPre(  id  )
{
	g_bUserHas[ id ][ SPEED ] = false;
	g_bUserHas[ id ][ GRAVITY ] = false;
}

public ham_PlayerResetMaxSpeedPre( id )
{

	if( is_user_alive( id )  /*&&  get_user_maxspeed(  id  )  !=  1.0*/  )
	{
		
		if( g_bUserHas[ id ][ SPEED ] )
		{
	
			static Float:flMaxSpeed;
			flMaxSpeed = float( get_pcvar_num( g_iCvar[ SPEED_AMOUNT ] ) );
			
			engfunc( EngFunc_SetClientMaxspeed, id, flMaxSpeed  );
			set_pev( id, pev_maxspeed, flMaxSpeed  );
			
		}
		
		
		/*	SlowHack o_O
			client_cmd(  id,  "cl_forwardspeed %0.1f;cl_sidespeed %0.1f;cl_backspeed %0.1f", flMaxSpeed, flMaxSpeed, flMaxSpeed );
		*/
	}
}

stock bool:bUserHasAnyNade( id )
{
	
	if( user_has_weapon( id, CSW_HEGRENADE ) || user_has_weapon( id, CSW_FLASHBANG )
		|| user_has_weapon( id, CSW_SMOKEGRENADE ) )
		return true;
		
	return false;
	
}

stock fcs_get_user_team( id )
{
	new iTeam = -1;
	if( cs_get_user_team( id ) == CS_TEAM_T )	iTeam = 1;
	else if( cs_get_user_team( id ) == CS_TEAM_CT )	iTeam = 2;
	
	return iTeam;
}

ColorChat(  id, Color:iType, const msg[  ], { Float, Sql, Result, _}:...  )
{
	
	// Daca nu se afla nici un jucator pe server oprim TOT. Altfel dam de erori..
	if( !get_playersnum( ) ) return;
	
	new szMessage[ 256 ];

	switch( iType )
	{
		 // Culoarea care o are jucatorul setata in cvar-ul scr_concolor.
		case NORMAL:	szMessage[ 0 ] = 0x01;
		
		// Culoare Verde.
		case GREEN:	szMessage[ 0 ] = 0x04;
		
		// Alb, Rosu, Albastru.
		default: 	szMessage[ 0 ] = 0x03;
	}

	vformat(  szMessage[ 1 ], 251, msg, 4  );

	// Ne asiguram ca mesajul nu este mai lung de 192 de caractere.Altfel pica server-ul.
	szMessage[ 192 ] = '^0';
	

	new iTeam, iColorChange, iPlayerIndex, MSG_Type;
	
	if( id )
	{
		MSG_Type  =  MSG_ONE_UNRELIABLE;
		iPlayerIndex  =  id;
	}
	else
	{
		iPlayerIndex  =  CC_FindPlayer(  );
		MSG_Type = MSG_ALL;
	}
	
	iTeam  =  get_user_team( iPlayerIndex );
	iColorChange  =  CC_ColorSelection(  iPlayerIndex,  MSG_Type, iType);

	CC_ShowColorMessage(  iPlayerIndex, MSG_Type, szMessage  );
		
	if(  iColorChange  )	CC_Team_Info(  iPlayerIndex, MSG_Type,  TeamName[ iTeam ]  );

}

CC_ShowColorMessage(  id, const iType, const szMessage[  ]  )
{
	
	static bool:bSayTextUsed;
	static iMsgSayText;
	
	if(  !bSayTextUsed  )
	{
		iMsgSayText  =  get_user_msgid( "SayText" );
		bSayTextUsed  =  true;
	}
	
	message_begin( iType, iMsgSayText, _, id  );
	write_byte(  id  )		
	write_string(  szMessage  );
	message_end(  );
}

CC_Team_Info( id, const iType, const szTeam[  ] )
{
	static bool:bTeamInfoUsed;
	static iMsgTeamInfo;
	if(  !bTeamInfoUsed  )
	{
		iMsgTeamInfo  =  get_user_msgid( "TeamInfo" );
		bTeamInfoUsed  =  true;
	}
	
	message_begin( iType, iMsgTeamInfo, _, id  );
	write_byte(  id  );
	write_string(  szTeam  );
	message_end(  );

	return 1;
}

CC_ColorSelection(  id, const iType, Color:iColorType)
{
	switch(  iColorType  )
	{
		
		case RED:	return CC_Team_Info(  id, iType, TeamName[ 1 ]  );
		case BLUE:	return CC_Team_Info(  id, iType, TeamName[ 2 ]  );
		case GREY:	return CC_Team_Info(  id, iType, TeamName[ 0 ]  );

	}

	return 0;
}

CC_FindPlayer(  )
{
	new iMaxPlayers  =  get_maxplayers(  );
	
	for( new i = 1; i <= iMaxPlayers; i++ )
		if(  is_user_connected( i )  )
			return i;
	
	return -1;
}

e imposibil ceea ce zici tu..nu pun viteza in eventul CurWeapon..

Code: Select all

// Do not modify this.
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;
Daca chiar patesti asa.. e de la un alt plugin de il ai instalat.
Caut o persoana dedicata care se pricepe si stie ce face.
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.

O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
k3nNz0r^
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 90
Joined: 30 Nov 2016, 20:47
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: nu
Reputatie: Utilizator neserios (tepar)
Fond eXtream: 0
Contact:

15 Jan 2018, 22:13

Salut.
Cum pot sterge si eu creditele de pe tot sv ? , adica creditele de la toti playerii de pe server ?
Tranzactii efectuate cu succes .

anunturi/cumpar-cont-t346333.html
User avatar
Ulquiorra
Fost moderator
Fost moderator
Posts: 2053
Joined: 25 Jul 2010, 17:29
Detinator Steam: Da
CS Status: A mai trecut o zi asteptand una mai buna
Detinator server CS: Retras.
SteamID: STEAM_0:1:318247XX
Reputatie: Fost Scripter eXtreamCS
Fost Moderator ajutator
Nick anterior: Askhanar
Location: Braila, Romania.
Has thanked: 215 times
Been thanked: 1132 times

15 Jan 2018, 22:50

Opresti serverul 2 minute. Intrii in ftp in folderul data/vault si stergi FurienCreditsSystem.dat . Pornesti si voila.
Caut o persoana dedicata care se pricepe si stie ce face.
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.

O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
Post Reply

Return to “AmxModX”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 8 guests