Nu te inregistra daca esti idiot sau agramat!


AlphaCS.RO[ORIGINAL GAMING]


Thanks Thanks:  0
Likes Likes:  0
Results 1 to 2 of 2

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #2

    User Info Menu

    Nume Plugin: Surf XP
    Descriere:

    Instalare:

    Descarcare: CLICK
    Cvaruri: x_kill, x_hs
    Comenzi administrative: /buyup , /shop , /menu , /knife, /vips
    Imagini/Video:

    Autor : KrAzZzY

    Code:
    #include < amxmodx >
    #include < amxmisc>
    #include < nvault >
    #include < cstrike >
    #include < hamsandwich >
    #include < fakemeta >
    #include < fun >
    #include < colorchat >
    #include < engine >
    
    #define PLUGIN "Upgrade Surf"
    #define VERSION "1.0.5"
    #define AUTHOR "KrAzZzY"
    
    new const g_szInfoKey[ ] = "_pw";
    new const g_szNoneWord[ ] = "None";
    
    new g_szRegisterFile[ 64 ];
    
    enum _:eRegisterInfos
    {
    	Nick[ 32 ],
    	Password[ 15 ],
    }
    
    new g_max_players;
    
    new Array:g_aData;
    
    new g_szLoginInfo[ 33 ][ eRegisterInfos ];
    new g_iRegistrations = 0;
    new vip[33];
    
    
    new const TITLU[] = " \y VIP's \y[\w Online \y]";
    new const IESIRE[] = "\yIesire, Apasa \r0 sau \r5^n";
    new const NOADMINS[] = "\y Nu sunt vip's online.";
    
    
    const PEV_SPEC_TARGET = pev_iuser2;
    
    new gVault;
    new vKey[64];
    new vData[64];
    
    new DMGLV[33]; // dmg
    new ARMORLV[33]; // ARMOR
    new SPEEDLV[33]; // viteza
    new GRAVITY[33]; // gravity
    new HPLV[33]; // hp
    
    new bool:HasSpeed[33];
    new bool:HasNoClip[33];
    new bool:HasDMG[33];
    new bool:HasDMGBuy[33];
    new bool:HasSpeedBuy[33];
    
    new gName[32];
    
    new const szPrefix [ ] = "[..::^1Surf^4::..] ";
    
    // ================ Credits ===============
    new eXP [ 33 ];
    new KillXp, HsXp;
    //======nvault==========
    
    new knife[33]=0;
    
    new w_knife[33]=0;
    
    new v_knife1[66] = "models/surfxp/k1.mdl";
    new v_knife2[66] = "models/surfxp/k2.mdl";
    new v_knife3[66] = "models/surfxp/k3.mdl";
    new v_knife4[66] = "models/surfxp/k4.mdl";
    new v_knife5[66] = "models/surfxp/k5.mdl";
    
    const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
    
    public plugin_init()
    {
    	register_plugin(PLUGIN, VERSION, AUTHOR)
    	register_clcmd ( "say /menu", "Menu_P", 1  );
    	register_clcmd ( "say /shop", "Menu", 1  );
    	register_clcmd ( "say /buyup", "MenuUP", 1 );
    	register_clcmd ( "say /knife", "MenuKnife", 1 );
    	
    	register_clcmd("say /vips", "cmdWho");
    	register_clcmd("say_team /vips", "cmdWho");
    	
    	g_aData = ArrayCreate( eRegisterInfos );
    	g_max_players = get_maxplayers();
    	RegisterHam ( Ham_Spawn, "player", "Go", 1 );
    	RegisterHam(Ham_TakeDamage, "player", "ham_PlayerTakeDamage")
    	
    	register_clcmd ( "say /xp", "cmdShowXp", -1 );
    	
    	KillXp = register_cvar ( "x_kill", "10" );
    	HsXp = register_cvar ( "x_hs", "15" ); 
    	
    	register_event ( "DeathMsg", "eDeath", "a" );
    	register_event ( "CurWeapon", "event_cur_weapon", "be", "1=1");
    	register_event ( "Damage", "SetRegeneration", "be", "2>0")
    	
    	register_concmd ( "amx_give_xp", "cmdGiveXp", ADMIN_RCON, "<target / all> <amount>" );
    	
    	register_menu("Menu UP", KEYSMENU, "Menu_UP")
    }
    
    public SetRegeneration(id)
    {
    	if ( w_knife[id] == 3 )
    	{
    		if ( get_user_health(id) < 200 )
    		{
    			set_task(5.0, "Regenerate", id, _, _, "b")
    		}
    	}
    	if ( w_knife[id] == 2 )
    	{
    		if ( get_user_armor(id) < 200 )
    		{
    			set_task(5.0, "RegenerateAP", id, _, _, "b")
    		}
    	}
    	if ( w_knife[id] == 5 )
    	{
    		if ( get_user_armor(id) < 200 )
    		{
    			set_task(5.0, "RegenerateAP", id, _, _, "b")
    		}
    		if ( get_user_health(id) < 200 )
    		{
    			set_task(5.0, "Regenerate", id, _, _, "b")
    		}
    	}
    }
    
    public Regenerate(id)
    {
    	new regen_health = get_user_health(id)
    	new max_health = 200 - regen_health
    	
    	if ( max_health <= 25 )
    	{
    		set_user_health(id, 200 )
    		set_task ( 1.0, "__ShowUserDetails__",id,_,_,"b" );
    		
    		return PLUGIN_CONTINUE
    	}
    	set_user_health(id, get_user_health(id) + 25 )
    	
    	return PLUGIN_CONTINUE
    }
    
    public RegenerateAP(id)
    {
    	if( is_user_alive( id ) || cs_get_user_team( id ) != CS_TEAM_SPECTATOR ) return 1;
    	new regen_armor = get_user_armor(id)
    	new max_armor = 200 - regen_armor
    	
    	if ( max_armor <= 25 )
    	{
    		set_user_armor(id, 200 )
    		set_task ( 1.0, "__ShowUserDetails__",id,_,_,"b" );
    		
    		return PLUGIN_CONTINUE
    	}
    	set_user_armor(id, get_user_armor(id) + 25 )
    	
    	return PLUGIN_CONTINUE
    }
    
    public Go(id)
    {
    	if( is_user_alive( id ) ) 
    	{
    		set_task ( 1.0, "__ShowUserDetails__",id,_,_,"b" );
    		
    		set_user_health(id, 100);
    		set_user_armor(id,0);
    		set_user_health(id, get_user_health(id)+HPLV[id]*10);
    		set_user_armor(id, get_user_armor(id)+ARMORLV[id]*15);
    		set_user_gravity(id, 1.0 - GRAVITY[id]*0.02);
    		HasSpeed[id]=true;
    		HasDMG[id]=true;
    		HasDMGBuy[id]=false;
    		HasSpeedBuy[id]=false;
    		SetRegeneration(id);
    	}
    }
    
    public __ShowUserDetails__ (id) 
    {
    	if ( is_user_alive(id) )
    	{
    		set_hudmessage(120, 160, 30, -1.0, 0.72, 2, 2.0, 4.0, 0.1, 0.2)
    		show_hudmessage ( id, "[Health:%d] [Armor:%d] [XP:%d]^n[ DMG Lv:%d | AP Lv:%d | HP Lv:%d | Gravity Lv:%d | Speed Lv:%d ]",get_user_health ( id ), get_user_armor ( id ) , eXP[id], DMGLV[id], ARMORLV[id], HPLV[id], GRAVITY[id], SPEEDLV[id] )
    	}
    	else
    	{
    		new idSpec;
    		idSpec = pev( id, PEV_SPEC_TARGET );
    		set_hudmessage(120, 160, 30, -1.0, 0.72, 2, 6.0, 12.0, 0.1, 0.2)
    		show_hudmessage ( id, "[Health:%d] [Armor:%d] [XP:%d]^n[ DMG Lv:%d | AP Lv:%d | HP Lv:%d | Gravity Lv:%d | Speed Lv:%d ]",get_user_health ( idSpec ), get_user_armor ( idSpec ) , eXP[idSpec], DMGLV[idSpec], ARMORLV[idSpec], HPLV[idSpec], GRAVITY[idSpec], SPEEDLV[idSpec] )
    	}
    }
    
    public cmdShowXp ( id ) {
    	
    	ColorChat ( id, GREEN, "%s^3 In acest moment detii ^4%d^3 XP", szPrefix, eXP [ id ]);
    	
    }
    
    public plugin_precache()
    {
    	precache_model ( v_knife1 );
    	precache_model ( v_knife2 );
    	precache_model ( v_knife3 );
    	precache_model ( v_knife4 );
    	precache_model ( v_knife5 );
    }
    public Menu_P ( id ) {
    	
    	new menu = menu_create ( "Shop", "P_Menu" );
    	menu_additem ( menu, "\y[\r+\y]\w Knife", "1", 0 );
    	menu_additem ( menu, "\y[\r+\y]\w Upgrade", "2", 0 );
    	menu_additem ( menu, "\y[\r+\y]\w Shop", "3", 0 );
    	
    	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
    	menu_display ( id, menu, 0 );
    	
    	return 1;
    }
    
    public P_Menu ( id, menu, item ) {
    	
    	if( item == MENU_EXIT )
    	{
    		return 1;
    	}
    	
    	new data [ 6 ], szName [ 64 ];
    	new access, callback;
    	menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
    	new key = str_to_num ( data );
    	
    	switch ( key ){
    		case 1:
    		{
    			MenuKnife ( id );
    		}
    		case 2:
    		{
    			MenuUP ( id );
    		}
    		case 3:
    		{
    			Menu ( id );
    		}
    	}
    	
    	menu_destroy ( menu );
    	return 1;
    }
    
    
    
    
    public MenuKnife ( id ) {
    	
    	new menu = menu_create ( "Shop", "Give_Knife" );
    	menu_additem ( menu, "\yStalker Knife \w[ \rNormal Knife \w]", "1", 0 );
    	if ( knife[id] < 1 )
    	{
    		menu_additem ( menu, "\y[\rX\y] Ignes Knife \w[ \rRegeneration AP \w]", "2", 0 );
    	}
    	else
    	{
    		menu_additem ( menu, "\yIgnes Knife \w[ \rRegeneration AP \w]", "2", 0 );
    	}
    	if ( knife[id] < 2 )
    	{
    		menu_additem ( menu, "\y[\rX\y] Gold Knife \w[ \rRegeneration HP \w]", "3", 0 );
    	}
    	else
    	{
    		menu_additem ( menu, "\yGold Knife \w[ \rRegeneration HP \w]", "3", 0 );
    	}
    	if ( knife[id] < 3 )
    	{
    		menu_additem ( menu, "\y[\rX\y] Hunter Knife \w[ \rDouble DMG \w]", "4", 0 );
    	}
    	else
    	{
    		menu_additem ( menu, "\yHunter Knife \w[ \rDouble DMG \w]", "4", 0 );
    	}
    	if ( vip[id] )
    	{
    		menu_additem ( menu, "\yVIP Knife \w[ \rAll Powers \w]", "5", 0 );
    	}
    	else
    	{
    		menu_additem ( menu, "\y[\rX\y] VIP Knife \w[ \rAll Powers \w]", "6", 0 );
    	}
    	
    	
    	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
    	menu_display ( id, menu, 0 );
    	
    	return 1;
    }
    
    public Give_Knife ( id, menu, item ) {
    	
    	if( item == MENU_EXIT )
    	{
    		return 1;
    	}
    	
    	new data [ 6 ], szName [ 64 ];
    	new access, callback;
    	menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
    	new key = str_to_num ( data );
    	
    	switch ( key ){
    		case 1:
    		{
    			w_knife[id]=1;
    		}
    		case 2:
    		{
    			if ( get_user_flags(id) & ADMIN_RCON )
    			{
    				w_knife[id] = 2;
    			}
    			else if ( knife[id] < 1 )
    			{
    				g_knife2 ( id )
    			}
    			else
    			{
    				w_knife[id] = 2;
    				SetRegeneration(id);
    			}
    		}
    		case 3:
    		{
    			if ( get_user_flags(id) & ADMIN_RCON )
    			{
    				w_knife[id] = 3;
    			}
    			else if ( knife[id] < 1 )
    			{
    				ColorChat ( id, GREEN, "%s Knife-urile trebuie deblocate pe rand.^3", szPrefix );
    			}
    			else if ( knife[id] < 2 )
    			{
    				g_knife2 ( id )
    			}
    			else
    			{
    				w_knife[id] = 3;
    				SetRegeneration(id);
    			}
    		}
    		case 4:
    		{
    			if ( get_user_flags(id) & ADMIN_RCON )
    			{
    				w_knife[id] = 4;
    			}
    			else if ( knife[id] < 2 )
    			{
    				ColorChat ( id, GREEN, "%s Knife-urile trebuie deblocate pe rand.^3", szPrefix );
    			}
    			else if ( knife[id] < 3 )
    			{
    				g_knife2 ( id )
    			}
    			else
    			{
    				w_knife[id] = 4;
    			}
    		}
    		case 5:
    		{
    			w_knife[id] = 5;
    			SetRegeneration(id);
    		}
    		case 6:
    		{
    			ColorChat ( id, GREEN, "%s Acest^4 Knife^3 este doar pentru^4 VIP^3.", szPrefix );
    		}
    	}
    	
    	menu_destroy ( menu );
    	return 1;
    }
    
    
    public g_knife2 ( id ) {
    	
    	new menu = menu_create ( "Doresti sa deblochezi knife-ul cu 10.000 XP ?", "knife22" )
    	menu_additem ( menu, "\yDa", "1" )
    	menu_additem ( menu, "\yNu", "2" )
    	
    	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL )
    	menu_display ( id, menu )
    	
    	return 1;
    }
    
    public knife22 ( id, menu, item ) {
    	
    	if( item == MENU_EXIT )
    	{
    		return 1;
    	}
    	
    	new data [ 6 ], szName [ 64 ];
    	new access, callback;
    	menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
    	new key = str_to_num ( data );
    	
    	switch ( key )
    		{
    			case 1:
    			{
    				if ( eXP[id] < 10000 )
    				{
    					ColorChat ( id, GREEN, "%s XP insuficient.^3", szPrefix );
    					return 1;
    				}
    				eXP[id] = eXP[id] - 10000;
    				knife[id]++
    			} 
    			case 2:
    			{
    				return 1;
    			}
    		}
    	
    	menu_destroy ( menu );
    	return 1;
    }
    
    public MenuUP ( id )
    {
    	static menu[512], len;
    	len = 0;
    	len += formatex(menu[len], charsmax(menu) - len, "\yMenu Inventory Glock^n^n");
    	if( DMGLV [id] == 20 )
    	{	
    		len += formatex(menu[len], charsmax(menu) - len, "\d1.\wLv DMG \y[\r Maxim \y]^n" );
    	}
    	else 
    	{	
    		len += formatex(menu[len], charsmax(menu) - len, "\d1.\wLv DMG \y[\r Price Upgrade: %d \y]^n", DMGLV[id]*50 );
    	}
    	
    	if( ARMORLV [id] == 20 )
    	{	
    		len += formatex(menu[len], charsmax(menu) - len, "\d2.\wLv Armura \y[\r Maxim \y]^n" );
    	}
    	else 
    	{	
    		len += formatex(menu[len], charsmax(menu) - len, "\d2.\wLv Armura \y[\r Price Upgrade: %d \y]^n", ARMORLV[id]*50 );
    	}
    	
    	if( GRAVITY [id] == 20 )
    	{	
    		len += formatex(menu[len], charsmax(menu) - len, "\d3.\wLv Gravity \y[\r Maxim \y]^n" );
    	}
    	else 
    	{	
    		len += formatex(menu[len], charsmax(menu) - len, "\d3.\wLv Gravity \y[\r Price Upgrade: %d \y]^n", GRAVITY[id]*50 );
    	}
    	
    	if( HPLV [id] == 20 )
    	{	
    		len += formatex(menu[len], charsmax(menu) - len, "\d4.\wLv HP \y[\r Maxim \y]^n" );
    	}
    	else 
    	{	
    		len += formatex(menu[len], charsmax(menu) - len, "\d4.\wLv HP \y[\r Price Upgrade: %d \y]^n", HPLV[id]*50 );
    	}
    	
    	if( SPEEDLV [id] == 20 )
    	{	
    		len += formatex(menu[len], charsmax(menu) - len, "\d5.\wLv Speed \y[\r Maxim \y]^n" );
    	}
    	else 
    	{	
    		len += formatex(menu[len], charsmax(menu) - len, "\d5.\wLv Speed \y[\r Price Upgrade: %d \y]^n", SPEEDLV[id]*50 );
    	}
    	
    	len += formatex(menu[len], charsmax(menu) - len, "^n^n\d0.\r Exit", id);
    	
    	show_menu(id, KEYSMENU, menu, -1, "Menu UP");
    }
    
    public Menu_UP(id, key)
    {
    	switch (key)
    	{
    		case 0:
    		{
    			if( DMGLV[id] == 20 )
    			{
    				ColorChat(id, RED, "^x04 [..::Surf::..]^x01 Ai atins deja levelul maxim pentru acest item .");
    				return 1;
    			}
    			else
    			{
    				new credits = eXP[id];
    				if( credits < DMGLV[id]*50)
    				{
    					ColorChat ( id, GREEN, " %s^3 Nu ai destul XP", szPrefix );
    					return 1;
    				}
    				eXP[id] = credits - DMGLV[id]*50
    				DMGLV[id]++;
    				save_user_levels(id);
    				ColorChat(id, RED, "^x04 [..::Surf::..]^x01 Ai crescut levelul dmg-ului .");
    				save_user_levels(id);
    				return 1;
    			}
    		}
    		case 1:
    		{
    			if( ARMORLV[id] == 20 )
    			{
    				ColorChat(id, RED, "^x04 [..::Surf::..]^x01 Ai atins deja levelul maxim pentru acest item .");
    				return 1;
    			}
    			else
    			{
    				new credits = eXP[id];
    				if( credits < ARMORLV[id]*50)
    				{
    					ColorChat ( id, GREEN, " %s^3 Nu ai destul XP", szPrefix );
    					return 1;
    				}
    				eXP[id] = credits - ARMORLV[id]*50
    				ARMORLV[id]++;
    				save_user_levels(id);
    				ColorChat(id, RED, "^x04 [..::Surf::..]^x01 Ai crescut levelul armurii .");
    				save_user_levels(id);
    				return 1;
    			}
    		}
    		case 2:
    		{
    			if( GRAVITY[id] == 20 )
    			{
    				ColorChat(id, RED, "^x04 [..::Surf::..]^x01 Ai atins deja levelul maxim pentru acest item .");
    				return 1;
    			}
    			else
    			{
    				new credits = eXP[id];
    				if( credits < GRAVITY[id]*50)
    				{
    					ColorChat ( id, GREEN, " %s^3 Nu ai destul XP", szPrefix );
    					return 1;
    				}
    				eXP[id] = credits - GRAVITY[id]*50
    				GRAVITY[id]++;
    				save_user_levels(id);
    				ColorChat(id, RED, "^x04 [..::Surf::..]^x01 Ai crescut levelul gravitatiei .");
    				save_user_levels(id);
    				return 1;
    			}
    		}
    		case 3:
    		{
    			if( HPLV[id] == 20 )
    			{
    				ColorChat(id, RED, "^x04 [..::Surf::..]^x01 Ai atins deja levelul maxim pentru acest item .");
    				return 1;
    			}
    			else
    			{
    				new credits = eXP[id];
    				if( credits < HPLV[id]*50)
    				{
    					ColorChat ( id, GREEN, " %s^3 Nu ai destul XP", szPrefix );
    					return 1;
    				}
    				eXP[id] = credits - HPLV[id]*50
    				HPLV[id]++;
    				ColorChat(id, RED, "^x04 [..::Surf::..]^x01 Ai crescut levelul hp-ului .");
    				save_user_levels(id);
    				return 1;
    			}
    		}
    		case 4:
    		{
    			if( SPEEDLV[id] == 20 )
    			{
    				ColorChat(id, RED, "^x04 [..::Surf::..]^x01 Ai atins deja levelul maxim pentru acest item .");
    				return 1;
    			}
    			else
    			{
    				new credits = eXP[id];
    				if( credits < SPEEDLV[id]*50)
    				{
    					ColorChat ( id, GREEN, " %s^3 Nu ai destul XP", szPrefix );
    					return 1;
    				}
    				eXP[id] = credits - SPEEDLV[id]*50
    				SPEEDLV[id]++;
    				ColorChat(id, RED, "^x04 [..::Surf::..]^x01 Ai crescut levelul vitezei .");
    				save_user_levels(id);
    				return 1;
    			}
    		}
    		case 5:
    		{
    			return 1;
    		}
    	}
    	
    	return PLUGIN_HANDLED;
    }
    
    
    public client_connect(id)
    {
    	load_user_levels(id);
    }
    
    public client_disconnect(id)
    {
    	save_user_levels(id);
    }
    
    stock save_user_levels(id)
    {
    	gVault = nvault_open("SavedUpgrades");
    	
    	if(gVault == INVALID_HANDLE)
    		set_fail_state("[Upgrades] nVault Open Error => Invalid Handle");
    	
    	get_user_name(id, gName, 31);
    	formatex(vKey, charsmax(vKey), "%s", gName);
    	formatex(vData, charsmax(vData), "%d#%d#%d#%d#%d#%d#%d#%d#", eXP[id], DMGLV[id], ARMORLV[id], GRAVITY[id], HPLV[id], SPEEDLV[id], knife[id], w_knife[id]);
    	nvault_set(gVault, vKey, vData);
    	
    	nvault_close(gVault);
    }
    
    stock load_user_levels(id)
    {
    	gVault = nvault_open("SavedUpgrades");
    	
    	if(gVault == INVALID_HANDLE)
    		set_fail_state("[Upgrades] nVault ERROR => Invalid Handle .");
    	
    	get_user_name(id, gName, 31);
    	formatex(vKey, charsmax(vData), "%s", gName);
    	formatex(vData, charsmax(vData), "%d#%d#%d#%d#%d#%d#%d#%d#", eXP[id], DMGLV[id], ARMORLV[id], GRAVITY[id], HPLV[id], SPEEDLV[id], knife[id], w_knife[id]);
    	nvault_get(gVault, vKey, vData, charsmax(vData));
    	
    	replace_all(vData, charsmax(vData), "#", " ");
    	
    	new cexp[32], weaplevel[32], armorlevel[32], necklevel[32], HPlevel[32], SPEEDlevel[32], cknife[32], cw_knife[32];
    	
    	parse(vData, cexp, 31, weaplevel, 31, armorlevel, 31, necklevel, 31, HPlevel, 31, SPEEDlevel, 31, cknife, 31, cw_knife, 31);
    	
    	eXP[id] = str_to_num(cexp);
    	DMGLV[id] = str_to_num(weaplevel);
    	ARMORLV[id] = str_to_num(armorlevel);
    	GRAVITY[id] = str_to_num(necklevel)
    	HPLV[id] = str_to_num(HPlevel)
    	SPEEDLV[id] = str_to_num(SPEEDlevel)
    	knife[id] = str_to_num(cknife)
    	w_knife[id] = str_to_num(cw_knife)
    	
    	nvault_close(gVault);
    }
    
    public cmdGiveXp( id )
    {
    	
    	if( !( get_user_flags( id ) & ADMIN_CFG ) )
    	{
    		client_cmd( id, "echo NU ai acces la aceasta comanda!" );
    		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, "" ) )
    	{
    		client_cmd( id, "echo amx_give_credits < nume/ @ALL/ @T/ @CT > < xp >" );
    		return PLUGIN_HANDLED;
    	}
    	
    	new iPlayers[ 32 ];
    	new iPlayersNum;
    	
    	new iCredits = str_to_num( szSecondArg );
    	if( iCredits <= 0 )
    	{
    		client_cmd( id, "echo Valoare xp-ului trebuie sa fie mai mare decat 0!" );
    		return PLUGIN_HANDLED;
    	}
    	
    	if( szFirstArg[ 0 ] == '@' )
    	{
    		
    		switch ( szFirstArg[ 1 ] )
    		{
    			case 'A':
    			{
    				if( equal( szFirstArg, "@ALL" ) )
    				{
    					
    					get_players( iPlayers, iPlayersNum, "ch" );
    					for( new i = 0; i < iPlayersNum ; i++ )
    						eXP[ iPlayers[ i ] ] += iCredits;
    						
    					new szName[ 32 ];
    					get_user_name( id, szName, sizeof ( szName ) -1 );
    					ColorChat( 0, RED, "^x04^%s^x01 Adminul^x03 %s^x01 le-a dat^x03 %i^x01 XP tuturor jucatorilor!", szPrefix, szName, iCredits );
    					return PLUGIN_HANDLED;
    				}
    			}
    			
    			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 PLUGIN_HANDLED;
    					}
    					for( new i = 0; i < iPlayersNum ; i++ )
    						eXP[ iPlayers[ i ] ] += iCredits;
    						
    					new szName[ 32 ];
    					get_user_name( id, szName, sizeof ( szName ) -1 );
    					ColorChat( 0, RED, "^x04^%s^x01 Adminul^x03 %s^x01 le-a dat^x03 %i^x01 XP jucatorilor de la^x03 TERO^x01!", szPrefix, szName, iCredits );
    					return PLUGIN_HANDLED;
    				}
    			}
    			
    			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 PLUGIN_HANDLED;
    					}
    					for( new i = 0; i < iPlayersNum ; i++ )
    						eXP[ iPlayers[ i ] ] += iCredits;
    						
    					new szName[ 32 ];
    					get_user_name( id, szName, sizeof ( szName ) -1 );
    					ColorChat( 0, RED, "^x04^%s^x01 Adminul^x03 %s^x01 le-a dat^x03 %i^x01 XP jucatorilor de la^x03 CT^x01!", szPrefix, szName, iCredits );
    					return PLUGIN_HANDLED;
    				}
    			}
    		}
    	}
    		
    	new iPlayer = cmd_target( id, szFirstArg, 8 );
    	if( !iPlayer )
    	{
    		client_cmd( id, "echo Jucatorul %s nu a fost gasit!", szFirstArg );
    		return PLUGIN_HANDLED;
    	}
    	
    	eXP[ iPlayer ] += iCredits;
    	
    	new szName[ 32 ];
    	get_user_name( id, szName, sizeof ( szName ) -1 );
    	
    	ColorChat( iPlayer, RED, "^x04%s^x01 Adminul^x03 %s^x01 ti-a dat^x03 %i^x01 XP.", szPrefix, szName, iCredits );
    	
    	return PLUGIN_HANDLED;
    	
    	
    }
    
    public eDeath ( ) 
    {
    	
    	new iKiller = read_data ( 1 );
    	new iVictim = read_data ( 2 );
    	new Headshot = read_data ( 3 );
    	
    	new weapon [ 32 ];
    	read_data ( 4, weapon, sizeof ( weapon ) -1 );
    
    	if( 1 <= iKiller <= g_max_players )
    	{
    		if ( iKiller == iVictim )
    		{
    			ColorChat ( iKiller, GREEN, "%s Te-ai^4 sinucis^3", szPrefix );
    			return 1;
    		}
    		if ( Headshot )
    		{
    			eXP [ iKiller ] = eXP [ iKiller ] + get_pcvar_num ( HsXp ) + get_pcvar_num ( KillXp );
    			ColorChat ( iKiller, GREEN, "%s Ai primit^4 %i^3 XP^4 [ HeadShot ]^3", szPrefix, get_pcvar_num ( HsXp ) + get_pcvar_num ( KillXp ) );
    		}
    		
    		else if ( Headshot && vip[iKiller] )
    		{
    			eXP [ iKiller ] = eXP [ iKiller ] + get_pcvar_num ( HsXp ) + get_pcvar_num ( KillXp ) + 5;
    			ColorChat ( iKiller, GREEN, "%s Ai primit^4 %i^3 XP^4 [ HeadShot ]^3", szPrefix, get_pcvar_num ( HsXp ) + get_pcvar_num ( KillXp ) + 5 );
    		}
    		
    		else if ( Headshot && get_user_weapon ( iKiller ) == CSW_KNIFE && vip[iKiller] )
    		{
    			eXP [ iKiller ] = eXP [ iKiller ] + get_pcvar_num ( HsXp ) + get_pcvar_num ( KillXp ) + 15;
    			ColorChat ( iKiller, GREEN, "%s Ai primit^4 %i^3 XP^4 [ Knife HeadShot ]^3", szPrefix, get_pcvar_num ( HsXp ) + get_pcvar_num ( KillXp ) + 15);
    			
    		}
    		
    		else if ( Headshot && get_user_weapon ( iKiller ) == CSW_KNIFE )
    		{
    			eXP [ iKiller ] = eXP [ iKiller ] + get_pcvar_num ( HsXp ) + get_pcvar_num ( KillXp ) + 10;
    			ColorChat ( iKiller, GREEN, "%s Ai primit^4 %i^3 XP^4 [ Knife HeadShot ]^3", szPrefix, get_pcvar_num ( HsXp ) + get_pcvar_num ( KillXp ) + 10 );
    			
    		}
    		else if ( get_user_weapon ( iKiller ) == CSW_KNIFE && vip[iKiller] )
    		{
    			eXP [ iKiller ] = eXP [ iKiller ] + get_pcvar_num ( KillXp ) + 10;
    			ColorChat ( iKiller, GREEN, "%s Ai primit^4 %i^3 XP^4 [ Knife ]^3", szPrefix, get_pcvar_num ( KillXp ) + 10 );
    			
    		}
    		else if ( get_user_weapon ( iKiller ) == CSW_KNIFE )
    		{
    			eXP [ iKiller ] = eXP [ iKiller ] + get_pcvar_num ( KillXp ) + 5;
    			ColorChat ( iKiller, GREEN, "%s Ai primit^4 %i^3 XP^4 [ Knife ]^3", szPrefix, get_pcvar_num ( KillXp ) + 5 );
    			
    		}
    		else
    		{
    			eXP [ iKiller ] = eXP [ iKiller ] + get_pcvar_num ( KillXp );
    			ColorChat ( iKiller, GREEN, "%s Ai primit^4 %i^3 XP^4 [ Kill ]^3", szPrefix, get_pcvar_num ( KillXp ) );	
    		}
    		
    		if ( !is_user_alive ( iVictim ) && get_user_team ( iVictim ) == 1 ) {
    			new gMsgScreenFade = get_user_msgid ( "ScreenFade" );
    			message_begin ( MSG_ONE_UNRELIABLE , gMsgScreenFade , {0,0,0} , iVictim );
    			write_short ( (6<<10) ); // duration
    			write_short ( (5<<10) ); // hold time
    			write_short ( (1<<12) ); // fade type
    			write_byte ( 255 );
    			write_byte ( 0 );
    			write_byte ( 0 );
    			write_byte ( 170 );
    			message_end ( );
    		}
    		
    		else if ( !is_user_alive ( iVictim ) && get_user_team ( iVictim ) == 2 ) {
    			new gMsgScreenFade = get_user_msgid ( "ScreenFade" );
    			message_begin ( MSG_ONE_UNRELIABLE , gMsgScreenFade , {0,0,0} , iVictim );
    			write_short ( (6<<10) ); // duration
    			write_short ( (5<<10) ); // hold time
    			write_short ( (1<<12) ); // fade type
    			write_byte ( 0 );
    			write_byte ( 0 );
    			write_byte ( 255 );
    			write_byte ( 170 );
    			message_end ( );
    		}
    		
    		return 1;
    	}
    	return 1;
    }
    public event_cur_weapon(id) 
    {
    	if ( get_user_weapon(id) == CSW_KNIFE )
    	{
    		if ( w_knife[id] == 1 )
    		{
    			set_pev (id, pev_viewmodel2, v_knife1 );
    		}
    		else if ( w_knife[id] == 2)
    		{
    			set_pev (id, pev_viewmodel2, v_knife2 );
    		}
    		else if ( w_knife[id] == 3)
    		{
    			set_pev (id, pev_viewmodel2, v_knife3 );
    		}
    		else if ( w_knife[id] == 4)
    		{
    			set_pev (id, pev_viewmodel2, v_knife4 );
    		}
    		else if ( w_knife[id] == 5 )
    		{
    			set_pev (id, pev_viewmodel2, v_knife5 );
    		}
    		else 
    		{
    			set_pev (id, pev_viewmodel2, v_knife1 );
    		}
    	}
    	if(HasSpeed[id]) 
    	{
    		set_user_maxspeed(id, get_user_maxspeed(id) + SPEEDLV[id]*7 );
    	}
    	if(HasSpeedBuy[id]) 
    	{
    		set_user_maxspeed(id, get_user_maxspeed(id) + 300 );
    	}
    }
    
    public Menu ( id ) {
    	
    	new menu = menu_create ( "Shop", "Give_Items" );
    	menu_additem ( menu, "\y100 HP \w- \r50 \wXP", "1", 0 );
    	menu_additem ( menu, "\y100 AP \w- \r25 \wXP", "2", 0 );
    	menu_additem ( menu, "\ySpeed \w- \r100 \wXP", "3", 0 );
    	menu_additem ( menu, "\yGravity \w- \r100 \wXP", "4", 0 );
    	menu_additem ( menu, "\yInvizibilitate \w- \r150 \wXP", "5", 0 );
    	menu_additem ( menu, "\yCameleon \w- \r150 \wXP", "6", 0 );
    	menu_additem ( menu, "\y2xDMG \w- \r200 \wXP", "7", 0 );
    	
    	
    	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
    	menu_display ( id, menu, 0 );
    	
    	return 1;
    }
    
    public Give_Items ( id, menu, item ) {
    	
    	if( item == MENU_EXIT )
    	{
    		return 1;
    	}
    	
    	new data [ 6 ], szName [ 64 ];
    	new access, callback;
    	menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
    	new key = str_to_num ( data );
    	
    	switch ( key ){
    		case 1:
    		{
    			new bani = eXP[id];
    			if(bani < 50 )
    			{
    				ColorChat ( id, GREEN, " %s^3 Nu ai destul XP", szPrefix );
    				return 1;
    			}
    			if( get_user_health(id) >= 400 )
    			{
    				ColorChat ( id, GREEN, " %s^3 Ai atins limita de HP", szPrefix );
    				return 1;
    			}
    			ColorChat ( id, GREEN, " %s^3 Ai cumparat^4 100 HP.", szPrefix );
    			if( get_user_health(id) <= 300 )
    			{
    				set_user_health ( id, get_user_health ( id ) + 100 );
    			}
    			else
    			{
    				set_user_health ( id, 400 );
    			}
    			eXP[id] = bani - 50
    			return 1;
    		}
    		case 2:
    		{
    			new bani = eXP[id];
    			if(bani < 25)
    			{
    				ColorChat ( id, GREEN, " %s^3 Nu ai destul XP", szPrefix );
    				return 1;
    			}
    			ColorChat ( id, GREEN, " %s^3 Ai cumparat^4 100 AP.", szPrefix );
    			set_user_armor ( id, get_user_armor ( id ) + 100 );
    			eXP[id] = bani - 25
    			return 1;
    		}
    		case 3:
    		{
    			new bani = eXP[id];
    			if(bani < 100)
    			{
    				ColorChat ( id, GREEN, " %s^3 Nu ai destul XP", szPrefix );
    				return 1;
    			}
    			ColorChat ( id, GREEN, " %s^3 Ai cumparat^4 Speed.", szPrefix );
    			HasSpeedBuy[id]=true;
    			HasSpeed[id]=false;
    			eXP[id] = bani - 100
    			return 1;
    		}
    		case 4:
    		{
    			new bani = eXP[id];
    			if(bani < 100)
    			{
    				ColorChat ( id, GREEN, " %s^3 Nu ai destul XP", szPrefix );
    				return 1;
    			}
    			ColorChat ( id, GREEN, " %s^3 Ai cumparat^4 Gravity.", szPrefix );
    			set_user_gravity ( id, 0.6 );
    			eXP[id] = bani - 100
    			return 1;
    		}
    		case 5:
    		{
    			new bani = eXP[id];
    			if(bani < 150)
    			{
    				ColorChat ( id, GREEN, " %s^3 Nu ai destul XP", szPrefix );
    				return 1;
    			}
    			ColorChat ( id, GREEN, " %s^3 Ai cumparat^4 Invizibilitate.", szPrefix );
    			set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 100);
    			eXP[id] = bani - 150
    			return 1;
    		}
    		case 6:
    		{
    			new bani = eXP[id];
    			if(bani < 150)
    			{
    				ColorChat ( id, GREEN, " %s^3 Nu ai destul XP", szPrefix );
    				return 1;
    			}
    			ColorChat ( id, GREEN, " %s^3 Ai cumparat^4 Cameleon.", szPrefix );
    			ColorChat ( id, GREEN, " %s^3 Momentan acest beneficiu nu este gata.", szPrefix );
    			eXP[id] = bani - 150
    			return 1;
    		}
    		case 7:
    		{
    			new bani = eXP[id];
    			if(bani < 200)
    			{
    				ColorChat ( id, GREEN, " %s^3 Nu ai destul XP", szPrefix );
    				return 1;
    			}
    			ColorChat ( id, GREEN, " %s^3 Ai cumparat^4 2xDMG.", szPrefix );
    			HasDMGBuy[id]=true;
    			eXP[id] = bani - 200
    			return 1;
    		}
    	}
    	
    	menu_destroy ( menu );
    	return 1;
    }
    
    public ham_PlayerTakeDamage( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
    {
    	if( w_knife[iAttacker] == 4 && w_knife[iAttacker] == 5 )
    	{
    		new Float:gDamage = fDamage * 2.0;
    		
    		SetHamParamFloat(4, gDamage);
    	}
    	if( HasDMG[iAttacker] && DMGLV[iAttacker] >= 1)
    	{
    		new Float:gDamage = fDamage * (1 + DMGLV[iAttacker] * 0.1);
    		
    		SetHamParamFloat(4, gDamage);
    	}
    	if( HasDMGBuy[iAttacker] )
    	{
    		new Float:gDamage = fDamage * 2.0;
    		
    		SetHamParamFloat(4, gDamage);
    	}
    	if( HasNoClip[iVictim] )
    	{
    		HasNoClip[iVictim] = false;
    	}
    	return HAM_IGNORED;
    }
    public plugin_cfg( )	LoadRegistrations( );
    
    public client_authorized( id )
    {
    	static szNick[ 32 ];
    	get_user_name( id, szNick, sizeof ( szNick ) -1 );
    	
    	if( CheckRegistration( id, szNick ) )
    	{
    		static szPassword[ 15 ], szIp[ 22 ];
    		get_user_info( id, g_szInfoKey, szPassword, sizeof ( szPassword ) -1 );
    		get_user_ip( id, szIp, sizeof ( szIp ) -1, 1 );
    		
    		if( equal( szPassword, g_szLoginInfo[ id ][ Password ] ) )
    		{
    			client_print( id, print_console, "Ai fost logat cu succes!^nNick: %s^nParola: %s",
    				g_szLoginInfo[ id ][ Nick ], g_szLoginInfo[ id ][ Password ] );
    			log_to_file( "NickRegistrations.log", "--| %s ( %s ) s-a logat cu succes( Parola: %s )",
    				szNick, szIp, g_szLoginInfo[ id ][ Password ] );
    		
    			ColorChat ( 0, GREEN, "%s VIP-ul^4 %s^3 s-a connectat la server.", szPrefix, szNick );
    			
    			return PLUGIN_HANDLED;
    		}
    		else
    		{
    		
    			server_cmd( "kick #%i ^"Nick rezervat! Model de introducere a parolei: setinfo %s parola^"",
    				get_user_userid( id ), g_szInfoKey );
    			log_to_file( "NickRegistrations.log", "--| %s ( %s ) Parola gresita! ( %s, Parola corecta: %s )",
    				szNick, szIp, szPassword, g_szLoginInfo[ id ][ Password ] );
    		}
    	}
    	
    	return PLUGIN_CONTINUE;
    }
    
    CheckRegistration( id, const szNick[ ] )
    {
    	new bool:bRegistered = false;
    	new eData[ eRegisterInfos ];
    	
    	for( new i; i < g_iRegistrations; i++ )
    	{
    		ArrayGetArray( g_aData, i, eData );
    		
    		if( equal( szNick, eData[ Nick ] ) )
    		{
    			copy( g_szLoginInfo[ id ][ Nick ], sizeof ( g_szLoginInfo[ ][ Nick ] ) -1, eData[ Nick ] );
    			copy( g_szLoginInfo[ id ][ Password ], sizeof ( g_szLoginInfo[ ][ Password ] ) -1, eData[ Password ] );
    			bRegistered = true;
    			vip[id] = true;
    			break;
    		}
    	}
    	
    	if( !bRegistered )
    	{
    		copy( g_szLoginInfo[ id ][ Nick ], sizeof ( g_szLoginInfo[ ][ Nick ] ) -1, g_szNoneWord );
    		copy( g_szLoginInfo[ id ][ Password ], sizeof ( g_szLoginInfo[ ][ Password ] ) -11, g_szNoneWord );
    	}
    			
    	return bRegistered;
    }
    
    LoadRegistrations( )
    {
    	get_localinfo( "amxx_datadir", g_szRegisterFile, sizeof ( g_szRegisterFile ) -1 );
    	format( g_szRegisterFile, sizeof ( g_szRegisterFile ) -1, "addons/amxmodx/configs/vips.ini", g_szRegisterFile );
    	
    	if( g_iRegistrations )
    	{
    		ArrayClear( g_aData );
    		g_iRegistrations = 0;
    	}
    	
    	if( file_exists( g_szRegisterFile ) )
    	{
    		
    		new iFile = fopen( g_szRegisterFile, "rt" );
    		
    		new szNick[ 32 ], szPassword[ 15 ];
    		new szFileData[ 128 ], eData[ eRegisterInfos ];
    		
    		while( !feof( iFile ) )
    		{
    			fgets( iFile, szFileData, sizeof ( szFileData ) - 1);
    			
    			if( !szFileData[ 0 ] || szFileData[ 0 ] == ';'
    				|| ( szFileData[ 0 ] == '/' && szFileData[ 1 ] == '/' ) )
    				continue;
    			
    			parse( szFileData, szNick, sizeof ( szNick ) -1,
    				szPassword, sizeof ( szPassword ) -1)
    				
    			copy( eData[ Nick ], sizeof ( eData[ Nick ] ) -1, szNick );
    			copy( eData[ Password ], sizeof ( eData[ Password ] ) -1, szPassword );
    			
    			ArrayPushArray( g_aData, eData );
    			g_iRegistrations++;
    		}
    		
    		fclose( iFile );
    		
    	}
    	
    	log_to_file( "NickRegistrations.log", "Am incarcat cu succes %i nick-uri inregistrate!", g_iRegistrations );
    	
    }
    
    public plugin_end( )
    {
    	ArrayDestroy( g_aData );
    }
    
    stock zName( id ) {
    	
    	new name[ 32 ];
    	get_user_name( id, name, sizeof ( name ) -1 );
    	
    	return name;
    }
    
    public cmdWho( id, page ) {
    	
    	new MenuName[ 64 ], MenuExitKey[ 32 ];
    	
    	formatex( MenuName, sizeof ( MenuName ) -1, "%s",  TITLU );
    	
    	formatex( MenuExitKey, sizeof ( MenuExitKey ) -1, "%s",  IESIRE );
    	
    	new menu = menu_create(MenuName, "InchidereMeniu");   
    	
    	if( AdminiON(    )  )
    	{
    		AdaugareA( id, menu, 1 );
    	}
    	else
    	{
    		menu_additem( menu, NOADMINS , "1", 0 );
    	}
    	
    	menu_setprop(menu, MPROP_EXITNAME, MenuExitKey );
    	
    	menu_display(id, menu, page);
    	
    }
    
    
    public InchidereMeniu(id, menu, item) {
    	if(item == MENU_EXIT)
    	{
    		menu_destroy( menu );
    		return 1;
    	}
    	
    	new data[6], iName[64];
    	new iaccess, callback;
    	
    	menu_item_getinfo(menu, item, iaccess, data,5, iName, 63, callback);
    	
    	new key = str_to_num(data);
    	
    	switch(key)
    	{
    		case 1,2,3,4,5,6,7:
    		{
    			menu_destroy( menu );
    			return 1;
    		}
    	}
    	
    	return 0;
    }
    
    public AdaugareA( const id, const menu,  const group  ) {
    	
    	new AdminMenuMessage[ 32 ][ 64 ],AdminMenuKey[ 32 ][ 32 ], MenuKey = 1;
    	
    	static Players[ 32 ], Num, Player;
    	get_players( Players, Num, "ch" );
    	
    	for( new x = 0 ; x < Num ; x++ )
    	{   
    		Player = Players[ x ];
    		if( vip[Player] )
    		{
    			
    			formatex( AdminMenuMessage[ MenuKey ], sizeof ( AdminMenuMessage[ ] ) -1, "\y[*]\w %s", zName( Player ) );
    			
    			formatex( AdminMenuKey[ MenuKey ], sizeof ( AdminMenuKey[ ] ) -1, "%d", MenuKey );
    			
    			MenuKey++;
    		}
    	}
    	
    	for( new z = 1 ; z < MenuKey ; z++ )
    	{
    		
    		menu_additem( menu, AdminMenuMessage[ z ], AdminMenuKey[ z ], 0 );
    	}
    	
    }
    
    stock bool:AdminiON(    ) {
    	new bool:AGasiti = false;
    	
    	static Players[ 32 ], Num, Player;
    	get_players( Players, Num, "ch" );
    	
    	for( new x = 0 ; x < Num ; x++ )
    	{   
    		Player = Players[ x ];
    		if( AGasiti ) break;
    		if( vip[Player] )
    		{
    			AGasiti = true;
    		}
    	}
    	
    	return AGasiti ? true : false;
    }
    Last edited by KrAzZzY; 15-12-16 at 15:51.
    <center>
    <a href="https://www.gametracker.com/server_info/193.84.64.169:27015/" target="_blank"><img src="https://cache.gametracker.com/server_info/193.84.64.169:27015/b_560_95_1.png" border="0" width="560" height="95" alt=""/></a>
    </center>

Similar Threads

  1. Cerere Plugins vip.ini
    By BlonduXD in forum Cereri
    Replies: 9
    Last Post: 07-05-16, 10:14
  2. Cerere Plugins
    By dragonrob in forum Cereri
    Replies: 3
    Last Post: 28-11-15, 19:08
  3. Plugins Ultimate_who modificat de mn
    By dragonrob in forum AmxModX Plugins
    Replies: 0
    Last Post: 01-11-15, 18:15
  4. cerere plugins
    By mihay1212 in forum Cereri
    Replies: 4
    Last Post: 23-03-15, 20:16
  5. plugins vip
    By mihay1212 in forum Cereri
    Replies: 7
    Last Post: 19-03-15, 22:30

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •